import * as z from "zod/v4"; import { Result as SafeParseResult } from "../types/fp.js"; import { ContentFilterBuiltinEntry } from "./contentfilterbuiltinentry.js"; import { ContentFilterEntry } from "./contentfilterentry.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { GuardrailInterval } from "./guardrailinterval.js"; export type Guardrail = { /** * Array of model canonical_slugs (immutable identifiers) */ allowedModels?: Array | null | undefined; /** * List of allowed provider IDs */ allowedProviders?: Array | null | undefined; /** * Builtin content filters applied to requests. Includes PII detectors and the regex-based prompt injection detector. */ contentFilterBuiltins?: Array | null | undefined; /** * Custom regex content filters applied to request messages */ contentFilters?: Array | null | undefined; /** * ISO 8601 timestamp of when the guardrail was created */ createdAt: string; /** * Description of the guardrail */ description?: string | null | undefined; /** * Deprecated. Use enforce_zdr_anthropic, enforce_zdr_openai, enforce_zdr_google, and enforce_zdr_other instead. When provided, its value is copied into any of those per-provider fields that are not explicitly specified on the request. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ enforceZdr?: boolean | null | undefined; /** * Whether to enforce zero data retention for Anthropic models. Falls back to enforce_zdr when not provided. */ enforceZdrAnthropic?: boolean | null | undefined; /** * Whether to enforce zero data retention for Google models. Falls back to enforce_zdr when not provided. */ enforceZdrGoogle?: boolean | null | undefined; /** * Whether to enforce zero data retention for OpenAI models. Falls back to enforce_zdr when not provided. */ enforceZdrOpenai?: boolean | null | undefined; /** * Whether to enforce zero data retention for models that are not from Anthropic, OpenAI, or Google. Falls back to enforce_zdr when not provided. */ enforceZdrOther?: boolean | null | undefined; /** * Unique identifier for the guardrail */ id: string; /** * Array of model canonical_slugs to exclude from routing */ ignoredModels?: Array | null | undefined; /** * List of provider IDs to exclude from routing */ ignoredProviders?: Array | null | undefined; /** * Spending limit in USD */ limitUsd?: number | null | undefined; /** * Name of the guardrail */ name: string; /** * Interval at which the limit resets (daily, weekly, monthly) */ resetInterval?: GuardrailInterval | null | undefined; /** * ISO 8601 timestamp of when the guardrail was last updated */ updatedAt?: string | null | undefined; /** * The workspace ID this guardrail belongs to. */ workspaceId: string; }; /** @internal */ export declare const Guardrail$inboundSchema: z.ZodType; export declare function guardrailFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=guardrail.d.ts.map