Workflow Types
Copy
interface WorkflowConfig {
id: string;
name?: string;
description?: string;
inputSchema: z.ZodSchema;
outputSchema: z.ZodSchema;
steps: WorkflowStep[];
options?: WorkflowOptions;
}
interface WorkflowStep {
id: string;
name?: string;
description?: string;
type: 'agent' | 'function' | 'connector' | 'condition' | 'parallel';
config: StepConfig;
inputTransform?: (previousOutput: any, workflowInput: any) => any;
outputTransform?: (stepOutput: any) => any;
condition?: (context: WorkflowContext) => boolean;
retryConfig?: RetryConfig;
}
interface RetryConfig {
maxAttempts: number;
backoff: 'fixed' | 'exponential' | 'linear';
delay: number;
retryableErrors?: string[];
}