UNPKG

claude-monitor

Version:

Real-time terminal monitoring tool for Claude AI token usage

61 lines 2.01 kB
export var CostMode; (function (CostMode) { CostMode["AUTO"] = "auto"; CostMode["CACHED"] = "cached"; CostMode["CALCULATED"] = "calculate"; })(CostMode || (CostMode = {})); export var PlanType; (function (PlanType) { PlanType["PRO"] = "pro"; PlanType["MAX5"] = "max5"; PlanType["MAX20"] = "max20"; PlanType["CUSTOM"] = "custom"; })(PlanType || (PlanType = {})); export function getTotalTokens(counts) { return (counts.inputTokens + counts.outputTokens + counts.cacheCreationTokens + counts.cacheReadTokens); } export function getSessionTotalTokens(session) { return getTotalTokens(session.tokenCounts); } export function getSessionDurationMinutes(session) { const endTime = session.actualEndTime || session.endTime; const duration = (endTime.getTime() - session.startTime.getTime()) / (1000 * 60); return Math.max(duration, 1.0); } export function normalizeModelName(model) { if (!model) return ''; const modelLower = model.toLowerCase(); if (modelLower.includes('claude-opus-4-') || modelLower.includes('claude-sonnet-4-') || modelLower.includes('claude-haiku-4-') || modelLower.includes('sonnet-4-') || modelLower.includes('opus-4-') || modelLower.includes('haiku-4-')) { return modelLower; } if (modelLower.includes('opus')) { if (modelLower.includes('4-')) return modelLower; return 'claude-3-opus'; } if (modelLower.includes('sonnet')) { if (modelLower.includes('4-')) return modelLower; if (modelLower.includes('3.5') || modelLower.includes('3-5')) { return 'claude-3-5-sonnet'; } return 'claude-3-sonnet'; } if (modelLower.includes('haiku')) { if (modelLower.includes('3.5') || modelLower.includes('3-5')) { return 'claude-3-5-haiku'; } return 'claude-3-haiku'; } return model; } //# sourceMappingURL=index.js.map