@ai2070/l0
Version:
L0: The Missing Reliability Substrate for AI
113 lines • 3.63 kB
JavaScript
import { z } from "zod4";
import { L0ResultSchema } from "./l0";
import { StructuredResultSchema } from "./structured";
export const StepContextSchema = z.object({
stepIndex: z.number(),
totalSteps: z.number(),
previousResults: z.array(z.any()),
metadata: z.record(z.string(), z.any()),
signal: z.instanceof(AbortSignal).optional(),
});
export const StepResultSchema = z.object({
stepName: z.string(),
stepIndex: z.number(),
input: z.any(),
output: z.any(),
l0Result: L0ResultSchema,
status: z.enum(["success", "error", "skipped"]),
error: z.instanceof(Error).optional(),
duration: z.number(),
startTime: z.number(),
endTime: z.number(),
});
export const StructuredStepResultSchema = z.object({
stepName: z.string(),
stepIndex: z.number(),
input: z.any(),
output: z.any(),
structuredResult: StructuredResultSchema,
status: z.enum(["success", "error", "skipped"]),
error: z.instanceof(Error).optional(),
duration: z.number(),
startTime: z.number(),
endTime: z.number(),
});
export const PipelineStepSchema = z.object({
name: z.string(),
fn: z.function(),
transform: z.function().optional(),
condition: z.function().optional(),
onError: z.function().optional(),
onComplete: z.function().optional(),
metadata: z.record(z.string(), z.any()).optional(),
});
export const StructuredPipelineStepSchema = z.object({
name: z.string(),
fn: z.function(),
transform: z.function().optional(),
condition: z.function().optional(),
onError: z.function().optional(),
onComplete: z.function().optional(),
metadata: z.record(z.string(), z.any()).optional(),
});
export const PipelineOptionsSchema = z.object({
name: z.string().optional(),
stopOnError: z.boolean().optional(),
timeout: z.number().optional(),
signal: z.instanceof(AbortSignal).optional(),
monitoring: z
.object({
enabled: z.boolean().optional(),
metadata: z.record(z.string(), z.any()).optional(),
})
.optional(),
onStart: z.function().optional(),
onComplete: z.function().optional(),
onError: z.function().optional(),
onProgress: z.function().optional(),
metadata: z.record(z.string(), z.any()).optional(),
});
export const PipelineResultSchema = z.object({
name: z.string().optional(),
output: z.any(),
steps: z.array(StepResultSchema),
status: z.enum(["success", "error", "partial"]),
error: z.instanceof(Error).optional(),
duration: z.number(),
startTime: z.number(),
endTime: z.number(),
metadata: z.record(z.string(), z.any()).optional(),
});
export const PipelineSchema = z.object({
name: z.string().optional(),
steps: z.array(PipelineStepSchema),
options: PipelineOptionsSchema,
run: z.function(),
addStep: z.function(),
removeStep: z.function(),
getStep: z.function(),
clone: z.function(),
});
export const PipelineBranchSchema = z.object({
condition: z.function(),
steps: z.array(PipelineStepSchema),
name: z.string().optional(),
});
export const StepBuilderOptionsSchema = z.object({
l0Options: z.any().optional(),
transform: z.function().optional(),
condition: z.function().optional(),
onError: z.function().optional(),
metadata: z.record(z.string(), z.any()).optional(),
});
export const PipelinePresetSchema = z.object({
name: z.string(),
stopOnError: z.boolean(),
timeout: z.number().optional(),
monitoring: z
.object({
enabled: z.boolean(),
})
.optional(),
});
//# sourceMappingURL=pipeline.js.map