use crate::approvals::NetworkApprovalProtocol; use codex_network_proxy::NetworkDecisionSource; use codex_network_proxy::NetworkPolicyDecision; use serde::Deserialize; #[derive(Debug, Clone, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct NetworkPolicyDecisionPayload { pub decision: NetworkPolicyDecision, pub source: NetworkDecisionSource, #[serde(default)] pub protocol: Option, pub host: Option, pub reason: Option, pub port: Option, } impl NetworkPolicyDecisionPayload { pub fn is_ask_from_decider(&self) -> bool { self.decision == NetworkPolicyDecision::Ask && self.source == NetworkDecisionSource::Decider } }