import { z } from "zod"; export const CalendarConfig = z.object({ mode: z.enum(["local", "ics"]).default("local"), calendars: z.array(z.string()).default([]), // local Calendar.app names to include urls: z.array(z.string().url()).default([]), // ICS URLs (ics mode) daysAhead: z.number().int().min(1).max(60).default(7), }); export type CalendarConfig = z.infer; export const CalendarPayload = z.object({ events: z.array( z.object({ summary: z.string(), start: z.string(), end: z.string().nullable(), location: z.string().nullable(), calendar: z.string().nullable(), allDay: z.boolean(), }), ), }); export type CalendarPayload = z.infer;