feat: scaffold central monitor workbench

This commit is contained in:
AgentRun Codex
2026-07-13 03:18:43 +00:00
parent a7e2f42ea3
commit 6de541221e
8 changed files with 363 additions and 0 deletions
@@ -0,0 +1,18 @@
import assert from "node:assert/strict";
import { test } from "bun:test";
import { monitorRouteHref, readMonitorRoute, withMonitorRoute } from "../assets/web-probe-sentinel-monitor-workbench/state/monitor-route.js";
Object.assign(globalThis, { window: { location: { origin: "https://monitor.example.test" } } });
test("monitor route roundtrips run detail tab and filters", () => {
const route = readMonitorRoute("https://monitor.example.test/monitor/runs/run-1/findings/finding-2?sentinelId=s1&node=NC01&lane=v03&status=failed&tab=findings");
assert.equal(route.kind, "detail");
assert.equal(route.detailType, "finding");
assert.equal(monitorRouteHref(route), "/monitor/runs/run-1/findings/finding-2?sentinelId=s1&node=NC01&lane=v03&status=failed&tab=findings");
});
test("monitor route rejects unsupported paths and filter changes clear selection", () => {
assert.deepEqual(readMonitorRoute("https://monitor.example.test/dashboard"), { kind: "invalid", reason: "unsupported_path" });
const next = withMonitorRoute(readMonitorRoute("https://monitor.example.test/monitor/runs/run-1"), { kind: "workspace", runId: "", filters: { status: "failed" } });
assert.equal(monitorRouteHref(next), "/monitor?status=failed");
});