/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 9af0b8fd1073 */ import * as z from "zod/v4"; import { remap as remap$ } from "../../lib/primitives.js"; import { ModerationLLMAction, ModerationLLMAction$outboundSchema, } from "./moderationllmaction.js"; import { ModerationLlmv2CategoryThresholds, ModerationLlmv2CategoryThresholds$Outbound, ModerationLlmv2CategoryThresholds$outboundSchema, } from "./moderationllmv2categorythresholds.js"; export type ModerationLlmv2Config = { /** * Override model name. Should be omitted in general. */ modelName?: string | undefined; customCategoryThresholds?: | ModerationLlmv2CategoryThresholds | null | undefined; /** * If true, only evaluate categories in custom_category_thresholds; others are ignored. */ ignoreOtherCategories?: boolean | undefined; action?: ModerationLLMAction | undefined; }; /** @internal */ export type ModerationLlmv2Config$Outbound = { model_name: string; custom_category_thresholds?: | ModerationLlmv2CategoryThresholds$Outbound | null | undefined; ignore_other_categories: boolean; action?: string | undefined; }; /** @internal */ export const ModerationLlmv2Config$outboundSchema: z.ZodType< ModerationLlmv2Config$Outbound, ModerationLlmv2Config > = z.object({ modelName: z.string().default("mistral-moderation-2603"), customCategoryThresholds: z.nullable( ModerationLlmv2CategoryThresholds$outboundSchema, ).optional(), ignoreOtherCategories: z.boolean().default(false), action: ModerationLLMAction$outboundSchema.optional(), }).transform((v) => { return remap$(v, { modelName: "model_name", customCategoryThresholds: "custom_category_thresholds", ignoreOtherCategories: "ignore_other_categories", }); }); export function moderationLlmv2ConfigToJSON( moderationLlmv2Config: ModerationLlmv2Config, ): string { return JSON.stringify( ModerationLlmv2Config$outboundSchema.parse(moderationLlmv2Config), ); }