openlimiter 2.0.2 → 2.0.4
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 -1
- package/dist/api-spend.d.ts +27 -0
- package/dist/api-spend.d.ts.map +1 -0
- package/dist/api-spend.js +109 -0
- package/dist/api-spend.js.map +1 -0
- package/dist/bin.js +1 -0
- package/dist/bin.js.map +1 -1
- package/dist/cli.d.ts +13 -20
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +153 -56
- package/dist/cli.js.map +1 -1
- package/dist/codex-device-login.d.ts.map +1 -1
- package/dist/codex-device-login.js +1 -0
- package/dist/codex-device-login.js.map +1 -1
- package/dist/config.d.ts +4 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -5
- package/dist/config.js.map +1 -1
- package/dist/hub-auth.d.ts +2 -0
- package/dist/hub-auth.d.ts.map +1 -1
- package/dist/hub-auth.js +18 -1
- package/dist/hub-auth.js.map +1 -1
- package/dist/hub-sync.d.ts +4 -2
- package/dist/hub-sync.d.ts.map +1 -1
- package/dist/hub-sync.js +40 -9
- package/dist/hub-sync.js.map +1 -1
- package/dist/ingest.d.ts +26 -0
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +46 -62
- package/dist/ingest.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +42 -11
- package/dist/render.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +1 -4
- package/dist/session.js.map +1 -1
- package/dist/statusline-wrapper.d.ts.map +1 -1
- package/dist/statusline-wrapper.js +2 -1
- package/dist/statusline-wrapper.js.map +1 -1
- package/dist/statusline.d.ts +5 -1
- package/dist/statusline.d.ts.map +1 -1
- package/dist/statusline.js +200 -34
- package/dist/statusline.js.map +1 -1
- package/dist/terminal-backup.d.ts +85 -1
- package/dist/terminal-backup.d.ts.map +1 -1
- package/dist/terminal-backup.js +148 -22
- package/dist/terminal-backup.js.map +1 -1
- package/dist/terminal-fallback.d.ts.map +1 -1
- package/dist/terminal-fallback.js +13 -3
- package/dist/terminal-fallback.js.map +1 -1
- package/dist/terminal-toml.d.ts +8 -0
- package/dist/terminal-toml.d.ts.map +1 -1
- package/dist/terminal-toml.js +59 -2
- package/dist/terminal-toml.js.map +1 -1
- package/dist/terminal.d.ts.map +1 -1
- package/dist/terminal.js +149 -40
- package/dist/terminal.js.map +1 -1
- package/package.json +4 -4
package/dist/statusline.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { PROVIDER_CODES, floorFixed, freshness } from "@openlimiter/core";
|
|
1
|
+
import { PROVIDER_CODES, claudeMeterCompactLabel, claudeMeterPresentation, floorFixed, freshness, providerMeterCompactLabel, providerMeterPresentation, providerMeterRank, providerMeterVisible } from "@openlimiter/core";
|
|
2
2
|
import { STATUSLINE_BAR_SEGMENTS, meterBar } from "./render.js";
|
|
3
|
+
import { MONEY_TAGS, moneyCells } from "./api-spend.js";
|
|
3
4
|
/**
|
|
4
5
|
* Reference terminal layout with host session details and labelled quota bars.
|
|
5
6
|
* The host wraps the bar line. The optional legacy cells style keeps its own
|
|
@@ -86,9 +87,26 @@ const AVAILABILITY_WORDS = {
|
|
|
86
87
|
function isAvailabilitySnapshot(snapshot) {
|
|
87
88
|
return snapshot.availability !== undefined || snapshot.meter.toUpperCase() === "ACQUISITION";
|
|
88
89
|
}
|
|
90
|
+
function isOpenRouterAccountBalance(snapshot) {
|
|
91
|
+
return snapshot.provider === "OPENROUTER" &&
|
|
92
|
+
(snapshot.meter === "ACCOUNT_BALANCE" || snapshot.meter === "CREDITS");
|
|
93
|
+
}
|
|
94
|
+
function isBalanceSnapshot(snapshot) {
|
|
95
|
+
return isOpenRouterAccountBalance(snapshot) ||
|
|
96
|
+
providerMeterPresentation(snapshot.provider, snapshot.meter)?.valueSemantics === "balance";
|
|
97
|
+
}
|
|
89
98
|
function availabilityText(snapshot, now) {
|
|
90
99
|
if (snapshot.availability === undefined)
|
|
91
100
|
return "not measured";
|
|
101
|
+
if (snapshot.provider === "OPENROUTER" && snapshot.meter === "KEY_LIMIT" &&
|
|
102
|
+
snapshot.availability === "unlimited")
|
|
103
|
+
return "No key cap";
|
|
104
|
+
if (snapshot.provider === "OPENROUTER" && snapshot.meter === "ACCOUNT_BALANCE" &&
|
|
105
|
+
snapshot.availability === "missing_credentials")
|
|
106
|
+
return "unavailable";
|
|
107
|
+
if (snapshot.provider === "CODEX" && snapshot.meter === "CREDITS" &&
|
|
108
|
+
snapshot.availability === "unlimited")
|
|
109
|
+
return "unlimited credits";
|
|
92
110
|
if (snapshot.availability === "rate_limited" && snapshot.retryAt !== undefined) {
|
|
93
111
|
const retryAt = Date.parse(snapshot.retryAt);
|
|
94
112
|
const nowAt = Date.parse(now);
|
|
@@ -152,8 +170,12 @@ export function meterClass(snapshot) {
|
|
|
152
170
|
}
|
|
153
171
|
/** Two spaces between cells, so a reader can tell one cell from the next. */
|
|
154
172
|
export const CELL_GAP = " ";
|
|
155
|
-
function buildCell(label, snapshot, state, color, wide) {
|
|
173
|
+
function buildCell(label, snapshot, state, color, wide, bars = true) {
|
|
156
174
|
const percent = floorFixed(snapshot.value, 1) + "%";
|
|
175
|
+
if (!bars) {
|
|
176
|
+
const text = label + " " + percent;
|
|
177
|
+
return { plain: text, painted: text, percent: snapshot.value };
|
|
178
|
+
}
|
|
157
179
|
const bar = meterBar(snapshot.value, state, false, STATUSLINE_BAR_SEGMENTS, wide);
|
|
158
180
|
return {
|
|
159
181
|
plain: label + " " + bar + " " + percent,
|
|
@@ -161,8 +183,27 @@ function buildCell(label, snapshot, state, color, wide) {
|
|
|
161
183
|
percent: snapshot.value
|
|
162
184
|
};
|
|
163
185
|
}
|
|
186
|
+
function balanceCell(label, snapshot, stale) {
|
|
187
|
+
let value;
|
|
188
|
+
if (snapshot.currency === "USD" &&
|
|
189
|
+
snapshot.usedAmount !== undefined &&
|
|
190
|
+
snapshot.limitAmount !== undefined) {
|
|
191
|
+
value = "$" + Math.max(0, snapshot.limitAmount - snapshot.usedAmount).toFixed(2);
|
|
192
|
+
}
|
|
193
|
+
else if (isOpenRouterAccountBalance(snapshot) && snapshot.unit === "CREDITS") {
|
|
194
|
+
// The current balance identity can carry a direct credit amount, as the
|
|
195
|
+
// capture fixture does. Version 3 also retires the ambiguous legacy name,
|
|
196
|
+
// but an already loaded balance keeps the same terminal meaning.
|
|
197
|
+
value = "$" + snapshot.value.toFixed(2);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
value = floorFixed(snapshot.value, 2) + " credits";
|
|
201
|
+
}
|
|
202
|
+
const text = label + " " + (stale ? "~" : "") + value;
|
|
203
|
+
return { plain: text, painted: text, percent: Number.NEGATIVE_INFINITY };
|
|
204
|
+
}
|
|
164
205
|
function readingsFor(snapshots, provider, now) {
|
|
165
|
-
const providerRows = snapshots.filter((snapshot) => snapshot.provider === provider);
|
|
206
|
+
const providerRows = snapshots.filter((snapshot) => snapshot.provider === provider && providerMeterVisible(snapshot.provider, snapshot.meter));
|
|
166
207
|
const latestAccount = new Map();
|
|
167
208
|
for (const snapshot of providerRows) {
|
|
168
209
|
const observed = Date.parse(snapshot.observedAt);
|
|
@@ -172,7 +213,9 @@ function readingsFor(snapshots, provider, now) {
|
|
|
172
213
|
}
|
|
173
214
|
// Dormant accounts remain in the cache, but cannot displace an active account.
|
|
174
215
|
const readings = providerRows
|
|
175
|
-
.filter((snapshot) => (snapshot.unit === "PERCENT" ||
|
|
216
|
+
.filter((snapshot) => (snapshot.unit === "PERCENT" ||
|
|
217
|
+
isBalanceSnapshot(snapshot) ||
|
|
218
|
+
isAvailabilitySnapshot(snapshot)) &&
|
|
176
219
|
Date.parse(now) - (latestAccount.get(snapshot.accountId) ?? 0) <= ONE_DAY * 1000)
|
|
177
220
|
.map((snapshot) => ({
|
|
178
221
|
snapshot,
|
|
@@ -180,21 +223,55 @@ function readingsFor(snapshots, provider, now) {
|
|
|
180
223
|
}))
|
|
181
224
|
.filter((reading) => reading.state !== "unknown")
|
|
182
225
|
.sort((left, right) => {
|
|
226
|
+
const presentationRank = (providerMeterRank(provider, left.snapshot.meter) ?? 90) -
|
|
227
|
+
(providerMeterRank(provider, right.snapshot.meter) ?? 90);
|
|
228
|
+
if (presentationRank !== 0)
|
|
229
|
+
return presentationRank;
|
|
183
230
|
const rank = METER_CLASS_RANK[meterClass(left.snapshot)] -
|
|
184
231
|
METER_CLASS_RANK[meterClass(right.snapshot)];
|
|
185
232
|
if (rank !== 0)
|
|
186
233
|
return rank;
|
|
187
234
|
return left.snapshot.meter < right.snapshot.meter ? -1 : 1;
|
|
188
235
|
});
|
|
189
|
-
const
|
|
236
|
+
const balanceRows = provider === "OPENROUTER"
|
|
237
|
+
? readings.filter(({ snapshot }) => isOpenRouterAccountBalance(snapshot))
|
|
238
|
+
: [];
|
|
239
|
+
const measuredBalances = balanceRows.filter(({ snapshot }) => !isAvailabilitySnapshot(snapshot));
|
|
240
|
+
const newestBalance = provider === "OPENROUTER"
|
|
241
|
+
? (measuredBalances.length > 0 ? measuredBalances : balanceRows).reduce((newest, reading) => newest === undefined ||
|
|
242
|
+
Date.parse(reading.snapshot.observedAt) > Date.parse(newest.snapshot.observedAt) ? reading : newest, undefined)
|
|
243
|
+
: undefined;
|
|
244
|
+
const selectedReadings = newestBalance === undefined
|
|
245
|
+
? readings
|
|
246
|
+
: readings.filter(({ snapshot }) => !isOpenRouterAccountBalance(snapshot) || snapshot === newestBalance.snapshot);
|
|
247
|
+
const measuredAccounts = new Set(selectedReadings
|
|
190
248
|
.filter((reading) => !isAvailabilitySnapshot(reading.snapshot))
|
|
191
249
|
.map((reading) => reading.snapshot.accountId));
|
|
192
250
|
// Only measured readings are drawn: a provider that cannot be measured right
|
|
193
251
|
// now is left out of the line entirely, exactly as it is left off Home.
|
|
194
252
|
// Unlimited is an answer, not a failure, so it stays.
|
|
195
|
-
return
|
|
253
|
+
return selectedReadings.filter((reading) => !isAvailabilitySnapshot(reading.snapshot) ||
|
|
254
|
+
providerMeterPresentation(reading.snapshot.provider, reading.snapshot.meter)?.displayAvailability === true ||
|
|
196
255
|
reading.snapshot.availability === "unlimited" && !measuredAccounts.has(reading.snapshot.accountId));
|
|
197
256
|
}
|
|
257
|
+
function tightest(readings) {
|
|
258
|
+
let worst = readings[0];
|
|
259
|
+
for (const reading of readings.slice(1)) {
|
|
260
|
+
if (worst === undefined || reading.snapshot.value > worst.snapshot.value)
|
|
261
|
+
worst = reading;
|
|
262
|
+
}
|
|
263
|
+
return worst;
|
|
264
|
+
}
|
|
265
|
+
function worstReadings(provider, readings) {
|
|
266
|
+
if (provider === "OPENROUTER") {
|
|
267
|
+
const keyRows = readings.filter(({ snapshot }) => snapshot.meter === "KEY_LIMIT");
|
|
268
|
+
const balanceRows = readings.filter(({ snapshot }) => snapshot.meter === "ACCOUNT_BALANCE");
|
|
269
|
+
return [tightest(keyRows), tightest(balanceRows)].filter((row) => row !== undefined);
|
|
270
|
+
}
|
|
271
|
+
const percentages = readings.filter(({ snapshot }) => !isAvailabilitySnapshot(snapshot) && !isBalanceSnapshot(snapshot));
|
|
272
|
+
return [tightest(percentages.length > 0 ? percentages : readings)]
|
|
273
|
+
.filter((row) => row !== undefined);
|
|
274
|
+
}
|
|
198
275
|
/**
|
|
199
276
|
* One cell per provider, or one per meter.
|
|
200
277
|
*
|
|
@@ -209,35 +286,62 @@ function readingsFor(snapshots, provider, now) {
|
|
|
209
286
|
* so a statusline cell and a table row draw the same reading in the same band
|
|
210
287
|
* colour. Left off, the bar reads the environment for itself.
|
|
211
288
|
*/
|
|
212
|
-
export function statuslineCells(snapshots, now, order, meters, color, wide) {
|
|
289
|
+
export function statuslineCells(snapshots, now, order, meters, color, wide, bars = true) {
|
|
213
290
|
const cells = [];
|
|
214
291
|
for (const provider of order) {
|
|
215
|
-
const readings = readingsFor(snapshots
|
|
292
|
+
const readings = readingsFor(snapshots, provider, now);
|
|
216
293
|
if (readings.length === 0)
|
|
217
294
|
continue;
|
|
218
295
|
if (meters === "all") {
|
|
219
296
|
for (const reading of readings) {
|
|
220
297
|
if (isAvailabilitySnapshot(reading.snapshot)) {
|
|
221
|
-
|
|
298
|
+
const scope = providerMeterCompactLabel(provider, reading.snapshot.meter);
|
|
299
|
+
cells.push(availabilityCell(provider + (scope === null ? "" : ":" + scope), reading.snapshot, now));
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
const meterTag = providerMeterCompactLabel(provider, reading.snapshot.meter) ?? reading.snapshot.meter;
|
|
303
|
+
if (providerMeterPresentation(provider, reading.snapshot.meter)?.valueSemantics === "balance") {
|
|
304
|
+
cells.push(balanceCell(provider + ":" + meterTag, reading.snapshot, reading.state === "stale"));
|
|
222
305
|
continue;
|
|
223
306
|
}
|
|
224
|
-
cells.push(buildCell(provider + ":" +
|
|
307
|
+
cells.push(buildCell(provider + ":" + meterTag, reading.snapshot, reading.state, color, wide, bars));
|
|
225
308
|
}
|
|
226
309
|
continue;
|
|
227
310
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
311
|
+
for (const worst of worstReadings(provider, readings)) {
|
|
312
|
+
const scope = providerMeterCompactLabel(provider, worst.snapshot.meter);
|
|
313
|
+
const directional = (provider === "KIMI" || provider === "OPENCODE" ||
|
|
314
|
+
provider === "OPENROUTER" && !bars) && scope !== null;
|
|
315
|
+
const label = directional ? provider + ":" + scope : provider;
|
|
316
|
+
if (isAvailabilitySnapshot(worst.snapshot)) {
|
|
317
|
+
cells.push(availabilityCell(provider + (scope === null ? "" : ":" + scope), worst.snapshot, now));
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
320
|
+
if (providerMeterPresentation(provider, worst.snapshot.meter)?.valueSemantics === "balance") {
|
|
321
|
+
cells.push(balanceCell(label, worst.snapshot, worst.state === "stale"));
|
|
322
|
+
continue;
|
|
323
|
+
}
|
|
324
|
+
cells.push(buildCell(label, worst.snapshot, worst.state, color, wide, bars));
|
|
236
325
|
}
|
|
237
|
-
cells.push(buildCell(provider, worst.snapshot, worst.state, color, wide));
|
|
238
326
|
}
|
|
239
327
|
return cells;
|
|
240
328
|
}
|
|
329
|
+
/** The compact one line style, with the same meter meanings as the bar style. */
|
|
330
|
+
export function renderPlainStatusline(advice, snapshots, now, order, meters) {
|
|
331
|
+
if (!advice.inject || advice.reason === "UNKNOWN")
|
|
332
|
+
return "OpenLimiter UNKNOWN";
|
|
333
|
+
const cells = statuslineCells(snapshots, now, order, meters, false, undefined, false);
|
|
334
|
+
if (cells.length === 0)
|
|
335
|
+
return "OpenLimiter UNKNOWN";
|
|
336
|
+
const recommendation = advice.recommendation.code === "PREFER"
|
|
337
|
+
? " PREFER " + advice.recommendation.provider
|
|
338
|
+
: " NONE";
|
|
339
|
+
const unknown = advice.unknownProviders.length === 0
|
|
340
|
+
? ""
|
|
341
|
+
: " UNKNOWN " + advice.unknownProviders.join(",");
|
|
342
|
+
return "OpenLimiter " + advice.reason + " " + cells.map((cell) => cell.plain).join(" ") +
|
|
343
|
+
recommendation + unknown;
|
|
344
|
+
}
|
|
241
345
|
/* ------------------------------------------------------------------ layout */
|
|
242
346
|
/**
|
|
243
347
|
* Everything that is not a cell.
|
|
@@ -354,6 +458,9 @@ export const BAR_CELL_SEPARATOR = " | ";
|
|
|
354
458
|
export const TEN_BLOCK_FULL = "█";
|
|
355
459
|
export const TEN_BLOCK_EMPTY = "░";
|
|
356
460
|
export function windowCode(snapshot) {
|
|
461
|
+
const providerLabel = providerMeterCompactLabel(snapshot.provider, snapshot.meter);
|
|
462
|
+
if (providerLabel !== null)
|
|
463
|
+
return providerLabel;
|
|
357
464
|
if (snapshot.unit === "CREDITS" || snapshot.window.kind === "lifetime") {
|
|
358
465
|
return "";
|
|
359
466
|
}
|
|
@@ -380,6 +487,36 @@ export function windowCode(snapshot) {
|
|
|
380
487
|
return "mo";
|
|
381
488
|
return "";
|
|
382
489
|
}
|
|
490
|
+
function scopedProviderTag(providerTag, shortTag, snapshot) {
|
|
491
|
+
const base = providerTag || shortTag;
|
|
492
|
+
if (isOpenRouterAccountBalance(snapshot))
|
|
493
|
+
return base;
|
|
494
|
+
const scope = providerMeterCompactLabel(snapshot.provider, snapshot.meter);
|
|
495
|
+
const separator = snapshot.provider === "ANTIGRAVITY" ? "" : " ";
|
|
496
|
+
return scope === null || scope === "" ? base : base + separator + scope;
|
|
497
|
+
}
|
|
498
|
+
function visibilityKey(snapshot) {
|
|
499
|
+
if (snapshot.provider === "CLAUDE") {
|
|
500
|
+
const presentation = claudeMeterPresentation(snapshot.meter);
|
|
501
|
+
if (presentation?.labelKey === "claudeWeeklyFable")
|
|
502
|
+
return "fable";
|
|
503
|
+
if (presentation?.model !== null && presentation?.model !== undefined) {
|
|
504
|
+
return presentation.model.toLowerCase().replace(/[^a-z0-9]+/gu, "-").replace(/^-|-$/gu, "");
|
|
505
|
+
}
|
|
506
|
+
if (presentation?.labelKey === "claudeExtraUsage")
|
|
507
|
+
return "extra";
|
|
508
|
+
}
|
|
509
|
+
return windowCode(snapshot).toLowerCase();
|
|
510
|
+
}
|
|
511
|
+
function windowVisible(snapshot, visibility) {
|
|
512
|
+
const specific = visibility[visibilityKey(snapshot)];
|
|
513
|
+
if (specific !== undefined)
|
|
514
|
+
return specific;
|
|
515
|
+
if (snapshot.provider === "CLAUDE" && claudeMeterPresentation(snapshot.meter)?.modelScoped) {
|
|
516
|
+
return visibility["7d"] !== false;
|
|
517
|
+
}
|
|
518
|
+
return true;
|
|
519
|
+
}
|
|
383
520
|
export function tenBlockBar(value, unicode = true) {
|
|
384
521
|
const clamped = Math.min(100, Math.max(0, value));
|
|
385
522
|
const filled = clamped > 0 ? Math.max(1, Math.floor(clamped / 10)) : 0;
|
|
@@ -431,7 +568,7 @@ export function barStyleCells(snapshots, now, order, host, show, metersSetting,
|
|
|
431
568
|
allowedProviders.has(shortTag));
|
|
432
569
|
if (!isAllowed)
|
|
433
570
|
continue;
|
|
434
|
-
const readings = readingsFor(snapshots, provider, now).filter(({ snapshot }) =>
|
|
571
|
+
const readings = readingsFor(snapshots, provider, now).filter(({ snapshot }) => windowVisible(snapshot, visibility));
|
|
435
572
|
// Nothing measured means nothing drawn, even for a provider someone chose.
|
|
436
573
|
if (readings.length === 0)
|
|
437
574
|
continue;
|
|
@@ -443,12 +580,7 @@ export function barStyleCells(snapshots, now, order, host, show, metersSetting,
|
|
|
443
580
|
selectedReadings = readings;
|
|
444
581
|
}
|
|
445
582
|
else {
|
|
446
|
-
|
|
447
|
-
for (const r of readings.slice(1)) {
|
|
448
|
-
if (r.snapshot.value > worst.snapshot.value)
|
|
449
|
-
worst = r;
|
|
450
|
-
}
|
|
451
|
-
selectedReadings = [worst];
|
|
583
|
+
selectedReadings = worstReadings(provider, readings);
|
|
452
584
|
}
|
|
453
585
|
for (const reading of selectedReadings) {
|
|
454
586
|
const { snapshot, state } = reading;
|
|
@@ -456,7 +588,10 @@ export function barStyleCells(snapshots, now, order, host, show, metersSetting,
|
|
|
456
588
|
const ageSeconds = Math.max(0, Math.floor((Date.parse(now) - Date.parse(snapshot.observedAt)) / 1000));
|
|
457
589
|
const stale = state === "stale" || ageSeconds >= 180 || snapshot.precision === "estimated";
|
|
458
590
|
if (isAvailabilitySnapshot(snapshot)) {
|
|
459
|
-
const
|
|
591
|
+
const baseTag = providerTag || shortTag;
|
|
592
|
+
const scope = providerMeterCompactLabel(snapshot.provider, snapshot.meter);
|
|
593
|
+
const separator = snapshot.provider === "ANTIGRAVITY" ? "" : " ";
|
|
594
|
+
const tag = scope === null || scope === "" ? baseTag : baseTag + separator + scope;
|
|
460
595
|
const plain = tag + " " + availabilityText(snapshot, now);
|
|
461
596
|
const chosen = visibility[provider.toLowerCase()] === true ||
|
|
462
597
|
allowedProviders?.has(provider.toLowerCase()) || allowedProviders?.has(shortTag);
|
|
@@ -465,12 +600,27 @@ export function barStyleCells(snapshots, now, order, host, show, metersSetting,
|
|
|
465
600
|
(unknown ? (color ? " \x1b[31m[?]\x1b[0m" : " [?]") : ""), percent: Number.NEGATIVE_INFINITY });
|
|
466
601
|
continue;
|
|
467
602
|
}
|
|
468
|
-
if (
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
603
|
+
if (isBalanceSnapshot(snapshot)) {
|
|
604
|
+
cells.push(balanceCell(scopedProviderTag(providerTag, shortTag, snapshot), snapshot, stale));
|
|
605
|
+
continue;
|
|
606
|
+
}
|
|
607
|
+
if (provider === "OPENROUTER" && snapshot.meter === "KEY_LIMIT" &&
|
|
608
|
+
snapshot.usedAmount !== undefined && snapshot.limitAmount !== undefined &&
|
|
609
|
+
snapshot.currency === "USD") {
|
|
610
|
+
const amount = (stale ? "~" : "") + "$" + snapshot.usedAmount.toFixed(2) +
|
|
611
|
+
"/$" + snapshot.limitAmount.toFixed(2);
|
|
612
|
+
const plain = scopedProviderTag(providerTag, shortTag, snapshot) + " " + amount;
|
|
613
|
+
cells.push({ plain, painted: plain, percent: snapshot.value });
|
|
614
|
+
continue;
|
|
615
|
+
}
|
|
616
|
+
if (snapshot.provider === "CLAUDE" && snapshot.meter === "EXTRA_USAGE" &&
|
|
617
|
+
snapshot.usedAmount !== undefined && snapshot.limitAmount !== undefined &&
|
|
618
|
+
snapshot.currency === "USD") {
|
|
619
|
+
const amount = (stale ? "~" : "") + "$" + snapshot.usedAmount.toFixed(2) +
|
|
620
|
+
"/$" + snapshot.limitAmount.toFixed(2);
|
|
621
|
+
const tag = providerTag + (claudeMeterCompactLabel(snapshot.meter) ?? "Extra");
|
|
622
|
+
const plain = tag + " " + amount;
|
|
623
|
+
cells.push({ plain, painted: plain, percent: snapshot.value });
|
|
474
624
|
continue;
|
|
475
625
|
}
|
|
476
626
|
if (snapshot.usedAmount !== undefined && snapshot.currency === "USD") {
|
|
@@ -480,7 +630,11 @@ export function barStyleCells(snapshots, now, order, host, show, metersSetting,
|
|
|
480
630
|
continue;
|
|
481
631
|
}
|
|
482
632
|
const winTag = windowCode(snapshot);
|
|
483
|
-
const
|
|
633
|
+
const hasProviderCaption = providerMeterCompactLabel(snapshot.provider, snapshot.meter) !== null;
|
|
634
|
+
const captionSeparator = snapshot.provider === "ANTIGRAVITY" ? "" : " ";
|
|
635
|
+
const combinedTag = providerTag !== "" && winTag !== ""
|
|
636
|
+
? providerTag + (hasProviderCaption ? captionSeparator : "") + winTag
|
|
637
|
+
: providerTag + winTag;
|
|
484
638
|
const tag = combinedTag === "" ? shortTag : combinedTag;
|
|
485
639
|
const bar = tenBlockBar(snapshot.value, unicode);
|
|
486
640
|
const percentStr = (stale ? "~" : "") + Math.round(snapshot.value) + "%";
|
|
@@ -510,6 +664,15 @@ function renderBarStatusline(input) {
|
|
|
510
664
|
const { config } = input;
|
|
511
665
|
const host = input.host ?? "claude";
|
|
512
666
|
const cells = barStyleCells(input.snapshots, input.now, resolveProviderOrder(config.order), host, config.show, config.meters, input.color, input.wide, config.showMode === "explicit", config.visibility, input.unicode);
|
|
667
|
+
const listed = new Set(config.show.map((entry) => entry.toLowerCase()));
|
|
668
|
+
const apiMoney = moneyCells(input.apiSpend, {
|
|
669
|
+
now: input.now,
|
|
670
|
+
allowed: (name) => {
|
|
671
|
+
const tag = name === "openrouter" ? "or" : MONEY_TAGS[name];
|
|
672
|
+
return config.visibility?.[name] ??
|
|
673
|
+
(config.show.length === 0 && config.showMode !== "explicit" || listed.has(name) || tag !== undefined && listed.has(tag));
|
|
674
|
+
}
|
|
675
|
+
});
|
|
513
676
|
const session = input.session ?? {};
|
|
514
677
|
const shown = (key) => config.visibility?.[key] !== false;
|
|
515
678
|
const parts = [];
|
|
@@ -523,6 +686,9 @@ function renderBarStatusline(input) {
|
|
|
523
686
|
if (shown("ctx") && session.ctx !== undefined)
|
|
524
687
|
parts.push("ctx " + Math.round(session.ctx) + "%");
|
|
525
688
|
parts.push(...cells.map((cell) => cell.painted));
|
|
689
|
+
parts.push(...apiMoney.map((cell) => input.color && cell.band !== null
|
|
690
|
+
? cell.prefix + paintBand(cell.amount, cell.band, "fresh")
|
|
691
|
+
: cell.plain));
|
|
526
692
|
if (shown("style") && session.style)
|
|
527
693
|
parts.push(session.style);
|
|
528
694
|
// The host owns wrapping. A column guess must not silently hide a provider.
|
package/dist/statusline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline.js","sourceRoot":"","sources":["../src/statusline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"statusline.js","sourceRoot":"","sources":["../src/statusline.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,90 @@ export declare function readOptional(file: string): Promise<string | null>;
|
|
|
2
2
|
/** Recover the first configuration, including across reinstalls and state moves. */
|
|
3
3
|
export declare function originalConfiguration(file: string, current: string | null): Promise<string | null>;
|
|
4
4
|
export declare function isOwned(file: string, current: string, marker: boolean): Promise<boolean>;
|
|
5
|
+
/** The first configuration when uninstall has to patch rather than restore it, otherwise `undefined`. */
|
|
6
|
+
export declare function driftedOriginal(file: string, current: string | null): Promise<string | null | undefined>;
|
|
7
|
+
/** Result of an ownership check used during install. */
|
|
8
|
+
export type InstallOwnershipResult = {
|
|
9
|
+
kind: "unowned";
|
|
10
|
+
} | {
|
|
11
|
+
kind: "owned";
|
|
12
|
+
original: string | null;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "drifted";
|
|
15
|
+
original: string | null;
|
|
16
|
+
} | {
|
|
17
|
+
kind: "replaced_by_other";
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Classify the current ownership state for an install operation on a JSON/TOML
|
|
21
|
+
* config host.
|
|
22
|
+
*
|
|
23
|
+
* - "unowned": no backup and no marker, the file was never touched by us.
|
|
24
|
+
* - "owned": backup present and installed bytes still match, clean reinstall.
|
|
25
|
+
* - "drifted": backup present but host has edited the file since we last wrote
|
|
26
|
+
* it. The caller should update from current content and refresh installed.
|
|
27
|
+
* - "replaced_by_other": marker present but backup is missing or stale, and
|
|
28
|
+
* the current statusLine is not an OpenLimiter command. This is the case
|
|
29
|
+
* where the person replaced our line with their own.
|
|
30
|
+
*/
|
|
31
|
+
export declare function classifyInstallOwnership(file: string, current: string | null, marker: boolean, legacyOpenLimiter: boolean): Promise<InstallOwnershipResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Write `installed` to `file`, updating the backup so that:
|
|
34
|
+
*
|
|
35
|
+
* - When no backup exists yet: `original` is saved and never changed again.
|
|
36
|
+
* - When a backup exists and the host has drifted the file: the backup's
|
|
37
|
+
* `original` is preserved untouched, and `installed` is updated to the new
|
|
38
|
+
* content so the next check sees the correct baseline.
|
|
39
|
+
*
|
|
40
|
+
* The concurrency guard re-reads under the lock and refuses if the file
|
|
41
|
+
* changed between the outer read and the write.
|
|
42
|
+
*
|
|
43
|
+
* `priorCurrent` is the content read before the lock was acquired. If the
|
|
44
|
+
* file differs when re-read under the lock, the operation is refused with
|
|
45
|
+
* a "file changed during the operation" error.
|
|
46
|
+
*/
|
|
5
47
|
export declare function writeOwned(file: string, original: string | null, installed: string): Promise<void>;
|
|
6
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Write `installed` to `file` when the host has edited it since we last wrote
|
|
50
|
+
* it (drift case). The backup's `original` is preserved; `installed` is updated
|
|
51
|
+
* to the new content.
|
|
52
|
+
*
|
|
53
|
+
* `priorCurrent` is the drifted content read before locking. The concurrency
|
|
54
|
+
* guard inside the lock re-reads and refuses if the file changed again.
|
|
55
|
+
*/
|
|
56
|
+
export declare function writeDriftedOwned(file: string, priorCurrent: string | null, installed: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Uninstall result for restoreOwned.
|
|
59
|
+
*
|
|
60
|
+
* - "restored_exact": backup.installed matched current; original bytes restored.
|
|
61
|
+
* - "restored_drifted": host edited the file; statusLine key patched on
|
|
62
|
+
* current content, backup removed.
|
|
63
|
+
* - "not_owned": the file is not ours (no backup, or marker absent).
|
|
64
|
+
* - "concurrent_change": the file changed between the read and the write.
|
|
65
|
+
*/
|
|
66
|
+
export type RestoreResult = {
|
|
67
|
+
kind: "restored_exact";
|
|
68
|
+
} | {
|
|
69
|
+
kind: "restored_drifted";
|
|
70
|
+
} | {
|
|
71
|
+
kind: "not_owned";
|
|
72
|
+
} | {
|
|
73
|
+
kind: "concurrent_change";
|
|
74
|
+
path: string;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Restore a file to its pre-installation state.
|
|
78
|
+
*
|
|
79
|
+
* When the installed bytes still match the current file, the exact original
|
|
80
|
+
* bytes are written back (or the file is removed if the original was null).
|
|
81
|
+
*
|
|
82
|
+
* When the host has edited the file since we installed (drift), the caller
|
|
83
|
+
* supplies the patched content via `driftedContent`. That content is written
|
|
84
|
+
* to the file so the person's other edits are preserved, and the backup is
|
|
85
|
+
* then removed.
|
|
86
|
+
*
|
|
87
|
+
* `current` is the content read before the lock. The guard re-reads under the
|
|
88
|
+
* lock and refuses if the file changed in the meantime.
|
|
89
|
+
*/
|
|
90
|
+
export declare function restoreOwned(file: string, current: string, marker: boolean, driftedContent?: string): Promise<RestoreResult>;
|
|
7
91
|
//# sourceMappingURL=terminal-backup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-backup.d.ts","sourceRoot":"","sources":["../src/terminal-backup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal-backup.d.ts","sourceRoot":"","sources":["../src/terminal-backup.ts"],"names":[],"mappings":"AAYA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGvE;AAWD,oFAAoF;AACpF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxG;AAgBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9F;AASD,yGAAyG;AACzG,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAG9G;AAED,wDAAwD;AACxD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBxG;AAGD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnH;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,aAAa,CAAC,CA4BxB"}
|