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.
package/README.md CHANGED
@@ -26,8 +26,9 @@ either host's bundle is missing.
26
26
  | Project scope | `npx -p oc-go-usage-display@latest oc-go-usage-display-init --copy --config-dir .opencode` |
27
27
 
28
28
  `--copy` is the default and self-contained; `--symlink` is dev-only (rebuild +
29
- restart). Restart opencode afterwards. Pin the version (`@latest`, not
30
- `@latest`) so installs stay reproducible; copy-first requires >= latest.
29
+ restart). Restart opencode afterwards. `@latest` tracks the newest release; for
30
+ reproducible installs pin an exact version such as
31
+ `oc-go-usage-display@2.0.1`.
31
32
 
32
33
  Alternative — no files copied: declare the versioned package and let opencode
33
34
  resolve it at startup:
package/dist/helpers.d.ts CHANGED
@@ -82,6 +82,7 @@ export declare function displayModelName(name: string): string;
82
82
  export declare function modelDisplayName(catalogName: string | null, modelID: string, max?: number): string;
83
83
  export declare function shortModelName(value: string, max?: number): string;
84
84
  export declare const PLAN_LABEL_WIDTH = 3;
85
+ export declare const GO_SHARE_LABEL_WIDTH: number;
85
86
  export declare function formatPercentCell(percent: number, width?: number): string;
86
87
  export declare function formatTokenCount(value: unknown): string;
87
88
  export type GoModelWeight = {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -11,7 +11,7 @@
11
11
  // Unit-tested via `dist/helpers.js` (see test/unit/server.test.js and
12
12
  // test/unit/tui.test.js).
13
13
  import * as fs from "node:fs";
14
- import { resolveHostRoots, formatResetDuration, hostEnv, isRecord, resolveUsageHost, safeJoinPath, toNonEmptyString, toUsageCount, CACHE_RATE_DECIMALS, CACHE_RATE_EMPTY, GO_MODEL_MIX_BUDGET, GO_MODEL_MIX_NAME_MAX_CHARS, GO_MODEL_MIX_SEPARATOR, GO_PROVIDER_ID, PERCENT_CELL_WIDTH, KILO_MODEL_NAME_MAX_CHARS, KILO_TOKEN_USAGE_ROWS, TOP_GO_MODELS_LIMIT, } from "./shared.js";
14
+ import { resolveHostRoots, formatResetDuration, hostEnv, isRecord, resolveUsageHost, safeJoinPath, toNonEmptyString, toUsageCount, CACHE_RATE_DECIMALS, CACHE_RATE_EMPTY, GO_MODEL_MIX_BUDGET, GO_MODEL_MIX_NAME_MAX_CHARS, GO_MODEL_MIX_SEPARATOR, GO_PROVIDER_ID, INTEGRATED_GO_SHARE_LABEL, PERCENT_CELL_WIDTH, KILO_MODEL_NAME_MAX_CHARS, KILO_TOKEN_USAGE_ROWS, TOP_GO_MODELS_LIMIT, } from "./shared.js";
15
15
  // ---------------------------------------------------------------------------
16
16
  // Server: compact one-line snapshot summary (keeps the rolling reset suffix)
17
17
  // ---------------------------------------------------------------------------
@@ -443,12 +443,26 @@ export function shortModelName(value, max = GO_MODEL_MIX_NAME_MAX_CHARS) {
443
443
  // plan has, so every meter starts on the same column and none of the width goes
444
444
  // to padding.
445
445
  export const PLAN_LABEL_WIDTH = 3;
446
- // A percent padded into a fixed-width cell, right-aligned by construction. A
447
- // non-finite percent renders as 0 rather than "NaN%", which would break the
448
- // column it sits in.
446
+ // The Go share's label cell, the same idea for a longer label: exactly the label
447
+ // itself, so the share meter starts on the same column on every render.
448
+ //
449
+ // This is what the share row used to get wrong. Its label was `flexGrow`, so the
450
+ // label and the meter BOTH claimed the slack and the split between them moved
451
+ // with the reading -- the share bar was 18 cells wide at 50% and 20 at 100%, and
452
+ // its percent slid a column with it. Only the meter may grow.
453
+ export const GO_SHARE_LABEL_WIDTH = INTEGRATED_GO_SHARE_LABEL.length;
454
+ // A percent padded into a fixed-width cell, right-aligned by construction.
455
+ //
456
+ // The value is CLAMPED to the same 0-100 the meter draws, because the cell's whole
457
+ // job is to hold one column: `padStart` never truncates, so a percent the API
458
+ // reported as 1234 (or -1234) would print five digits plus a sign, push its own
459
+ // row one cell wider than every other row and undo the alignment the cell exists
460
+ // to provide. Clamping also keeps the number and the bar telling the same story --
461
+ // a bar clamped to full beside a cell reading "1234%" would be a second, quieter
462
+ // version of the same bug.
449
463
  export function formatPercentCell(percent, width = PERCENT_CELL_WIDTH) {
450
464
  const cells = Math.max(Math.floor(width), 1);
451
- const rounded = Number.isFinite(percent) ? Math.round(percent) : 0;
465
+ const rounded = Number.isFinite(percent) ? Math.round(meterFillPercent(percent)) : 0;
452
466
  return `${`${rounded}%`}`.padStart(cells, " ");
453
467
  }
454
468
  // A token count as a weight, not an invoice: short enough to sit next to a bar
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -91,28 +91,29 @@ function errorMessage(error) {
91
91
  return "unknown error";
92
92
  }
93
93
  }
94
+ var INTEGRATED_GO_SHARE_LABEL = "Go share";
94
95
  var SECONDS_PER_MINUTE = 60;
95
96
  var SECONDS_PER_HOUR = 3600;
96
97
  var SECONDS_PER_DAY = 86400;
97
98
  var SECONDS_PER_WEEK = 604800;
99
+ function resetDayUnits(sec) {
100
+ const units = [
101
+ { value: Math.floor(sec / SECONDS_PER_WEEK), suffix: "w" },
102
+ { value: Math.floor(sec % SECONDS_PER_WEEK / SECONDS_PER_DAY), suffix: "d" },
103
+ { value: Math.floor(sec % SECONDS_PER_DAY / SECONDS_PER_HOUR), suffix: "h" }
104
+ ];
105
+ return units.filter((unit) => unit.value > 0).map((unit) => `${unit.value}${unit.suffix}`);
106
+ }
98
107
  function formatResetDuration(totalSec) {
99
108
  if (totalSec === null || !Number.isFinite(totalSec) || totalSec < 0) return null;
100
109
  const sec = Math.floor(totalSec);
101
- if (sec >= SECONDS_PER_WEEK) {
102
- const weeks = Math.floor(sec / SECONDS_PER_WEEK);
103
- const days = Math.floor(sec % SECONDS_PER_WEEK / SECONDS_PER_DAY);
104
- return `${weeks}w ${days}d`;
105
- }
106
- if (sec >= SECONDS_PER_DAY) {
107
- const days = Math.floor(sec / SECONDS_PER_DAY);
108
- const hours2 = Math.floor(sec % SECONDS_PER_DAY / SECONDS_PER_HOUR);
109
- return `${days}d ${hours2}h`;
110
- }
111
- const hours = Math.floor(sec / SECONDS_PER_HOUR);
112
- const minutes = Math.floor(sec % SECONDS_PER_HOUR / SECONDS_PER_MINUTE);
113
- if (hours > 0) return `${hours}h${minutes}m`;
114
- if (minutes > 0) return `${minutes}m`;
115
- return `${sec}s`;
110
+ if (sec < SECONDS_PER_DAY) {
111
+ const hours = Math.floor(sec / SECONDS_PER_HOUR);
112
+ const minutes = Math.floor(sec % SECONDS_PER_HOUR / SECONDS_PER_MINUTE);
113
+ if (hours === 0) return minutes > 0 ? `${minutes}m` : `${sec}s`;
114
+ return minutes > 0 ? `${hours}h${minutes}m` : `${hours}h`;
115
+ }
116
+ return resetDayUnits(sec).join(" ");
116
117
  }
117
118
  function readAuthJsonApiKey(host = "opencode", env = process.env, homedir2 = resolveHomedir) {
118
119
  for (const authPath of authJsonPaths(host, env, homedir2)) {
@@ -187,11 +188,30 @@ function extractSnapshotFromApiPayload(payload, now = Date.now()) {
187
188
  }
188
189
  return null;
189
190
  }
190
- function mockSnapshot() {
191
+ var MOCK_PERCENTS = [42, 15, 61];
192
+ var MOCK_RESETS = [7543, null, null];
193
+ var MOCK_LIMITED = [false, false, false];
194
+ function mockSnapshot(overrides = {}) {
195
+ const percents = overrides.percents ?? MOCK_PERCENTS;
196
+ const resets = overrides.resets ?? MOCK_RESETS;
197
+ const limited = overrides.limited ?? MOCK_LIMITED;
198
+ const window = (index, percent) => {
199
+ const capped = limited[index] === true;
200
+ return {
201
+ percent,
202
+ // A capped window says so, because that is what the real payload says, and
203
+ // because `limited` is what gates the per-row countdown: a window with a
204
+ // countdown and no cap is a shape the API does not produce.
205
+ status: capped ? "rate-limited" : "active",
206
+ limited: capped,
207
+ resetInSec: resets[index] ?? null,
208
+ resetText: null
209
+ };
210
+ };
191
211
  return {
192
- rolling: { percent: 42, status: "active", limited: false, resetInSec: 7543, resetText: null },
193
- weekly: { percent: 15, status: "active", limited: false, resetInSec: null, resetText: null },
194
- monthly: { percent: 61, status: "active", limited: false, resetInSec: null, resetText: null },
212
+ rolling: window(0, percents[0]),
213
+ weekly: window(1, percents[1]),
214
+ monthly: window(2, percents[2]),
195
215
  source: "mock",
196
216
  fetchedAt: Date.now()
197
217
  };
@@ -300,6 +320,7 @@ function resolveAllowedRedirect(fromUrl, location, hopsFollowed) {
300
320
  }
301
321
  var COUNT_FORMAT = new Intl.NumberFormat("en-US");
302
322
  var CURRENCY_FORMAT = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
323
+ var GO_SHARE_LABEL_WIDTH = INTEGRATED_GO_SHARE_LABEL.length;
303
324
 
304
325
  // src/index.ts
305
326
  var API_USAGE_URL = "https://opencode.ai/zen/go/v1/usage";
@@ -119,24 +119,24 @@ var SECONDS_PER_MINUTE = 60;
119
119
  var SECONDS_PER_HOUR = 3600;
120
120
  var SECONDS_PER_DAY = 86400;
121
121
  var SECONDS_PER_WEEK = 604800;
122
+ function resetDayUnits(sec) {
123
+ const units = [
124
+ { value: Math.floor(sec / SECONDS_PER_WEEK), suffix: "w" },
125
+ { value: Math.floor(sec % SECONDS_PER_WEEK / SECONDS_PER_DAY), suffix: "d" },
126
+ { value: Math.floor(sec % SECONDS_PER_DAY / SECONDS_PER_HOUR), suffix: "h" }
127
+ ];
128
+ return units.filter((unit) => unit.value > 0).map((unit) => `${unit.value}${unit.suffix}`);
129
+ }
122
130
  function formatResetDuration(totalSec) {
123
131
  if (totalSec === null || !Number.isFinite(totalSec) || totalSec < 0) return null;
124
132
  const sec = Math.floor(totalSec);
125
- if (sec >= SECONDS_PER_WEEK) {
126
- const weeks = Math.floor(sec / SECONDS_PER_WEEK);
127
- const days = Math.floor(sec % SECONDS_PER_WEEK / SECONDS_PER_DAY);
128
- return `${weeks}w ${days}d`;
129
- }
130
- if (sec >= SECONDS_PER_DAY) {
131
- const days = Math.floor(sec / SECONDS_PER_DAY);
132
- const hours2 = Math.floor(sec % SECONDS_PER_DAY / SECONDS_PER_HOUR);
133
- return `${days}d ${hours2}h`;
133
+ if (sec < SECONDS_PER_DAY) {
134
+ const hours = Math.floor(sec / SECONDS_PER_HOUR);
135
+ const minutes = Math.floor(sec % SECONDS_PER_HOUR / SECONDS_PER_MINUTE);
136
+ if (hours === 0) return minutes > 0 ? `${minutes}m` : `${sec}s`;
137
+ return minutes > 0 ? `${hours}h${minutes}m` : `${hours}h`;
134
138
  }
135
- const hours = Math.floor(sec / SECONDS_PER_HOUR);
136
- const minutes = Math.floor(sec % SECONDS_PER_HOUR / SECONDS_PER_MINUTE);
137
- if (hours > 0) return `${hours}h${minutes}m`;
138
- if (minutes > 0) return `${minutes}m`;
139
- return `${sec}s`;
139
+ return resetDayUnits(sec).join(" ");
140
140
  }
141
141
  function readAuthJsonApiKey(host = "opencode", env = process.env, homedir2 = resolveHomedir) {
142
142
  for (const authPath of authJsonPaths(host, env, homedir2)) {
@@ -211,11 +211,83 @@ function extractSnapshotFromApiPayload(payload, now = Date.now()) {
211
211
  }
212
212
  return null;
213
213
  }
214
- function mockSnapshot() {
214
+ var MOCK_PERCENTS = [42, 15, 61];
215
+ function parseMockPercents(raw) {
216
+ const text = toNonEmptyString(raw);
217
+ if (text === null) return null;
218
+ const parts = text.split(",");
219
+ if (parts.length !== MOCK_PERCENTS.length) return null;
220
+ const values = parts.map((part) => Number(part.trim()));
221
+ const rolling = values[0];
222
+ const weekly = values[1];
223
+ const monthly = values[2];
224
+ if (rolling === void 0 || weekly === void 0 || monthly === void 0) return null;
225
+ if (!Number.isFinite(rolling) || !Number.isFinite(weekly) || !Number.isFinite(monthly)) return null;
226
+ return [rolling, weekly, monthly];
227
+ }
228
+ var MOCK_RESETS = [7543, null, null];
229
+ var MOCK_LIMITED = [false, false, false];
230
+ function parseMockShare(raw) {
231
+ const text = toNonEmptyString(raw);
232
+ if (text === null) return null;
233
+ const value = Number(text.trim());
234
+ return Number.isFinite(value) ? value : null;
235
+ }
236
+ function parseMockResets(raw) {
237
+ const text = toNonEmptyString(raw);
238
+ if (text === null) return null;
239
+ const parts = text.split(",");
240
+ if (parts.length !== MOCK_PERCENTS.length) return null;
241
+ const parsed = parts.map((part) => {
242
+ const slot = part.trim();
243
+ if (slot === "" || slot === "-") return null;
244
+ const value = Number(slot);
245
+ return Number.isFinite(value) && value >= 0 ? value : void 0;
246
+ });
247
+ const [rolling, weekly, monthly] = parsed;
248
+ if (rolling === void 0 || weekly === void 0 || monthly === void 0) return null;
249
+ return [rolling, weekly, monthly];
250
+ }
251
+ function parseMockLimited(raw) {
252
+ const text = toNonEmptyString(raw);
253
+ if (text === null) return null;
254
+ const parts = text.split(",");
255
+ if (parts.length !== MOCK_PERCENTS.length) return null;
256
+ const parsed = parts.map((part) => {
257
+ const slot = part.trim();
258
+ if (slot === "" || slot === "-") return false;
259
+ return MOCK_LIMITED_TRUE.has(slot.toLowerCase());
260
+ });
261
+ const [rolling, weekly, monthly] = parsed;
262
+ if (rolling === void 0 || weekly === void 0 || monthly === void 0) return null;
263
+ return [rolling, weekly, monthly];
264
+ }
265
+ var MOCK_LIMITED_TRUE = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]);
266
+ function mockGoShare(host, env = process.env) {
267
+ if (hostEnv(host, "MOCK", env) !== "1") return null;
268
+ return parseMockShare(hostEnv(host, "MOCK_SHARE", env));
269
+ }
270
+ function mockSnapshot(overrides = {}) {
271
+ const percents = overrides.percents ?? MOCK_PERCENTS;
272
+ const resets = overrides.resets ?? MOCK_RESETS;
273
+ const limited = overrides.limited ?? MOCK_LIMITED;
274
+ const window = (index, percent) => {
275
+ const capped = limited[index] === true;
276
+ return {
277
+ percent,
278
+ // A capped window says so, because that is what the real payload says, and
279
+ // because `limited` is what gates the per-row countdown: a window with a
280
+ // countdown and no cap is a shape the API does not produce.
281
+ status: capped ? "rate-limited" : "active",
282
+ limited: capped,
283
+ resetInSec: resets[index] ?? null,
284
+ resetText: null
285
+ };
286
+ };
215
287
  return {
216
- rolling: { percent: 42, status: "active", limited: false, resetInSec: 7543, resetText: null },
217
- weekly: { percent: 15, status: "active", limited: false, resetInSec: null, resetText: null },
218
- monthly: { percent: 61, status: "active", limited: false, resetInSec: null, resetText: null },
288
+ rolling: window(0, percents[0]),
289
+ weekly: window(1, percents[1]),
290
+ monthly: window(2, percents[2]),
219
291
  source: "mock",
220
292
  fetchedAt: Date.now()
221
293
  };
@@ -441,9 +513,10 @@ function modelDisplayName(catalogName, modelID, max = KILO_MODEL_NAME_MAX_CHARS)
441
513
  return truncateModelName(displayModelName(raw), max);
442
514
  }
443
515
  var PLAN_LABEL_WIDTH = 3;
516
+ var GO_SHARE_LABEL_WIDTH = INTEGRATED_GO_SHARE_LABEL.length;
444
517
  function formatPercentCell(percent, width = PERCENT_CELL_WIDTH) {
445
518
  const cells = Math.max(Math.floor(width), 1);
446
- const rounded = Number.isFinite(percent) ? Math.round(percent) : 0;
519
+ const rounded = Number.isFinite(percent) ? Math.round(meterFillPercent(percent)) : 0;
447
520
  return `${`${rounded}%`}`.padStart(cells, " ");
448
521
  }
449
522
  function buildTokenUsageRows(totals) {
@@ -514,7 +587,16 @@ async function fetchJsonWithTimeout(url, apiKey) {
514
587
  }
515
588
  }
516
589
  async function loadUsageSnapshot(host) {
517
- if (hostEnv(host, "MOCK") === "1") return mockSnapshot();
590
+ if (hostEnv(host, "MOCK") === "1") {
591
+ const overrides = {};
592
+ const percents = parseMockPercents(hostEnv(host, "MOCK_PERCENTS"));
593
+ if (percents !== null) overrides.percents = percents;
594
+ const resets = parseMockResets(hostEnv(host, "MOCK_RESETS"));
595
+ if (resets !== null) overrides.resets = resets;
596
+ const limited = parseMockLimited(hostEnv(host, "MOCK_LIMITED"));
597
+ if (limited !== null) overrides.limited = limited;
598
+ return mockSnapshot(overrides);
599
+ }
518
600
  const apiKey = toNonEmptyString(hostEnv(host, "API_KEY")) ?? readAuthJsonApiKey(host);
519
601
  if (apiKey === null) return null;
520
602
  const payload = await fetchJsonWithTimeout(API_USAGE_URL, apiKey);
@@ -675,9 +757,26 @@ function LabeledValueRow(props) {
675
757
  var MIN_METER_WIDTH = 6;
676
758
  function MeterBar(props) {
677
759
  const fill = createMemo(() => meterFillPercent(props.percent));
760
+ const track = createMemo(() => 100 - fill());
678
761
  return /* @__PURE__ */ jsxs("box", { flexDirection: "row", flexGrow: 1, flexShrink: 1, minWidth: MIN_METER_WIDTH, children: [
679
- /* @__PURE__ */ jsx("box", { width: `${fill()}%`, backgroundColor: meterColor(props.theme, props.severity) }),
680
- /* @__PURE__ */ jsx("box", { flexGrow: 1, backgroundColor: props.theme.current.backgroundElement })
762
+ /* @__PURE__ */ jsx(Show, { when: fill() > 0, children: /* @__PURE__ */ jsx(
763
+ "box",
764
+ {
765
+ flexGrow: fill(),
766
+ flexBasis: 0,
767
+ flexShrink: 0,
768
+ backgroundColor: meterColor(props.theme, props.severity)
769
+ }
770
+ ) }),
771
+ /* @__PURE__ */ jsx(Show, { when: track() > 0, children: /* @__PURE__ */ jsx(
772
+ "box",
773
+ {
774
+ flexGrow: track(),
775
+ flexBasis: 0,
776
+ flexShrink: 0,
777
+ backgroundColor: props.theme.current.backgroundElement
778
+ }
779
+ ) })
681
780
  ] });
682
781
  }
683
782
  function GoPlanRow(props) {
@@ -725,16 +824,9 @@ function CollapsibleSection(props) {
725
824
  }
726
825
  function GoShareRow(props) {
727
826
  const rounded = Math.round(props.percent);
728
- return /* @__PURE__ */ jsxs("box", { flexDirection: "row", gap: 1, children: [
729
- /* @__PURE__ */ jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, flexGrow: 1, children: INTEGRATED_GO_SHARE_LABEL }),
730
- /* @__PURE__ */ jsx(
731
- MeterBar,
732
- {
733
- theme: props.theme,
734
- percent: rounded,
735
- severity: meterSeverityForPercent(rounded)
736
- }
737
- ),
827
+ return /* @__PURE__ */ jsxs("box", { flexDirection: "row", children: [
828
+ /* @__PURE__ */ jsx("box", { width: GO_SHARE_LABEL_WIDTH, marginRight: 1, flexShrink: 0, flexDirection: "row", children: /* @__PURE__ */ jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: INTEGRATED_GO_SHARE_LABEL }) }),
829
+ /* @__PURE__ */ jsx(MeterBar, { theme: props.theme, percent: rounded, severity: meterSeverityForPercent(rounded) }),
738
830
  /* @__PURE__ */ jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, children: formatPercentCell(rounded) })
739
831
  ] });
740
832
  }
@@ -935,7 +1027,7 @@ async function initializeTui(api, options) {
935
1027
  model,
936
1028
  isGo,
937
1029
  expanded: () => props.expandedModels().has(key),
938
- goShare: () => goSharePercent(usageTokenCount(model.tokens), props.goTotal),
1030
+ goShare: () => mockGoShare(HOST) ?? goSharePercent(usageTokenCount(model.tokens), props.goTotal),
939
1031
  onToggle: () => props.onToggleModel(key)
940
1032
  }
941
1033
  );
@@ -91,28 +91,29 @@ function errorMessage(error) {
91
91
  return "unknown error";
92
92
  }
93
93
  }
94
+ var INTEGRATED_GO_SHARE_LABEL = "Go share";
94
95
  var SECONDS_PER_MINUTE = 60;
95
96
  var SECONDS_PER_HOUR = 3600;
96
97
  var SECONDS_PER_DAY = 86400;
97
98
  var SECONDS_PER_WEEK = 604800;
99
+ function resetDayUnits(sec) {
100
+ const units = [
101
+ { value: Math.floor(sec / SECONDS_PER_WEEK), suffix: "w" },
102
+ { value: Math.floor(sec % SECONDS_PER_WEEK / SECONDS_PER_DAY), suffix: "d" },
103
+ { value: Math.floor(sec % SECONDS_PER_DAY / SECONDS_PER_HOUR), suffix: "h" }
104
+ ];
105
+ return units.filter((unit) => unit.value > 0).map((unit) => `${unit.value}${unit.suffix}`);
106
+ }
98
107
  function formatResetDuration(totalSec) {
99
108
  if (totalSec === null || !Number.isFinite(totalSec) || totalSec < 0) return null;
100
109
  const sec = Math.floor(totalSec);
101
- if (sec >= SECONDS_PER_WEEK) {
102
- const weeks = Math.floor(sec / SECONDS_PER_WEEK);
103
- const days = Math.floor(sec % SECONDS_PER_WEEK / SECONDS_PER_DAY);
104
- return `${weeks}w ${days}d`;
105
- }
106
- if (sec >= SECONDS_PER_DAY) {
107
- const days = Math.floor(sec / SECONDS_PER_DAY);
108
- const hours2 = Math.floor(sec % SECONDS_PER_DAY / SECONDS_PER_HOUR);
109
- return `${days}d ${hours2}h`;
110
- }
111
- const hours = Math.floor(sec / SECONDS_PER_HOUR);
112
- const minutes = Math.floor(sec % SECONDS_PER_HOUR / SECONDS_PER_MINUTE);
113
- if (hours > 0) return `${hours}h${minutes}m`;
114
- if (minutes > 0) return `${minutes}m`;
115
- return `${sec}s`;
110
+ if (sec < SECONDS_PER_DAY) {
111
+ const hours = Math.floor(sec / SECONDS_PER_HOUR);
112
+ const minutes = Math.floor(sec % SECONDS_PER_HOUR / SECONDS_PER_MINUTE);
113
+ if (hours === 0) return minutes > 0 ? `${minutes}m` : `${sec}s`;
114
+ return minutes > 0 ? `${hours}h${minutes}m` : `${hours}h`;
115
+ }
116
+ return resetDayUnits(sec).join(" ");
116
117
  }
117
118
  function readAuthJsonApiKey(host = "opencode", env = process.env, homedir2 = resolveHomedir) {
118
119
  for (const authPath of authJsonPaths(host, env, homedir2)) {
@@ -187,11 +188,30 @@ function extractSnapshotFromApiPayload(payload, now = Date.now()) {
187
188
  }
188
189
  return null;
189
190
  }
190
- function mockSnapshot() {
191
+ var MOCK_PERCENTS = [42, 15, 61];
192
+ var MOCK_RESETS = [7543, null, null];
193
+ var MOCK_LIMITED = [false, false, false];
194
+ function mockSnapshot(overrides = {}) {
195
+ const percents = overrides.percents ?? MOCK_PERCENTS;
196
+ const resets = overrides.resets ?? MOCK_RESETS;
197
+ const limited = overrides.limited ?? MOCK_LIMITED;
198
+ const window = (index, percent) => {
199
+ const capped = limited[index] === true;
200
+ return {
201
+ percent,
202
+ // A capped window says so, because that is what the real payload says, and
203
+ // because `limited` is what gates the per-row countdown: a window with a
204
+ // countdown and no cap is a shape the API does not produce.
205
+ status: capped ? "rate-limited" : "active",
206
+ limited: capped,
207
+ resetInSec: resets[index] ?? null,
208
+ resetText: null
209
+ };
210
+ };
191
211
  return {
192
- rolling: { percent: 42, status: "active", limited: false, resetInSec: 7543, resetText: null },
193
- weekly: { percent: 15, status: "active", limited: false, resetInSec: null, resetText: null },
194
- monthly: { percent: 61, status: "active", limited: false, resetInSec: null, resetText: null },
212
+ rolling: window(0, percents[0]),
213
+ weekly: window(1, percents[1]),
214
+ monthly: window(2, percents[2]),
195
215
  source: "mock",
196
216
  fetchedAt: Date.now()
197
217
  };
@@ -300,6 +320,7 @@ function resolveAllowedRedirect(fromUrl, location, hopsFollowed) {
300
320
  }
301
321
  var COUNT_FORMAT = new Intl.NumberFormat("en-US");
302
322
  var CURRENCY_FORMAT = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
323
+ var GO_SHARE_LABEL_WIDTH = INTEGRATED_GO_SHARE_LABEL.length;
303
324
 
304
325
  // src/index.ts
305
326
  var API_USAGE_URL = "https://opencode.ai/zen/go/v1/usage";