decode method
Splits a raw generated-token stream into M.E.AI updates, separating
prose (TextContent), reasoning (TextReasoningContent), and tool
calls (FunctionCallContent).
Text and tool calls must be emitted in separate updates:
FunctionInvokingChatClient suppresses any update carrying a function
call, so combining them would drop the prose.
Implementation
@override
Stream<ChatResponseUpdate> decode(Stream<String> tokens) =>
_decoder.decode(tokens);