@ai2070/l0
Version:
L0: The Missing Reliability Substrate for AI
136 lines • 4.42 kB
JavaScript
import { z } from "zod4";
export const CorrectionTypeSchema = z.enum([
"close_brace",
"close_bracket",
"remove_trailing_comma",
"strip_markdown_fence",
"strip_json_prefix",
"remove_prefix_text",
"remove_suffix_text",
"fix_quotes",
"remove_comments",
"escape_control_chars",
"fill_missing_fields",
"remove_unknown_fields",
"coerce_types",
"extract_json",
]);
export const CorrectionInfoSchema = z.object({
original: z.string(),
corrected: z.string(),
corrections: z.array(CorrectionTypeSchema),
success: z.boolean(),
});
export const AutoCorrectOptionsSchema = z.object({
structural: z.boolean().optional(),
stripFormatting: z.boolean().optional(),
schemaBased: z.boolean().optional(),
strict: z.boolean().optional(),
});
export const AutoCorrectResultSchema = z.object({
corrected: z.string(),
success: z.boolean(),
corrections: z.array(CorrectionTypeSchema),
error: z.instanceof(Error).optional(),
});
export const StructuredStateSchema = z.object({
content: z.string(),
checkpoint: z.string(),
tokenCount: z.number(),
modelRetryCount: z.number(),
networkRetryCount: z.number(),
fallbackIndex: z.number(),
violations: z.array(z.any()),
driftDetected: z.boolean(),
completed: z.boolean(),
firstTokenAt: z.number().optional(),
lastTokenAt: z.number().optional(),
duration: z.number().optional(),
networkErrors: z.array(z.any()),
resumed: z.boolean(),
resumePoint: z.string().optional(),
resumeFrom: z.number().optional(),
dataOutputs: z.array(z.any()),
lastProgress: z.any().optional(),
toolCallStartTimes: z.map(z.string(), z.number()).optional(),
toolCallNames: z.map(z.string(), z.string()).optional(),
validationFailures: z.number(),
autoCorrections: z.number(),
validationErrors: z.array(z.any()),
});
export const StructuredTelemetrySchema = z.object({
sessionId: z.string(),
startTime: z.number(),
endTime: z.number().optional(),
duration: z.number().optional(),
metrics: z.object({
timeToFirstToken: z.number().optional(),
avgInterTokenTime: z.number().optional(),
tokensPerSecond: z.number().optional(),
totalTokens: z.number(),
totalRetries: z.number(),
networkRetryCount: z.number(),
modelRetryCount: z.number(),
}),
network: z.object({
errorCount: z.number(),
errorsByType: z.record(z.string(), z.number()),
errors: z.array(z.any()).optional(),
}),
guardrails: z.any().optional(),
drift: z.any().optional(),
continuation: z.any().optional(),
metadata: z.record(z.string(), z.any()).optional(),
structured: z.object({
schemaName: z.string().optional(),
validationAttempts: z.number(),
validationFailures: z.number(),
autoCorrections: z.number(),
correctionTypes: z.array(z.string()),
validationSuccess: z.boolean(),
validationTime: z.number().optional(),
}),
});
export const StructuredOptionsSchema = z.object({
schema: z.any(),
stream: z.function(),
fallbackStreams: z.array(z.function()).optional(),
retry: z.any().optional(),
autoCorrect: z.boolean().optional(),
strictMode: z.boolean().optional(),
timeout: z
.object({
initialToken: z.number().optional(),
interToken: z.number().optional(),
})
.optional(),
signal: z.instanceof(AbortSignal).optional(),
monitoring: z
.object({
enabled: z.boolean().optional(),
sampleRate: z.number().optional(),
metadata: z.record(z.string(), z.any()).optional(),
})
.optional(),
detectZeroTokens: z.boolean().optional(),
onValidationError: z.function().optional(),
onAutoCorrect: z.function().optional(),
onRetry: z.function().optional(),
});
export const StructuredResultSchema = z.object({
data: z.any(),
raw: z.string(),
corrected: z.boolean(),
corrections: z.array(z.string()),
state: StructuredStateSchema,
telemetry: StructuredTelemetrySchema.optional(),
errors: z.array(z.instanceof(Error)),
abort: z.function(),
});
export const StructuredPresetSchema = z.object({
name: z.string(),
autoCorrect: z.boolean(),
strictMode: z.boolean(),
retry: z.any(),
});
//# sourceMappingURL=structured.js.map