using ZB.MOM.WW.MxGateway.Contracts.Proto;
namespace ZB.MOM.WW.MxGateway.Server.Alarms;
///
/// The outcome of one subtag watch-list resolution: the composed targets plus enough
/// provenance for the caller to tell an empty list that means "nothing was configured"
/// from one that means "discovery was configured and silently produced nothing"
/// (GWC-37). deliberately never throws
/// on a discovery failure, so without this the two are indistinguishable at the call site
/// and a Galaxy Repository outage at startup can only be found in a log line.
///
/// The resolved watch-list, in order; possibly empty.
///
/// Galaxy Repository discovery was enabled for this resolution
/// (Fallback:Discovery:UseGalaxyRepository).
///
///
/// Discovery was attempted and failed, so holds only what
/// configuration contributed.
///
///
/// The discovery failure's message, or null when discovery did not fail.
///
public sealed record AlarmWatchListResolution(
IReadOnlyList Targets,
bool DiscoveryAttempted,
bool DiscoveryFailed,
string? DiscoveryFailureMessage);