KQ-1652 · PROBE/RELAY

Probe Relay

A synthetic check runner: six stations sit on a ring round the endpoint, each joined to it by a path that bows the same way, and each holds its last latency for the active check with a slim bar against the budget. Run now sends a pulse from every station to the target at once on the move ease; while the results are out the paths turn dotted and march, and when they land a pulse returns to each station taking time in proportion to its latency, so the fastest hear back first, and each number lands at its station on springs.recoil, coloured against the budget, while its bar glides on springs.glide. Checks are a tablist, every station is its own tab stop with a details card, and R reruns the active check from anywhere inside.

KQ-1652 · PROBE/RELAY

Waylight API

4 of 6 within 250 ms · ran 2m ago

  • Coldbrook CLB117 ms, within budget117 ms
  • Basinworks BSN212 ms, within budget212 ms
  • Fieldline FLD170 ms, within budget170 ms
  • Waylight WAY97 ms, within budget97 ms
  • Fernworks FRN261 ms, over budget261 ms
  • Gaugeworks GGE299 ms, over budget299 ms
Within budgetOver budgetFailed

GET /health · 6 stations · fastest Waylight 97 ms

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/probe-relay

Props

pathCurve
number
default 0.45
How much the paths bow, from 0 (straight spokes) to 1 (deep curves).
pulseSpeed
number
default 1
Scales every travel time: 2 is twice as quick, 0.5 half.
accent
string
default "var(--accent-bright)"
Pulses, the target and the active check, any CSS colour.
stations
ProbeStation[]
default defaultProbeStations
The stations, drawn round the target from the top: { id, name, region, code }.
checks
ProbeCheck[]
default defaultProbeChecks
The checks: { id, name, method, path, host, budget, every, paused?, ranAt, results } with results { station, latency (null when failed), error? }.
value / defaultValue
string
default — / the first check
The active check id, controlled or initial.
onValueChange
(id: string) => void
default —
Fires from the tab, arrow or key that changed the active check.
onRun
(check: ProbeCheck) => void
default —
Run now or R was pressed. Answer by updating the check's ranAt and results; the pulses return when they change.
onPause
(check: ProbeCheck, paused: boolean) => void
default —
Pause or Resume was pressed, with the new paused state.
onEdit
(check: ProbeCheck) => void
default —
Edit was pressed.
status
"ready" | "loading" | "error"
default "ready"
Loading draws dotted paths and ghost checks; error shows its own state with Retry.
onRetry
() => void
default —
Retry was pressed after the checks failed to load.
now
number
default defaultProbeNow
The time "ran 2m ago" is measured from, in ms; never read from the clock.
formatLatency
(ms: number) => string
default "184 ms" or "1.2 s"
Formats every latency and the budget.
title
string
default "Waylight API"
The heading and the surface's accessible name.
height
number
default 520
Height of the surface in px.
disabled
boolean
default false
Nothing runs, pauses or edits; the surface dims.
className
string
default —
Classes for the outer surface.