Skip to main content

PolicyEngine

Trait PolicyEngine 

Source
pub trait PolicyEngine: Send + Sync {
    // Required methods
    fn issue_token(
        &self,
        pack: &VerticalPackManifest,
        agent_id: &str,
        now_epoch_s: u64,
        ttl_s: u64,
    ) -> Result<CapabilityToken, PolicyError>;
    fn authorize(
        &self,
        token: &CapabilityToken,
        runtime_pack_id: &str,
        now_epoch_s: u64,
        required: &BTreeSet<Capability>,
    ) -> Result<(), PolicyError>;
    fn revoke_token(&self, token_id: &str) -> Result<(), PolicyError>;

    // Provided methods
    fn revoke_generation(&self, _below: u64) { ... }
    fn check_tool_call(&self, _request: &PolicyRequest) -> PolicyDecision { ... }
}

Required Methods§

Source

fn issue_token( &self, pack: &VerticalPackManifest, agent_id: &str, now_epoch_s: u64, ttl_s: u64, ) -> Result<CapabilityToken, PolicyError>

Source

fn authorize( &self, token: &CapabilityToken, runtime_pack_id: &str, now_epoch_s: u64, required: &BTreeSet<Capability>, ) -> Result<(), PolicyError>

Source

fn revoke_token(&self, token_id: &str) -> Result<(), PolicyError>

Provided Methods§

Implementors§