// 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);