oc2token 0.1.28 → 0.1.30
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 +2 -0
- package/dist/src/cli.js +40 -6
- package/dist/src/cli.js.map +1 -1
- package/dist/src/dashboard/render/dashboard.d.ts +7 -1
- package/dist/src/dashboard/render/dashboard.js +56 -3
- package/dist/src/dashboard/render/dashboard.js.map +1 -1
- package/dist/src/dashboard/render/types.d.ts +9 -0
- package/dist/src/dashboard/render/types.js.map +1 -1
- package/dist/src/dashboard/settings/index.d.ts +8 -6
- package/dist/src/dashboard/settings/index.js +9 -6
- package/dist/src/dashboard/settings/index.js.map +1 -1
- package/dist/src/opencode/index.d.ts +1 -0
- package/dist/src/opencode/index.js +1 -0
- package/dist/src/opencode/index.js.map +1 -1
- package/dist/src/opencode/live.d.ts +35 -0
- package/dist/src/opencode/live.js +224 -0
- package/dist/src/opencode/live.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -168,6 +168,8 @@ Settings persist under the cache directory (`~/Library/Caches/oc2token` on macOS
|
|
|
168
168
|
|
|
169
169
|
**Top cards.** Four or six cards are shown; the Settings panel chooses how many (`Cards shown`) and which windows occupy the slots (`hour`, `day`, `week`, `month` by default, plus dashboard-only `15m`, `30m`, `2h`, `5h`). The same card may occupy two slots. Six-card mode is fixed duration-ascending (`30m`, `hour`, `2h`, `5h`, day, Month); switching back to four restores your remembered four. Hour trends use 30-second buckets, week trends 3-hour buckets, and month trends 3-hour buckets, so the 15-minute graph shows 30 bars, the week graph 56, and the month graph 240. The 2-hour card uses dedicated 75-second range buckets (96 bars) collected alongside the day window, falling back to sliced day buckets on old caches; the 5-hour card slices sixty 5-minute day buckets. The short ranges are derived from already-collected data and never change collection totals, JSON, table, or CLI output: a card with no evidence in range shows `n/a`. Short-range model/provider splits combine per-bucket stats evidence with record evidence; project splits combine per-project stats calls for that exact range with records.
|
|
170
170
|
|
|
171
|
+
**Live TPS.** A large aggregate TPS (tokens per second) readout sits directly under the top cards. One subscription to the local service's global event stream covers every active OpenCode2 session — all open OpenCode2 windows, not just this one. The number is an estimate from streamed text and reasoning deltas, recalibrated as each step ends, because exact provider token counts only arrive at step end. Toggle it from Settings → Display → Live TPS; no plugin or extra setup is needed.
|
|
172
|
+
|
|
171
173
|
**Theme.** Purple carries structure, orange carries activity and focus, cyan carries inputs. Respects `NO_COLOR` and `--no-color`.
|
|
172
174
|
|
|
173
175
|
**Help.** `?` opens a keymap panel above the footer (collapse, card slots, mouse actions, settings) instead of echoing the footer. `?` again or `Esc` closes it.
|
package/dist/src/cli.js
CHANGED
|
@@ -7,7 +7,7 @@ import { ANSI, CARD_KIND_ORDER, createStableRedraw, footerClickAction, footerTok
|
|
|
7
7
|
import { createApplicationSource, emptyCollectionResult, newCollectionRequest, readCachedSnapshot, } from "./application.js";
|
|
8
8
|
import { RefreshCoordinator } from "./dashboard/state/index.js";
|
|
9
9
|
import { createUsageWindows, isProviderKind, } from "./domain/index.js";
|
|
10
|
-
import { runOpenCodeDoctor } from "./opencode/index.js";
|
|
10
|
+
import { createLiveTpsMeter, runOpenCodeDoctor } from "./opencode/index.js";
|
|
11
11
|
import { runCodexDoctor } from "./codex/doctor.js";
|
|
12
12
|
import { runAntigravityDoctor } from "./antigravity/doctor.js";
|
|
13
13
|
import { runPiDoctor } from "./pi/doctor.js";
|
|
@@ -397,6 +397,7 @@ async function runDashboard(options, io) {
|
|
|
397
397
|
monotonicNow: () => Number(process.hrtime.bigint()) / 1_000_000,
|
|
398
398
|
};
|
|
399
399
|
const fallback = emptyCollectionResult(clock.wallNow(), options.timezone);
|
|
400
|
+
const liveTps = createLiveTpsMeter();
|
|
400
401
|
const coordinator = new RefreshCoordinator({
|
|
401
402
|
source: adapterSource.source,
|
|
402
403
|
clock,
|
|
@@ -425,6 +426,7 @@ async function runDashboard(options, io) {
|
|
|
425
426
|
refreshIntervalSeconds: initialSettingsInterval,
|
|
426
427
|
showProvidersTable: persisted?.showProvidersTable !== false,
|
|
427
428
|
showProjectsTable: persisted?.showProjectsTable !== false,
|
|
429
|
+
showLiveTps: persisted?.showLiveTps !== false,
|
|
428
430
|
visibleCards: normalizeVisibleCards(persisted?.visibleCards),
|
|
429
431
|
inactiveCards: normalizeVisibleCards(persisted?.inactiveCards, normalizeVisibleCards(persisted?.visibleCards).length > 4 ? 4 : 6),
|
|
430
432
|
focusedIndex: 0,
|
|
@@ -436,12 +438,15 @@ async function runDashboard(options, io) {
|
|
|
436
438
|
: settingsState.visibleCards[0];
|
|
437
439
|
let appliedEnabled = new Set(settingsState.enabledProviders);
|
|
438
440
|
let appliedInterval = initialSchedulerInterval;
|
|
441
|
+
if (settingsState.showLiveTps)
|
|
442
|
+
liveTps.start();
|
|
439
443
|
const persistCurrentSettings = () => {
|
|
440
444
|
void saveDashboardSettings({
|
|
441
445
|
enabledProviders: [...settingsState.enabledProviders],
|
|
442
446
|
refreshIntervalSeconds: clampRefreshIntervalSeconds(settingsState.refreshIntervalSeconds),
|
|
443
447
|
showProvidersTable: settingsState.showProvidersTable,
|
|
444
448
|
showProjectsTable: settingsState.showProjectsTable,
|
|
449
|
+
showLiveTps: settingsState.showLiveTps,
|
|
445
450
|
visibleCards: [...settingsState.visibleCards],
|
|
446
451
|
inactiveCards: [...settingsState.inactiveCards],
|
|
447
452
|
}, options.cacheDirectory);
|
|
@@ -487,6 +492,16 @@ async function runDashboard(options, io) {
|
|
|
487
492
|
persistCurrentSettings();
|
|
488
493
|
draw();
|
|
489
494
|
};
|
|
495
|
+
/** Toggle the live TPS banner and its event subscription. */
|
|
496
|
+
const toggleLiveTps = () => {
|
|
497
|
+
settingsState.showLiveTps = !settingsState.showLiveTps;
|
|
498
|
+
if (settingsState.showLiveTps)
|
|
499
|
+
liveTps.start();
|
|
500
|
+
else
|
|
501
|
+
liveTps.stop();
|
|
502
|
+
persistCurrentSettings();
|
|
503
|
+
draw();
|
|
504
|
+
};
|
|
490
505
|
const applySettings = () => {
|
|
491
506
|
// Providers
|
|
492
507
|
const enabledArray = [...settingsState.enabledProviders].sort();
|
|
@@ -544,6 +559,7 @@ async function runDashboard(options, io) {
|
|
|
544
559
|
selectedWindow: selectedCard,
|
|
545
560
|
help,
|
|
546
561
|
appVersion: VERSION,
|
|
562
|
+
liveTps: liveTps.snapshot(),
|
|
547
563
|
// Always pass table visibility so hidden tables stay hidden when the
|
|
548
564
|
// panel is closed; the panel itself only renders when visible.
|
|
549
565
|
settings: {
|
|
@@ -552,6 +568,7 @@ async function runDashboard(options, io) {
|
|
|
552
568
|
refreshIntervalSeconds: settingsState.refreshIntervalSeconds,
|
|
553
569
|
showProvidersTable: settingsState.showProvidersTable,
|
|
554
570
|
showProjectsTable: settingsState.showProjectsTable,
|
|
571
|
+
showLiveTps: settingsState.showLiveTps,
|
|
555
572
|
visibleCards: [...settingsState.visibleCards],
|
|
556
573
|
inactiveCards: [...settingsState.inactiveCards],
|
|
557
574
|
focusedIndex: settingsState.focusedIndex,
|
|
@@ -568,6 +585,7 @@ async function runDashboard(options, io) {
|
|
|
568
585
|
if (!running)
|
|
569
586
|
return;
|
|
570
587
|
running = false;
|
|
588
|
+
liveTps.stop();
|
|
571
589
|
await coordinator.quit();
|
|
572
590
|
if (io.stdin.isTTY)
|
|
573
591
|
io.stdin.setRawMode?.(false);
|
|
@@ -652,6 +670,11 @@ async function runDashboard(options, io) {
|
|
|
652
670
|
draw();
|
|
653
671
|
return;
|
|
654
672
|
}
|
|
673
|
+
if (hasBox && line.includes("Live TPS")) {
|
|
674
|
+
settingsState.focusedIndex = SETTINGS_ROWS.tables + 2;
|
|
675
|
+
toggleLiveTps();
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
655
678
|
const cardSlot = line.match(/Card ([1-6]):/);
|
|
656
679
|
if (cardSlot !== null) {
|
|
657
680
|
const slot = Number(cardSlot[1]) - 1;
|
|
@@ -1072,6 +1095,9 @@ async function runDashboard(options, io) {
|
|
|
1072
1095
|
persistCurrentSettings();
|
|
1073
1096
|
draw();
|
|
1074
1097
|
}
|
|
1098
|
+
else if (settingsState.focusedIndex === SETTINGS_ROWS.tables + 2) {
|
|
1099
|
+
toggleLiveTps();
|
|
1100
|
+
}
|
|
1075
1101
|
else if (settingsState.focusedIndex >= SETTINGS_ROWS.cards &&
|
|
1076
1102
|
settingsState.focusedIndex < SETTINGS_ROWS.cards + 6) {
|
|
1077
1103
|
cycleCardSlot(settingsState.focusedIndex - SETTINGS_ROWS.cards);
|
|
@@ -1180,6 +1206,9 @@ async function runDashboard(options, io) {
|
|
|
1180
1206
|
persistCurrentSettings();
|
|
1181
1207
|
draw();
|
|
1182
1208
|
}
|
|
1209
|
+
else if (settingsState.focusedIndex === SETTINGS_ROWS.tables + 2) {
|
|
1210
|
+
toggleLiveTps();
|
|
1211
|
+
}
|
|
1183
1212
|
i += 1;
|
|
1184
1213
|
continue;
|
|
1185
1214
|
}
|
|
@@ -1251,21 +1280,26 @@ async function runDashboard(options, io) {
|
|
|
1251
1280
|
}
|
|
1252
1281
|
};
|
|
1253
1282
|
io.stdin.on("data", onInput);
|
|
1254
|
-
// Heartbeat is gated, not a blind
|
|
1255
|
-
//
|
|
1256
|
-
//
|
|
1283
|
+
// Heartbeat is gated, not a blind redraw: it fires on clock rollover
|
|
1284
|
+
// (countdown text changes each second), while a refresh is in flight
|
|
1285
|
+
// (spinner/progress), or when the live TPS reading changes. Idle dashboards
|
|
1286
|
+
// skip redraw to save CPU.
|
|
1257
1287
|
let lastHeartbeatSecond = Math.floor(Number(process.hrtime.bigint()) / 1_000_000_000);
|
|
1288
|
+
let lastTpsKey = "";
|
|
1258
1289
|
const heartbeat = setInterval(() => {
|
|
1259
1290
|
if (!running)
|
|
1260
1291
|
return;
|
|
1261
1292
|
const state = coordinator.getState();
|
|
1262
1293
|
const second = Math.floor(clock.monotonicNow() / 1000);
|
|
1294
|
+
const live = liveTps.snapshot();
|
|
1295
|
+
const tpsKey = `${live.available}:${live.activeSessions}:${live.tps.toFixed(1)}`;
|
|
1263
1296
|
const active = state.status === "refreshing";
|
|
1264
|
-
if (active || second !== lastHeartbeatSecond) {
|
|
1297
|
+
if (active || second !== lastHeartbeatSecond || tpsKey !== lastTpsKey) {
|
|
1265
1298
|
lastHeartbeatSecond = second;
|
|
1299
|
+
lastTpsKey = tpsKey;
|
|
1266
1300
|
draw();
|
|
1267
1301
|
}
|
|
1268
|
-
},
|
|
1302
|
+
}, 250);
|
|
1269
1303
|
if (typeof heartbeat === "object" && heartbeat !== null && "unref" in heartbeat) {
|
|
1270
1304
|
heartbeat.unref();
|
|
1271
1305
|
}
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeDashboardSnapshot, type DashboardCardKind, type DashboardRenderOptions, type DashboardSnapshotInput, type DashboardWindow } from "./types.js";
|
|
1
|
+
import { normalizeDashboardSnapshot, type DashboardCardKind, type DashboardRenderOptions, type DashboardSnapshotInput, type DashboardWindow, type LiveTpsView } from "./types.js";
|
|
2
2
|
export declare const APP_PADDING = 2;
|
|
3
3
|
export declare const GITHUB_URL = "https://github.com/kaanyaren/OC2Token";
|
|
4
4
|
/** Short footer/CLI label for a card kind. */
|
|
@@ -16,6 +16,12 @@ export declare function getCardHitRegions(width: number, kinds?: ReadonlyArray<D
|
|
|
16
16
|
* the snapshot, derived sub-windows from the normalized derivation.
|
|
17
17
|
*/
|
|
18
18
|
export declare function cardWindow(snapshot: ReturnType<typeof normalizeDashboardSnapshot>, kind: DashboardCardKind): DashboardWindow;
|
|
19
|
+
/**
|
|
20
|
+
* Aggregate live TPS banner shown between the cards and the trend panel.
|
|
21
|
+
* Falls back to one line when the block digits do not comfortably fit or the
|
|
22
|
+
* terminal is too short for a five-row banner.
|
|
23
|
+
*/
|
|
24
|
+
export declare function renderLiveTps(live: LiveTpsView, color: boolean, width: number, height?: number): string[];
|
|
19
25
|
/** Rows shown before a breakdown table collapses. Fixed by design. */
|
|
20
26
|
export declare const COLLAPSE_THRESHOLD = 3;
|
|
21
27
|
/** Refresh interval presets (seconds). Shared by the settings panel and mouse clicks. */
|
|
@@ -303,6 +303,55 @@ function renderStatusBox(snapshot, color, width) {
|
|
|
303
303
|
export function cardWindow(snapshot, kind) {
|
|
304
304
|
return isDerivedCardKind(kind) ? snapshot.derived[kind] : snapshot.windows[kind];
|
|
305
305
|
}
|
|
306
|
+
// 3-wide, 5-row block glyphs for the live TPS banner.
|
|
307
|
+
const LIVE_TPS_GLYPHS = {
|
|
308
|
+
"0": ["███", "█ █", "█ █", "█ █", "███"],
|
|
309
|
+
"1": [" █ ", "██ ", " █ ", " █ ", "███"],
|
|
310
|
+
"2": ["███", " █", "███", "█ ", "███"],
|
|
311
|
+
"3": ["███", " █", "███", " █", "███"],
|
|
312
|
+
"4": ["█ █", "█ █", "███", " █", " █"],
|
|
313
|
+
"5": ["███", "█ ", "███", " █", "███"],
|
|
314
|
+
"6": ["███", "█ ", "███", "█ █", "███"],
|
|
315
|
+
"7": ["███", " █", " █", " █", " █"],
|
|
316
|
+
"8": ["███", "█ █", "███", "█ █", "███"],
|
|
317
|
+
"9": ["███", "█ █", "███", " █", "███"],
|
|
318
|
+
".": [" ", " ", " ", " ", " █ "],
|
|
319
|
+
"+": [" ", " █ ", "███", " █ ", " "],
|
|
320
|
+
};
|
|
321
|
+
function centerText(value, width) {
|
|
322
|
+
const visible = lineWidth(value);
|
|
323
|
+
if (visible >= width)
|
|
324
|
+
return truncateVisible(value, width);
|
|
325
|
+
return " ".repeat(Math.floor((width - visible) / 2)) + value;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Aggregate live TPS banner shown between the cards and the trend panel.
|
|
329
|
+
* Falls back to one line when the block digits do not comfortably fit or the
|
|
330
|
+
* terminal is too short for a five-row banner.
|
|
331
|
+
*/
|
|
332
|
+
export function renderLiveTps(live, color, width, height) {
|
|
333
|
+
const safeWidth = Math.max(1, width);
|
|
334
|
+
if (live.available === false) {
|
|
335
|
+
return [centerText(paint("EST. LIVE TPS · n/a", ANSI.dim, color), safeWidth)];
|
|
336
|
+
}
|
|
337
|
+
const tps = Number.isFinite(live.tps) ? Math.max(0, live.tps) : 0;
|
|
338
|
+
if (tps <= 0) {
|
|
339
|
+
return [centerText(paint("EST. LIVE TPS · idle", ANSI.dim, color), safeWidth)];
|
|
340
|
+
}
|
|
341
|
+
const value = tps >= 1000 ? "999+" : tps.toFixed(1);
|
|
342
|
+
const rateColor = tps > 50 ? ANSI.green : tps >= 10 ? ANSI.orange : ANSI.red;
|
|
343
|
+
const rate = (text) => paint(text, rateColor, color);
|
|
344
|
+
const caption = `EST. LIVE TPS · ${live.activeSessions} ACTIVE`;
|
|
345
|
+
const blockWidth = value.length * 4 - 1;
|
|
346
|
+
// 40 columns is the minimum that reads well; narrower terminals get the
|
|
347
|
+
// compact line so the banner never crowds the dashboard.
|
|
348
|
+
if (blockWidth > safeWidth || safeWidth < 40 || (height !== undefined && height < 30)) {
|
|
349
|
+
return [centerText(rate(`EST. LIVE TPS ${value} · ${live.activeSessions} ACTIVE`), safeWidth)];
|
|
350
|
+
}
|
|
351
|
+
const rows = Array.from({ length: 5 }, (_, row) => centerText(rate([...value].map((character) => LIVE_TPS_GLYPHS[character]?.[row] ?? " ").join(" ")), safeWidth));
|
|
352
|
+
rows.push(centerText(themePurple(caption, color), safeWidth));
|
|
353
|
+
return rows;
|
|
354
|
+
}
|
|
306
355
|
function renderTrend(snapshot, selected, color, width) {
|
|
307
356
|
const trend = cardWindow(snapshot, selected).trends;
|
|
308
357
|
const title = `Trend · ${cardTitle(selected).toLowerCase()}`;
|
|
@@ -578,12 +627,13 @@ function renderSettingsPanel(settings, width, color) {
|
|
|
578
627
|
lines.push(padPrefix + `│${pad(full, inner)}│`);
|
|
579
628
|
}
|
|
580
629
|
lines.push(padPrefix + `│${" ".repeat(inner)}│`);
|
|
581
|
-
//
|
|
582
|
-
const tablesHeading = truncate("
|
|
630
|
+
// Display toggles: breakdown tables plus the live TPS banner.
|
|
631
|
+
const tablesHeading = truncate("Display — space to toggle", inner);
|
|
583
632
|
lines.push(padPrefix + `│${pad(themePurple(tablesHeading, color, true), inner)}│`);
|
|
584
633
|
const tableRows = [
|
|
585
634
|
{ label: "Providers table", shown: settings.showProvidersTable !== false, index: SETTINGS_ROWS.tables },
|
|
586
635
|
{ label: "Projects table", shown: settings.showProjectsTable !== false, index: SETTINGS_ROWS.tables + 1 },
|
|
636
|
+
{ label: "Live TPS", shown: settings.showLiveTps !== false, index: SETTINGS_ROWS.tables + 2 },
|
|
587
637
|
];
|
|
588
638
|
for (const row of tableRows) {
|
|
589
639
|
const focused = settings.focusedIndex === row.index;
|
|
@@ -892,7 +942,7 @@ function renderFooter(help, color, width, visible = [...DEFAULT_VISIBLE_CARDS])
|
|
|
892
942
|
` ${key("r/R")} Refresh now ${key(slotRange)} Select visible card ${key("Tab/Arrows")} Navigate cards`,
|
|
893
943
|
` ${key("Space")} Expand/collapse breakdown table ${key("p")} Projects panel ${key("s")} Settings`,
|
|
894
944
|
` Click: cards select · table headers/hints collapse · footer acts · ${key("q")} Quit ${key("?")} Close help`,
|
|
895
|
-
` Settings: providers ·
|
|
945
|
+
` Settings: providers · display · card slots (${periodWide}) · refresh slider`,
|
|
896
946
|
];
|
|
897
947
|
}
|
|
898
948
|
if (width < 50) {
|
|
@@ -1008,6 +1058,9 @@ export function renderDashboard(input, options = {}) {
|
|
|
1008
1058
|
for (const card of cards)
|
|
1009
1059
|
lines.push(...card);
|
|
1010
1060
|
}
|
|
1061
|
+
if (options.liveTps !== undefined && options.settings?.showLiveTps !== false) {
|
|
1062
|
+
lines.push(...renderLiveTps(options.liveTps, color, width, options.height));
|
|
1063
|
+
}
|
|
1011
1064
|
lines.push("");
|
|
1012
1065
|
lines.push(...renderTrend(snapshot, selected, color, width));
|
|
1013
1066
|
lines.push("");
|