(decision, availableDecisions)
| 620 | summary.methods[method] = (summary.methods[method] || 0) + 1; |
| 621 | const params = msg.params || {}; |
| 622 | const threadId = params.threadId || params.thread?.id || msg.result?.thread?.id; |
| 623 | const turnId = params.turnId || params.turn?.id || msg.result?.turn?.id; |
| 624 | if (threadId) summary.threads.add(threadId); |
| 625 | if (turnId) summary.turns.add(turnId); |
| 626 | if (method.startsWith('serverRequest/') || method.toLowerCase().includes('approval')) summary.approvals += 1; |
| 627 | if (method === 'item/commandExecution/outputDelta') { |
| 628 | summary.commandOutputBytes += String(params.delta || params.text || '').length; |
| 629 | } |
| 630 | if (method.startsWith('item/fileChange') || method === 'turn/diff/updated') { |
| 631 | summary.fileChanges += 1; |
| 632 | } |
| 633 | } |
| 634 | |
| 635 | return { |
| 636 | ...summary, |
| 637 | threads: [...summary.threads], |
no test coverage detected