import { z } from "zod"; const clientMessageSchema = z .object({ role: z.enum(["user", "assistant"]), content: z.string(), id: z.string().optional(), createdAt: z.coerce.date().optional(), parts: z .array( z .object({ type: z.literal("text"), text: z.string(), }) .strict(), ) .optional(), }) .strict() .transform(({ role, content }) => ({ role, content })); export const chatRequestSchema = z .object({ workspace: z.string().min(1), messages: z.array(clientMessageSchema).min(1), }) .strict();