@ai2070/l0
Version:
L0: The Missing Reliability Substrate for AI
124 lines (123 loc) • 3.63 kB
JavaScript
import { z } from "zod4";
import { L0ResultSchema } from "./l0";
import { StructuredResultSchema } from "./structured";
const StepContextSchema = z.object({
stepIndex: z.number(),
totalSteps: z.number(),
previousResults: z.array(z.any()),
// StepResult[]
metadata: z.record(z.string(), z.any()),
signal: z.instanceof(AbortSignal).optional()
});
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()
});
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()
});
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()
});
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()
});
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()
});
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()
});
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()
});
const PipelineBranchSchema = z.object({
condition: z.function(),
steps: z.array(PipelineStepSchema),
name: z.string().optional()
});
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()
});
const PipelinePresetSchema = z.object({
name: z.string(),
stopOnError: z.boolean(),
timeout: z.number().optional(),
monitoring: z.object({
enabled: z.boolean()
}).optional()
});
export {
PipelineBranchSchema,
PipelineOptionsSchema,
PipelinePresetSchema,
PipelineResultSchema,
PipelineSchema,
PipelineStepSchema,
StepBuilderOptionsSchema,
StepContextSchema,
StepResultSchema,
StructuredPipelineStepSchema,
StructuredStepResultSchema
};
//# sourceMappingURL=pipeline.js.map