use super::records::DenialReason;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(tag = "kind", rename_all = "snake_case")]
pub enum NonoDiagnosticDetail {
SupervisedDenial { reason: DenialReason },
IpcDenial {
operation: String,
target: String,
ipc_reason: String,
},
SeatbeltViolation {
operation: String,
target: Option<String>,
},
StderrObservation {
observation_kind: StderrObservationKind,
},
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum StderrObservationKind {
LikelySandboxPath,
MissingPath,
ApplicationFailure,
ProtectedFileWrite,
NetworkBlocked,
}