oc2token 0.1.0 → 0.1.2
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 +40 -15
- package/dist/src/accounting/index.d.ts +1 -1
- package/dist/src/accounting/index.js +1 -1
- package/dist/src/accounting/index.js.map +1 -1
- package/dist/src/accounting/reducer.d.ts +1 -2
- package/dist/src/accounting/reducer.js +0 -22
- package/dist/src/accounting/reducer.js.map +1 -1
- package/dist/src/antigravity/discovery.d.ts +4 -0
- package/dist/src/antigravity/discovery.js +25 -2
- package/dist/src/antigravity/discovery.js.map +1 -1
- package/dist/src/antigravity/scanner.js +167 -156
- package/dist/src/antigravity/scanner.js.map +1 -1
- package/dist/src/application.js +87 -75
- package/dist/src/application.js.map +1 -1
- package/dist/src/cache/lock.js +4 -1
- package/dist/src/cache/lock.js.map +1 -1
- package/dist/src/cache/schema.js +13 -1
- package/dist/src/cache/schema.js.map +1 -1
- package/dist/src/cache/store.d.ts +1 -0
- package/dist/src/cache/store.js +27 -0
- package/dist/src/cache/store.js.map +1 -1
- package/dist/src/cli.js +174 -46
- package/dist/src/cli.js.map +1 -1
- package/dist/src/codex/discovery.d.ts +4 -0
- package/dist/src/codex/discovery.js +59 -47
- package/dist/src/codex/discovery.js.map +1 -1
- package/dist/src/codex/scanner.js +37 -11
- package/dist/src/codex/scanner.js.map +1 -1
- package/dist/src/collector/collector.js +44 -14
- package/dist/src/collector/collector.js.map +1 -1
- package/dist/src/collector/types.d.ts +8 -0
- package/dist/src/collector/types.js.map +1 -1
- package/dist/src/dashboard/render/dashboard.js +19 -6
- package/dist/src/dashboard/render/dashboard.js.map +1 -1
- package/dist/src/dashboard/render/format.d.ts +4 -0
- package/dist/src/dashboard/render/format.js +9 -0
- package/dist/src/dashboard/render/format.js.map +1 -1
- package/dist/src/dashboard/render/types.d.ts +14 -0
- package/dist/src/dashboard/render/types.js +40 -13
- package/dist/src/dashboard/render/types.js.map +1 -1
- package/dist/src/dashboard/scheduler/refresh-scheduler.js +2 -1
- package/dist/src/dashboard/scheduler/refresh-scheduler.js.map +1 -1
- package/dist/src/dashboard/settings/index.js +29 -4
- package/dist/src/dashboard/settings/index.js.map +1 -1
- package/dist/src/dashboard/state/refresh-coordinator.d.ts +7 -0
- package/dist/src/dashboard/state/refresh-coordinator.js +30 -0
- package/dist/src/dashboard/state/refresh-coordinator.js.map +1 -1
- package/dist/src/domain/records.d.ts +15 -1
- package/dist/src/domain/records.js +15 -1
- package/dist/src/domain/records.js.map +1 -1
- package/dist/src/domain/tokens.d.ts +12 -0
- package/dist/src/domain/tokens.js +19 -3
- package/dist/src/domain/tokens.js.map +1 -1
- package/dist/src/domain/windows.js +37 -13
- package/dist/src/domain/windows.js.map +1 -1
- package/dist/src/opencode/adapter.js +12 -3
- package/dist/src/opencode/adapter.js.map +1 -1
- package/dist/src/opencode/client.d.ts +10 -0
- package/dist/src/opencode/client.js +17 -3
- package/dist/src/opencode/client.js.map +1 -1
- package/dist/src/opencode/stats.js +33 -9
- package/dist/src/opencode/stats.js.map +1 -1
- package/dist/src/opencode/transport.d.ts +10 -0
- package/dist/src/opencode/transport.js +23 -9
- package/dist/src/opencode/transport.js.map +1 -1
- package/dist/src/output/table.js +6 -2
- package/dist/src/output/table.js.map +1 -1
- package/dist/src/pricing/pricing.d.ts +30 -0
- package/dist/src/pricing/pricing.js +67 -27
- package/dist/src/pricing/pricing.js.map +1 -1
- package/package.json +32 -7
package/dist/src/cli.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import process from "node:process";
|
|
3
3
|
import { basename } from "node:path";
|
|
4
|
+
import { createRequire } from "node:module";
|
|
4
5
|
import { ANSI, createStableRedraw, getCardHitRegions, renderDashboard, renderJSON, renderTable, } from "./output/index.js";
|
|
5
6
|
import { createApplicationSource, emptyCollectionResult, newCollectionRequest, readCachedSnapshot, } from "./application.js";
|
|
6
7
|
import { RefreshCoordinator } from "./dashboard/state/index.js";
|
|
@@ -8,8 +9,39 @@ import { createUsageWindows, isProviderKind, } from "./domain/index.js";
|
|
|
8
9
|
import { runOpenCodeDoctor } from "./opencode/index.js";
|
|
9
10
|
import { runCodexDoctor } from "./codex/doctor.js";
|
|
10
11
|
import { runAntigravityDoctor } from "./antigravity/doctor.js";
|
|
11
|
-
import { SETTINGS_MAX_REFRESH_SECONDS, SETTINGS_MIN_REFRESH_SECONDS, adjustRefreshIntervalByPreset, clampRefreshIntervalSeconds, loadDashboardSettings, saveDashboardSettings, } from "./dashboard/settings/index.js";
|
|
12
|
-
|
|
12
|
+
import { ALL_PROVIDER_KINDS, SETTINGS_DEFAULT_REFRESH_SECONDS, SETTINGS_MAX_REFRESH_SECONDS, SETTINGS_MIN_REFRESH_SECONDS, adjustRefreshIntervalByPreset, clampRefreshIntervalSeconds, loadDashboardSettings, saveDashboardSettings, } from "./dashboard/settings/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* CLI version is read from package.json (not hardcoded) so `--version` and
|
|
15
|
+
* `--help` cannot drift. Falls back to "0.1.2" when the manifest is
|
|
16
|
+
* unreachable (e.g. unusual bundling). Tries both src (`../package.json`)
|
|
17
|
+
* and dist (`../../package.json`) layouts.
|
|
18
|
+
*/
|
|
19
|
+
function resolveCliVersion() {
|
|
20
|
+
try {
|
|
21
|
+
const require = createRequire(import.meta.url);
|
|
22
|
+
for (const candidate of ["../package.json", "../../package.json"]) {
|
|
23
|
+
try {
|
|
24
|
+
const pkg = require(candidate);
|
|
25
|
+
if (typeof pkg.version === "string" && pkg.version.length > 0)
|
|
26
|
+
return pkg.version;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Try the next candidate layout.
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// createRequire itself failed — fall through to the fallback below.
|
|
35
|
+
}
|
|
36
|
+
return "0.1.2";
|
|
37
|
+
}
|
|
38
|
+
const VERSION = resolveCliVersion();
|
|
39
|
+
/**
|
|
40
|
+
* Error envelope version. Distinct from stable snapshot `schemaVersion: 4`
|
|
41
|
+
* (see src/output/json.ts JSON_SCHEMA_VERSION): error payloads use
|
|
42
|
+
* `errorSchemaVersion` so parsers never confuse an error for data.
|
|
43
|
+
*/
|
|
44
|
+
const ERROR_SCHEMA_VERSION = 1;
|
|
13
45
|
const DEFAULT_TIMEZONE = Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
|
|
14
46
|
function usage() {
|
|
15
47
|
return `oc2token ${VERSION}
|
|
@@ -23,7 +55,9 @@ Options:
|
|
|
23
55
|
--once Collect once and exit
|
|
24
56
|
--json Emit stable JSON and exit
|
|
25
57
|
--format <mode> auto, dashboard, table, or json
|
|
26
|
-
--refresh <seconds>
|
|
58
|
+
--refresh <seconds> Auto-refresh cadence; 0 is manual-only, or 60-14400 (1m-4h).
|
|
59
|
+
With 0 the settings panel shows persisted value or 300s
|
|
60
|
+
default while auto-refresh stays off.
|
|
27
61
|
--timezone <IANA> Time zone for local day and ISO week boundaries
|
|
28
62
|
--project <id> Restrict collection to an OpenCode project
|
|
29
63
|
--cache-dir <path> Override the normalized metadata cache directory
|
|
@@ -173,12 +207,20 @@ function dashboardInput(state, fallback, wallNow, monotonicNow) {
|
|
|
173
207
|
function writeError(io, error, json) {
|
|
174
208
|
const message = error instanceof Error ? error.message : String(error);
|
|
175
209
|
if (json) {
|
|
176
|
-
|
|
210
|
+
// Error contract: { errorSchemaVersion: 1, error: { code, message } }.
|
|
211
|
+
// Deliberately NOT `schemaVersion` — that field means stable data (v4).
|
|
212
|
+
io.stdout.write(`${JSON.stringify({ errorSchemaVersion: ERROR_SCHEMA_VERSION, error: { code: "oc2token", message } })}\n`);
|
|
177
213
|
}
|
|
178
214
|
else {
|
|
179
215
|
io.stderr.write(`oc2token: ${message}\n`);
|
|
180
216
|
}
|
|
181
217
|
}
|
|
218
|
+
/** Debug-only stderr logging for swallowed runtime errors (applySettings etc.). */
|
|
219
|
+
function debugWarn(io, context, error) {
|
|
220
|
+
if (process.env.OC2TOKEN_DEBUG === undefined && process.env.DEBUG?.includes("oc2token") !== true)
|
|
221
|
+
return;
|
|
222
|
+
io.stderr.write(`oc2token [debug] ${context}: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
223
|
+
}
|
|
182
224
|
function requestedJSON(args) {
|
|
183
225
|
return args.some((arg, index) => arg === "--json" || (arg === "--format" && args[index + 1] === "json"));
|
|
184
226
|
}
|
|
@@ -265,6 +307,36 @@ async function runOnce(options, io) {
|
|
|
265
307
|
io.stdout.write(`${renderDashboard(result, { isTTY: false, color: options.color, selectedWindow: options.period })}\n`);
|
|
266
308
|
return result.coverage.complete ? 0 : 3;
|
|
267
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Single clamp policy for refresh intervals. 0 is manual-only (scheduler
|
|
312
|
+
* disabled, no auto timer) and is never clamped; every other value is
|
|
313
|
+
* clamped to 60..14400 (1 minute to 4 hours). The settings panel cannot
|
|
314
|
+
* represent manual mode, so when the scheduler is 0 the panel shows the
|
|
315
|
+
* persisted value or the 300s default while auto-refresh stays off.
|
|
316
|
+
*/
|
|
317
|
+
function resolveInitialRefreshIntervals(explicitSeconds, persisted, fallbackSeconds) {
|
|
318
|
+
if (explicitSeconds !== undefined) {
|
|
319
|
+
if (explicitSeconds === 0) {
|
|
320
|
+
return {
|
|
321
|
+
schedulerInterval: 0,
|
|
322
|
+
settingsInterval: persisted !== undefined
|
|
323
|
+
? clampRefreshIntervalSeconds(persisted.refreshIntervalSeconds)
|
|
324
|
+
: SETTINGS_DEFAULT_REFRESH_SECONDS,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
const clamped = clampRefreshIntervalSeconds(explicitSeconds);
|
|
328
|
+
return { schedulerInterval: clamped, settingsInterval: clamped };
|
|
329
|
+
}
|
|
330
|
+
if (persisted !== undefined) {
|
|
331
|
+
const clamped = clampRefreshIntervalSeconds(persisted.refreshIntervalSeconds);
|
|
332
|
+
return { schedulerInterval: clamped, settingsInterval: clamped };
|
|
333
|
+
}
|
|
334
|
+
if (fallbackSeconds === 0) {
|
|
335
|
+
return { schedulerInterval: 0, settingsInterval: SETTINGS_DEFAULT_REFRESH_SECONDS };
|
|
336
|
+
}
|
|
337
|
+
const clamped = clampRefreshIntervalSeconds(fallbackSeconds);
|
|
338
|
+
return { schedulerInterval: clamped, settingsInterval: clamped };
|
|
339
|
+
}
|
|
268
340
|
async function runDashboard(options, io) {
|
|
269
341
|
if (!io.stdout.isTTY || !io.stdin.isTTY) {
|
|
270
342
|
return runOnce({ ...options, once: true }, io);
|
|
@@ -274,7 +346,7 @@ async function runDashboard(options, io) {
|
|
|
274
346
|
const cached = await readCachedSnapshot(options.cacheDirectory);
|
|
275
347
|
// Load persisted settings and merge with CLI options. CLI explicit flags win.
|
|
276
348
|
const persisted = await loadDashboardSettings(options.cacheDirectory);
|
|
277
|
-
const ALL_KINDS =
|
|
349
|
+
const ALL_KINDS = ALL_PROVIDER_KINDS;
|
|
278
350
|
let initialSettingsEnabled;
|
|
279
351
|
if (options.filterExplicit) {
|
|
280
352
|
initialSettingsEnabled = options.filterProviders.size === 0 ? [...ALL_KINDS] : [...options.filterProviders];
|
|
@@ -289,37 +361,7 @@ async function runDashboard(options, io) {
|
|
|
289
361
|
initialSettingsEnabled = initialSettingsEnabled.filter((k) => ALL_KINDS.includes(k));
|
|
290
362
|
if (initialSettingsEnabled.length === 0)
|
|
291
363
|
initialSettingsEnabled = [...ALL_KINDS];
|
|
292
|
-
|
|
293
|
-
let initialSettingsInterval;
|
|
294
|
-
if (options.refreshExplicit) {
|
|
295
|
-
initialSchedulerInterval = options.refreshIntervalSeconds;
|
|
296
|
-
initialSettingsInterval = initialSchedulerInterval === 0
|
|
297
|
-
? SETTINGS_MIN_REFRESH_SECONDS
|
|
298
|
-
: clampRefreshIntervalSeconds(initialSchedulerInterval);
|
|
299
|
-
// Clamp scheduler interval for settings range if explicit but out of bounds? Keep explicit 0 as manual, otherwise clamp
|
|
300
|
-
if (initialSchedulerInterval !== 0) {
|
|
301
|
-
initialSchedulerInterval = clampRefreshIntervalSeconds(initialSchedulerInterval);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
else if (persisted !== undefined) {
|
|
305
|
-
initialSchedulerInterval = clampRefreshIntervalSeconds(persisted.refreshIntervalSeconds);
|
|
306
|
-
initialSettingsInterval = initialSchedulerInterval;
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
initialSchedulerInterval = options.refreshIntervalSeconds;
|
|
310
|
-
if (initialSchedulerInterval !== 0) {
|
|
311
|
-
initialSchedulerInterval = clampRefreshIntervalSeconds(initialSchedulerInterval);
|
|
312
|
-
}
|
|
313
|
-
initialSettingsInterval = initialSchedulerInterval === 0
|
|
314
|
-
? SETTINGS_MIN_REFRESH_SECONDS
|
|
315
|
-
: clampRefreshIntervalSeconds(initialSchedulerInterval);
|
|
316
|
-
// Also respect the min/max for initial settings: if scheduler is 0 manual, settings defaults to 300
|
|
317
|
-
if (options.refreshIntervalSeconds === 0) {
|
|
318
|
-
initialSettingsInterval = 300;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
// Ensure settings interval always within 1m..4h
|
|
322
|
-
initialSettingsInterval = clampRefreshIntervalSeconds(initialSettingsInterval);
|
|
364
|
+
const { schedulerInterval: initialSchedulerInterval, settingsInterval: initialSettingsInterval } = resolveInitialRefreshIntervals(options.refreshExplicit ? options.refreshIntervalSeconds : undefined, persisted, options.refreshIntervalSeconds);
|
|
323
365
|
const initialFilterForSource = initialSettingsEnabled.length === ALL_KINDS.length
|
|
324
366
|
? undefined
|
|
325
367
|
: new Set(initialSettingsEnabled);
|
|
@@ -373,11 +415,15 @@ async function runDashboard(options, io) {
|
|
|
373
415
|
try {
|
|
374
416
|
adapterSource.source.setFilterProviders(newFilter);
|
|
375
417
|
}
|
|
376
|
-
catch {
|
|
418
|
+
catch (error) {
|
|
419
|
+
debugWarn(io, "setFilterProviders (cached source) failed", error);
|
|
420
|
+
}
|
|
377
421
|
try {
|
|
378
422
|
adapterSource.unified.setFilterProviders(newFilter);
|
|
379
423
|
}
|
|
380
|
-
catch {
|
|
424
|
+
catch (error) {
|
|
425
|
+
debugWarn(io, "setFilterProviders (unified source) failed", error);
|
|
426
|
+
}
|
|
381
427
|
appliedEnabled = new Set(settingsState.enabledProviders);
|
|
382
428
|
void coordinator.manualRefresh();
|
|
383
429
|
persistCurrentSettings();
|
|
@@ -391,7 +437,9 @@ async function runDashboard(options, io) {
|
|
|
391
437
|
try {
|
|
392
438
|
coordinator.setRefreshIntervalSeconds(clamped);
|
|
393
439
|
}
|
|
394
|
-
catch {
|
|
440
|
+
catch (error) {
|
|
441
|
+
debugWarn(io, "setRefreshIntervalSeconds failed", error);
|
|
442
|
+
}
|
|
395
443
|
appliedInterval = clamped;
|
|
396
444
|
persistCurrentSettings();
|
|
397
445
|
}
|
|
@@ -447,7 +495,42 @@ async function runDashboard(options, io) {
|
|
|
447
495
|
draw();
|
|
448
496
|
void coordinator.start().catch(() => undefined);
|
|
449
497
|
let inputBuffer = "";
|
|
498
|
+
let escapeFlushTimer;
|
|
499
|
+
const clearEscapeFlush = () => {
|
|
500
|
+
if (escapeFlushTimer !== undefined) {
|
|
501
|
+
clearTimeout(escapeFlushTimer);
|
|
502
|
+
escapeFlushTimer = undefined;
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
const flushBufferedEscapeAsKey = () => {
|
|
506
|
+
// A bare trailing ESC / ESC[ with no continuation after 50ms was a lone
|
|
507
|
+
// ESC keypress, not a split sequence — handle it as the ESC key.
|
|
508
|
+
escapeFlushTimer = undefined;
|
|
509
|
+
if (inputBuffer !== "\u001b" && inputBuffer !== "\u001b[")
|
|
510
|
+
return;
|
|
511
|
+
inputBuffer = "";
|
|
512
|
+
if (settingsState.visible) {
|
|
513
|
+
settingsState.visible = false;
|
|
514
|
+
draw();
|
|
515
|
+
}
|
|
516
|
+
else if (projectsVisible) {
|
|
517
|
+
projectsVisible = false;
|
|
518
|
+
draw();
|
|
519
|
+
}
|
|
520
|
+
else if (help) {
|
|
521
|
+
help = false;
|
|
522
|
+
draw();
|
|
523
|
+
}
|
|
524
|
+
};
|
|
525
|
+
const scheduleEscapeFlush = () => {
|
|
526
|
+
clearEscapeFlush();
|
|
527
|
+
escapeFlushTimer = setTimeout(flushBufferedEscapeAsKey, 50);
|
|
528
|
+
if (typeof escapeFlushTimer === "object" && escapeFlushTimer !== null && "unref" in escapeFlushTimer) {
|
|
529
|
+
escapeFlushTimer.unref();
|
|
530
|
+
}
|
|
531
|
+
};
|
|
450
532
|
const onInput = (chunk) => {
|
|
533
|
+
clearEscapeFlush();
|
|
451
534
|
inputBuffer += chunk.toString();
|
|
452
535
|
const value = inputBuffer;
|
|
453
536
|
inputBuffer = "";
|
|
@@ -464,6 +547,14 @@ async function runDashboard(options, io) {
|
|
|
464
547
|
};
|
|
465
548
|
let i = 0;
|
|
466
549
|
while (i < value.length) {
|
|
550
|
+
// Lone trailing ESC may be the first byte of a split sequence
|
|
551
|
+
// ("\x1b" + "[A" across chunks). Buffer it and wait briefly; a lone
|
|
552
|
+
// ESC keypress flushes via scheduleEscapeFlush after 50ms.
|
|
553
|
+
if (value[i] === "\u001b" && i === value.length - 1) {
|
|
554
|
+
inputBuffer = value.slice(i);
|
|
555
|
+
scheduleEscapeFlush();
|
|
556
|
+
break;
|
|
557
|
+
}
|
|
467
558
|
// SGR mouse click: \x1b[<Cb;Cx;CyM (press) / m (release)
|
|
468
559
|
if (value.startsWith("\u001b[<", i)) {
|
|
469
560
|
const termM = value.indexOf("M", i + 3);
|
|
@@ -518,7 +609,14 @@ async function runDashboard(options, io) {
|
|
|
518
609
|
i += 3;
|
|
519
610
|
continue;
|
|
520
611
|
}
|
|
521
|
-
|
|
612
|
+
// Buffer an incomplete CSI split across data chunks (e.g. chunk ends
|
|
613
|
+
// with "\x1b[" and "A" arrives next). The old `else i += 1` dropped it.
|
|
614
|
+
if (i + 2 >= value.length) {
|
|
615
|
+
inputBuffer = value.slice(i);
|
|
616
|
+
scheduleEscapeFlush();
|
|
617
|
+
break;
|
|
618
|
+
}
|
|
619
|
+
{
|
|
522
620
|
const code = value[i + 2];
|
|
523
621
|
if (settingsState.visible) {
|
|
524
622
|
if (code === "A") {
|
|
@@ -664,8 +762,7 @@ async function runDashboard(options, io) {
|
|
|
664
762
|
}
|
|
665
763
|
if (key === " ") {
|
|
666
764
|
if (settingsState.focusedIndex >= 0 && settingsState.focusedIndex <= 2) {
|
|
667
|
-
const
|
|
668
|
-
const prov = provs[settingsState.focusedIndex];
|
|
765
|
+
const prov = ALL_KINDS[settingsState.focusedIndex];
|
|
669
766
|
if (settingsState.enabledProviders.has(prov)) {
|
|
670
767
|
if (settingsState.enabledProviders.size > 1) {
|
|
671
768
|
settingsState.enabledProviders.delete(prov);
|
|
@@ -742,8 +839,7 @@ async function runDashboard(options, io) {
|
|
|
742
839
|
}
|
|
743
840
|
if (key === "\r" || key === "\n") {
|
|
744
841
|
if (settingsState.focusedIndex >= 0 && settingsState.focusedIndex <= 2) {
|
|
745
|
-
const
|
|
746
|
-
const prov = provs[settingsState.focusedIndex];
|
|
842
|
+
const prov = ALL_KINDS[settingsState.focusedIndex];
|
|
747
843
|
if (settingsState.enabledProviders.has(prov)) {
|
|
748
844
|
if (settingsState.enabledProviders.size > 1) {
|
|
749
845
|
settingsState.enabledProviders.delete(prov);
|
|
@@ -826,14 +922,46 @@ async function runDashboard(options, io) {
|
|
|
826
922
|
}
|
|
827
923
|
};
|
|
828
924
|
io.stdin.on("data", onInput);
|
|
829
|
-
|
|
925
|
+
// Heartbeat is gated, not a blind 1s redraw: it fires only on clock
|
|
926
|
+
// rollover (countdown text changes each second) or while a refresh is in
|
|
927
|
+
// flight (spinner/progress). Idle dashboards skip redraw to save CPU.
|
|
928
|
+
let lastHeartbeatSecond = Math.floor(Number(process.hrtime.bigint()) / 1_000_000_000);
|
|
929
|
+
const heartbeat = setInterval(() => {
|
|
930
|
+
if (!running)
|
|
931
|
+
return;
|
|
932
|
+
const state = coordinator.getState();
|
|
933
|
+
const second = Math.floor(clock.monotonicNow() / 1000);
|
|
934
|
+
const active = state.status === "refreshing";
|
|
935
|
+
if (active || second !== lastHeartbeatSecond) {
|
|
936
|
+
lastHeartbeatSecond = second;
|
|
937
|
+
draw();
|
|
938
|
+
}
|
|
939
|
+
}, 1_000);
|
|
940
|
+
if (typeof heartbeat === "object" && heartbeat !== null && "unref" in heartbeat) {
|
|
941
|
+
heartbeat.unref();
|
|
942
|
+
}
|
|
943
|
+
// Resize is debounced (120ms) so rapid terminal resizes render once.
|
|
944
|
+
let resizeTimer;
|
|
945
|
+
const onResize = () => {
|
|
946
|
+
if (resizeTimer !== undefined)
|
|
947
|
+
clearTimeout(resizeTimer);
|
|
948
|
+
resizeTimer = setTimeout(() => {
|
|
949
|
+
resizeTimer = undefined;
|
|
950
|
+
if (running)
|
|
951
|
+
draw();
|
|
952
|
+
}, 120);
|
|
953
|
+
};
|
|
954
|
+
io.stdout.on("resize", onResize);
|
|
830
955
|
await new Promise((resolve) => {
|
|
831
956
|
const check = () => running ? setTimeout(check, 25) : resolve();
|
|
832
957
|
check();
|
|
833
958
|
});
|
|
834
959
|
clearInterval(heartbeat);
|
|
960
|
+
if (resizeTimer !== undefined)
|
|
961
|
+
clearTimeout(resizeTimer);
|
|
962
|
+
clearEscapeFlush();
|
|
835
963
|
io.stdin.off("data", onInput);
|
|
836
|
-
io.stdout.off("resize",
|
|
964
|
+
io.stdout.off("resize", onResize);
|
|
837
965
|
process.off("SIGINT", onSignal);
|
|
838
966
|
process.off("SIGTERM", onSignal);
|
|
839
967
|
return 0;
|
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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"}
|
|
@@ -2,5 +2,9 @@ export declare function defaultCodexHome(): string;
|
|
|
2
2
|
/**
|
|
3
3
|
* Port of codeburn walkRolloutFiles (dist/main.js:5560).
|
|
4
4
|
* Walks ~/.codex/sessions/YYYY/MM/DD + archived_sessions for rollout-*.jsonl.
|
|
5
|
+
*
|
|
6
|
+
* Traversal depth is fixed (year/month/day, no recursion), symlinks are
|
|
7
|
+
* skipped, and results are capped at MAX_ROLLOUT_FILES so huge homes fail
|
|
8
|
+
* bounded instead of hanging.
|
|
5
9
|
*/
|
|
6
10
|
export declare function discoverRolloutFiles(root?: string): string[];
|
|
@@ -14,74 +14,86 @@ function resolveCodexHome(root) {
|
|
|
14
14
|
}
|
|
15
15
|
return defaultCodexHome();
|
|
16
16
|
}
|
|
17
|
+
/** Bounds so a huge $HOME can never hang discovery. */
|
|
18
|
+
const MAX_ROLLOUT_FILES = 20_000;
|
|
19
|
+
const MAX_ENTRIES_PER_DIR = 10_000;
|
|
20
|
+
function readDirEntries(dir) {
|
|
21
|
+
let entries;
|
|
22
|
+
try {
|
|
23
|
+
// withFileTypes lets us skip symlinks without extra stat calls; symlinks
|
|
24
|
+
// are never followed so a linked giant tree cannot hang or loop us.
|
|
25
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
const names = [];
|
|
31
|
+
for (const entry of entries) {
|
|
32
|
+
if (names.length >= MAX_ENTRIES_PER_DIR)
|
|
33
|
+
break;
|
|
34
|
+
// Never follow symlinks (files or dirs) during discovery.
|
|
35
|
+
if (entry.isSymbolicLink())
|
|
36
|
+
continue;
|
|
37
|
+
names.push(entry.name);
|
|
38
|
+
}
|
|
39
|
+
return names;
|
|
40
|
+
}
|
|
41
|
+
function isRolloutFile(name) {
|
|
42
|
+
return name.startsWith("rollout-") && name.endsWith(".jsonl");
|
|
43
|
+
}
|
|
17
44
|
/**
|
|
18
45
|
* Port of codeburn walkRolloutFiles (dist/main.js:5560).
|
|
19
46
|
* Walks ~/.codex/sessions/YYYY/MM/DD + archived_sessions for rollout-*.jsonl.
|
|
47
|
+
*
|
|
48
|
+
* Traversal depth is fixed (year/month/day, no recursion), symlinks are
|
|
49
|
+
* skipped, and results are capped at MAX_ROLLOUT_FILES so huge homes fail
|
|
50
|
+
* bounded instead of hanging.
|
|
20
51
|
*/
|
|
21
52
|
export function discoverRolloutFiles(root) {
|
|
22
53
|
const codexDir = resolveCodexHome(root);
|
|
23
54
|
const files = [];
|
|
24
55
|
const take = (dir, file) => {
|
|
25
|
-
if (
|
|
56
|
+
if (files.length >= MAX_ROLLOUT_FILES)
|
|
57
|
+
return;
|
|
58
|
+
if (isRolloutFile(file)) {
|
|
26
59
|
files.push(join(dir, file));
|
|
27
60
|
}
|
|
28
61
|
};
|
|
29
62
|
const sessionsDir = join(codexDir, "sessions");
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
63
|
+
for (const year of readDirEntries(sessionsDir)) {
|
|
64
|
+
if (files.length >= MAX_ROLLOUT_FILES)
|
|
65
|
+
break;
|
|
66
|
+
if (!/^\d{4}$/.test(year)) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const yearDir = join(sessionsDir, year);
|
|
70
|
+
for (const month of readDirEntries(yearDir)) {
|
|
71
|
+
if (files.length >= MAX_ROLLOUT_FILES)
|
|
72
|
+
break;
|
|
73
|
+
if (!/^\d{2}$/.test(month)) {
|
|
41
74
|
continue;
|
|
42
75
|
}
|
|
43
|
-
|
|
44
|
-
|
|
76
|
+
const monthDir = join(yearDir, month);
|
|
77
|
+
for (const day of readDirEntries(monthDir)) {
|
|
78
|
+
if (files.length >= MAX_ROLLOUT_FILES)
|
|
79
|
+
break;
|
|
80
|
+
if (!/^\d{2}$/.test(day)) {
|
|
45
81
|
continue;
|
|
46
82
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
catch {
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
for (const day of days) {
|
|
56
|
-
if (!/^\d{2}$/.test(day)) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
const dayDir = join(monthDir, day);
|
|
60
|
-
let entries;
|
|
61
|
-
try {
|
|
62
|
-
entries = readdirSync(dayDir);
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
for (const file of entries) {
|
|
68
|
-
take(dayDir, file);
|
|
69
|
-
}
|
|
83
|
+
const dayDir = join(monthDir, day);
|
|
84
|
+
for (const file of readDirEntries(dayDir)) {
|
|
85
|
+
take(dayDir, file);
|
|
86
|
+
if (files.length >= MAX_ROLLOUT_FILES)
|
|
87
|
+
break;
|
|
70
88
|
}
|
|
71
89
|
}
|
|
72
90
|
}
|
|
73
91
|
}
|
|
74
|
-
catch {
|
|
75
|
-
// sessions directory missing — ignore, fall through to archived_sessions
|
|
76
|
-
}
|
|
77
92
|
const archivedDir = join(codexDir, "archived_sessions");
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// archived_sessions missing — ignore
|
|
93
|
+
for (const file of readDirEntries(archivedDir)) {
|
|
94
|
+
take(archivedDir, file);
|
|
95
|
+
if (files.length >= MAX_ROLLOUT_FILES)
|
|
96
|
+
break;
|
|
85
97
|
}
|
|
86
98
|
return files;
|
|
87
99
|
}
|