@ai2070/l0
Version:
L0: The Missing Reliability Substrate for AI
61 lines • 1.89 kB
JavaScript
import { z } from "zod4";
export 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(),
});
export const StreamNormalizerOptionsSchema = z.object({
accumulate: z.boolean().optional(),
checkpoint: z.boolean().optional(),
checkpointInterval: z.number().optional(),
});
export const StreamWrapperSchema = z.object({
stream: z.any(),
signal: z.instanceof(AbortSignal).optional(),
initialTimeout: z.number().optional(),
interTokenTimeout: z.number().optional(),
});
export 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(),
});
export const StreamChunkSchema = z.object({
content: z.string(),
done: z.boolean(),
timestamp: z.number(),
accumulated: z.string().optional(),
index: z.number(),
});
export const StreamHandlerSchema = z.function();
export const StreamErrorTypeSchema = z.enum([
"timeout",
"abort",
"network",
"parse",
"unknown",
]);
export const StreamErrorSchema = z.object({
name: z.string(),
message: z.string(),
stack: z.string().optional(),
type: StreamErrorTypeSchema,
recoverable: z.boolean(),
timestamp: z.number(),
});
export const StreamResumptionStateSchema = z.object({
lastContent: z.string(),
lastTokenIndex: z.number(),
lastTokenTime: z.number(),
canResume: z.boolean(),
});
//# sourceMappingURL=stream.js.map