MiniCPM5-2B-WebGPU-Pi-HTTP / app /src /context-usage.mjs
Mike0021's picture
Enable browser HTTP commands with CORS-aware errors and bounded requests
39371ea verified
Raw
History Blame Contribute Delete
870 Bytes
export const CONTEXT_LIMIT = 8192;
// Usage describes the latest model call, not unsent draft text or the full
// saved transcript (which can contain turns excluded from model context).
export function restoredContextUsage(messages) {
const last = messages.findLast(message => message.role === 'assistant' && message.usage?.input > 0);
if (last) return { inputTokens: last.usage.input, outputTokens: last.usage.output ?? 0 };
return messages.length ? null : { inputTokens: 0, outputTokens: 0 };
}
export function contextLabel(usage) {
if (!usage) return `—/${CONTEXT_LIMIT.toLocaleString('en-US')} context`;
const used = usage.inputTokens + usage.outputTokens;
const remaining = Math.max(0, CONTEXT_LIMIT - used);
return `${used.toLocaleString('en-US')}/${CONTEXT_LIMIT.toLocaleString('en-US')} context · ${remaining.toLocaleString('en-US')} free`;
}