import { jsonBody } from '$lib/server/request-body.js'; import { isHttpError, json } from '@sveltejs/kit'; import { watchdogDetail, updateWatchdogIncident } from '$lib/server/maintenance/recovery.js'; import { kick } from '$lib/server/pipeline/worker.js'; export function GET({ params }: { params: { id: string } }) { const detail = watchdogDetail(params.id); return detail ? json(detail) : json({ error: 'Maintenance finding not found.' }, { status: 404 }); } export async function POST({ params, request }: { params: { id: string }; request: Request }) { const body = await jsonBody(request).catch((cause) => { if (isHttpError(cause, 413)) throw cause; return null; }); if (!body || !['retry', 'dismiss'].includes(body.action)) return json({ error: 'Choose retry or dismiss.' }, { status: 400 }); const result = updateWatchdogIncident(params.id, body.action); if (!result.ok) return json({ error: result.error }, { status: result.status }); void kick().catch((err) => console.error('[maintenance] worker kick failed:', err)); return json(watchdogDetail(params.id)); }