Yields one chat-model stream per message-start event.
Subsequent events route to the matching stream via stream.dispatch(data).
Mirrors the per-event body of _MessagesProjection._messages_iter
(_async/stream.py:404-458). The subscription open/close and the
_root_messages_inbox drain branch stay at the projection layer.
Events whose namespace differs are ignored (scope filter).
Keyword-only (namespace, node, message_id) -> stream.
Sync binds ChatModelStream; async binds AsyncChatModelStream.