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

Function countVisibleMessages

src/utils/sessionStorage.ts:2454–2478  ·  view source on GitHub ↗

* Counts visible messages that would appear as conversation turns in the UI. * Excludes: * - System, attachment, and progress messages * - User messages with isMeta flag (hidden from user) * - User messages that only contain tool_result blocks (displayed as collapsed groups) * - Assistant messa

(transcript: TranscriptMessage[])

Source from the content-addressed store, hash-verified

2452 * - Assistant messages that only contain tool_use blocks (displayed as collapsed groups)
2453 */
2454function countVisibleMessages(transcript: TranscriptMessage[]): number {
2455 let count = 0
2456 for (const message of transcript) {
2457 switch (message.type) {
2458 case 'user':
2459 // Count user messages with visible content (text, image, not just tool_result or meta)
2460 if (hasVisibleUserContent(message)) {
2461 count++
2462 }
2463 break
2464 case 'assistant':
2465 // Count assistant messages with text content (not just tool_use)
2466 if (hasVisibleAssistantContent(message)) {
2467 count++
2468 }
2469 break
2470 case 'attachment':
2471 case 'system':
2472 case 'progress':
2473 // These message types are not counted as visible conversation turns
2474 break
2475 }
2476 }
2477 return count
2478}
2479
2480function convertToLogOption(
2481 transcript: TranscriptMessage[],

Callers 3

convertToLogOptionFunction · 0.85
loadFullLogFunction · 0.85

Calls 2

hasVisibleUserContentFunction · 0.85

Tested by

no test coverage detected