KQ-2077 · SERVER/LANES

Server Lanes

The tool servers an assistant is connected to, each a lane branching off the assistant's spine to a card for the server, with every call a bead that runs out along the upper rail on a tween, waits at the server end behind older calls (re-packing on springs.glide as each leaves), drops to the return rail on springs.snap and runs home tinted by its result — so a slow server shows as beads bunching and a failing one sends red home, while the port pulses on springs.flick and the card's strip gains a mark on snap. Up and Down move between lanes, Enter lists a lane's recent calls under it on glide, and Space pauses it, holding new beads at the assistant end until they are released in a cascade.

KQ-2077 · SERVER/LANES

Fieldline · crew assistant · Tuesday, 07:42

Fieldline assistant4 servers · 3 in flight · 4 errors
  1. Datafieldline-data
  2. Filesfieldline-files2 out
    p95 2.4 s
  3. Calendarfieldline-calendar1 out
  4. Mailfieldline-mail
    Token expired

    No calls to this server yet.

Files is answering slowly.

3 in flight · files slow · fieldline assistant

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/server-lanes

Props

beadSize
number
default 7
Bead diameter in px (3 to 14), and with it how tightly waiting beads pack and how far apart the rails sit.
laneStyle
"rails" | "tube" | "thread"
default "rails"
Two hairline rails, a rounded tube the beads run inside, or one dotted thread with beads riding above and below.
accent
string
default "var(--accent-bright)"
Good calls, the spine's node, the open lane and the switches — any CSS colour.
servers
ServerLanesServer[]
default defaultServerLanesServers
One lane each: id, name, host, tools, health (healthy, degraded, disconnected), enabled and a one-line note.
calls
ServerLanesCall[]
default defaultServerLanesCalls
Every call: id, server, tool, summary, startedAt, endedAt, status (running, ok, error) and error. A new id launches a bead; a status change brings it home.
assistant
string
default "Fieldline assistant"
The assistant's name at the head of the spine.
paused / defaultPaused
string[]
default — / []
Ids of the paused lanes, controlled or initial.
onPausedChange
(ids: string[]) => void
default —
Fires from Space or a lane's pause button with every paused lane.
open / defaultOpen
string | null
default — / null
The lane whose recent calls are listed under it, controlled or initial.
onOpenChange
(id: string | null) => void
default —
Fires from Enter, a click or Escape.
onToggleServer
(id: string, enabled: boolean) => void
default —
The switch on a server card: may the assistant call it.
onReconnect
(id: string) => void
default —
Reconnect on a disconnected server; the lane reads Reconnecting until its health changes.
onInspectCall
(call: ServerLanesCall) => void
default —
A call in a lane's recent list was chosen.
now
number
default defaultServerLanesNow
The moment relative call times count from, in ms.
status
"ready" | "loading"
default "ready"
loading draws placeholder lanes.
slowMs
number
default 1500
A call slower than this comes home amber, in ms.
travelMs
number
default 650
How long a bead takes to run the length of its lane, in ms.
recentCount
number
default 12
How many results the strip on each server card keeps.
label
string
default "Tool servers"
The view's accessible name.
className
string
default —
Classes for the outer surface.