/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type ImportHistoricalEvalResultsRequestSource = { type?: "huggingface" | undefined; repo?: string | undefined; revision?: string | undefined; pathPrefix?: string | undefined; files?: Array | undefined; }; export type ImportHistoricalEvalResultsRequest = { source?: ImportHistoricalEvalResultsRequestSource | undefined; /** * Existing suite to import into. Missing tasks are appended as a new version by default. */ suiteId?: string | undefined; suiteName?: string | undefined; suiteDescription?: string | undefined; createMissingTasks?: boolean | undefined; dryRun?: boolean | undefined; /** * Maximum number of result files to import from Hugging Face, capped at 100. Repository listing imports default to 50; explicit source.files imports are not capped unless this is set. */ limitFiles?: number | undefined; metadata?: { [k: string]: string } | undefined; }; /** @internal */ export const ImportHistoricalEvalResultsRequestSource$inboundSchema: z.ZodType< ImportHistoricalEvalResultsRequestSource, z.ZodTypeDef, unknown > = z.object({ type: z.literal("huggingface").default("huggingface"), repo: z.string().default("meetkai/lm-eval-harness-result"), revision: z.string().default("main"), path_prefix: z.string().optional(), files: z.array(z.string()).optional(), }).transform((v) => { return remap$(v, { "path_prefix": "pathPrefix", }); }); /** @internal */ export type ImportHistoricalEvalResultsRequestSource$Outbound = { type: "huggingface"; repo: string; revision: string; path_prefix?: string | undefined; files?: Array | undefined; }; /** @internal */ export const ImportHistoricalEvalResultsRequestSource$outboundSchema: z.ZodType< ImportHistoricalEvalResultsRequestSource$Outbound, z.ZodTypeDef, ImportHistoricalEvalResultsRequestSource > = z.object({ type: z.literal("huggingface").default("huggingface" as const), repo: z.string().default("meetkai/lm-eval-harness-result"), revision: z.string().default("main"), pathPrefix: z.string().optional(), files: z.array(z.string()).optional(), }).transform((v) => { return remap$(v, { pathPrefix: "path_prefix", }); }); export function importHistoricalEvalResultsRequestSourceToJSON( importHistoricalEvalResultsRequestSource: ImportHistoricalEvalResultsRequestSource, ): string { return JSON.stringify( ImportHistoricalEvalResultsRequestSource$outboundSchema.parse( importHistoricalEvalResultsRequestSource, ), ); } export function importHistoricalEvalResultsRequestSourceFromJSON( jsonString: string, ): SafeParseResult< ImportHistoricalEvalResultsRequestSource, SDKValidationError > { return safeParse( jsonString, (x) => ImportHistoricalEvalResultsRequestSource$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'ImportHistoricalEvalResultsRequestSource' from JSON`, ); } /** @internal */ export const ImportHistoricalEvalResultsRequest$inboundSchema: z.ZodType< ImportHistoricalEvalResultsRequest, z.ZodTypeDef, unknown > = z.object({ source: z.lazy(() => ImportHistoricalEvalResultsRequestSource$inboundSchema) .optional(), suite_id: z.string().optional(), suite_name: z.string().default("Historical lm-eval harness results"), suite_description: z.string().optional(), create_missing_tasks: z.boolean().default(true), dry_run: z.boolean().default(false), limit_files: z.number().int().optional(), metadata: z.record(z.string()).optional(), }).transform((v) => { return remap$(v, { "suite_id": "suiteId", "suite_name": "suiteName", "suite_description": "suiteDescription", "create_missing_tasks": "createMissingTasks", "dry_run": "dryRun", "limit_files": "limitFiles", }); }); /** @internal */ export type ImportHistoricalEvalResultsRequest$Outbound = { source?: ImportHistoricalEvalResultsRequestSource$Outbound | undefined; suite_id?: string | undefined; suite_name: string; suite_description?: string | undefined; create_missing_tasks: boolean; dry_run: boolean; limit_files?: number | undefined; metadata?: { [k: string]: string } | undefined; }; /** @internal */ export const ImportHistoricalEvalResultsRequest$outboundSchema: z.ZodType< ImportHistoricalEvalResultsRequest$Outbound, z.ZodTypeDef, ImportHistoricalEvalResultsRequest > = z.object({ source: z.lazy(() => ImportHistoricalEvalResultsRequestSource$outboundSchema) .optional(), suiteId: z.string().optional(), suiteName: z.string().default("Historical lm-eval harness results"), suiteDescription: z.string().optional(), createMissingTasks: z.boolean().default(true), dryRun: z.boolean().default(false), limitFiles: z.number().int().optional(), metadata: z.record(z.string()).optional(), }).transform((v) => { return remap$(v, { suiteId: "suite_id", suiteName: "suite_name", suiteDescription: "suite_description", createMissingTasks: "create_missing_tasks", dryRun: "dry_run", limitFiles: "limit_files", }); }); export function importHistoricalEvalResultsRequestToJSON( importHistoricalEvalResultsRequest: ImportHistoricalEvalResultsRequest, ): string { return JSON.stringify( ImportHistoricalEvalResultsRequest$outboundSchema.parse( importHistoricalEvalResultsRequest, ), ); } export function importHistoricalEvalResultsRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ImportHistoricalEvalResultsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ImportHistoricalEvalResultsRequest' from JSON`, ); }