namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.DebugView;

/// <summary>
/// Asks one instance for a point-in-time <see cref="DebugViewSnapshot"/>.
/// </summary>
/// <param name="InstanceUniqueName">Unique name of the instance to snapshot.</param>
/// <param name="CorrelationId">Correlation id echoed on the reply.</param>
/// <param name="AlarmsOnly">
/// When <c>true</c> the site builds ONLY the alarm half of the snapshot and returns an
/// empty <see cref="DebugViewSnapshot.AttributeValues"/> list (wire efficiency, WP2.3).
/// Set by the central per-site live alarm cache, whose seed/reconcile fan-out discards
/// every attribute row anyway. Defaults to <c>false</c> so the Debug View and every other
/// caller keep the full snapshot; additive on the wire
/// (<c>DebugSnapshotRequestDto.alarms_only</c>, field 3).
/// </param>
public record DebugSnapshotRequest(
    string InstanceUniqueName,
    string CorrelationId,
    bool AlarmsOnly = false);
