feat(web): Orchestrator page + SSE hook + AUTOMATION nav group

New /orchestrator route. Paginated read-only event list with kind
filter (all|traffic|file), pause-stream toggle, in-window failure
badge ('X failures / 1h'), and an SSE-driven 'live' status pill.
Streamed rows prepend on top up to a 500-row in-memory cap.

Sidebar gains an AUTOMATION nav group; Orchestrator is the first
child. Future workers (mutator/prober activity) plug in as siblings.
This commit is contained in:
2026-04-26 20:01:02 -04:00
parent 3de19eb102
commit c5ad04620b
5 changed files with 334 additions and 1 deletions

View File

@@ -22,6 +22,7 @@ const loaders: Record<string, Loader> = {
'/config': () => import('./components/Config'),
'/swarm-updates': () => import('./components/RemoteUpdates'),
'/swarm/hosts': () => import('./components/SwarmHosts'),
'/orchestrator': () => import('./components/Orchestrator'),
};
const fired = new Set<string>();