// Copyright (c) Microsoft. All rights reserved. using System; using System.Threading; using System.Threading.Tasks; namespace Microsoft.Extensions.AI.Agents.Runtime.InProcess; internal sealed class MessageDelivery(MessageEnvelope message, Func servicer, Task resultTask) { public MessageEnvelope Message { get; } = message; public Func Servicer { get; } = servicer; public Task ResultTask { get; } = resultTask; public ValueTask InvokeAsync(CancellationToken cancellation) => this.Servicer(this.Message, cancellation); }