import { NextResponse } from "next/server"; import { authorizeWorkerRequest } from "yt-dlp-transcript-common/lib/workerToken"; import { getWorkerPool } from "yt-dlp-transcript-common/jobs/workerPool"; export const dynamic = "force-dynamic"; // Heartbeat for a remote worker: returns this instance's worker summary so a // primary can skip a dead/empty remote before dispatching to it. Token-guarded. export async function GET(request: Request) { const auth = authorizeWorkerRequest(request.headers.get("authorization")); if (!auth.ok) { return NextResponse.json({ error: auth.error }, { status: auth.status }); } const pool = getWorkerPool(); return NextResponse.json({ ok: true, paused: pool.isPaused(), workers: pool.summary(), }); }