KQ-1292 · AGENT/RUN

Agent Run

An agent's run watched as it happens: steps move from pending to running to done or failed with live durations, nodes filling and ticking on flick, tool calls opening to a measured height on glide, and a time and cost meter whose digits run with the clock. A risky step halts the run behind an inline gate that glides open; holding Approve sweeps a linear fill, drains on the exit ease if let go early, and lands on recoil before the gate folds into a stamp. The timeline scrubs 1:1 and rubber-bands against its ends and any undecided gate, springing back on glide; arrow keys move the playhead and the plan, Space or Enter held approves.

KQ-1292 · AGENT/RUN

Reconcile March payouts

Running

Ledger agent · Gaugeworks Reasoner

Time
00:00.0
Cost of $0.50
$0.00
  1. Output

    Running…
  2. ledger.query { "month": "2026-03", "status": "unsettled" }

    Input

    { "month": "2026-03", "status": "unsettled" }

    Output

    Not run yet
  3. bank.statements { "account": "••4417", "from": "03-01", "to": "03-31" }

    Input

    { "account": "••4417", "from": "03-01", "to": "03-31" }

    Output

    Not run yet
  4. bank.statements { "account": "••4417", "from": "03-15", "to": "03-31" }

    Input

    { "account": "••4417", "from": "03-15", "to": "03-31" }

    Output

    Not run yet
  5. files.write { "path": "payouts/2026-03-late.csv", "rows": 2 }

    Input

    { "path": "payouts/2026-03-late.csv", "rows": 2 }

    Output

    Not run yet
  6. pay.send { "file": "payouts/2026-03-late.csv", "from": "••4417" }

    Input

    { "file": "payouts/2026-03-late.csv", "from": "••4417" }

    Output

    Not run yet

    Send 2 payouts · 1,180.00

    Moves money from Coldbrook Bank ••4417 to two Waylight Pay accounts. A sent payout cannot be recalled.

    Press and hold, or press twice, to approve.

  7. notes.post { "channel": "finance-ops" }

    Input

    { "channel": "finance-ops" }

    Output

    Not run yet
00:00.0 / 00:09.6

running · step 1 of 7 · plan the reconciliation

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/agent-run

Props

run
AgentRunData
default defaultRun
The run log: title, agent, model, budget in cents, and each step's title, tool, ms, cost, input, output, error and gate.
now
number
default —
Controlled clock in ms since the run started. The host owns time; scrubs and Replay ask through onNowChange.
defaultNow
number
default 0
Where the console's own clock starts.
onNowChange
(ms: number) => void
default —
A scrub, a seek, a key or Replay asked for a new time.
playing / defaultPlaying
boolean
default — / true
Whether the console's own clock runs. It also pauses by itself off screen and in a hidden tab.
onPlayingChange
(playing: boolean) => void
default —
Play, Pause, Replay or the run reaching its end.
speed
number
default 1
How fast the console's clock runs, as a multiple of real time.
detail
"compact" | "standard" | "full"
default "standard"
Titles only, a one-line call under each step, or every call opened.
approval
"hold" | "click" | "auto"
default "hold"
Approve a gated step with a press and hold, a plain click, or let policy approve it without pausing.
holdMs
number
default 700
How long the approve button has to be held.
onDecision
(stepId: string, decision: "approved" | "denied") => void
default —
A gated step was approved or denied.
onStateChange
(state: AgentRunState, step: AgentStep | null) => void
default —
The run moved on (running, paused, waiting, finished, failed, stopped) from its own clock, a scrub, a decision or play and pause.
onReplay
() => void
default —
Replay was pressed: decisions clear and the clock rewinds to zero.
status
"ready" | "loading" | "error"
default "ready"
Whether the run log is there yet: skeleton rows while loading, a Retry when it failed, and an empty plan says so.
onRetry
() => void
default —
Retry on the error state.
formatCost
(cents: number) => string
default Intl US dollars
How a cost in cents is shown in the meter and the log.
label
string
default run.title
The console's accessible name.
sound
boolean
default false
Play the approval chime, scrub ticks and control clicks. The run playing on its own is silent.
disabled
boolean
default false
Disables the controls, the gate and the timeline.
className
string
default —
Give the console a height (h-[34rem]) and the plan scrolls inside it.