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