SPB Git forge

spb/polyllm

Public
15commits 1branches 0releases
2.2 MBsize
maindefault branch
13 days agolast push
TypeScript 97.4% SQL 1% JavaScript 0.9% CSS 0.6%
1.2 KB · 24 lines typescript
Raw Blame History
1import { z } from "zod";2import { generationSettingsSchema } from "@/lib/chat/schemas";34/** Body of POST /api/projects; PATCH uses `.partial()`. */5export const projectBodySchema = z.object({6  name: z.string().min(1).max(80),7  description: z.string().max(600).nullable().optional(),8  icon: z.string().max(8).nullable().optional(),9  color: z.string().max(24).nullable().optional(),10  instructions: z.string().max(50_000).nullable().optional(),11  preferredModelKeys: z.array(z.string().min(3).max(120)).max(8).optional(),12  defaultSettings: generationSettingsSchema.optional(),13  notes: z.string().max(200_000).nullable().optional(),14  archived: z.boolean().optional(),15  sortOrder: z.number().int().min(0).max(100_000).optional(),16});17export type ProjectBodyInput = z.infer<typeof projectBodySchema>;1819/** POST /api/projects/:id actions (move conversations in / out). */20export const projectActionSchema = z.discriminatedUnion("action", [21  z.object({ action: z.literal("add-conversations"), conversationIds: z.array(z.string().max(64)).min(1).max(200) }),22  z.object({ action: z.literal("remove-conversations"), conversationIds: z.array(z.string().max(64)).min(1).max(200) }),23]);24