Codex Handbook
protocol/src/network_policy.rs 22 lines
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<NetworkApprovalProtocol>,    pub host: Option<String>,    pub reason: Option<String>,    pub port: Option<u16>,}impl NetworkPolicyDecisionPayload {    pub fn is_ask_from_decider(&self) -> bool {        self.decision == NetworkPolicyDecision::Ask && self.source == NetworkDecisionSource::Decider    }}