{"version":3,"sources":["../src/client.ts","../src/codegen/core/BaseHttpRequest.ts","../src/codegen/core/request.ts","../src/codegen/core/ApiError.ts","../src/codegen/core/CancelablePromise.ts","../src/codegen/core/NodeHttpRequest.ts","../src/codegen/services/DefaultService.ts","../src/codegen/OPClient.ts"],"sourcesContent":["import { readEnv } from \"openai/core\";\n\nimport { OPClient } from \"./codegen\";\nimport { OpenPipeConfig } from \"./shared\";\n\nexport default class OpenPipe {\n  baseClient: OPClient;\n\n  constructor(config: OpenPipeConfig = {}) {\n    const openPipeApiKey = config?.apiKey ?? readEnv(\"OPENPIPE_API_KEY\");\n    const openpipeBaseUrl = config?.baseUrl ?? readEnv(\"OPENPIPE_BASE_URL\");\n\n    this.baseClient = new OPClient({\n      BASE: openpipeBaseUrl,\n      TOKEN: openPipeApiKey,\n    });\n  }\n\n  updateLogTags(...params: Parameters<OPClient[\"default\"][\"updateLogTags\"]>) {\n    return this.baseClient.default.updateLogTags(...params);\n  }\n\n  updateLogMetadata(...params: Parameters<OPClient[\"default\"][\"updateLogMetadata\"]>) {\n    return this.baseClient.default.updateLogMetadata(...params);\n  }\n\n  report(...params: Parameters<OPClient[\"default\"][\"report\"]>) {\n    return this.baseClient.default.report(...params);\n  }\n\n  getCriterionJudgement(...params: Parameters<OPClient[\"default\"][\"getCriterionJudgement\"]>) {\n    return this.baseClient.default.getCriterionJudgement(...params);\n  }\n\n  reportAnthropic(...params: Parameters<OPClient[\"default\"][\"reportAnthropic\"]>) {\n    return this.baseClient.default.reportAnthropic(...params);\n  }\n\n  createDataset(...params: Parameters<OPClient[\"default\"][\"createDataset\"]>) {\n    return this.baseClient.default.createDataset(...params);\n  }\n  unstableDatasetCreate(...params: Parameters<OPClient[\"default\"][\"unstableDatasetCreate\"]>) {\n    return this.baseClient.default.unstableDatasetCreate(...params);\n  }\n\n  listDatasets(...params: Parameters<OPClient[\"default\"][\"listDatasets\"]>) {\n    return this.baseClient.default.listDatasets(...params);\n  }\n\n  deleteDataset(...params: Parameters<OPClient[\"default\"][\"deleteDataset\"]>) {\n    return this.baseClient.default.deleteDataset(...params);\n  }\n  unstableDatasetDelete(...params: Parameters<OPClient[\"default\"][\"unstableDatasetDelete\"]>) {\n    return this.baseClient.default.unstableDatasetDelete(...params);\n  }\n\n  createDatasetEntries(...params: Parameters<OPClient[\"default\"][\"createDatasetEntries\"]>) {\n    return this.baseClient.default.createDatasetEntries(...params);\n  }\n  unstableDatasetEntryCreate(\n    ...params: Parameters<OPClient[\"default\"][\"unstableDatasetEntryCreate\"]>\n  ) {\n    return this.baseClient.default.unstableDatasetEntryCreate(...params);\n  }\n\n  createModel(...params: Parameters<OPClient[\"default\"][\"createModel\"]>) {\n    return this.baseClient.default.createModel(...params);\n  }\n  unstableFinetuneCreate(...params: Parameters<OPClient[\"default\"][\"unstableFinetuneCreate\"]>) {\n    return this.baseClient.default.unstableFinetuneCreate(...params);\n  }\n\n  getModel(...params: Parameters<OPClient[\"default\"][\"getModel\"]>) {\n    return this.baseClient.default.getModel(...params);\n  }\n  unstableFinetuneGet(...params: Parameters<OPClient[\"default\"][\"unstableFinetuneGet\"]>) {\n    return this.baseClient.default.unstableFinetuneGet(...params);\n  }\n\n  listModels(...params: Parameters<OPClient[\"default\"][\"listModels\"]>) {\n    return this.baseClient.default.listModels(...params);\n  }\n\n  deleteModel(...params: Parameters<OPClient[\"default\"][\"deleteModel\"]>) {\n    return this.baseClient.default.deleteModel(...params);\n  }\n  unstableFinetuneDelete(...params: Parameters<OPClient[\"default\"][\"unstableFinetuneDelete\"]>) {\n    return this.baseClient.default.unstableFinetuneDelete(...params);\n  }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport abstract class BaseHttpRequest {\n\n    constructor(public readonly config: OpenAPIConfig) {}\n\n    public abstract request<T>(options: ApiRequestOptions): CancelablePromise<T>;\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport FormData from 'form-data';\nimport fetch, { Headers } from 'node-fetch';\nimport type { RequestInit, Response } from 'node-fetch';\nimport type { AbortSignal } from 'node-fetch/externals';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {\n    return value !== undefined && value !== null;\n};\n\nexport const isString = (value: any): value is string => {\n    return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: any): value is string => {\n    return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n    return (\n        typeof value === 'object' &&\n        typeof value.type === 'string' &&\n        typeof value.stream === 'function' &&\n        typeof value.arrayBuffer === 'function' &&\n        typeof value.constructor === 'function' &&\n        typeof value.constructor.name === 'string' &&\n        /^(Blob|File)$/.test(value.constructor.name) &&\n        /^(Blob|File)$/.test(value[Symbol.toStringTag])\n    );\n};\n\nexport const isFormData = (value: any): value is FormData => {\n    return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n    try {\n        return btoa(str);\n    } catch (err) {\n        // @ts-ignore\n        return Buffer.from(str).toString('base64');\n    }\n};\n\nexport const getQueryString = (params: Record<string, any>): string => {\n    const qs: string[] = [];\n\n    const append = (key: string, value: any) => {\n        qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n    };\n\n    const process = (key: string, value: any) => {\n        if (isDefined(value)) {\n            if (Array.isArray(value)) {\n                value.forEach(v => {\n                    process(key, v);\n                });\n            } else if (typeof value === 'object') {\n                Object.entries(value).forEach(([k, v]) => {\n                    process(`${key}[${k}]`, v);\n                });\n            } else {\n                append(key, value);\n            }\n        }\n    };\n\n    Object.entries(params).forEach(([key, value]) => {\n        process(key, value);\n    });\n\n    if (qs.length > 0) {\n        return `?${qs.join('&')}`;\n    }\n\n    return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n    const encoder = config.ENCODE_PATH || encodeURI;\n\n    const path = options.url\n        .replace('{api-version}', config.VERSION)\n        .replace(/{(.*?)}/g, (substring: string, group: string) => {\n            if (options.path?.hasOwnProperty(group)) {\n                return encoder(String(options.path[group]));\n            }\n            return substring;\n        });\n\n    const url = `${config.BASE}${path}`;\n    if (options.query) {\n        return `${url}${getQueryString(options.query)}`;\n    }\n    return url;\n};\n\nexport const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n    if (options.formData) {\n        const formData = new FormData();\n\n        const process = (key: string, value: any) => {\n            if (isString(value) || isBlob(value)) {\n                formData.append(key, value);\n            } else {\n                formData.append(key, JSON.stringify(value));\n            }\n        };\n\n        Object.entries(options.formData)\n            .filter(([_, value]) => isDefined(value))\n            .forEach(([key, value]) => {\n                if (Array.isArray(value)) {\n                    value.forEach(v => process(key, v));\n                } else {\n                    process(key, value);\n                }\n            });\n\n        return formData;\n    }\n    return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n    if (typeof resolver === 'function') {\n        return (resolver as Resolver<T>)(options);\n    }\n    return resolver;\n};\n\nexport const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n    const token = await resolve(options, config.TOKEN);\n    const username = await resolve(options, config.USERNAME);\n    const password = await resolve(options, config.PASSWORD);\n    const additionalHeaders = await resolve(options, config.HEADERS);\n\n    const headers = Object.entries({\n        Accept: 'application/json',\n        ...additionalHeaders,\n        ...options.headers,\n    })\n        .filter(([_, value]) => isDefined(value))\n        .reduce((headers, [key, value]) => ({\n            ...headers,\n            [key]: String(value),\n        }), {} as Record<string, string>);\n\n    if (isStringWithValue(token)) {\n        headers['Authorization'] = `Bearer ${token}`;\n    }\n\n    if (isStringWithValue(username) && isStringWithValue(password)) {\n        const credentials = base64(`${username}:${password}`);\n        headers['Authorization'] = `Basic ${credentials}`;\n    }\n\n    if (options.body) {\n        if (options.mediaType) {\n            headers['Content-Type'] = options.mediaType;\n        } else if (isBlob(options.body)) {\n            headers['Content-Type'] = 'application/octet-stream';\n        } else if (isString(options.body)) {\n            headers['Content-Type'] = 'text/plain';\n        } else if (!isFormData(options.body)) {\n            headers['Content-Type'] = 'application/json';\n        }\n    }\n\n    return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): any => {\n    if (options.body !== undefined) {\n        if (options.mediaType?.includes('/json')) {\n            return JSON.stringify(options.body)\n        } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n            return options.body as any;\n        } else {\n            return JSON.stringify(options.body);\n        }\n    }\n    return undefined;\n};\n\nexport const sendRequest = async (\n    options: ApiRequestOptions,\n    url: string,\n    body: any,\n    formData: FormData | undefined,\n    headers: Headers,\n    onCancel: OnCancel\n): Promise<Response> => {\n    const controller = new AbortController();\n\n    const request: RequestInit = {\n        headers,\n        method: options.method,\n        body: body ?? formData,\n        signal: controller.signal as AbortSignal,\n    };\n\n    onCancel(() => controller.abort());\n\n    return await fetch(url, request);\n};\n\nexport const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n    if (responseHeader) {\n        const content = response.headers.get(responseHeader);\n        if (isString(content)) {\n            return content;\n        }\n    }\n    return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise<any> => {\n    if (response.status !== 204) {\n        try {\n            const contentType = response.headers.get('Content-Type');\n            if (contentType) {\n                const jsonTypes = ['application/json', 'application/problem+json']\n                const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));\n                if (isJSON) {\n                    return await response.json();\n                } else {\n                    return await response.text();\n                }\n            }\n        } catch (error) {\n            console.error(error);\n        }\n    }\n    return undefined;\n};\n\nexport const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n    const errors: Record<number, string> = {\n        400: 'Bad Request',\n        401: 'Unauthorized',\n        403: 'Forbidden',\n        404: 'Not Found',\n        500: 'Internal Server Error',\n        502: 'Bad Gateway',\n        503: 'Service Unavailable',\n        ...options.errors,\n    }\n\n    const error = errors[result.status];\n    if (error) {\n        throw new ApiError(options, result, error);\n    }\n\n    if (!result.ok) {\n        const errorStatus = result.status ?? 'unknown';\n        const errorStatusText = result.statusText ?? 'unknown';\n        const errorBody = (() => {\n            try {\n                return JSON.stringify(result.body, null, 2);\n            } catch (e) {\n                return undefined;\n            }\n        })();\n\n        throw new ApiError(options, result,\n            `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n        );\n    }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {\n    return new CancelablePromise(async (resolve, reject, onCancel) => {\n        try {\n            const url = getUrl(config, options);\n            const formData = getFormData(options);\n            const body = getRequestBody(options);\n            const headers = await getHeaders(config, options);\n\n            if (!onCancel.isCancelled) {\n                const response = await sendRequest(options, url, body, formData, headers, onCancel);\n                const responseBody = await getResponseBody(response);\n                const responseHeader = getResponseHeader(response, options.responseHeader);\n\n                const result: ApiResult = {\n                    url,\n                    ok: response.ok,\n                    status: response.status,\n                    statusText: response.statusText,\n                    body: responseHeader ?? responseBody,\n                };\n\n                catchErrorCodes(options, result);\n\n                resolve(result.body);\n            }\n        } catch (error) {\n            reject(error);\n        }\n    });\n};\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n    public readonly url: string;\n    public readonly status: number;\n    public readonly statusText: string;\n    public readonly body: any;\n    public readonly request: ApiRequestOptions;\n\n    constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n        super(message);\n\n        this.name = 'ApiError';\n        this.url = response.url;\n        this.status = response.status;\n        this.statusText = response.statusText;\n        this.body = response.body;\n        this.request = request;\n    }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n    constructor(message: string) {\n        super(message);\n        this.name = 'CancelError';\n    }\n\n    public get isCancelled(): boolean {\n        return true;\n    }\n}\n\nexport interface OnCancel {\n    readonly isResolved: boolean;\n    readonly isRejected: boolean;\n    readonly isCancelled: boolean;\n\n    (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n    #isResolved: boolean;\n    #isRejected: boolean;\n    #isCancelled: boolean;\n    readonly #cancelHandlers: (() => void)[];\n    readonly #promise: Promise<T>;\n    #resolve?: (value: T | PromiseLike<T>) => void;\n    #reject?: (reason?: any) => void;\n\n    constructor(\n        executor: (\n            resolve: (value: T | PromiseLike<T>) => void,\n            reject: (reason?: any) => void,\n            onCancel: OnCancel\n        ) => void\n    ) {\n        this.#isResolved = false;\n        this.#isRejected = false;\n        this.#isCancelled = false;\n        this.#cancelHandlers = [];\n        this.#promise = new Promise<T>((resolve, reject) => {\n            this.#resolve = resolve;\n            this.#reject = reject;\n\n            const onResolve = (value: T | PromiseLike<T>): void => {\n                if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n                    return;\n                }\n                this.#isResolved = true;\n                if (this.#resolve) this.#resolve(value);\n            };\n\n            const onReject = (reason?: any): void => {\n                if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n                    return;\n                }\n                this.#isRejected = true;\n                if (this.#reject) this.#reject(reason);\n            };\n\n            const onCancel = (cancelHandler: () => void): void => {\n                if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n                    return;\n                }\n                this.#cancelHandlers.push(cancelHandler);\n            };\n\n            Object.defineProperty(onCancel, 'isResolved', {\n                get: (): boolean => this.#isResolved,\n            });\n\n            Object.defineProperty(onCancel, 'isRejected', {\n                get: (): boolean => this.#isRejected,\n            });\n\n            Object.defineProperty(onCancel, 'isCancelled', {\n                get: (): boolean => this.#isCancelled,\n            });\n\n            return executor(onResolve, onReject, onCancel as OnCancel);\n        });\n    }\n\n     get [Symbol.toStringTag]() {\n            return \"Cancellable Promise\";\n     }\n\n    public then<TResult1 = T, TResult2 = never>(\n        onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n        onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n    ): Promise<TResult1 | TResult2> {\n        return this.#promise.then(onFulfilled, onRejected);\n    }\n\n    public catch<TResult = never>(\n        onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null\n    ): Promise<T | TResult> {\n        return this.#promise.catch(onRejected);\n    }\n\n    public finally(onFinally?: (() => void) | null): Promise<T> {\n        return this.#promise.finally(onFinally);\n    }\n\n    public cancel(): void {\n        if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n            return;\n        }\n        this.#isCancelled = true;\n        if (this.#cancelHandlers.length) {\n            try {\n                for (const cancelHandler of this.#cancelHandlers) {\n                    cancelHandler();\n                }\n            } catch (error) {\n                console.warn('Cancellation threw an error', error);\n                return;\n            }\n        }\n        this.#cancelHandlers.length = 0;\n        if (this.#reject) this.#reject(new CancelError('Request aborted'));\n    }\n\n    public get isCancelled(): boolean {\n        return this.#isCancelled;\n    }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n\nexport class NodeHttpRequest extends BaseHttpRequest {\n\n    constructor(config: OpenAPIConfig) {\n        super(config);\n    }\n\n    /**\n     * Request method\n     * @param options The request options from the service\n     * @returns CancelablePromise<T>\n     * @throws ApiError\n     */\n    public override request<T>(options: ApiRequestOptions): CancelablePromise<T> {\n        return __request(this.config, options);\n    }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport type { BaseHttpRequest } from '../core/BaseHttpRequest';\nexport class DefaultService {\n    constructor(public readonly httpRequest: BaseHttpRequest) {}\n    /**\n     * @deprecated\n     * DEPRECATED: we no longer support prompt caching.\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public checkCache(\n        requestBody: {\n            /**\n             * Unix timestamp in milliseconds\n             */\n            requestedAt: number;\n            /**\n             * JSON-encoded request payload\n             */\n            reqPayload?: any;\n            /**\n             * Extra tags to attach to the call for filtering. Eg { \"userId\": \"123\", \"prompt_id\": \"populate-title\" }\n             */\n            tags?: Record<string, string>;\n        },\n    ): CancelablePromise<{\n        /**\n         * JSON-encoded response payload\n         */\n        respPayload?: any;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/check-cache',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * OpenAI-compatible route for generating inference and optionally logging the request.\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public createChatCompletion(\n        requestBody: Record<string, any>,\n    ): CancelablePromise<{\n        id: string;\n        object: 'chat.completion';\n        created: number;\n        model: string;\n        choices: Array<{\n            finish_reason: ('length' | 'function_call' | 'tool_calls' | 'stop' | 'content_filter');\n            index: number;\n            message: {\n                reasoning_content?: string | null;\n                content?: string | null;\n                refusal?: string | null;\n                role: 'assistant';\n                function_call?: {\n                    name?: string;\n                    arguments?: string;\n                } | null;\n                tool_calls?: Array<{\n                    id: string;\n                    function: {\n                        name: string;\n                        arguments: string;\n                    };\n                    type: 'function';\n                }> | null;\n            };\n            logprobs?: {\n                content?: Array<{\n                    token: string;\n                    bytes: Array<number> | null;\n                    logprob: number;\n                    top_logprobs: Array<{\n                        token: string;\n                        bytes: Array<number> | null;\n                        logprob: number;\n                    }>;\n                }> | null;\n                refusal?: Array<{\n                    token: string;\n                    bytes: Array<number> | null;\n                    logprob: number;\n                    top_logprobs: Array<{\n                        token: string;\n                        bytes: Array<number> | null;\n                        logprob: number;\n                    }>;\n                }> | null;\n            } | null;\n            content_filter_results?: Record<string, any>;\n            criteria_results?: Record<string, ({\n                status: 'success';\n                score: number;\n                explanation?: string;\n                errorCode?: number;\n                errorMessage?: string;\n            } | {\n                status: 'error';\n                score?: number;\n                explanation?: string;\n                errorCode: number;\n                errorMessage: string;\n            })>;\n        }>;\n        usage?: {\n            prompt_tokens: number;\n            completion_tokens: number;\n            total_tokens: number;\n            prompt_cache_hit_tokens?: number;\n            prompt_cache_miss_tokens?: number;\n            completion_tokens_details?: {\n                reasoning_tokens?: number | null;\n                audio_tokens?: number | null;\n                text_tokens?: number | null;\n                accepted_prediction_tokens?: number | null;\n                rejected_prediction_tokens?: number | null;\n            } | null;\n            prompt_tokens_details?: {\n                cached_tokens?: number | null;\n                audio_tokens?: number | null;\n            } | null;\n            criteria?: Record<string, {\n                /**\n                 * The total number of tokens used to generate the criterion judgement. Only returned for OpenPipe-trained reward models currently.\n                 */\n                total_tokens: number;\n            }>;\n        };\n    } | null> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/chat/completions',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * Record request logs from OpenAI models\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public report(\n        requestBody: {\n            /**\n             * Unix timestamp in milliseconds\n             */\n            requestedAt?: number;\n            /**\n             * Unix timestamp in milliseconds\n             */\n            receivedAt?: number;\n            /**\n             * JSON-encoded request payload\n             */\n            reqPayload?: any;\n            /**\n             * JSON-encoded response payload\n             */\n            respPayload?: any;\n            /**\n             * HTTP status code of response\n             */\n            statusCode?: number;\n            /**\n             * User-friendly error message\n             */\n            errorMessage?: string;\n            /**\n             * DEPRECATED: use \"reqPayload.metadata\" to attach extra metadata tags to the call for filtering. Eg { \"userId\": \"123\", \"prompt_id\": \"populate-title\" }\n             */\n            tags?: Record<string, (string | number | boolean | 'null' | null)>;\n        },\n    ): CancelablePromise<{\n        status: ('ok' | 'error');\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/report',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * Record request logs from Anthropic models\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public reportAnthropic(\n        requestBody: {\n            /**\n             * Unix timestamp in milliseconds\n             */\n            requestedAt?: number;\n            /**\n             * Unix timestamp in milliseconds\n             */\n            receivedAt?: number;\n            /**\n             * JSON-encoded request payload\n             */\n            reqPayload?: Record<string, any>;\n            /**\n             * JSON-encoded response payload\n             */\n            respPayload?: {\n                id: string;\n                content: Array<({\n                    text: string;\n                    type: 'text';\n                } | {\n                    id: string;\n                    input?: any;\n                    name: string;\n                    type: 'tool_use';\n                })>;\n                model: string;\n                role: 'assistant';\n                stop_reason: ('end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use' | 'null' | null);\n                stop_sequence: (string | 'null' | null);\n                type: 'message';\n                usage: {\n                    input_tokens: number;\n                    output_tokens: number;\n                };\n            };\n            /**\n             * HTTP status code of response\n             */\n            statusCode?: number;\n            /**\n             * User-friendly error message\n             */\n            errorMessage?: string;\n            /**\n             * Extra metadata tags to attach to the call for filtering. Eg { \"userId\": \"123\", \"prompt_id\": \"populate-title\" }\n             */\n            metadata?: Record<string, string>;\n            /**\n             * Deprecated: use \"metadata\" instead\n             */\n            tags?: Record<string, (string | number | boolean | 'null' | null)>;\n        },\n    ): CancelablePromise<{\n        status: ('ok' | 'error');\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/report-anthropic',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use \"/logs/update-metadata\" instead\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public updateLogTags(\n        requestBody: {\n            filters: Array<{\n                /**\n                 * The field to filter on. Possible fields include: `model`, `completionId`, and `tags.your_tag_name`.\n                 */\n                field: string;\n                equals: (string | number | boolean);\n            }>;\n            /**\n             * Extra tags to attach to the call for filtering. Eg { \"userId\": \"123\", \"prompt_id\": \"populate-title\" }\n             */\n            tags: Record<string, (string | number | boolean | 'null' | null)>;\n        },\n    ): CancelablePromise<{\n        matchedLogs: number;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/logs/update-tags',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * Update tags metadata for logged calls matching the provided filters.\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public updateLogMetadata(\n        requestBody: {\n            filters: Array<{\n                /**\n                 * The field to filter on. Possible fields include: `model`, `completionId`, and `metadata.your_tag_name`.\n                 */\n                field: string;\n                equals: (string | number | boolean);\n            }>;\n            /**\n             * Extra metadata to attach to the call for filtering. Eg { \"userId\": \"123\", \"prompt_id\": \"populate-title\" }\n             */\n            metadata: Record<string, (string | 'null' | null)>;\n        },\n    ): CancelablePromise<{\n        matchedLogs: number;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/logs/update-metadata',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * Get the latest logged call (only for local testing)\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public localTestingOnlyGetLatestLoggedCall(): CancelablePromise<{\n        createdAt: string;\n        cacheHit: boolean;\n        statusCode: number | null;\n        errorMessage: string | null;\n        reqPayload?: any;\n        respPayload?: any;\n        tags: Record<string, string | null>;\n        metadata: Record<string, string | null>;\n    } | null> {\n        return this.httpRequest.request({\n            method: 'GET',\n            url: '/local-testing-only-get-latest-logged-call',\n        });\n    }\n    /**\n     * Get a judgement of a completion against the specified criterion\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public getCriterionJudgement(\n        requestBody: {\n            /**\n             * The ID of the criterion to judge.\n             */\n            criterion_id: string;\n            input?: {\n                /**\n                 * All messages sent to the model when generating the output.\n                 */\n                messages?: Array<({\n                    role: 'system';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    name?: string;\n                } | {\n                    role: 'user';\n                    content?: (string | Array<({\n                        type: 'text';\n                        text: string;\n                    } | {\n                        type: 'image_url';\n                        image_url: {\n                            detail?: ('auto' | 'low' | 'high');\n                            url: string;\n                        };\n                    } | {\n                        type: 'input_audio';\n                        input_audio: {\n                            data: string;\n                            format: 'wav' | 'mp3';\n                        };\n                    })>);\n                    name?: string;\n                } | {\n                    role: 'assistant';\n                    audio?: {\n                        id: string;\n                    } | null;\n                    content?: (string | Array<({\n                        type: 'text';\n                        text: string;\n                    } | {\n                        type: 'refusal';\n                        refusal: string;\n                    })> | 'null' | null);\n                    function_call?: {\n                        name?: string;\n                        arguments?: string;\n                    } | null;\n                    tool_calls?: Array<{\n                        id: string;\n                        function: {\n                            name: string;\n                            arguments: string;\n                        };\n                        type: 'function';\n                    }> | null;\n                    name?: string;\n                    refusal?: string | null;\n                } | {\n                    role: 'developer';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    name?: string;\n                } | {\n                    role: 'tool';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    tool_call_id: string;\n                } | {\n                    role: 'function';\n                    name: string;\n                    content: (string | 'null' | null);\n                })>;\n                /**\n                 * The tool choice to use when generating the output, if any.\n                 */\n                tool_choice?: ('none' | 'auto' | 'required' | {\n                    type?: 'function';\n                    function?: {\n                        name: string;\n                    };\n                });\n                /**\n                 * The tools available to the model when generating the output, if any.\n                 */\n                tools?: Array<{\n                    function: {\n                        name: string;\n                        parameters?: Record<string, any>;\n                        description?: string;\n                        strict?: boolean | null;\n                    };\n                    type: 'function';\n                }>;\n            };\n            /**\n             * The completion message of the model.\n             */\n            output: {\n                reasoning_content?: string | null;\n                content?: string | null;\n                refusal?: string | null;\n                role: 'assistant';\n                function_call?: {\n                    name?: string;\n                    arguments?: string;\n                } | null;\n                tool_calls?: Array<{\n                    id: string;\n                    function: {\n                        name: string;\n                        arguments: string;\n                    };\n                    type: 'function';\n                }> | null;\n            };\n        },\n    ): CancelablePromise<{\n        /**\n         * A score of 0 means the output failed this completion, and a score of 1 means it passed. A criteria may also return a decimal scores between 0 and 1, indicating the model's confidence or 'likelihood' that the criteria passed.\n         */\n        score: number;\n        /**\n         * An explanation of the score including the model's reasoning, if applicable.\n         */\n        explanation?: string;\n        usage?: {\n            /**\n             * The total number of tokens used to generate the criterion judgement. Only returned for OpenPipe-trained reward models currently.\n             */\n            total_tokens: number;\n        };\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/criteria/judge',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * Create a new dataset.\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public createDataset(\n        requestBody: {\n            name: string;\n        },\n    ): CancelablePromise<{\n        object: 'dataset';\n        id: string;\n        name: string;\n        created: string;\n        updated: string;\n        dataset_entry_count: number;\n        fine_tune_count: number;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/datasets',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * List datasets for a project.\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public listDatasets(): CancelablePromise<{\n        object: 'list';\n        data: Array<{\n            object: 'dataset';\n            id: string;\n            name: string;\n            created: string;\n            updated: string;\n            dataset_entry_count: number;\n            fine_tune_count: number;\n        }>;\n    }> {\n        return this.httpRequest.request({\n            method: 'GET',\n            url: '/datasets',\n        });\n    }\n    /**\n     * Delete a dataset.\n     * @param datasetId\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public deleteDataset(\n        datasetId: string,\n    ): CancelablePromise<{\n        id: string;\n        object: 'dataset';\n        deleted: boolean;\n    }> {\n        return this.httpRequest.request({\n            method: 'DELETE',\n            url: '/datasets/{datasetId}',\n            path: {\n                'datasetId': datasetId,\n            },\n        });\n    }\n    /**\n     * Add new dataset entries.\n     * @param datasetId\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public createDatasetEntries(\n        datasetId: string,\n        requestBody: {\n            entries: Array<{\n                messages: Array<({\n                    role: 'system';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    name?: string;\n                } | {\n                    role: 'user';\n                    content?: (string | Array<({\n                        type: 'text';\n                        text: string;\n                    } | {\n                        type: 'image_url';\n                        image_url: {\n                            detail?: ('auto' | 'low' | 'high');\n                            url: string;\n                        };\n                    } | {\n                        type: 'input_audio';\n                        input_audio: {\n                            data: string;\n                            format: 'wav' | 'mp3';\n                        };\n                    })>);\n                    name?: string;\n                } | {\n                    role: 'assistant';\n                    audio?: {\n                        id: string;\n                    } | null;\n                    content?: (string | Array<({\n                        type: 'text';\n                        text: string;\n                    } | {\n                        type: 'refusal';\n                        refusal: string;\n                    })> | 'null' | null);\n                    function_call?: {\n                        name?: string;\n                        arguments?: string;\n                    } | null;\n                    tool_calls?: Array<{\n                        id: string;\n                        function: {\n                            name: string;\n                            arguments: string;\n                        };\n                        type: 'function';\n                    }> | null;\n                    name?: string;\n                    refusal?: string | null;\n                } | {\n                    role: 'developer';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    name?: string;\n                } | {\n                    role: 'tool';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    tool_call_id: string;\n                } | {\n                    role: 'function';\n                    name: string;\n                    content: (string | 'null' | null);\n                })>;\n                rejected_message?: {\n                    reasoning_content?: string | null;\n                    content?: string | null;\n                    refusal?: string | null;\n                    role: 'assistant';\n                    function_call?: {\n                        name?: string;\n                        arguments?: string;\n                    } | null;\n                    tool_calls?: Array<{\n                        id: string;\n                        function: {\n                            name: string;\n                            arguments: string;\n                        };\n                        type: 'function';\n                    }> | null;\n                };\n                tool_choice?: ('none' | 'auto' | 'required' | {\n                    type?: 'function';\n                    function?: {\n                        name: string;\n                    };\n                });\n                tools?: Array<{\n                    function: {\n                        name: string;\n                        parameters?: Record<string, any>;\n                        description?: string;\n                        strict?: boolean | null;\n                    };\n                    type: 'function';\n                }>;\n                response_format?: ({\n                    type: 'text';\n                } | {\n                    type: 'json_object';\n                } | {\n                    type: 'json_schema';\n                    json_schema: {\n                        name: string;\n                        description?: string;\n                        schema?: Record<string, any>;\n                        strict?: boolean | null;\n                    };\n                });\n                split?: 'TRAIN' | 'TEST';\n                metadata?: Record<string, string>;\n            }>;\n        },\n    ): CancelablePromise<{\n        object: 'dataset.entries.creation';\n        entries_created: number;\n        errors: {\n            object: 'list';\n            data: Array<{\n                object: 'dataset.entries.creation.error';\n                entry_index: number;\n                message: string;\n            }>;\n        };\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/datasets/{datasetId}/entries',\n            path: {\n                'datasetId': datasetId,\n            },\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * Train a new model.\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public createModel(\n        requestBody: {\n            datasetId: string;\n            slug: string;\n            pruningRuleIds?: Array<string>;\n            trainingConfig: ({\n                provider: 'openpipe';\n                /**\n                 * The base model to train from. This could be a base model name or the slug of a previously trained model. Supported base models include: `meta-llama/Meta-Llama-3.1-8B-Instruct`, `meta-llama/Meta-Llama-3.1-70B-Instruct`, `meta-llama/Llama-3.3-70B-Instruct`, `meta-llama/Llama-3.1-8B`, `meta-llama/Llama-3.1-70B`, `Qwen/Qwen2.5-72B-Instruct`, `Qwen/Qwen2.5-Coder-32B-Instruct`, `Qwen/Qwen2.5-1.5B-Instruct`, `Qwen/Qwen2.5-7B-Instruct`, `Qwen/Qwen2-VL-7B-Instruct`, `mistralai/Mistral-Nemo-Base-2407`, `mistralai/Mistral-Small-24B-Base-2501`, `meta-llama/Llama-3.2-1B-Instruct`, `meta-llama/Llama-3.2-3B-Instruct`\n                 */\n                baseModel: string;\n                /**\n                 * Whether to enable SFT training. If true, the model will be trained using SFT. Can be used in conjunction with DPO training.\n                 */\n                enable_sft?: boolean;\n                /**\n                 * Whether to enable DPO training. If true, the model will be trained using DPO. Can be used in conjunction with SFT training.\n                 */\n                enable_preference_tuning?: boolean;\n                /**\n                 * Hyperparameters for SFT training job. Ensure `enable_sft` is true. If no SFT hyperparameters are provided, default values will be used.\n                 */\n                sft_hyperparameters?: {\n                    batch_size?: ('auto' | number);\n                    learning_rate_multiplier?: number;\n                    num_epochs?: number;\n                };\n                /**\n                 * Hyperparameters for DPO training job. Ensure `enable_preference_tuning` is true. If no preference hyperparameters are provided, default values will be used.\n                 */\n                preference_hyperparameters?: {\n                    variant?: ('DPO' | 'APO Zero');\n                    learning_rate_multiplier?: number;\n                    num_epochs?: number;\n                    training_beta?: number;\n                    adapter_weight?: number;\n                };\n                /**\n                 * DEPRECATED: Use the `sft_hyperparameters` and `preference_hyperparameters` fields instead.\n                 */\n                hyperparameters?: {\n                    is_sft_enabled?: boolean;\n                    batch_size?: ('auto' | number);\n                    learning_rate_multiplier?: number;\n                    num_epochs?: number;\n                    is_preference_tuning_enabled?: boolean;\n                    preference_tuning_variant?: ('DPO' | 'APO Zero');\n                    preference_tuning_learning_rate_multiplier?: number;\n                    preference_tuning_num_epochs?: number;\n                    preference_tuning_training_beta?: number;\n                    preference_tuning_adapter_weight?: number;\n                };\n            } | {\n                provider: 'openai';\n                baseModel: 'gpt-4o-mini-2024-07-18' | 'gpt-4o-2024-08-06' | 'gpt-3.5-turbo-0125';\n                /**\n                 * Whether to enable SFT training. If true, the model will be trained using SFT. Can be used in conjunction with DPO training.\n                 */\n                enable_sft?: boolean;\n                /**\n                 * Whether to enable DPO training. If true, the model will be trained using DPO. Can be used in conjunction with SFT training.\n                 */\n                enable_preference_tuning?: boolean;\n                /**\n                 * Hyperparameters for SFT training job. Ensure `enable_sft` is true. If no SFT hyperparameters are provided, default values will be used.\n                 */\n                sft_hyperparameters?: {\n                    batch_size?: number;\n                    learning_rate_multiplier?: number;\n                    n_epochs?: number;\n                };\n                /**\n                 * Hyperparameters for DPO training job. Ensure `enable_preference_tuning` is true. If no preference hyperparameters are provided, default values will be used.\n                 */\n                preference_hyperparameters?: {\n                    beta?: number;\n                    batch_size?: number;\n                    learning_rate_multiplier?: number;\n                    n_epochs?: number;\n                };\n                /**\n                 * DEPRECATED: Use the `sft_hyperparameters` and `preference_hyperparameters` fields instead.\n                 */\n                hyperparameters?: {\n                    is_sft_enabled?: boolean;\n                    batch_size?: number;\n                    learning_rate_multiplier?: number;\n                    n_epochs?: number;\n                    is_preference_tuning_enabled?: boolean;\n                    preference_tuning_beta?: number;\n                    preference_tuning_batch_size?: number;\n                    preference_tuning_learning_rate_multiplier?: number;\n                    preference_tuning_n_epochs?: number;\n                };\n            } | {\n                provider: 'gemini';\n                baseModel: 'models/gemini-1.0-pro-001' | 'models/gemini-1.5-flash-001-tuning';\n                /**\n                 * Hyperparameters for SFT training job. If no SFT hyperparameters are provided, default values will be used.\n                 */\n                sft_hyperparameters?: {\n                    epochs?: number;\n                    batch_size?: number;\n                    learning_rate?: number;\n                    learning_rate_multiplier?: number;\n                };\n                /**\n                 * DEPRECATED: Use the `sft_hyperparameters` field instead.\n                 */\n                hyperparameters?: {\n                    epochs?: number;\n                    batch_size?: number;\n                    learning_rate?: number;\n                    learning_rate_multiplier?: number;\n                };\n            });\n            defaultTemperature?: number;\n        },\n    ): CancelablePromise<{\n        id: string;\n        name: string;\n        object: 'model';\n        description: string | null;\n        created: string;\n        updated: string;\n        openpipe: {\n            baseModel: string;\n            hyperparameters: Record<string, any> | null;\n            status: 'PENDING' | 'TRAINING' | 'DEPLOYED' | 'ERROR' | 'DEPRECATED' | 'PENDING_DEPRECATION' | 'QUEUED' | 'PROVISIONING';\n            datasetId: string;\n            errorMessage: string | null;\n        };\n        contextWindow: number;\n        maxCompletionTokens: number;\n        capabilities: Array<'chat' | 'tools' | 'json'>;\n        pricing: {\n            /**\n             * $/million tokens\n             */\n            chatIn: number;\n            /**\n             * $/million tokens\n             */\n            chatOut: number;\n        };\n        owned_by: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/models',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * List all models for a project.\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public listModels(): CancelablePromise<{\n        object: 'list';\n        data: Array<{\n            id: string;\n            name: string;\n            object: 'model';\n            description: string | null;\n            created: string;\n            updated: string;\n            openpipe: {\n                baseModel: string;\n                hyperparameters: Record<string, any> | null;\n                status: 'PENDING' | 'TRAINING' | 'DEPLOYED' | 'ERROR' | 'DEPRECATED' | 'PENDING_DEPRECATION' | 'QUEUED' | 'PROVISIONING';\n                datasetId: string;\n                errorMessage: string | null;\n            };\n            contextWindow: number;\n            maxCompletionTokens: number;\n            capabilities: Array<'chat' | 'tools' | 'json'>;\n            pricing: {\n                /**\n                 * $/million tokens\n                 */\n                chatIn: number;\n                /**\n                 * $/million tokens\n                 */\n                chatOut: number;\n            };\n            owned_by: string;\n        }>;\n    }> {\n        return this.httpRequest.request({\n            method: 'GET',\n            url: '/models',\n        });\n    }\n    /**\n     * Get a model by ID.\n     * @param modelSlug\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public getModel(\n        modelSlug: string,\n    ): CancelablePromise<{\n        id: string;\n        name: string;\n        object: 'model';\n        description: string | null;\n        created: string;\n        updated: string;\n        openpipe: {\n            baseModel: string;\n            hyperparameters: Record<string, any> | null;\n            status: 'PENDING' | 'TRAINING' | 'DEPLOYED' | 'ERROR' | 'DEPRECATED' | 'PENDING_DEPRECATION' | 'QUEUED' | 'PROVISIONING';\n            datasetId: string;\n            errorMessage: string | null;\n        };\n        contextWindow: number;\n        maxCompletionTokens: number;\n        capabilities: Array<'chat' | 'tools' | 'json'>;\n        pricing: {\n            /**\n             * $/million tokens\n             */\n            chatIn: number;\n            /**\n             * $/million tokens\n             */\n            chatOut: number;\n        };\n        owned_by: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'GET',\n            url: '/models/{modelSlug}',\n            path: {\n                'modelSlug': modelSlug,\n            },\n        });\n    }\n    /**\n     * Delete an existing model.\n     * @param modelSlug\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public deleteModel(\n        modelSlug: string,\n    ): CancelablePromise<{\n        id: string;\n        object: 'model';\n        deleted: boolean;\n    }> {\n        return this.httpRequest.request({\n            method: 'DELETE',\n            url: '/models/{modelSlug}',\n            path: {\n                'modelSlug': modelSlug,\n            },\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use the `/datasets` endpoint instead\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableDatasetCreate(\n        requestBody: {\n            name: string;\n        },\n    ): CancelablePromise<{\n        datasetId: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/unstable/dataset/create',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use the `/datasets/{dataset}` endpoint instead\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableDatasetDelete(\n        requestBody: {\n            datasetId: string;\n        },\n    ): CancelablePromise<{\n        datasetId: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/unstable/dataset/delete',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use the `/datasets` endpoint instead\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableDatasetList(): CancelablePromise<Array<{\n        id: string;\n        name: string;\n        createdAt: string;\n        updatedAt: string;\n        datasetEntryCount: number;\n        fineTuneCount: number;\n    }>> {\n        return this.httpRequest.request({\n            method: 'GET',\n            url: '/unstable/dataset/list',\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use the `/datasets/{dataset}/entries` endpoint instead\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableDatasetEntryCreate(\n        requestBody: {\n            datasetId: string;\n            entries: Array<{\n                messages: Array<({\n                    role: 'system';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    name?: string;\n                } | {\n                    role: 'user';\n                    content?: (string | Array<({\n                        type: 'text';\n                        text: string;\n                    } | {\n                        type: 'image_url';\n                        image_url: {\n                            detail?: ('auto' | 'low' | 'high');\n                            url: string;\n                        };\n                    } | {\n                        type: 'input_audio';\n                        input_audio: {\n                            data: string;\n                            format: 'wav' | 'mp3';\n                        };\n                    })>);\n                    name?: string;\n                } | {\n                    role: 'assistant';\n                    audio?: {\n                        id: string;\n                    } | null;\n                    content?: (string | Array<({\n                        type: 'text';\n                        text: string;\n                    } | {\n                        type: 'refusal';\n                        refusal: string;\n                    })> | 'null' | null);\n                    function_call?: {\n                        name?: string;\n                        arguments?: string;\n                    } | null;\n                    tool_calls?: Array<{\n                        id: string;\n                        function: {\n                            name: string;\n                            arguments: string;\n                        };\n                        type: 'function';\n                    }> | null;\n                    name?: string;\n                    refusal?: string | null;\n                } | {\n                    role: 'developer';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    name?: string;\n                } | {\n                    role: 'tool';\n                    content?: (string | Array<{\n                        type: 'text';\n                        text: string;\n                    }>);\n                    tool_call_id: string;\n                } | {\n                    role: 'function';\n                    name: string;\n                    content: (string | 'null' | null);\n                })>;\n                rejected_message?: {\n                    reasoning_content?: string | null;\n                    content?: string | null;\n                    refusal?: string | null;\n                    role: 'assistant';\n                    function_call?: {\n                        name?: string;\n                        arguments?: string;\n                    } | null;\n                    tool_calls?: Array<{\n                        id: string;\n                        function: {\n                            name: string;\n                            arguments: string;\n                        };\n                        type: 'function';\n                    }> | null;\n                };\n                function_call?: ('none' | 'auto' | {\n                    name: string;\n                });\n                functions?: Array<{\n                    name: string;\n                    parameters?: Record<string, any>;\n                    description?: string;\n                    strict?: boolean | null;\n                }>;\n                tool_choice?: ('none' | 'auto' | 'required' | {\n                    type?: 'function';\n                    function?: {\n                        name: string;\n                    };\n                });\n                tools?: Array<{\n                    function: {\n                        name: string;\n                        parameters?: Record<string, any>;\n                        description?: string;\n                        strict?: boolean | null;\n                    };\n                    type: 'function';\n                }>;\n                response_format?: ({\n                    type: 'text';\n                } | {\n                    type: 'json_object';\n                } | {\n                    type: 'json_schema';\n                    json_schema: {\n                        name: string;\n                        description?: string;\n                        schema?: Record<string, any>;\n                        strict?: boolean | null;\n                    };\n                });\n                split?: 'TRAIN' | 'TEST';\n                judgement?: 'PASS' | 'FAIL';\n                metadata?: Record<string, string>;\n            }>;\n        },\n    ): CancelablePromise<{\n        createdEntries: number;\n        errors: Array<{\n            index: number;\n            message: string;\n        }>;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/unstable/dataset-entry/create',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableFinetuneCreate(\n        requestBody: {\n            datasetId: string;\n            slug: string;\n            /**\n             * The base model to fine-tune from. Supported models include: meta-llama/Meta-Llama-3.1-8B-Instruct, meta-llama/Meta-Llama-3.1-70B-Instruct\n             */\n            baseModel: string;\n            overrides?: {\n                is_sft_enabled?: boolean;\n                batch_size?: ('auto' | number);\n                learning_rate_multiplier?: number;\n                num_epochs?: number;\n                is_preference_tuning_enabled?: boolean;\n                preference_tuning_variant?: ('DPO' | 'APO Zero');\n                preference_tuning_learning_rate_multiplier?: number;\n                preference_tuning_num_epochs?: number;\n                preference_tuning_training_beta?: number;\n                preference_tuning_adapter_weight?: number;\n            };\n        },\n    ): CancelablePromise<{\n        id: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/unstable/finetune/create',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use the `/models/{model}` endpoint instead\n     * @param id\n     * @param slug\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableFinetuneGet(\n        id?: string,\n        slug?: string,\n    ): CancelablePromise<{\n        id: string;\n        status: ('PENDING' | 'STARTED' | 'TRANSFERRING_TRAINING_DATA' | 'TRAINING' | 'DEPLOYING' | 'DEPLOYED' | 'ERROR' | 'DEPRECATED' | 'PENDING_DEPRECATION' | 'QUEUED' | 'PROVISIONING');\n        slug: string;\n        baseModel: string;\n        errorMessage: string | null;\n        datasetId: string;\n        createdAt: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'GET',\n            url: '/unstable/finetune/get',\n            query: {\n                'id': id,\n                'slug': slug,\n            },\n        });\n    }\n    /**\n     * @deprecated\n     * DEPRECATED: use the `/models/{model}` endpoint instead\n     * @param requestBody\n     * @returns any Successful response\n     * @throws ApiError\n     */\n    public unstableFinetuneDelete(\n        requestBody: {\n            id?: string;\n            slug?: string;\n        },\n    ): CancelablePromise<{\n        deleted: string;\n    }> {\n        return this.httpRequest.request({\n            method: 'POST',\n            url: '/unstable/finetune/delete',\n            body: requestBody,\n            mediaType: 'application/json',\n        });\n    }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { NodeHttpRequest } from './core/NodeHttpRequest';\nimport { DefaultService } from './services/DefaultService';\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\nexport class OPClient {\n    public readonly default: DefaultService;\n    public readonly request: BaseHttpRequest;\n    constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = NodeHttpRequest) {\n        this.request = new HttpRequest({\n            BASE: config?.BASE ?? 'https://api.openpipe.ai/api/v1',\n            VERSION: config?.VERSION ?? '0.1.1',\n            WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n            CREDENTIALS: config?.CREDENTIALS ?? 'include',\n            TOKEN: config?.TOKEN,\n            USERNAME: config?.USERNAME,\n            PASSWORD: config?.PASSWORD,\n            HEADERS: config?.HEADERS,\n            ENCODE_PATH: config?.ENCODE_PATH,\n        });\n        this.default = new DefaultService(this.request);\n    }\n}\n\n"],"mappings":"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","names":["request","resolve","FormData","headers","request","fetch","resolve"]}