There are key moments in the chat lifecycle where we know for certain that future streams will no longer update the previous content. For example, during the tool call loop, when we receive a tool request, or a tool result, we could stop the current stream and start a new stream.
The advantage of this approach is that it would provide a light-weight way to prevent stream updates — e.g. in messages after a tool request/result — from causing previous content from re-rendering in the browser. This is particularly important with #52.