/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 63ebb118464e */ import * as z from "zod/v4"; 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"; import { ModerationLLMAction, ModerationLLMAction$inboundSchema, ModerationLLMAction$outboundSchema, } from "./moderationllmaction.js"; import { ModerationLlmv1CategoryThresholds, ModerationLlmv1CategoryThresholds$inboundSchema, ModerationLlmv1CategoryThresholds$Outbound, ModerationLlmv1CategoryThresholds$outboundSchema, } from "./moderationllmv1categorythresholds.js"; export type ModerationLlmv1Config = { /** * Override model name. Should be omitted in general. */ modelName?: string | undefined; customCategoryThresholds?: | ModerationLlmv1CategoryThresholds | null | undefined; /** * If true, only evaluate categories in custom_category_thresholds; others are ignored. */ ignoreOtherCategories?: boolean | undefined; action?: ModerationLLMAction | undefined; }; /** @internal */ export const ModerationLlmv1Config$inboundSchema: z.ZodType< ModerationLlmv1Config, unknown > = z.object({ model_name: z.string().default("mistral-moderation-2411"), custom_category_thresholds: z.nullable( ModerationLlmv1CategoryThresholds$inboundSchema, ).optional(), ignore_other_categories: z.boolean().default(false), action: ModerationLLMAction$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "model_name": "modelName", "custom_category_thresholds": "customCategoryThresholds", "ignore_other_categories": "ignoreOtherCategories", }); }); /** @internal */ export type ModerationLlmv1Config$Outbound = { model_name: string; custom_category_thresholds?: | ModerationLlmv1CategoryThresholds$Outbound | null | undefined; ignore_other_categories: boolean; action?: string | undefined; }; /** @internal */ export const ModerationLlmv1Config$outboundSchema: z.ZodType< ModerationLlmv1Config$Outbound, ModerationLlmv1Config > = z.object({ modelName: z.string().default("mistral-moderation-2411"), customCategoryThresholds: z.nullable( ModerationLlmv1CategoryThresholds$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 moderationLlmv1ConfigToJSON( moderationLlmv1Config: ModerationLlmv1Config, ): string { return JSON.stringify( ModerationLlmv1Config$outboundSchema.parse(moderationLlmv1Config), ); } export function moderationLlmv1ConfigFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ModerationLlmv1Config$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ModerationLlmv1Config' from JSON`, ); }