jarrodwatts--claude-hud
34 行
1.1 KiB
JavaScript
34 行
1.1 KiB
JavaScript
import { label } from '../colors.js';
|
|
function formatTokens(n) {
|
|
if (n >= 1000000) {
|
|
return `${(n / 1000000).toFixed(1)}M`;
|
|
}
|
|
if (n >= 1000) {
|
|
return `${(n / 1000).toFixed(0)}k`;
|
|
}
|
|
return n.toString();
|
|
}
|
|
export function renderSessionTokensLine(ctx) {
|
|
const display = ctx.config?.display;
|
|
if (display?.showSessionTokens === false) {
|
|
return null;
|
|
}
|
|
const tokens = ctx.transcript.sessionTokens;
|
|
if (!tokens) {
|
|
return null;
|
|
}
|
|
const total = tokens.inputTokens + tokens.outputTokens + tokens.cacheCreationTokens + tokens.cacheReadTokens;
|
|
if (total === 0) {
|
|
return null;
|
|
}
|
|
const colors = ctx.config?.colors;
|
|
const parts = [
|
|
`in: ${formatTokens(tokens.inputTokens)}`,
|
|
`out: ${formatTokens(tokens.outputTokens)}`,
|
|
];
|
|
if (tokens.cacheCreationTokens > 0 || tokens.cacheReadTokens > 0) {
|
|
parts.push(`cache: ${formatTokens(tokens.cacheCreationTokens + tokens.cacheReadTokens)}`);
|
|
}
|
|
return label(`Tokens ${formatTokens(total)} (${parts.join(', ')})`, colors);
|
|
}
|
|
//# sourceMappingURL=session-tokens.js.map
|