Merge PR #3343: feat(usage): show expiry dates for banked Codex resets (@oldschoola)
This commit is contained in:
@@ -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`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user