UNPKG

@ai2070/l0

Version:

L0: The Missing Reliability Substrate for AI

72 lines 2.38 kB
export interface JSONSchemaDefinition { $schema?: string; $id?: string; $ref?: string; type?: string | string[]; properties?: Record<string, JSONSchemaDefinition>; required?: string[]; items?: JSONSchemaDefinition | JSONSchemaDefinition[]; additionalProperties?: boolean | JSONSchemaDefinition; enum?: unknown[]; const?: unknown; allOf?: JSONSchemaDefinition[]; anyOf?: JSONSchemaDefinition[]; oneOf?: JSONSchemaDefinition[]; not?: JSONSchemaDefinition; if?: JSONSchemaDefinition; then?: JSONSchemaDefinition; else?: JSONSchemaDefinition; minimum?: number; maximum?: number; minLength?: number; maxLength?: number; pattern?: string; format?: string; default?: unknown; description?: string; title?: string; [key: string]: unknown; } export interface JSONSchemaValidationError { path: string; message: string; keyword?: string; params?: Record<string, unknown>; } export type JSONSchemaValidationResult<T = unknown> = { valid: true; data: T; } | { valid: false; errors: JSONSchemaValidationError[]; }; export interface JSONSchemaAdapter { validate: <T = unknown>(schema: JSONSchemaDefinition, data: unknown) => JSONSchemaValidationResult<T>; formatErrors: (errors: JSONSchemaValidationError[]) => string; } export declare function registerJSONSchemaAdapter(adapter: JSONSchemaAdapter): void; export declare function unregisterJSONSchemaAdapter(): void; export declare function hasJSONSchemaAdapter(): boolean; export declare function getJSONSchemaAdapter(): JSONSchemaAdapter; export declare function isJSONSchema(value: unknown): value is JSONSchemaDefinition; export declare function validateJSONSchema<T = unknown>(schema: JSONSchemaDefinition, data: unknown): { success: true; data: T; } | { success: false; error: Error; }; export interface UnifiedSchema<T = unknown> { readonly _tag: "zod" | "effect" | "jsonschema"; parse(data: unknown): T; safeParse(data: unknown): { success: true; data: T; } | { success: false; error: Error; }; } export declare function wrapJSONSchema<T = unknown>(schema: JSONSchemaDefinition): UnifiedSchema<T>; export declare function createSimpleJSONSchemaAdapter(): JSONSchemaAdapter; //# sourceMappingURL=jsonSchemaCompat.d.ts.map