MCPcopy Index your code
hub / github.com/codeaashu/claude-code / calculateContextPercentages

Function calculateContextPercentages

src/utils/context.ts:118–144  ·  view source on GitHub ↗
(
  currentUsage: {
    input_tokens: number
    cache_creation_input_tokens: number
    cache_read_input_tokens: number
  } | null,
  contextWindowSize: number,
)

Source from the content-addressed store, hash-verified

116 * Returns used and remaining percentages, or null values if no usage data.
117 */
118export function calculateContextPercentages(
119 currentUsage: {
120 input_tokens: number
121 cache_creation_input_tokens: number
122 cache_read_input_tokens: number
123 } | null,
124 contextWindowSize: number,
125): { used: number | null; remaining: number | null } {
126 if (!currentUsage) {
127 return { used: null, remaining: null }
128 }
129
130 const totalInputTokens =
131 currentUsage.input_tokens +
132 currentUsage.cache_creation_input_tokens +
133 currentUsage.cache_read_input_tokens
134
135 const usedPercentage = Math.round(
136 (totalInputTokens / contextWindowSize) * 100,
137 )
138 const clampedUsed = Math.min(100, Math.max(0, usedPercentage))
139
140 return {
141 used: clampedUsed,
142 remaining: 100 - clampedUsed,
143 }
144}
145
146/**
147 * Returns the model's default and upper limit for max output tokens.

Callers 2

getContextUsedPercentFunction · 0.85

Calls 1

maxMethod · 0.80

Tested by

no test coverage detected