UNPKG

@ai2070/l0

Version:

L0: The Missing Reliability Substrate for AI

121 lines 4.11 kB
import { z } from "zod4"; import { L0ResultSchema } from "./l0"; export const ChunkStrategySchema = z.enum([ "token", "char", "paragraph", "sentence", ]); export const ContextRestorationStrategySchema = z.enum(["adjacent", "overlap", "full"]); export const WindowOptionsSchema = z.object({ size: z.number().optional(), overlap: z.number().optional(), strategy: ChunkStrategySchema.optional(), estimateTokens: z.function().optional(), preserveParagraphs: z.boolean().optional(), preserveSentences: z.boolean().optional(), metadata: z.record(z.string(), z.any()).optional(), }); export const DocumentChunkSchema = z.object({ index: z.number(), content: z.string(), startPos: z.number(), endPos: z.number(), tokenCount: z.number(), charCount: z.number(), isFirst: z.boolean(), isLast: z.boolean(), totalChunks: z.number(), metadata: z.record(z.string(), z.any()).optional(), }); export const WindowProcessResultSchema = z.object({ chunk: DocumentChunkSchema, result: L0ResultSchema.optional(), status: z.enum(["success", "error"]), error: z.instanceof(Error).optional(), duration: z.number(), }); export const WindowStatsSchema = z.object({ totalChunks: z.number(), totalChars: z.number(), totalTokens: z.number(), avgChunkSize: z.number(), avgChunkTokens: z.number(), overlapSize: z.number(), strategy: ChunkStrategySchema, }); export const DocumentWindowSchema = z.object({ document: z.string(), totalChunks: z.number(), currentIndex: z.number(), options: z.any(), get: z.function(), current: z.function(), next: z.function(), prev: z.function(), jump: z.function(), reset: z.function(), getAllChunks: z.function(), getRange: z.function(), hasNext: z.function(), hasPrev: z.function(), processAll: z.function(), processSequential: z.function(), processParallel: z.function(), getStats: z.function(), }); export const ContextRestorationOptionsSchema = z.object({ enabled: z.boolean().optional(), strategy: ContextRestorationStrategySchema.optional(), maxAttempts: z.number().optional(), onRestore: z.function().optional(), }); export const L0WindowOptionsSchema = z.object({ __outputType: z.unknown().optional(), stream: z.function(), context: z.record(z.string(), z.unknown()).optional(), fallbackStreams: z.array(z.function()).optional(), guardrails: z.array(z.any()).optional(), retry: z.any().optional(), timeout: z .object({ initialToken: z.number().optional(), interToken: z.number().optional(), }) .optional(), signal: z.instanceof(AbortSignal).optional(), monitoring: z.any().optional(), checkIntervals: z.any().optional(), detectDrift: z.boolean().optional(), detectZeroTokens: z.boolean().optional(), continueFromLastKnownGoodToken: z.boolean().optional(), buildContinuationPrompt: z.function().optional(), deduplicateContinuation: z.boolean().optional(), deduplicationOptions: z.any().optional(), onStart: z.function().optional(), onComplete: z.function().optional(), onError: z.function().optional(), onEvent: z.function().optional(), onViolation: z.function().optional(), onRetry: z.function().optional(), onFallback: z.function().optional(), onResume: z.function().optional(), onCheckpoint: z.function().optional(), onTimeout: z.function().optional(), onAbort: z.function().optional(), onDrift: z.function().optional(), onToolCall: z.function().optional(), interceptors: z.array(z.any()).optional(), adapter: z.any().optional(), adapterOptions: z.unknown().optional(), window: DocumentWindowSchema.optional(), chunkIndex: z.number().optional(), contextRestoration: ContextRestorationOptionsSchema.optional(), }); export const WindowPresetSchema = z.object({ name: z.string(), size: z.number(), overlap: z.number(), strategy: ChunkStrategySchema, }); //# sourceMappingURL=window.js.map