import { RecipientRole } from '@prisma/client'; import { z } from 'zod'; export const ZDetectedRecipientSchema = z.object({ name: z.string().describe('The detected recipient name, leave blank if unknown'), email: z.string().describe('The detected recipient email, leave blank if unknown'), role: z .nativeEnum(RecipientRole) .optional() .default(RecipientRole.SIGNER) .describe( 'The detected recipient role. Use SIGNER for people who need to sign, APPROVER for approvers, CC for people who should receive a copy, VIEWER for view-only recipients', ), }); export type TDetectedRecipientSchema = z.infer; export const ZDetectedRecipientsSchema = z.object({ recipients: z.array(ZDetectedRecipientSchema).describe('The list of detected recipients from the document'), }); export type TDetectedRecipientsSchema = z.infer;