return results.length > 0 ? { kind: 'user-tool-results', uuid: msg.uuid, results, timestamp } : undefined;
}
// Mixed or text-only: text wins — matches prior behavior where tool_results
claudeReplayMapper.ts
// in a text-bearing envelope are dropped (they should already have been delivered).
return { kind: 'user-text', uuid: msg.uuid, text: textBlocks.map(b => b.text).join('\n'), timestamp };
}
function parseAssistantMessage(msg: SessionMessage, timestamp: string | undefined): ParsedSessionMessage | undefined {