View as Markdown
Dashboards

Runs

A shadcn-style data table of every run from every Catch, Pass, Inflow, Outflow, and Relay. Each row shows its `variant` (run mode) and `source` (scheduled | manual | webhook) alongside stats (extracted, transformed, created, updated, deleted, failed, duration) and an expandable step-by-step trace. Filterable by component, status, and time. Reads from the standard `khotan_runs` table.

Run
Status
Rows
stripe.inflow
ok
142
linear.catch
ok
18
hubspot.outflow
fail
5

Install

terminal
$ npx khotan add runs

Modes

Query only

Call the runs API from server code, scripts, or your own UI.

ts
// List recent runs for a component
const recent = await khotanData.api.runs.list({
  component: 'stripe.inflow',
  limit: 20,
})

// Get the full trace for one run
const run = await khotanData.api.runs.get(runId)
// → { status, durationMs, extracted, transformed,
//      created, updated, deleted, failed, batches,
//      metadata, trace: [{ ts, level, message }, ...] }

Drop-in table

Render the full runs table with filters, status, stats, and an expandable trace per row.

ts
import { RunsTable } from '@/components/khotan/RunsTable'

// Scoped to one component, or omit to show all
<RunsTable component="stripe.inflow" />

What to expect from add

Running npx khotan add runs scaffolds one or more files into your khotan runtime, React component directory, or app routes depending on the component. khotan may also prompt to install dependent components, npm packages, shadcn pieces, or Workflow integration when this component needs them.

Usage

Use the generated builder or UI inside your khotan setup and operational surfaces. For live runtime inspection, pair this component with the CLI and the built-in docs markdown routes.

Next steps