// Copyright (c) Microsoft Corporation. All rights reserved.
// TestProtobufAgent.cs
using Microsoft.AutoGen.Contracts;
using Microsoft.AutoGen.Core.Grpc.Tests.Protobuf;
using Microsoft.Extensions.Logging;
namespace Microsoft.AutoGen.Core.Grpc.Tests;
///
/// The test agent is a simple agent that is used for testing purposes.
///
public class TestProtobufAgent(AgentId id,
IAgentRuntime runtime,
Logger? logger = null) : BaseAgent(id, runtime, "Test Agent", logger),
IHandle,
IHandle
{
public ValueTask HandleAsync(TextMessage item, MessageContext messageContext)
{
ReceivedMessages[item.Source] = item.Content;
return ValueTask.CompletedTask;
}
public ValueTask HandleAsync(RpcTextMessage item, MessageContext messageContext)
{
ReceivedMessages[item.Source] = item.Content;
return ValueTask.FromResult(new RpcTextMessage { Source = item.Source, Content = item.Content });
}
public List