OpenAgentID documentation
Source referencesRust module referencearsenal-policy

arsenal-policy · crate

Declared module signatures, types, configuration, and source documentation.

Source: arsenal/crates/arsenal-policy/src/lib.rs. SHA-256: 6c9d8fd45c446ec98067a79fe50ca4abcef78738ee12bdc12d827f20f9f44c8c.

This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.

pub use arsenal_core::policy::{

ConditionOperator, PolicyCondition, PolicyDecision, PolicyDocument, PolicyEffect, PolicyId, PolicyRequest, PolicyRule, };

pub use arsenal_core::policy::{
    ConditionOperator, PolicyCondition, PolicyDecision, PolicyDocument, PolicyEffect, PolicyId,
    PolicyRequest, PolicyRule,
};

Source line: 13.

::PolicyEngine

Policy engine for evaluating multiple policies

pub struct PolicyEngine {

}

Source line: 19.

::PolicyEngine::new

Create a new policy engine

#[must_use]
pub fn new() -> Self;

Source line: 27.

::PolicyEngine::add_policy

Add a policy

pub fn add_policy(&mut self, policy: PolicyDocument);

Source line: 34.

::PolicyEngine::remove_policy

Remove a policy

pub fn remove_policy(&mut self, policy_id: &str) -> Option<PolicyDocument>;

Source line: 39.

::PolicyEngine::evaluate

Evaluate all policies for a request

Returns the decision from the highest-priority matching policy. If no policies match, returns Deny by default.

#[must_use]
pub fn evaluate(&self, request: &PolicyRequest) -> PolicyDecision;

Source line: 48.

::PolicyEngine::get_policy

Get a policy by ID

#[must_use]
pub fn get_policy(&self, policy_id: &str) -> Option<&PolicyDocument>;

Source line: 69.

::PolicyEngine::policy_ids

Get all policy IDs

#[must_use]
pub fn policy_ids(&self) -> Vec<String>;

Source line: 75.

On this page