// Copyright (c) Microsoft Corporation. All rights reserved. // EchoAgent.cs using System.Runtime.CompilerServices; using AutoGen.Core; namespace AutoGen.Tests; public class EchoAgent : IStreamingAgent { public EchoAgent(string name) { Name = name; } public string Name { get; } public Task GenerateReplyAsync( IEnumerable conversation, GenerateReplyOptions? options = null, CancellationToken ct = default) { // return the most recent message var lastMessage = conversation.Last(); lastMessage.From = this.Name; return Task.FromResult(lastMessage); } public async IAsyncEnumerable GenerateStreamingReplyAsync(IEnumerable messages, GenerateReplyOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) { foreach (var message in messages) { message.From = this.Name; yield return message; } } }