namespace ZB.MOM.WW.OtOpcUa.Security.Audit;
///
/// Resolves the current HTTP principal's actor string for inclusion in a canonical
/// ZB.MOM.WW.Audit.AuditEvent as the Actor field.
///
///
/// The seam abstracts the identity source so that:
///
/// - production code uses (reads the
/// authenticated Blazor cookie principal from IHttpContextAccessor); and
/// - unit tests or non-HTTP contexts can substitute a stub or return
/// (which triggers the "system" fallback in
/// ).
///
///
/// Note: OtOpcUa has no live structured AuditEvent emit sites as of Phase 3
/// (all production audit flows through the bespoke stored-procedure path). This seam is
/// forward-looking — wired and tested so that future emit sites can call
/// and get the Auth principal automatically.
///
///
public interface IAuditActorAccessor
{
///
/// Returns the authenticated principal's actor string, or when
/// there is no current HTTP context or the user is not authenticated.
///
string? CurrentActor { get; }
}