import { z } from 'zod'; /** * Result Schema * * Define the output structure of your workflow. * This is what gets saved to result.json after processing. */ export const ResultStatusSchema = z.enum(['success', 'failure', 'error']); export type ResultStatus = z.infer; export const ResultMetaSchema = z.object({ duration: z.number().describe('Execution time in milliseconds'), timestamp: z.string().describe('ISO timestamp of execution'), }); export type ResultMeta = z.infer; export const ResultSchema = z.object({ status: ResultStatusSchema.describe('Outcome status'), error: z.string().optional().describe('Error message if status is error'), data: z.record(z.string(), z.unknown()).optional().describe('Extracted data'), meta: ResultMetaSchema.describe('Execution metadata'), }); export type Result = z.infer;