MCPcopy
hub / github.com/claude-code-best/claude-code / countMemoryFileTokens

Function countMemoryFileTokens

src/utils/analyzeContext.ts:324–365  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

322}
323
324async function countMemoryFileTokens(): Promise<{
325 memoryFileDetails: MemoryFile[]
326 claudeMdTokens: number
327}> {
328 // Simple mode disables CLAUDE.md loading, so don't report tokens for them
329 if (isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE)) {
330 return { memoryFileDetails: [], claudeMdTokens: 0 }
331 }
332
333 const memoryFilesData = filterInjectedMemoryFiles(await getMemoryFiles())
334 const memoryFileDetails: MemoryFile[] = []
335 let claudeMdTokens = 0
336
337 if (memoryFilesData.length < 1) {
338 return {
339 memoryFileDetails: [],
340 claudeMdTokens: 0,
341 }
342 }
343
344 const claudeMdTokenCounts = await Promise.all(
345 memoryFilesData.map(async file => {
346 const tokens = await countTokensWithFallback(
347 [{ role: 'user', content: file.content }],
348 [],
349 )
350
351 return { file, tokens: tokens || 0 }
352 }),
353 )
354
355 for (const { file, tokens } of claudeMdTokenCounts) {
356 claudeMdTokens += tokens
357 memoryFileDetails.push({
358 path: file.path,
359 type: file.type,
360 tokens,
361 })
362 }
363
364 return { claudeMdTokens, memoryFileDetails }
365}
366
367async function countBuiltInToolTokens(
368 tools: Tools,

Callers 1

analyzeContextUsageFunction · 0.85

Calls 4

countTokensWithFallbackFunction · 0.85
isEnvTruthyFunction · 0.70
pushMethod · 0.45

Tested by

no test coverage detected