// Copyright (c) Microsoft. All rights reserved. using System; namespace Microsoft.Agents.AI.Workflows; /// /// An external request port for a with the specified request and response types. /// /// /// /// public record RequestPort(string Id, Type Request, Type Response) { /// /// Creates a new instance configured for the specified request and response types. /// /// The type of the request messages that the input port will accept. /// The type of the response messages that the input port will produce. /// The unique identifier for the input port. /// An instance associated with the specified , configured to handle /// requests of type and responses of type . public static RequestPort Create(string id) => new(id, typeof(TRequest), typeof(TResponse)); }; /// /// An external request port for a with the specified request and response types. /// /// /// /// /// public sealed record RequestPort(string Id, Type Request, Type Response, bool AllowWrapped = false) : RequestPort(Id, Request, Response);