import { NextRequest, NextResponse } from "next/server"; const BACKEND = process.env.HERMES_BACKEND_URL || "http://127.0.0.1:8643"; export async function POST(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const { id } = await params; const body = await req.json(); try { // Agent chat can take a while — 5 minute timeout const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 300_000); const res = await fetch(BACKEND + "/api/sessions/" + id + "/chat", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body), signal: controller.signal, }); clearTimeout(timeout); const data = await res.text(); return new NextResponse(data, { status: res.status, headers: { "content-type": "application/json" }, }); } catch (e) { const msg = e instanceof Error ? e.message : "backend unreachable"; return NextResponse.json({ error: msg }, { status: 502 }); } }