import { z } from "zod"; export const documentConfigSchema = z.object({ approvalRequiredActions: z.array(z.enum(["create", "update", "delete"])).default(["delete"]), defaultType: z.enum(["memory", "document"]).default("document"), maxContentLength: z.number().int().positive().max(100000).default(50000), listPageSize: z.number().int().positive().max(100).default(20), }); export type DocumentToolConfig = z.infer; export const DEFAULT_DOCUMENT_CONFIG: DocumentToolConfig = { approvalRequiredActions: ["delete"], defaultType: "document", maxContentLength: 50000, listPageSize: 20, }; export function parseDocumentConfig(raw: unknown): DocumentToolConfig { const parsed = documentConfigSchema.safeParse(raw); if (!parsed.success) { throw new Error(`Invalid document config: ${parsed.error.message}`); } return parsed.data; }