@using AIStudio.Agents.AssistantAudit @inherits MSGComponentBase @if (this.Plugin is not null) { var state = this.SecurityState;
@T("Assistant Security") @state.AuditLabel @if (!string.IsNullOrWhiteSpace(state.AvailabilityLabel)) { @state.AvailabilityLabel }
@state.Headline
@T("Confidence"): @this.GetConfidenceLabel() @this.GetFindingSummary() @this.GetAuditTimestampLabel() @state.Description
@T("Technical Details")
@T("Plugin ID") @this.Plugin.Id @T("Current hash") @GetShortHash(state.CurrentHash) @if (state.Audit is not null) { @T("Audit hash") @GetShortHash(state.Audit.PluginHash) @T("Audit provider") @this.GetAuditProviderLabel() @T("Audited at") @this.FormatFileTimestamp(state.Audit.AuditedAtUtc.ToLocalTime().DateTime) @T("Audit level") @state.AuditLabel @T("Availability") @state.AvailabilityLabel } @T("Required minimum") @state.Settings.MinimumLevel.GetName()
@if (state.Audit is null) { @T("No stored audit details are available yet.") } else if (state.Audit.Findings.Count == 0) { @T("No security findings were stored for this assistant plugin.") } else {
@foreach (var finding in state.Audit.Findings) { @finding.Category: @finding.Description @if (!string.IsNullOrWhiteSpace(finding.Location)) {
@finding.Location
}
}
}
@state.ActionLabel @T("Close")
}