pub struct CompiledPolicy {Show 15 fields
pub policy: Policy,
pub tool_matcher: CompiledToolMatcher,
pub require_approval: bool,
pub forbidden_parameters: Vec<String>,
pub required_parameters: Vec<String>,
pub constraints: Vec<CompiledConstraint>,
pub on_no_match_continue: bool,
pub deny_reason: String,
pub approval_reason: String,
pub forbidden_reasons: Vec<String>,
pub required_reasons: Vec<String>,
pub compiled_path_rules: Option<CompiledPathRules>,
pub compiled_network_rules: Option<CompiledNetworkRules>,
pub compiled_ip_rules: Option<CompiledIpRules>,
pub context_conditions: Vec<CompiledContextCondition>,
}Expand description
A policy with all patterns pre-compiled for zero-lock evaluation.
Created by crate::PolicyEngine::compile_policies or crate::PolicyEngine::with_policies.
Stores the original Policy alongside pre-compiled matchers so that
evaluate_action requires zero Mutex acquisitions.
Fields§
§policy: Policy§tool_matcher: CompiledToolMatcher§require_approval: bool§forbidden_parameters: Vec<String>§required_parameters: Vec<String>§constraints: Vec<CompiledConstraint>§on_no_match_continue: boolWhen true, return None (skip to next policy) instead of Allow when no
constraints fire. Set via on_no_match: "continue" in conditions JSON.
deny_reason: StringPre-computed “Denied by policy ‘NAME’” reason string.
approval_reason: StringPre-computed “Approval required by policy ‘NAME’” reason string.
forbidden_reasons: Vec<String>Pre-computed “Parameter ‘P’ is forbidden by policy ‘NAME’” for each forbidden param.
required_reasons: Vec<String>Pre-computed “Required parameter ‘P’ missing (policy ‘NAME’)” for each required param.
compiled_path_rules: Option<CompiledPathRules>Pre-compiled path access control rules (from policy.path_rules).
compiled_network_rules: Option<CompiledNetworkRules>Pre-compiled network access control rules (from policy.network_rules).
compiled_ip_rules: Option<CompiledIpRules>Pre-compiled IP access control rules (DNS rebinding protection).
context_conditions: Vec<CompiledContextCondition>Pre-compiled context conditions (from conditions JSON context_conditions key).
Trait Implementations§
Source§impl Clone for CompiledPolicy
impl Clone for CompiledPolicy
Source§fn clone(&self) -> CompiledPolicy
fn clone(&self) -> CompiledPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more