fix: keep reasoning visible throughout streaming lifecycle
Fixed issue where reasoning block disappeared when assistant message
started streaming, then reappeared after stream completion.
Root cause:
- Reasoning display was conditional on !currentStream.assistantMessage
- When assistant message started, entire reasoning block disappeared
- This made reasoning flash in and out during streaming
Solution:
- Separate status indicator logic from content display
- Status '(co is thinking)' only shows when reasoning but no other content
- Reasoning content always visible once it starts streaming
- Persists through tool calls and assistant message phases
Now the streaming flow is:
1. Reasoning starts: '(co is thinking)' + reasoning content
2. Tool calls appear: reasoning content + tool calls
3. Assistant message: reasoning + tool calls + '(co is saying)' + message
4. After completion: everything shows as finalized
The reasoning content never disappears once it starts streaming.