export default defineEventHandler(async (event) => { const body = await readBody<{ jobId?: string }>(event).catch(() => ({} as { jobId?: string })) const jobId = String(body?.jobId || '') const live = jobId ? getJob(jobId) : undefined if (live) return jobSnapshot(live) if (jobId) { const pending = readPendingJob(jobId) if (pending) { const done = await completePendingIfReady(pending) if (done) return done return { type: 'snapshot', status: 'running', message: 'Reconnecting to ComfyUI...', progress: 90, promptId: pending.promptId, elapsedMs: Date.now() - pending.startedAt } } } const { owner } = assertLibraryOwner(event) const library = publicLibrary(event) const folderId = library.folders.find(folder => folder.unlocked)?.id const imported = folderId ? await importMissingComfyVideos(owner, folderId) : [] const newest = imported[imported.length - 1] if (!newest) { throw createError({ statusCode: 404, statusMessage: 'No finished ComfyUI video to recover' }) } return { type: 'complete', status: 'complete', message: 'Recovered video from ComfyUI', progress: 100, clipId: newest.id, filename: newest.comfyFilename, hideThumbnail: newest.hideThumbnail } })