import { NextResponse } from "next/server"; import { generateCompetitorAnalysis } from "@/lib/analysis"; import { sectorRequestSchema } from "@/lib/schema"; export const runtime = "nodejs"; export async function POST(request: Request) { const payload = await request.json().catch(() => null); const parsed = sectorRequestSchema.safeParse(payload); if (!parsed.success) { return NextResponse.json( { error: "Invalid request payload.", details: parsed.error.flatten() }, { status: 400 } ); } try { const analysis = await generateCompetitorAnalysis(parsed.data); return NextResponse.json(analysis); } catch (error) { const message = error instanceof Error ? error.message : "Unexpected analysis error."; const status = message.includes("OPENAI_API_KEY") ? 500 : 502; return NextResponse.json( { error: message }, { status } ); } }