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