// Copyright (c) Microsoft. All rights reserved.
using System.Collections.Generic;
using Microsoft.Agents.AI.Workflows.Execution;
namespace Microsoft.Agents.AI.Workflows;
///
/// Represents a connection from a set of nodes to a single node. It will trigger either when all edges have data.
///
internal sealed class FanInEdgeData : EdgeData
{
internal FanInEdgeData(List sourceIds, string sinkId, EdgeId id, string? label) : base(id, label)
{
this.SourceIds = sourceIds;
this.SinkId = sinkId;
this.Connection = new(sourceIds, [sinkId]);
}
///
/// The ordered list of Ids of the source nodes.
///
public List SourceIds { get; }
///
/// The Id of the destination node.
///
public string SinkId { get; }
///
internal override EdgeConnection Connection { get; }
}