// Copyright (c) Microsoft Corporation. All rights reserved. // Modifier.cs #region snippet_Modifier using Microsoft.AutoGen.Contracts; using Microsoft.AutoGen.Core; using ModifyF = System.Func; namespace GettingStartedSample; [TypeSubscription("default")] public class Modifier( AgentId id, IAgentRuntime runtime, ModifyF modifyFunc ) : BaseAgent(id, runtime, "Modifier", null), IHandle { public async ValueTask HandleAsync(CountMessage item, MessageContext messageContext) { int newValue = modifyFunc(item.Content); Console.WriteLine($"\nModifier:\nModified {item.Content} to {newValue}"); CountUpdate updateMessage = new CountUpdate { NewCount = newValue }; await this.PublishMessageAsync(updateMessage, topic: new TopicId("default")); } } #endregion snippet_Modifier