import { createServerFn } from "@tanstack/react-start";
import { z } from "zod";
import { generateText } from "ai";
import { createLovableAiGatewayProvider } from "./ai-gateway.server";

export const translateBnToEn = createServerFn({ method: "POST" })
  .inputValidator((d: unknown) => z.object({ text: z.string().min(1).max(200) }).parse(d))
  .handler(async ({ data }) => {
    const key = process.env.LOVABLE_API_KEY;
    if (!key) throw new Error("Missing LOVABLE_API_KEY");
    if (!/[\u0980-\u09FF]/.test(data.text)) return { en: data.text };
    const gateway = createLovableAiGatewayProvider(key);
    const { text } = await generateText({
      model: gateway("google/gemini-3-flash-preview"),
      prompt: `Translate or transliterate this Bangla product name to a short English product name. Return ONLY the English name, no explanation, no quotes, no extra text.\n\nBangla: ${data.text}\nEnglish:`,
    });
    return { en: text.trim().replace(/^["']|["']$/g, "").split("\n")[0].slice(0, 100) };
  });
