classDiagram Agent AgentChannel AggregatorAgent --> AggregatorMode class AggregatorMode { <> Flat Nested } Agent <|-- AggregatorAgent AggregatorAgent --> AggregatorChannel class AggregatorAgent { <> +AggregatorMode Mode #IEnumerable~String~ GetChannelKeys() #Task~AgentChannel~ CreateChannelAsync() } AgentChannel <|-- AggregatorChannel class AggregatorChannel { <> ~#IAsyncEnumerable~ChatMessageContent~ InvokeAsync(AggregatorAgent agent) ~#IAsyncEnumerable~ChatMessageContent~ GetHistoryAsync() ~#Task ReceiveAsync(IReadOnlyList~ChatMessageContent~ history) }