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