export type Task = { before_run: Array; run: string | Array; parallelism?: number; timeout?: number; early_exit?: boolean; validations?: Array; sources: Array; }; export type Validation = | { name: string; type: "regex"; regex: string; } | { name: string; type: "shell"; command: string; exit_code?: number; } | { name: string; type: "llm"; evaluator: string; criteria: Record; }; export type Source = { csv: string } | { cmd: string } | { value: Record[] }; export enum TaskStatus { Passed = "passed", ValidationFailed = "validation_failed", Timeout = "timeout", Failed = "failed", }