The telemetry viewer shared by all three patterns — a single, mountable Hono
router that renders a table of reviews with drill-in to per-agent findings and
spans. Backed by @workshop/db; no build step, no framework.
The host app supplies the write path (POST /api/reviews) and mounts the viewer
at the root:
import { createUiRouter } from '@workshop/ui'
app.route('/', createUiRouter('Pattern 1 — Naive agent'))GET /— the dashboard HTML (a self-contained page; polls the APIs below).GET /api/reviews— recent reviews.GET /api/reviews/:id— one review with its findings and spans.
createUiRouter(title)→ aHonoapp to mount.dashboardHtml(title)→ the standalone HTML page (exported for reuse).
src/
index.ts createUiRouter (read APIs) + re-export of dashboardHtml
page.ts dashboardHtml — the self-contained viewer page