StreamingResponseAggregator
Aggregates partial streaming responses into a single, cohesive response.
This class processes a stream of LlmResponse objects, handling partial text and function call arguments by buffering and merging them into complete Parts as they arrive.
The processResponse method should be called for each response in the stream. After all responses have been processed, the aggregate method should be called to retrieve the final aggregated LlmResponse containing all parts in the order they were received by the aggregator.