/* * 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 { collectExtraKeys as collectExtraKeys$, safeParse, } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type EvalGenerationConfigStop = string | Array; export const Truncation = { Auto: "auto", Disabled: "disabled", } as const; export type Truncation = ClosedEnum; export const ServiceTier = { Auto: "auto", Default: "default", Flex: "flex", Priority: "priority", } as const; export type ServiceTier = ClosedEnum; export type PrefillThink = boolean | string; export type EvalGenerationConfig = { instructions?: string | undefined; temperature?: number | undefined; topP?: number | undefined; maxOutputTokens?: number | undefined; /** * lm-eval alias for max_output_tokens. */ maxGenToks?: number | undefined; stop?: string | Array | undefined; /** * lm-eval generate_until stop sequences. */ until?: Array | undefined; maxToolCalls?: number | undefined; reasoning?: any | undefined; text?: any | undefined; tools?: Array | undefined; toolChoice?: any | undefined; parallelToolCalls?: boolean | undefined; truncation?: Truncation | undefined; serviceTier?: ServiceTier | undefined; presencePenalty?: number | undefined; frequencyPenalty?: number | undefined; topK?: number | undefined; minP?: number | undefined; repetitionPenalty?: number | undefined; doSample?: boolean | undefined; extraBody?: { [k: string]: any } | undefined; chatTemplateKwargs?: { [k: string]: any } | undefined; prefillThink?: boolean | string | undefined; useCache?: boolean | undefined; timeoutSeconds?: number | undefined; maxRetries?: number | undefined; maxEmptyRetries?: number | undefined; additionalProperties?: { [k: string]: any } | undefined; }; /** @internal */ export const EvalGenerationConfigStop$inboundSchema: z.ZodType< EvalGenerationConfigStop, z.ZodTypeDef, unknown > = z.union([z.string(), z.array(z.string())]); /** @internal */ export type EvalGenerationConfigStop$Outbound = string | Array; /** @internal */ export const EvalGenerationConfigStop$outboundSchema: z.ZodType< EvalGenerationConfigStop$Outbound, z.ZodTypeDef, EvalGenerationConfigStop > = z.union([z.string(), z.array(z.string())]); export function evalGenerationConfigStopToJSON( evalGenerationConfigStop: EvalGenerationConfigStop, ): string { return JSON.stringify( EvalGenerationConfigStop$outboundSchema.parse(evalGenerationConfigStop), ); } export function evalGenerationConfigStopFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EvalGenerationConfigStop$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EvalGenerationConfigStop' from JSON`, ); } /** @internal */ export const Truncation$inboundSchema: z.ZodNativeEnum = z .nativeEnum(Truncation); /** @internal */ export const Truncation$outboundSchema: z.ZodNativeEnum = Truncation$inboundSchema; /** @internal */ export const ServiceTier$inboundSchema: z.ZodNativeEnum = z .nativeEnum(ServiceTier); /** @internal */ export const ServiceTier$outboundSchema: z.ZodNativeEnum = ServiceTier$inboundSchema; /** @internal */ export const PrefillThink$inboundSchema: z.ZodType< PrefillThink, z.ZodTypeDef, unknown > = z.union([z.boolean(), z.string()]); /** @internal */ export type PrefillThink$Outbound = boolean | string; /** @internal */ export const PrefillThink$outboundSchema: z.ZodType< PrefillThink$Outbound, z.ZodTypeDef, PrefillThink > = z.union([z.boolean(), z.string()]); export function prefillThinkToJSON(prefillThink: PrefillThink): string { return JSON.stringify(PrefillThink$outboundSchema.parse(prefillThink)); } export function prefillThinkFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PrefillThink$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PrefillThink' from JSON`, ); } /** @internal */ export const EvalGenerationConfig$inboundSchema: z.ZodType< EvalGenerationConfig, z.ZodTypeDef, unknown > = collectExtraKeys$( z.object({ instructions: z.string().optional(), temperature: z.number().optional(), top_p: z.number().optional(), max_output_tokens: z.number().int().optional(), max_gen_toks: z.number().int().optional(), stop: z.union([z.string(), z.array(z.string())]).optional(), until: z.array(z.string()).optional(), max_tool_calls: z.number().int().optional(), reasoning: z.any().optional(), text: z.any().optional(), tools: z.array(z.any()).optional(), tool_choice: z.any().optional(), parallel_tool_calls: z.boolean().optional(), truncation: Truncation$inboundSchema.optional(), service_tier: ServiceTier$inboundSchema.optional(), presence_penalty: z.number().optional(), frequency_penalty: z.number().optional(), top_k: z.number().int().optional(), min_p: z.number().optional(), repetition_penalty: z.number().optional(), do_sample: z.boolean().optional(), extra_body: z.record(z.any()).optional(), chat_template_kwargs: z.record(z.any()).optional(), prefill_think: z.union([z.boolean(), z.string()]).optional(), use_cache: z.boolean().optional(), timeout_seconds: z.number().int().optional(), max_retries: z.number().int().optional(), max_empty_retries: z.number().int().optional(), }).catchall(z.any()), "additionalProperties", true, ).transform((v) => { return remap$(v, { "top_p": "topP", "max_output_tokens": "maxOutputTokens", "max_gen_toks": "maxGenToks", "max_tool_calls": "maxToolCalls", "tool_choice": "toolChoice", "parallel_tool_calls": "parallelToolCalls", "service_tier": "serviceTier", "presence_penalty": "presencePenalty", "frequency_penalty": "frequencyPenalty", "top_k": "topK", "min_p": "minP", "repetition_penalty": "repetitionPenalty", "do_sample": "doSample", "extra_body": "extraBody", "chat_template_kwargs": "chatTemplateKwargs", "prefill_think": "prefillThink", "use_cache": "useCache", "timeout_seconds": "timeoutSeconds", "max_retries": "maxRetries", "max_empty_retries": "maxEmptyRetries", }); }); /** @internal */ export type EvalGenerationConfig$Outbound = { instructions?: string | undefined; temperature?: number | undefined; top_p?: number | undefined; max_output_tokens?: number | undefined; max_gen_toks?: number | undefined; stop?: string | Array | undefined; until?: Array | undefined; max_tool_calls?: number | undefined; reasoning?: any | undefined; text?: any | undefined; tools?: Array | undefined; tool_choice?: any | undefined; parallel_tool_calls?: boolean | undefined; truncation?: string | undefined; service_tier?: string | undefined; presence_penalty?: number | undefined; frequency_penalty?: number | undefined; top_k?: number | undefined; min_p?: number | undefined; repetition_penalty?: number | undefined; do_sample?: boolean | undefined; extra_body?: { [k: string]: any } | undefined; chat_template_kwargs?: { [k: string]: any } | undefined; prefill_think?: boolean | string | undefined; use_cache?: boolean | undefined; timeout_seconds?: number | undefined; max_retries?: number | undefined; max_empty_retries?: number | undefined; [additionalProperties: string]: unknown; }; /** @internal */ export const EvalGenerationConfig$outboundSchema: z.ZodType< EvalGenerationConfig$Outbound, z.ZodTypeDef, EvalGenerationConfig > = z.object({ instructions: z.string().optional(), temperature: z.number().optional(), topP: z.number().optional(), maxOutputTokens: z.number().int().optional(), maxGenToks: z.number().int().optional(), stop: z.union([z.string(), z.array(z.string())]).optional(), until: z.array(z.string()).optional(), maxToolCalls: z.number().int().optional(), reasoning: z.any().optional(), text: z.any().optional(), tools: z.array(z.any()).optional(), toolChoice: z.any().optional(), parallelToolCalls: z.boolean().optional(), truncation: Truncation$outboundSchema.optional(), serviceTier: ServiceTier$outboundSchema.optional(), presencePenalty: z.number().optional(), frequencyPenalty: z.number().optional(), topK: z.number().int().optional(), minP: z.number().optional(), repetitionPenalty: z.number().optional(), doSample: z.boolean().optional(), extraBody: z.record(z.any()).optional(), chatTemplateKwargs: z.record(z.any()).optional(), prefillThink: z.union([z.boolean(), z.string()]).optional(), useCache: z.boolean().optional(), timeoutSeconds: z.number().int().optional(), maxRetries: z.number().int().optional(), maxEmptyRetries: z.number().int().optional(), additionalProperties: z.record(z.any()).optional(), }).transform((v) => { return { ...v.additionalProperties, ...remap$(v, { topP: "top_p", maxOutputTokens: "max_output_tokens", maxGenToks: "max_gen_toks", maxToolCalls: "max_tool_calls", toolChoice: "tool_choice", parallelToolCalls: "parallel_tool_calls", serviceTier: "service_tier", presencePenalty: "presence_penalty", frequencyPenalty: "frequency_penalty", topK: "top_k", minP: "min_p", repetitionPenalty: "repetition_penalty", doSample: "do_sample", extraBody: "extra_body", chatTemplateKwargs: "chat_template_kwargs", prefillThink: "prefill_think", useCache: "use_cache", timeoutSeconds: "timeout_seconds", maxRetries: "max_retries", maxEmptyRetries: "max_empty_retries", additionalProperties: null, }), }; }); export function evalGenerationConfigToJSON( evalGenerationConfig: EvalGenerationConfig, ): string { return JSON.stringify( EvalGenerationConfig$outboundSchema.parse(evalGenerationConfig), ); } export function evalGenerationConfigFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EvalGenerationConfig$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EvalGenerationConfig' from JSON`, ); }