import { z } from "zod";
import { numberInRange } from "./common";

export const AiChatSchema = z.object({
  messages: z
    .array(
      z.object({
        role: z.enum(["user", "assistant"]),
        content: z.string().min(1).max(8000),
      }),
    )
    .min(1, "Zpráva je povinná")
    .max(100, "Příliš mnoho zpráv"),
});

export const AiHistoryAppendSchema = z.object({
  messages: z
    .array(
      z.object({
        role: z.enum(["user", "assistant"]),
        content: z.string().min(1).max(8000),
      }),
    )
    .min(1, "Žádné zprávy")
    .max(20, "Příliš mnoho zpráv"),
});

export const AiCreateConversationSchema = z.object({
  title: z.string().max(255).optional(),
});

export const AiRenameConversationSchema = z.object({
  title: z.string().min(1, "Název je povinný").max(255),
});

export const AiBudgetSchema = z.object({
  budget_usd: numberInRange(0, 1000000, "Neplatný rozpočet"),
});
