MCPcopy
hub / github.com/codeaashu/claude-code / calculateAgentStats

Function calculateAgentStats

src/tools/AgentTool/UI.tsx:627–648  ·  view source on GitHub ↗
(progressMessages: ProgressMessage<Progress>[])

Source from the content-addressed store, hash-verified

625 </>;
626}
627function calculateAgentStats(progressMessages: ProgressMessage<Progress>[]): {
628 toolUseCount: number;
629 tokens: number | null;
630} {
631 const toolUseCount = count(progressMessages, msg => {
632 if (!hasProgressMessage(msg.data)) {
633 return false;
634 }
635 const message = msg.data.message;
636 return message.type === 'user' && message.message.content.some(content => content.type === 'tool_result');
637 });
638 const latestAssistant = progressMessages.findLast((msg): msg is ProgressMessage<AgentToolProgress> => hasProgressMessage(msg.data) && msg.data.message.type === 'assistant');
639 let tokens = null;
640 if (latestAssistant?.data.message.type === 'assistant') {
641 const usage = latestAssistant.data.message.message.usage;
642 tokens = (usage.cache_creation_input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0) + usage.input_tokens + usage.output_tokens;
643 }
644 return {
645 toolUseCount,
646 tokens
647 };
648}
649export function renderGroupedAgentToolUse(toolUses: Array<{
650 param: ToolUseBlockParam;
651 isResolved: boolean;

Callers 1

Calls 2

countFunction · 0.85
hasProgressMessageFunction · 0.85

Tested by

no test coverage detected