1const base = (process.env.DIAGRAMZIP_RENDER_URL ?? 'http://127.0.0.1:8788').replace(/\/$/, '')23const [healthResponse, catalogResponse, removedRenderResponse] = await Promise.all([4 fetch(`${base}/render/v1/health`),5 fetch(`${base}/render/v1/catalog`),6 fetch(`${base}/render/v1/svg`, {7 method: 'POST',8 headers: { 'Content-Type': 'application/json' },9 body: JSON.stringify({ engine: 'graphviz', source: 'digraph { a -> b }', format: 'svg' }),10 }),11])1213if (!healthResponse.ok) throw new Error(`Health check returned HTTP ${healthResponse.status}.`)14const health = await healthResponse.json()15if (health.ok !== true) throw new Error('The health response is invalid.')1617if (!catalogResponse.ok) throw new Error(`Catalog check returned HTTP ${catalogResponse.status}.`)18const catalog = await catalogResponse.json()19if (catalog.format !== 'svg' || !Array.isArray(catalog.engines) || catalog.engines.length !== 32) {20 throw new Error('The catalog response does not contain all 32 SVG engines.')21}2223if (removedRenderResponse.status !== 404) {24 throw new Error(`The removed render proxy returned HTTP ${removedRenderResponse.status}.`)25}2627console.log('The catalog service is healthy. It lists 32 engines and has no render proxy.')