MCPcopy Create free account
hub / github.com/Noumena-Network/code / countMemoryFileTokens

Function countMemoryFileTokens

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

Source from the content-addressed store, hash-verified

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

Callers 1

analyzeContextUsageFunction · 0.85

Calls 3

isEnvTruthyFunction · 0.90
countTokensWithFallbackFunction · 0.85

Tested by

no test coverage detected