feat(alarms): carry AlarmTypeName + operator Comment on AlarmTransitionEvent (historian feed prep)

This commit is contained in:
Joseph Doherty
2026-06-11 11:03:00 -04:00
parent cd72f79ef4
commit 8ac3ac5be9
5 changed files with 61 additions and 4 deletions
@@ -598,7 +598,17 @@ public sealed class ScriptedAlarmEngine : IDisposable
Message: message,
Condition: condition,
Emission: kind,
TimestampUtc: _clock());
TimestampUtc: _clock(),
// Operator comment rides along on comment-bearing transitions — the condition
// state already carries it. Engine-driven transitions (Activated/Cleared/Shelved/…)
// and shelve ops (no comment param) leave it null.
Comment: kind switch
{
EmissionKind.Acknowledged => condition.LastAckComment,
EmissionKind.Confirmed => condition.LastConfirmComment,
EmissionKind.CommentAdded => condition.Comments.Count == 0 ? null : condition.Comments[^1].Text,
_ => null,
});
}
/// <summary>
@@ -823,7 +833,8 @@ public sealed record ScriptedAlarmEvent(
string Message,
AlarmConditionState Condition,
EmissionKind Emission,
DateTime TimestampUtc);
DateTime TimestampUtc,
string? Comment = null);
/// <summary>
/// Upstream source abstraction — intentionally identical shape to the virtual-tag