open_ai: Preserve separators between reasoning summaries (#62466)
OpenAI reasoning summaries are streamed as multiple indexed parts, and each new reasoning output item starts its indexes at zero. The Responses event mapper previously treated those indexes as global, so adjacent reasoning items could be concatenated without whitespace, producing text such as `**First item****Second item**`. Track the current summary part by both its item ID and summary index, and emit a separator whenever that pair changes. Text delta events now retain their summary index as a fallback when a separate part-added event is absent, while sharing the same boundary handling to avoid duplicate separators. Testing performed: - `cargo check -p open_ai` - `cargo nextest run -p open_ai` - `cargo fmt -p open_ai -- --check` - `./script/clippy -p open_ai` Release Notes: - Fixed missing separators between OpenAI reasoning summaries.
L
Lukas Wirth committed
a49162656edfc73c85b856f7762bf827d1cfc118
Parent: 7807e4b
Committed by GitHub <noreply@github.com>
on 8/11/2026, 9:06:52 AM