import { NextRequest } from 'next/server' import { getCurrentUser } from '@/lib/session' import { readRunLog, WorkerLogError } from '@/lib/worker-logs' import { parseRunLog } from '@/lib/parse-worker-log' export const dynamic = 'force-dynamic' // GET /api/worker-logs/.log — full parsed timeline for one run-log. export async function GET( _request: NextRequest, { params }: { params: Promise<{ name: string }> }, ) { const user = await getCurrentUser() if (!user) { return Response.json({ error: 'unauthorized' }, { status: 401 }) } const { name: rawName } = await params const name = decodeURIComponent(rawName) try { const raw = await readRunLog(name) return Response.json(parseRunLog(raw, name)) } catch (err) { if (err instanceof WorkerLogError) { const status = err.code === 'invalid' ? 400 : err.code === 'not-found' ? 404 : 500 return Response.json({ error: err.message }, { status }) } const message = err instanceof Error ? err.message : 'failed to read worker log' return Response.json({ error: message }, { status: 500 }) } }