oc-go-usage-display 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
2
2
  import { For, Show, createEffect, createMemo, createSignal } from "solid-js";
3
- import { PLAN_LABEL_WIDTH, buildPlanRows, formatPercentCell, formatStatusline, isDisplayMode, isSnapshotEmpty, meterFillPercent, meterSeverityForPercent, parseBooleanFlag, resolveProviderId, surfaceSelectionFromDisplayMode, } from "./helpers.js";
4
- import { extractSnapshotFromApiPayload, hostEnv, isRecord, mockSnapshot, readAuthJsonApiKey, toNonEmptyString, unavailableSnapshot, GO_PLAN_HEADING, GO_PROVIDER_ID, INTEGRATED_GO_SHARE_LABEL, SIDEBAR_COLLAPSED_GLYPH, SIDEBAR_EXPANDED_GLYPH, } from "./shared.js";
3
+ import { GO_SHARE_LABEL_WIDTH, PLAN_LABEL_WIDTH, buildPlanRows, formatPercentCell, formatStatusline, isDisplayMode, isSnapshotEmpty, meterFillPercent, meterSeverityForPercent, parseBooleanFlag, resolveProviderId, surfaceSelectionFromDisplayMode, } from "./helpers.js";
4
+ import { extractSnapshotFromApiPayload, hostEnv, isRecord, mockSnapshot, parseMockLimited, parseMockPercents, parseMockResets, readAuthJsonApiKey, toNonEmptyString, unavailableSnapshot, GO_PLAN_HEADING, GO_PROVIDER_ID, INTEGRATED_GO_SHARE_LABEL, SIDEBAR_COLLAPSED_GLYPH, SIDEBAR_EXPANDED_GLYPH, } from "./shared.js";
5
5
  // ---------------------------------------------------------------------------
6
6
  // Constants
7
7
  // ---------------------------------------------------------------------------
@@ -72,8 +72,19 @@ async function fetchJsonWithTimeout(url, apiKey) {
72
72
  }
73
73
  }
74
74
  async function loadUsageSnapshot(host) {
75
- if (hostEnv(host, "MOCK") === "1")
76
- return mockSnapshot();
75
+ if (hostEnv(host, "MOCK") === "1") {
76
+ const overrides = {};
77
+ const percents = parseMockPercents(hostEnv(host, "MOCK_PERCENTS"));
78
+ if (percents !== null)
79
+ overrides.percents = percents;
80
+ const resets = parseMockResets(hostEnv(host, "MOCK_RESETS"));
81
+ if (resets !== null)
82
+ overrides.resets = resets;
83
+ const limited = parseMockLimited(hostEnv(host, "MOCK_LIMITED"));
84
+ if (limited !== null)
85
+ overrides.limited = limited;
86
+ return mockSnapshot(overrides);
87
+ }
77
88
  const apiKey = toNonEmptyString(hostEnv(host, "API_KEY")) ?? readAuthJsonApiKey(host);
78
89
  if (apiKey === null)
79
90
  return null;
@@ -268,17 +279,38 @@ export function LabeledValueRow(props) {
268
279
  // The narrowest a meter may become before it stops being a meter: enough to read
269
280
  // a filled-vs-empty split at a glance.
270
281
  export const MIN_METER_WIDTH = 6;
271
- // A meter as two boxes: the filled part at the window's percentage, the track for
272
- // the rest. Both fill whatever the row has, so the bar reaches the sidebar's
273
- // right edge on any host, at any sidebar width, with nothing to measure and
274
- // nothing to guess -- the failure modes a fixed-width glyph string has (too short
275
- // on a wide sidebar, clipped on a narrow one) cannot happen.
282
+ // The meter's two parts, as a SPLIT rather than as two flexible boxes.
283
+ //
284
+ // The FILL and the TRACK are flex WEIGHTS that sum to 100, on a zero basis, and a
285
+ // part that comes out at zero is not rendered at all. That is the whole point, and
286
+ // each of the two obvious alternatives moved the block:
287
+ //
288
+ // - two `flexGrow` parts on their default basis: the track keeps a one-cell
289
+ // basis that flex will not shrink away, so at 100% the fill wants the whole
290
+ // meter and the track still claims a cell. It paints itself into the padding
291
+ // beside the percent -- the cell of the wrong color to the right of a full bar
292
+ // -- and makes the meter a cell wider at 100% than anywhere else.
293
+ // - both parts as `width: "<n>%"`: no overflow, but two independent
294
+ // percentage-to-cell roundings that need not agree. At 50% of a 27-cell meter
295
+ // the fill took 13 and the track 13, so the pair was 26 and the bar sat a cell
296
+ // short. A percentage cannot express "the rest of this box".
297
+ //
298
+ // A zero basis makes each part's width purely its share of the space the row gave
299
+ // the meter, so the two add up to the meter at every reading.
300
+ //
301
+ // The meter is two BOXES rather than a string of block glyphs. A glyph string has a
302
+ // fixed cell count, and a plugin cannot measure the sidebar it renders into
303
+ // (opentui resolves a text node's `width` as a wrapping bound, and no layout
304
+ // callback reaches a plugin), so a glyph meter is either too short for a wide
305
+ // sidebar or clipped by a narrow one. Boxes fill whatever the row gives them,
306
+ // which is why the meter reaches the sidebar's right edge on any host at any width.
276
307
  //
277
308
  // The track is a surface tone rather than the severity colour, so an empty meter
278
309
  // reads as an empty track instead of blank space.
279
310
  export function MeterBar(props) {
280
311
  const fill = createMemo(() => meterFillPercent(props.percent));
281
- return (_jsxs("box", { flexDirection: "row", flexGrow: 1, flexShrink: 1, minWidth: MIN_METER_WIDTH, children: [_jsx("box", { width: `${fill()}%`, backgroundColor: meterColor(props.theme, props.severity) }), _jsx("box", { flexGrow: 1, backgroundColor: props.theme.current.backgroundElement })] }));
312
+ const track = createMemo(() => 100 - fill());
313
+ return (_jsxs("box", { flexDirection: "row", flexGrow: 1, flexShrink: 1, minWidth: MIN_METER_WIDTH, children: [_jsx(Show, { when: fill() > 0, children: _jsx("box", { flexGrow: fill(), flexBasis: 0, flexShrink: 0, backgroundColor: meterColor(props.theme, props.severity) }) }), _jsx(Show, { when: track() > 0, children: _jsx("box", { flexGrow: track(), flexBasis: 0, flexShrink: 0, backgroundColor: props.theme.current.backgroundElement }) })] }));
282
314
  }
283
315
  // One plan window as a row of three FIXED-WIDTH columns: label, bar, percent.
284
316
  //
@@ -307,16 +339,20 @@ export function SectionHeader(props) {
307
339
  export function CollapsibleSection(props) {
308
340
  return (_jsxs("box", { flexDirection: "column", children: [_jsx(SectionHeader, { theme: props.theme, label: props.label, count: props.count, expanded: props.expanded, onToggle: props.onToggle }), _jsx("box", { flexDirection: "column", gap: 1, children: reactiveChild(() => (props.expanded() ? props.body() : null)) })] }));
309
341
  }
310
- // A model's share of the Go tokens spent in this session tree, drawn with the
311
- // same block bar and the same threshold coloring as the plan meters. It is a
312
- // share of tokens and nothing else: not of the plan, not a quota, not a price.
313
- // A model's Go share: the bar and the percent pinned to the RIGHT edge of the
314
- // row, so they line up with the Steps/Cost columns of the table above instead of
315
- // trailing the label wherever it happens to end. The label takes the slack
316
- // (`flexGrow`), the meter group never shrinks.
342
+ // A model's Go share: the bar and the percent pinned to the RIGHT edge of the row,
343
+ // so they line up with the Steps/Cost columns of the table above instead of
344
+ // trailing the label wherever it happens to end.
345
+ //
346
+ // The label sits in a FIXED-width cell and only the meter grows -- the same shape
347
+ // as `GoPlanRow`, and deliberately not a `flexGrow` label with a `gap`. Two
348
+ // flexible children divide the slack between them, and the share meter was doing
349
+ // exactly that: 18 cells wide at 50% and 20 at 100%, with its percent sliding a
350
+ // column each time. This row's number is a share of tokens, not of the plan, so
351
+ // its bar is not comparable with the plan meters' -- but its own geometry must
352
+ // still not depend on its own value.
317
353
  export function GoShareRow(props) {
318
354
  const rounded = Math.round(props.percent);
319
- return (_jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, flexGrow: 1, children: INTEGRATED_GO_SHARE_LABEL }), _jsx(MeterBar, { theme: props.theme, percent: rounded, severity: meterSeverityForPercent(rounded) }), _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, children: formatPercentCell(rounded) })] }));
355
+ return (_jsxs("box", { flexDirection: "row", children: [_jsx("box", { width: GO_SHARE_LABEL_WIDTH, marginRight: 1, flexShrink: 0, flexDirection: "row", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: INTEGRATED_GO_SHARE_LABEL }) }), _jsx(MeterBar, { theme: props.theme, percent: rounded, severity: meterSeverityForPercent(rounded) }), _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, children: formatPercentCell(rounded) })] }));
320
356
  }
321
357
  // ---------------------------------------------------------------------------
322
358
  // The compact `Go Usage` block both hosts lead the sidebar with
@@ -1 +1 @@
1
- {"version":3,"file":"tui-shared.js","sourceRoot":"","sources":["../src/tui-shared.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-shared.js","sourceRoot":"","sources":["../src/tui-shared.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui.kilo.d.ts","sourceRoot":"","sources":["../src/tui.kilo.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAoEtC,OAAO,KAAK,EACV,SAAS,EAKV,MAAM,sBAAsB,CAAC;;;;;AAquB9B,wBAAwF"}
1
+ {"version":3,"file":"tui.kilo.d.ts","sourceRoot":"","sources":["../src/tui.kilo.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAoEtC,OAAO,KAAK,EACV,SAAS,EAKV,MAAM,sBAAsB,CAAC;;;;;AAsuB9B,wBAAwF"}
package/dist/tui.kilo.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
2
2
  import { For, Show, createEffect, createMemo, createSignal, onCleanup } from "solid-js";
3
3
  import { buildModelTokenRows, buildPlanRows, buildTokenUsageRows, relevantReset, formatUsageCost, formatUsageCount, goSharePercent, groupModelsByProvider, modelDisplayName, parseSidebarMode, totalGoTokens, usageTokenCount, DEFAULT_SIDEBAR_MODE, } from "./helpers.js";
4
- import { hostEnv, parseSessionModelUsage, errorMessage, GO_PROVIDER_ID, MODELS_EMPTY_LABEL, INTEGRATED_LOADING_LABEL, INTEGRATED_MODELS_SECTION_LABEL, INTEGRATED_TOKENS_SECTION_LABEL, INTEGRATED_UNAVAILABLE_LABEL, SIDEBAR_COLLAPSED_GLYPH, SIDEBAR_EXPANDED_GLYPH, KILO_COST_COLUMN_WIDTH, KILO_INTEGRATED_SLOT_ORDER, KILO_SLOT_ORDER, KILO_STEPS_COLUMN_WIDTH, KILO_USAGE_PANEL_PLUGIN_ID, } from "./shared.js";
4
+ import { hostEnv, parseSessionModelUsage, errorMessage, GO_PROVIDER_ID, MODELS_EMPTY_LABEL, INTEGRATED_LOADING_LABEL, INTEGRATED_MODELS_SECTION_LABEL, INTEGRATED_TOKENS_SECTION_LABEL, INTEGRATED_UNAVAILABLE_LABEL, SIDEBAR_COLLAPSED_GLYPH, SIDEBAR_EXPANDED_GLYPH, KILO_COST_COLUMN_WIDTH, KILO_INTEGRATED_SLOT_ORDER, KILO_SLOT_ORDER, KILO_STEPS_COLUMN_WIDTH, KILO_USAGE_PANEL_PLUGIN_ID, mockGoShare, } from "./shared.js";
5
5
  import { CollapsibleSection, GoPlanSection, GoShareRow, GoStatusline, GoUsageBlock, LabeledValueRow, createCollapseState, createUsageStore, isGoUsageProvider, logUsageError, makeProviderResolver, readModelDisplayName, readProviderDisplayNames, reactiveChild, resolveSurfaceSelection, EVENT_TTL_MS, POLL_INTERVAL_MS, } from "./tui-shared.js";
6
6
  // ---------------------------------------------------------------------------
7
7
  // Constants
@@ -195,7 +195,7 @@ async function initializeTui(api, options) {
195
195
  const isGo = props.group.providerID === GO_PROVIDER_ID;
196
196
  return (_jsxs("box", { flexDirection: "column", gap: 1, children: [_jsx("text", { fg: props.theme.current.text, wrapMode: "none", children: props.group.providerName }), _jsx(Show, { when: isGo && props.planRows.length > 0, children: _jsx(GoPlanSection, { theme: props.theme, rows: props.planRows }) }), _jsxs("box", { flexDirection: "row", gap: 1, children: [_jsx("box", { width: 1, flexShrink: 0 }), _jsx("text", { flexGrow: 1, minWidth: 0, fg: props.theme.current.textMuted, wrapMode: "none", children: "Model" }), _jsx("box", { width: KILO_STEPS_COLUMN_WIDTH, flexDirection: "row", flexShrink: 0, justifyContent: "flex-end", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: "Steps" }) }), _jsx("box", { width: KILO_COST_COLUMN_WIDTH, flexDirection: "row", flexShrink: 0, justifyContent: "flex-end", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: "Cost" }) })] }), _jsx(For, { each: props.group.models, children: (model) => {
197
197
  const key = `${model.providerID}/${model.modelID}`;
198
- return (_jsx(ModelUsageRow, { theme: props.theme, model: model, isGo: isGo, expanded: () => props.expandedModels().has(key), goShare: () => goSharePercent(usageTokenCount(model.tokens), props.goTotal), onToggle: () => props.onToggleModel(key) }));
198
+ return (_jsx(ModelUsageRow, { theme: props.theme, model: model, isGo: isGo, expanded: () => props.expandedModels().has(key), goShare: () => mockGoShare(HOST) ?? goSharePercent(usageTokenCount(model.tokens), props.goTotal), onToggle: () => props.onToggleModel(key) }));
199
199
  } })] }));
200
200
  }
201
201
  function ModelUsageRow(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"tui.kilo.js","sourceRoot":"","sources":["../src/tui.kilo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.kilo.js","sourceRoot":"","sources":["../src/tui.kilo.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc-go-usage-display",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "OpenCode Go subscription usage opencode-plugin: go_usage tool (server) and Go Usage sidebar panel + session_prompt_right statusline (TUI).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -59,9 +59,11 @@
59
59
  "opencode": "^1.18.0"
60
60
  },
61
61
  "scripts": {
62
- "build": "tsc -p tsconfig.json && bun run build:plugins && bun run verify:bundles",
62
+ "build": "tsc -p tsconfig.json && bun run build:plugins && bun run verify:bundles && bun run verify:peers && bun run verify:tarball-install",
63
63
  "build:plugins": "bun run scripts/build-plugins.mjs",
64
64
  "verify:bundles": "node scripts/verify-bundles.mjs",
65
+ "verify:peers": "node scripts/check-peer-ranges.mjs",
66
+ "verify:tarball-install": "node scripts/verify-tarball-install.mjs",
65
67
  "verify:tarball": "node scripts/verify-tarball.mjs",
66
68
  "check": "tsc --noEmit -p tsconfig.json",
67
69
  "prepublishOnly": "bun run build",
@@ -75,8 +77,8 @@
75
77
  "peerDependencies": {
76
78
  "@opencode-ai/plugin": "^1.18.0",
77
79
  "@kilocode/plugin": "^7.8.0",
78
- "@opentui/solid": "0.5.11",
79
- "solid-js": "1.9.12"
80
+ "@opentui/solid": "^0.5.11",
81
+ "solid-js": "^1.9.12"
80
82
  },
81
83
  "peerDependenciesMeta": {
82
84
  "@kilocode/plugin": {
package/src/helpers.ts CHANGED
@@ -27,6 +27,7 @@ import {
27
27
  GO_MODEL_MIX_NAME_MAX_CHARS,
28
28
  GO_MODEL_MIX_SEPARATOR,
29
29
  GO_PROVIDER_ID,
30
+ INTEGRATED_GO_SHARE_LABEL,
30
31
  PERCENT_CELL_WIDTH,
31
32
  KILO_MODEL_NAME_MAX_CHARS,
32
33
  KILO_TOKEN_USAGE_ROWS,
@@ -563,12 +564,27 @@ export function shortModelName(value: string, max: number = GO_MODEL_MIX_NAME_MA
563
564
  // to padding.
564
565
  export const PLAN_LABEL_WIDTH = 3;
565
566
 
566
- // A percent padded into a fixed-width cell, right-aligned by construction. A
567
- // non-finite percent renders as 0 rather than "NaN%", which would break the
568
- // column it sits in.
567
+ // The Go share's label cell, the same idea for a longer label: exactly the label
568
+ // itself, so the share meter starts on the same column on every render.
569
+ //
570
+ // This is what the share row used to get wrong. Its label was `flexGrow`, so the
571
+ // label and the meter BOTH claimed the slack and the split between them moved
572
+ // with the reading -- the share bar was 18 cells wide at 50% and 20 at 100%, and
573
+ // its percent slid a column with it. Only the meter may grow.
574
+ export const GO_SHARE_LABEL_WIDTH = INTEGRATED_GO_SHARE_LABEL.length;
575
+
576
+ // A percent padded into a fixed-width cell, right-aligned by construction.
577
+ //
578
+ // The value is CLAMPED to the same 0-100 the meter draws, because the cell's whole
579
+ // job is to hold one column: `padStart` never truncates, so a percent the API
580
+ // reported as 1234 (or -1234) would print five digits plus a sign, push its own
581
+ // row one cell wider than every other row and undo the alignment the cell exists
582
+ // to provide. Clamping also keeps the number and the bar telling the same story --
583
+ // a bar clamped to full beside a cell reading "1234%" would be a second, quieter
584
+ // version of the same bug.
569
585
  export function formatPercentCell(percent: number, width: number = PERCENT_CELL_WIDTH): string {
570
586
  const cells = Math.max(Math.floor(width), 1);
571
- const rounded = Number.isFinite(percent) ? Math.round(percent) : 0;
587
+ const rounded = Number.isFinite(percent) ? Math.round(meterFillPercent(percent)) : 0;
572
588
  return `${`${rounded}%`}`.padStart(cells, " ");
573
589
  }
574
590
 
package/src/shared.ts CHANGED
@@ -358,35 +358,53 @@ export const MODELS_EMPTY_LABEL = "No model usage yet";
358
358
  export const INTEGRATED_LOADING_LABEL = "Loading usage...";
359
359
  export const INTEGRATED_UNAVAILABLE_LABEL = "Usage unavailable";
360
360
 
361
- // Two most significant units, always: `4h57m` under an hour, `2d 6h` under a
362
- // week, `1w 1d` above it. A 30-day window resets ~720h out, and "resets in
363
- // 720h00m" is a number nobody can read at a glance -- the countdown exists to
364
- // say "you do not have to think about this yet", and a week count says that in
365
- // five characters. Below an hour the minutes (and then seconds) still matter, so
366
- // they are what is shown.
361
+ // A countdown, as every surface renders it.
362
+ //
363
+ // Every unit down to the hour, and no unit that is zero. "1w 0d" says no more
364
+ // than "1w" and reads as though a day were still to come, so a unit earns its
365
+ // place by having something to say -- and dropping the empty one is also what lets
366
+ // the countdown keep a fixed granularity without lying near a boundary: "1w" is
367
+ // not a rounding error, it is what is actually left.
368
+ //
369
+ // Below a day the minutes and seconds are what matter, so they are what is shown,
370
+ // and the hours and minutes run together because that is what has always fitted:
371
+ // `2h5m`, `5m`, `45s`. A 30-day window resets ~720h out, and "720h00m" is a
372
+ // number nobody can read at a glance, so past a day the units are weeks, days and
373
+ // hours: `4w 2d`, `2d 6h`, `1w 1d 22h`.
374
+ //
375
+ // ONE formatter for the sidebar, the statusline and the server line. The sidebar
376
+ // has a column to spend and the statusline does not, so they used to be worth
377
+ // rendering differently -- but the statusline reads its countdown back out of
378
+ // `buildPlanRows` precisely so it cannot drift from the sidebar, so a second
379
+ // formatter would have bought a shorter footer by showing the same fact at two
380
+ // different precisions in two places. The countdowns are short, and they are only
381
+ // printed when a window is capped.
367
382
  const SECONDS_PER_MINUTE = 60;
368
383
  const SECONDS_PER_HOUR = 3600;
369
384
  const SECONDS_PER_DAY = 86400;
370
385
  const SECONDS_PER_WEEK = 604800;
371
386
 
387
+ // The non-zero week/day/hour units of a duration, coarsest first. Minutes are not
388
+ // here: below a day the countdown keeps its own tighter rendering.
389
+ function resetDayUnits(sec: number): string[] {
390
+ const units = [
391
+ { value: Math.floor(sec / SECONDS_PER_WEEK), suffix: "w" },
392
+ { value: Math.floor((sec % SECONDS_PER_WEEK) / SECONDS_PER_DAY), suffix: "d" },
393
+ { value: Math.floor((sec % SECONDS_PER_DAY) / SECONDS_PER_HOUR), suffix: "h" },
394
+ ];
395
+ return units.filter((unit) => unit.value > 0).map((unit) => `${unit.value}${unit.suffix}`);
396
+ }
397
+
372
398
  export function formatResetDuration(totalSec: number | null): string | null {
373
399
  if (totalSec === null || !Number.isFinite(totalSec) || totalSec < 0) return null;
374
400
  const sec = Math.floor(totalSec);
375
- if (sec >= SECONDS_PER_WEEK) {
376
- const weeks = Math.floor(sec / SECONDS_PER_WEEK);
377
- const days = Math.floor((sec % SECONDS_PER_WEEK) / SECONDS_PER_DAY);
378
- return `${weeks}w ${days}d`;
379
- }
380
- if (sec >= SECONDS_PER_DAY) {
381
- const days = Math.floor(sec / SECONDS_PER_DAY);
382
- const hours = Math.floor((sec % SECONDS_PER_DAY) / SECONDS_PER_HOUR);
383
- return `${days}d ${hours}h`;
401
+ if (sec < SECONDS_PER_DAY) {
402
+ const hours = Math.floor(sec / SECONDS_PER_HOUR);
403
+ const minutes = Math.floor((sec % SECONDS_PER_HOUR) / SECONDS_PER_MINUTE);
404
+ if (hours === 0) return minutes > 0 ? `${minutes}m` : `${sec}s`;
405
+ return minutes > 0 ? `${hours}h${minutes}m` : `${hours}h`;
384
406
  }
385
- const hours = Math.floor(sec / SECONDS_PER_HOUR);
386
- const minutes = Math.floor((sec % SECONDS_PER_HOUR) / SECONDS_PER_MINUTE);
387
- if (hours > 0) return `${hours}h${minutes}m`;
388
- if (minutes > 0) return `${minutes}m`;
389
- return `${sec}s`;
407
+ return resetDayUnits(sec).join(" ");
390
408
  }
391
409
 
392
410
  // ---------------------------------------------------------------------------
@@ -514,16 +532,142 @@ export function extractSnapshotFromApiPayload(
514
532
  // Snapshot builders
515
533
  // ---------------------------------------------------------------------------
516
534
 
535
+ // The mock's plan percents, in the order the windows are read: rolling, weekly,
536
+ // monthly. Lifted out as named values because the display tests drive a ladder
537
+ // over them (`MOCK_PERCENTS`) and a literal in the middle of the snapshot
538
+ // builder is the one number nobody can find when a meter assertion fails.
539
+ export const MOCK_PERCENTS: readonly [number, number, number] = [42, 15, 61];
540
+
541
+ // `MOCK_PERCENTS` override: `rolling,weekly,monthly`, one rung per window, e.g.
542
+ // `"0,50,90"`. Parsed here rather than at the read sites so the shape is pinned
543
+ // once -- a partially parsed ladder (a missing field, a non-numeric cell, `NaN`)
544
+ // falls back to the defaults whole, because a half-applied ladder would render a
545
+ // block whose numbers match no rung the test asked for, which is the worst
546
+ // possible failure mode for a display assertion.
547
+ //
548
+ // Out-of-range values are NOT clamped here: the parser that stands in for the API
549
+ // accepts whatever the wire says, and the meter/percent pair is responsible for
550
+ // rendering a value outside 0-100 without breaking its column.
551
+ export function parseMockPercents(raw: string | undefined): [number, number, number] | null {
552
+ const text = toNonEmptyString(raw);
553
+ if (text === null) return null;
554
+ const parts = text.split(",");
555
+ if (parts.length !== MOCK_PERCENTS.length) return null;
556
+ const values = parts.map((part) => Number(part.trim()));
557
+ const rolling = values[0];
558
+ const weekly = values[1];
559
+ const monthly = values[2];
560
+ if (rolling === undefined || weekly === undefined || monthly === undefined) return null;
561
+ if (!Number.isFinite(rolling) || !Number.isFinite(weekly) || !Number.isFinite(monthly)) return null;
562
+ return [rolling, weekly, monthly];
563
+ }
564
+
565
+ export type MockSnapshotOverrides = {
566
+ percents?: [number, number, number];
567
+ resets?: [number | null, number | null, number | null];
568
+ limited?: [boolean, boolean, boolean];
569
+ };
570
+
571
+ // The mock's default countdowns, in window order: the rolling window counts down
572
+ // (which is what puts a `resets in` on screen at all under the mock), and the
573
+ // longer windows do not. No window is capped, so the plan rows print no per-row
574
+ // countdown and the header line is the only place one appears.
575
+ const MOCK_RESETS: readonly [number | null, number | null, number | null] = [7543, null, null];
576
+ const MOCK_LIMITED: readonly [boolean, boolean, boolean] = [false, false, false];
577
+
578
+ // The Go share override, and the one seam that is NOT a plan number: the share is
579
+ // a fold over the host's own message store, so a display test can only pin its
580
+ // row's layout without a session that holds real assistant messages -- which
581
+ // means a provider call per rung. Same mock-only rule as `MOCK_PERCENTS`, and the
582
+ // real arithmetic stays covered where it belongs: `goSharePercent` in the unit
583
+ // tier and the collapsed model-mix e2e against a local fake provider.
584
+ export function parseMockShare(raw: string | undefined): number | null {
585
+ const text = toNonEmptyString(raw);
586
+ if (text === null) return null;
587
+ const value = Number(text.trim());
588
+ return Number.isFinite(value) ? value : null;
589
+ }
590
+
591
+ // The mock's countdowns, in the same window order as `MOCK_PERCENTS`: one slot per
592
+ // window, in seconds, with `-` or an empty slot for a window that has no countdown
593
+ // at all. A countdown is what a window being capped looks like on the wire, so it
594
+ // carries seconds rather than a formatted string: the formatter is the thing under
595
+ // test, and handing it a pre-rendered value would test nothing.
596
+ export function parseMockResets(raw: string | undefined): [number | null, number | null, number | null] | null {
597
+ const text = toNonEmptyString(raw);
598
+ if (text === null) return null;
599
+ const parts = text.split(",");
600
+ if (parts.length !== MOCK_PERCENTS.length) return null;
601
+ const parsed = parts.map((part) => {
602
+ const slot = part.trim();
603
+ if (slot === "" || slot === "-") return null;
604
+ const value = Number(slot);
605
+ // A negative countdown is what clock skew and a reset that fired mid-flight
606
+ // look like. The parser drops those, so the mock must not be able to
607
+ // manufacture one that the real payload could never carry.
608
+ return Number.isFinite(value) && value >= 0 ? value : undefined;
609
+ });
610
+ const [rolling, weekly, monthly] = parsed;
611
+ if (rolling === undefined || weekly === undefined || monthly === undefined) return null;
612
+ return [rolling, weekly, monthly];
613
+ }
614
+
615
+ // Which windows the mock reports as capped, same window order. Separate from
616
+ // `MOCK_RESETS` because the two are independent on the wire: `buildPlanRows` only
617
+ // prints a window's countdown when that window is capped, so without this a ladder
618
+ // could vary the seconds but never see a per-row countdown move.
619
+ export function parseMockLimited(raw: string | undefined): [boolean, boolean, boolean] | null {
620
+ const text = toNonEmptyString(raw);
621
+ if (text === null) return null;
622
+ const parts = text.split(",");
623
+ if (parts.length !== MOCK_PERCENTS.length) return null;
624
+ const parsed = parts.map((part) => {
625
+ const slot = part.trim();
626
+ if (slot === "" || slot === "-") return false;
627
+ return MOCK_LIMITED_TRUE.has(slot.toLowerCase());
628
+ });
629
+ const [rolling, weekly, monthly] = parsed;
630
+ if (rolling === undefined || weekly === undefined || monthly === undefined) return null;
631
+ return [rolling, weekly, monthly];
632
+ }
633
+
634
+ const MOCK_LIMITED_TRUE = new Set(["1", "true", "yes", "on"]);
635
+
636
+ // The Go share a display test asked for, or `null` for the real fold over the
637
+ // host's message store. Gated on the mock FLAG rather than on the override being
638
+ // set, so a stray `*_OC_GO_MOCK_SHARE` in a developer's shell cannot change what a
639
+ // real session renders.
640
+ export function mockGoShare(host: UsageHost, env: NodeJS.ProcessEnv = process.env): number | null {
641
+ if (hostEnv(host, "MOCK", env) !== "1") return null;
642
+ return parseMockShare(hostEnv(host, "MOCK_SHARE", env));
643
+ }
644
+
517
645
  // `"active"` is the status this mock (and the cookie scrape) has always
518
646
  // reported, and it must map to `limited: false` exactly like the parser does —
519
647
  // the unit tier pins that agreement so the mock cannot drift from live shape.
520
648
  // `resetInSec` stays a literal (not derived from `resetsAt`) so the mock reset
521
649
  // suffix is deterministic for the TUI display tests.
522
- export function mockSnapshot(): UsageSnapshot {
650
+ export function mockSnapshot(overrides: MockSnapshotOverrides = {}): UsageSnapshot {
651
+ const percents = overrides.percents ?? MOCK_PERCENTS;
652
+ const resets = overrides.resets ?? MOCK_RESETS;
653
+ const limited = overrides.limited ?? MOCK_LIMITED;
654
+ const window = (index: number, percent: number): UsageWindow => {
655
+ const capped = limited[index] === true;
656
+ return {
657
+ percent,
658
+ // A capped window says so, because that is what the real payload says, and
659
+ // because `limited` is what gates the per-row countdown: a window with a
660
+ // countdown and no cap is a shape the API does not produce.
661
+ status: capped ? "rate-limited" : "active",
662
+ limited: capped,
663
+ resetInSec: resets[index] ?? null,
664
+ resetText: null,
665
+ };
666
+ };
523
667
  return {
524
- rolling: { percent: 42, status: "active", limited: false, resetInSec: 7543, resetText: null },
525
- weekly: { percent: 15, status: "active", limited: false, resetInSec: null, resetText: null },
526
- monthly: { percent: 61, status: "active", limited: false, resetInSec: null, resetText: null },
668
+ rolling: window(0, percents[0]),
669
+ weekly: window(1, percents[1]),
670
+ monthly: window(2, percents[2]),
527
671
  source: "mock",
528
672
  fetchedAt: Date.now(),
529
673
  };