mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-08 19:12:56 +00:00
Serve usage.cost and sessions.usage from a durable transcript aggregate cache with guarded refreshes, cache-status UI localization, and regression coverage. Thanks @Marvinthebored.
22 lines
684 B
TypeScript
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),
|
|
});
|
|
}
|