Under the hood
Transcript assembly now tracks which assistant responses had thinking stripped and removes those blocks before returning.
The message-history assembly function now derives a thinkingStrippedResponses set and strips thinking blocks from assistant messages whose IDs are in that set before returning the transcript.