/* * 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"; import { PromptInjectionConfig, PromptInjectionConfig$inboundSchema, PromptInjectionConfig$Outbound, PromptInjectionConfig$outboundSchema, } from "./promptinjectionconfig.js"; /** * Prompt injection guardrail */ export type PromptInjectionGuardrail = { mode: "prompt_injection"; /** * Whether this guardrail is enabled */ enabled?: boolean | undefined; /** * Also apply this guardrail to model output, not just the request */ checkOutput?: boolean | undefined; /** * Configuration for prompt injection detection guardrail */ config?: PromptInjectionConfig | undefined; }; /** @internal */ export const PromptInjectionGuardrail$inboundSchema: z.ZodType< PromptInjectionGuardrail, z.ZodTypeDef, unknown > = z.object({ mode: z.literal("prompt_injection"), enabled: z.boolean().default(true), check_output: z.boolean().optional(), config: PromptInjectionConfig$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "check_output": "checkOutput", }); }); /** @internal */ export type PromptInjectionGuardrail$Outbound = { mode: "prompt_injection"; enabled: boolean; check_output?: boolean | undefined; config?: PromptInjectionConfig$Outbound | undefined; }; /** @internal */ export const PromptInjectionGuardrail$outboundSchema: z.ZodType< PromptInjectionGuardrail$Outbound, z.ZodTypeDef, PromptInjectionGuardrail > = z.object({ mode: z.literal("prompt_injection"), enabled: z.boolean().default(true), checkOutput: z.boolean().optional(), config: PromptInjectionConfig$outboundSchema.optional(), }).transform((v) => { return remap$(v, { checkOutput: "check_output", }); }); export function promptInjectionGuardrailToJSON( promptInjectionGuardrail: PromptInjectionGuardrail, ): string { return JSON.stringify( PromptInjectionGuardrail$outboundSchema.parse(promptInjectionGuardrail), ); } export function promptInjectionGuardrailFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PromptInjectionGuardrail$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PromptInjectionGuardrail' from JSON`, ); }