import { NextResponse } from "next/server"; import { authorizeWorkerRequest } from "yt-dlp-transcript-common/lib/workerToken"; import { getWorkerJobEvents } from "yt-dlp-transcript-common/controller/workerServer"; export const dynamic = "force-dynamic"; const ID_RE = /^[A-Za-z0-9_-]+$/; // Status + incremental log for a worker job. Polled ~1s by the requesting // instance's remote-transcribe client. export async function GET( request: Request, { params }: { params: Promise<{ id: string }> }, ) { const auth = authorizeWorkerRequest(request.headers.get("authorization")); if (!auth.ok) { return NextResponse.json({ error: auth.error }, { status: auth.status }); } const { id } = await params; if (!ID_RE.test(id)) { return NextResponse.json({ error: "invalid id" }, { status: 400 }); } const events = await getWorkerJobEvents(id); return NextResponse.json(events); }