@ai2070/l0
Version:
L0: The Missing Reliability Substrate for AI
74 lines (73 loc) • 1.99 kB
JavaScript
import { z } from "zod4";
const StreamEventSchema = z.object({
type: z.enum(["text-delta", "finish", "error", "content-delta", "tool-call"]),
textDelta: z.string().optional(),
finishReason: z.string().optional(),
error: z.instanceof(Error).optional(),
content: z.string().optional(),
toolCall: z.any().optional()
});
const StreamNormalizerOptionsSchema = z.object({
accumulate: z.boolean().optional(),
checkpoint: z.boolean().optional(),
checkpointInterval: z.number().optional()
});
const StreamWrapperSchema = z.object({
stream: z.any(),
// AsyncIterable<any>
signal: z.instanceof(AbortSignal).optional(),
initialTimeout: z.number().optional(),
interTokenTimeout: z.number().optional()
});
const StreamStateSchema = z.object({
started: z.boolean(),
firstTokenReceived: z.boolean(),
startTime: z.number().optional(),
firstTokenTime: z.number().optional(),
lastTokenTime: z.number().optional(),
tokenCount: z.number(),
complete: z.boolean(),
aborted: z.boolean(),
error: z.instanceof(Error).optional()
});
const StreamChunkSchema = z.object({
content: z.string(),
done: z.boolean(),
timestamp: z.number(),
accumulated: z.string().optional(),
index: z.number()
});
const StreamHandlerSchema = z.function();
const StreamErrorTypeSchema = z.enum([
"timeout",
"abort",
"network",
"parse",
"unknown"
]);
const StreamErrorSchema = z.object({
name: z.string(),
message: z.string(),
stack: z.string().optional(),
type: StreamErrorTypeSchema,
recoverable: z.boolean(),
timestamp: z.number()
});
const StreamResumptionStateSchema = z.object({
lastContent: z.string(),
lastTokenIndex: z.number(),
lastTokenTime: z.number(),
canResume: z.boolean()
});
export {
StreamChunkSchema,
StreamErrorSchema,
StreamErrorTypeSchema,
StreamEventSchema,
StreamHandlerSchema,
StreamNormalizerOptionsSchema,
StreamResumptionStateSchema,
StreamStateSchema,
StreamWrapperSchema
};
//# sourceMappingURL=stream.js.map