--- title: Token Cost --- ```js import {apiFetch, pollDelay, waitForVisible} from "./components/config.js"; import {refCell} from "./components/ref-cell.js"; const POLL = 60_000; ``` ```js const evidenceSel = Inputs.radio( ["Measured only", "Active evidence", "All evidence"], {value: "Measured only", label: "Evidence"} ); const sortSel = Inputs.select( ["Tokens Total", "Event Count"], {label: "Sort by"} ); const maxSel = Inputs.select( [10, 20, 50, 100, 500], {value: 20, label: "Show"} ); display(html`
No token events with repo association yet.
`); } else { display(Plot.plot({ title: "Token consumption by repo", marginLeft: 160, width: Math.min(900, width), x: {label: "Tokens", tickFormat: "~s"}, y: {label: null}, marks: [Plot.barX(rows, {x: "tokens_total", y: "label", fill: "#4e79a7", tip: true})], })); display(Inputs.table(rows.map((r, i) => ({...r, _ref: i})), { columns: ["_ref", "label", "tokens_in", "tokens_out", "tokens_total", "event_count"], header: {_ref: "REF", label: "Repo", tokens_in: "Tokens In", tokens_out: "Tokens Out", tokens_total: "Total", event_count: "Events"}, format: { _ref: (_, i) => refCell(i + 1, "repos", rows[i].label), label: d => nameCell(d, d), tokens_in: d => d.toLocaleString(), tokens_out: d => d.toLocaleString(), tokens_total: d => d.toLocaleString(), }, width: {_ref: 50, label: 160, tokens_in: 110, tokens_out: 110, tokens_total: 110, event_count: 80}, })); } } ``` ## By Workplan ```js { const sorted = sortRows(aggregate.by_workstream ?? [], sortOrder); const rows = sorted.slice(0, maxResults); if (rows.length === 0) { display(html`No workstream data yet.
`); } else { display(Inputs.table(rows.map((r, i) => ({...r, _ref: i})), { columns: ["_ref", "label", "tokens_in", "tokens_out", "tokens_total", "event_count"], header: {_ref: "REF", label: "Workstream", tokens_in: "Tokens In", tokens_out: "Tokens Out", tokens_total: "Total", event_count: "Events"}, format: { _ref: (_, i) => refCell(i + 1, "workstreams", rows[i].scope_id), label: d => nameCell(d, d), tokens_in: d => d.toLocaleString(), tokens_out: d => d.toLocaleString(), tokens_total: d => d.toLocaleString(), }, width: {_ref: 50, label: 240, tokens_in: 110, tokens_out: 110, tokens_total: 110, event_count: 80}, })); } } ``` ## By Evidence ```js { const kindRows = dictRows(aggregate.by_measurement_kind, "kind"); const sourceRows = dictRows(aggregate.by_source_provider, "source"); if (kindRows.length === 0 && sourceRows.length === 0) { display(html`No evidence breakdown yet.
`); } else { display(html`No model data yet.
`); } else { display(Plot.plot({ title: "Token consumption by model", marginLeft: 200, width: Math.min(700, width), x: {label: "Total tokens", tickFormat: "~s"}, marks: [Plot.barX(rows, {x: "tokens_total", y: "label", fill: "#59a14f", tip: true})], })); } } ``` ## Data Quality ```js if (!quality) { display(html`No quality data yet.
`); } else { display(Inputs.table(metricRows(quality), { columns: ["metric", "value"], header: {metric: "Signal", value: "Count"}, format: {value: d => d.toLocaleString()}, })); display(html`Codex: ${quality.last_codex_ingested_at ? new Date(quality.last_codex_ingested_at).toLocaleString() : "—"} · Claude: ${quality.last_claude_ingested_at ? new Date(quality.last_claude_ingested_at).toLocaleString() : "—"} · Reconcile: ${quality.last_reconciliation_at ? new Date(quality.last_reconciliation_at).toLocaleString() : "—"}
`); } ``` ## Top Tasks by Tokens ```js { const sorted = sortRows(aggregate.by_task ?? [], sortOrder); const rows = sorted.slice(0, maxResults); if (rows.length === 0) { display(html`No task-level data yet.
`); } else { display(Inputs.table(rows.map((r, i) => ({...r, _ref: i})), { columns: ["_ref", "label", "tokens_in", "tokens_out", "tokens_total"], header: {_ref: "REF", label: "Task", tokens_in: "In", tokens_out: "Out", tokens_total: "Total"}, format: { _ref: (_, i) => refCell(i + 1, "tasks", rows[i].scope_id), label: d => nameCell(d, d), tokens_in: d => d.toLocaleString(), tokens_out: d => d.toLocaleString(), tokens_total: d => d.toLocaleString(), }, width: {_ref: 50, label: 260}, })); } } ```