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 +3 -2
- package/dist/helpers.d.ts +1 -0
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +19 -5
- package/dist/helpers.js.map +1 -1
- package/dist/plugins/oc-go-usage-display.kilo.ts +40 -19
- package/dist/plugins/oc-go-usage-display.kilo.tsx +125 -33
- package/dist/plugins/oc-go-usage-display.ts +40 -19
- package/dist/plugins/oc-go-usage-display.tsx +113 -23
- package/dist/shared.d.ts +12 -1
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +168 -26
- package/dist/shared.js.map +1 -1
- package/dist/tui-shared.d.ts.map +1 -1
- package/dist/tui-shared.js +54 -18
- package/dist/tui-shared.js.map +1 -1
- package/dist/tui.kilo.d.ts.map +1 -1
- package/dist/tui.kilo.js +2 -2
- package/dist/tui.kilo.js.map +1 -1
- package/package.json +6 -4
- package/src/helpers.ts +20 -4
- package/src/shared.ts +168 -24
- package/src/tui-shared.tsx +75 -25
- package/src/tui.kilo.tsx +2 -1
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.
|
|
30
|
-
|
|
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 = {
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"
|
|
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
|
-
//
|
|
447
|
-
//
|
|
448
|
-
//
|
|
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
|
package/dist/helpers.js.map
CHANGED
|
@@ -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
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
return `${
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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:
|
|
193
|
-
weekly:
|
|
194
|
-
monthly:
|
|
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
|
|
126
|
-
const
|
|
127
|
-
const
|
|
128
|
-
return `${
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
217
|
-
weekly:
|
|
218
|
-
monthly:
|
|
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")
|
|
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(
|
|
680
|
-
|
|
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",
|
|
729
|
-
/* @__PURE__ */ jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none",
|
|
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
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
return `${
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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:
|
|
193
|
-
weekly:
|
|
194
|
-
monthly:
|
|
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";
|