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 { ... }
}