Files
openclaw/ui/src/ui/usage-cache-status.ts
Marvinthebored a64b30705f fix(usage): serve usage from durable transcript aggregate cache
Serve usage.cost and sessions.usage from a durable transcript aggregate cache with guarded refreshes, cache-status UI localization, and regression coverage. Thanks @Marvinthebored.
2026-05-03 20:04:26 +01:00

22 lines
684 B
TypeScript

import { t } from "../i18n/index.ts";
import type { SessionsUsageResult } from "./usage-types.ts";
export type UsageCacheStatus = SessionsUsageResult["cacheStatus"];
export function getUsageCacheRefreshTitle(cacheStatus: UsageCacheStatus): string | null {
if (
!cacheStatus ||
(cacheStatus.status !== "refreshing" &&
cacheStatus.status !== "stale" &&
cacheStatus.status !== "partial")
) {
return null;
}
return t("usage.cacheStatus.title", {
status: t(`usage.cacheStatus.status.${cacheStatus.status}`),
pending: String(cacheStatus.pendingFiles),
stale: String(cacheStatus.staleFiles),
cached: String(cacheStatus.cachedFiles),
});
}