MCPcopy Create free account
hub / github.com/WJX20/claude-code / roughTokenCountEstimationForMessage

Function roughTokenCountEstimationForMessage

src/services/tokenEstimation.ts:341–369  ·  view source on GitHub ↗
(message: {
  type: string
  message?: { content?: unknown }
  attachment?: Attachment
})

Source from the content-addressed store, hash-verified

339}
340
341export function roughTokenCountEstimationForMessage(message: {
342 type: string
343 message?: { content?: unknown }
344 attachment?: Attachment
345}): number {
346 if (
347 (message.type === 'assistant' || message.type === 'user') &&
348 message.message?.content
349 ) {
350 return roughTokenCountEstimationForContent(
351 message.message?.content as
352 | string
353 | Array<Anthropic.ContentBlock>
354 | Array<Anthropic.ContentBlockParam>
355 | undefined,
356 )
357 }
358
359 if (message.type === 'attachment' && message.attachment) {
360 const userMessages = normalizeAttachmentForAPI(message.attachment)
361 let total = 0
362 for (const userMsg of userMessages) {
363 total += roughTokenCountEstimationForContent(userMsg.message.content)
364 }
365 return total
366 }
367
368 return 0
369}
370
371function roughTokenCountEstimationForContent(
372 content:

Callers 1

Tested by

no test coverage detected