Merge PR #3343: feat(usage): show expiry dates for banked Codex resets (@oldschoola)

This commit is contained in:
can1357
2026-06-27 01:39:33 +02:00
9 changed files with 200 additions and 3 deletions
+17 -1
View File
@@ -326,7 +326,23 @@ function formatAccountHeader(
const planType = report.metadata?.planType;
if (typeof planType === "string" && planType) header += chalk.dim(` · plan: ${planType}`);
const savedResets = report.resetCredits?.availableCount ?? 0;
if (savedResets > 0) header += chalk.cyan(` · ✦ ${savedResets} saved reset${savedResets === 1 ? "" : "s"}`);
if (savedResets > 0) {
header += chalk.cyan(` · ✦ ${savedResets} saved reset${savedResets === 1 ? "" : "s"}`);
const credits = report.resetCredits?.credits;
if (credits) {
const upcoming = credits
.filter(c => c.expiresAt)
.map(c => ({ date: c.expiresAt!, ms: Date.parse(c.expiresAt!) }))
.filter(c => !Number.isNaN(c.ms))
.sort((a, b) => a.ms - b.ms)
.find(c => c.ms > nowMs);
if (upcoming) {
header += chalk.dim(
` · soonest expires in ${formatDuration(upcoming.ms - nowMs)} (${upcoming.date.slice(0, 10)})`,
);
}
}
}
if (report.fetchedAt && nowMs - report.fetchedAt > 90_000) {
header += chalk.dim(` · fetched ${formatDuration(nowMs - report.fetchedAt)} ago`);
}