UNPKG

@ai2070/l0

Version:

L0: The Missing Reliability Substrate for AI

110 lines 3.75 kB
import { z } from "zod4"; export const GuardrailViolationSchema = z.object({ rule: z.string(), message: z.string(), severity: z.enum(["warning", "error", "fatal"]), position: z.number().optional(), recoverable: z.boolean(), timestamp: z.number().optional(), context: z.record(z.string(), z.unknown()).optional(), suggestion: z.string().optional(), }); export const GuardrailContextSchema = z.object({ content: z.string(), checkpoint: z.string().optional(), delta: z.string().optional(), tokenCount: z.number(), completed: z.boolean(), metadata: z.record(z.string(), z.any()).optional(), previousViolations: z .array(z.lazy(() => GuardrailViolationSchema)) .optional(), }); export const GuardrailRuleSchema = z.object({ name: z.string(), description: z.string().optional(), check: z.function(), streaming: z.boolean().optional(), severity: z.enum(["warning", "error", "fatal"]).optional(), recoverable: z.boolean().optional(), }); export const GuardrailStateSchema = z.object({ violations: z.array(GuardrailViolationSchema), violationsByRule: z.map(z.string(), z.array(GuardrailViolationSchema)), hasFatalViolations: z.boolean(), hasErrorViolations: z.boolean(), violationCount: z.number(), lastCheckTime: z.number().optional(), }); export const GuardrailConfigSchema = z.object({ rules: z.array(GuardrailRuleSchema), stopOnFatal: z.boolean().optional(), enableStreaming: z.boolean().optional(), checkInterval: z.number().optional(), onViolation: z.function().optional(), onPhaseStart: z.function().optional(), onPhaseEnd: z.function().optional(), onRuleStart: z.function().optional(), onRuleEnd: z.function().optional(), }); export const GuardrailResultSchema = z.object({ passed: z.boolean(), violations: z.array(GuardrailViolationSchema), shouldRetry: z.boolean(), shouldHalt: z.boolean(), summary: z.object({ total: z.number(), fatal: z.number(), errors: z.number(), warnings: z.number(), }), }); export const JsonStructureSchema = z.object({ openBraces: z.number(), closeBraces: z.number(), openBrackets: z.number(), closeBrackets: z.number(), inString: z.boolean(), isBalanced: z.boolean(), issues: z.array(z.string()), }); export const MarkdownStructureSchema = z.object({ openFences: z.number(), fenceLanguages: z.array(z.string()), inFence: z.boolean(), headers: z.array(z.number()), listDepth: z.number(), issues: z.array(z.string()), }); export const LatexStructureSchema = z.object({ openEnvironments: z.array(z.string()), isBalanced: z.boolean(), issues: z.array(z.string()), }); export const PatternConfigSchema = z.object({ patterns: z.array(z.union([z.string(), z.instanceof(RegExp)])), isBadPattern: z.boolean(), message: z.string().optional(), fatal: z.boolean().optional(), }); export const DriftConfigSchema = z.object({ detectToneShift: z.boolean().optional(), detectMetaCommentary: z.boolean().optional(), detectRepetition: z.boolean().optional(), detectEntropySpike: z.boolean().optional(), entropyThreshold: z.number().optional(), repetitionThreshold: z.number().optional(), }); export const FunctionCallStructureSchema = z.object({ name: z.string().optional(), arguments: z.string().optional(), parsedArguments: z.record(z.string(), z.any()).optional(), isValid: z.boolean(), errors: z.array(z.string()), }); export const SchemaValidationSchema = z.object({ valid: z.boolean(), errors: z.array(z.string()), parsed: z.any().optional(), }); //# sourceMappingURL=guardrails.js.map