// Copyright (c) Microsoft. All rights reserved. using System.Threading.Tasks; using Microsoft.Agents.AI.Workflows.Specialized; using Microsoft.Shared.Diagnostics; namespace Microsoft.Agents.AI.Workflows; /// /// Represents the registration details for a request port, including configuration for allowing wrapped requests. /// /// The request port. /// true to allow wrapped requests to be handled by the port; otherwise, false. /// The default is true. public record RequestPortBinding(RequestPort Port, bool AllowWrapped = true) : ExecutorBinding(Throw.IfNull(Port).Id, (_) => new ValueTask(new RequestInfoExecutor(Port, AllowWrapped)), typeof(RequestInfoExecutor), Port) { /// public override bool IsSharedInstance => false; /// public override bool SupportsConcurrentSharedExecution => true; /// public override bool SupportsResetting => false; }