SIGN IN SIGN UP

fix(chat): show a message sent mid-turn as a message, not a strip

A message sent while the agent is replying reaches it over the native
_session/steering channel, and the agent records it as a user message.
The live view dropped the echo, so the only trace was the strip above
the composer, which then sat there for the rest of the turn. And with
no user turn between them, the reply to that message continued inside
the same assistant bubble as the one before it, running two separate
answers together mid-paragraph.

A delivered note now becomes a `steering` block on the live message,
which closes the assistant turn at that point, renders the message as
its own user turn, and starts the reply to it as a new turn. That is
what the transcript projection already does with a mid-turn
user_message_chunk, so the live view and a reload agree; a mid-turn
detail fetch that brings back the agent's own copy is matched on
content and the live copy kept, since only it sits in the right place.

Pending notes are untouched: the check_user_feedback pull channel
reaches the agent as a tool result, never as a user message, so those
stay strips. Queued messages, which are not delivered until the turn
ends, are untouched too.
A
Adam Dalloul committed
5cc79a81a52e640123f6b3f31c5a8b5cb12fd3e2
Parent: f497521