Skip to main content

compile_policy_block_value

Function compile_policy_block_value 

Source
pub fn compile_policy_block_value(
    source: &str,
    block: &Value,
) -> Result<CompiledRoute, ParseError>
Expand description

Compile a single APL policy block from a serde_yaml::Value whose shape is the body of a route’s apl: block:

args:
  employee_id: "str"
authorization:
  pre_invocation:
    - "require(authenticated)"
  post_invocation:
    - "taint(forward)"
result:
  ssn: "redact(!perm.view_ssn)"

Used by external orchestrators (apl-cpex’s AplConfigVisitor) that have already located an APL block inside a larger unified-config YAML. source is woven into per-rule / per-pipeline diagnostic paths. Returns an empty CompiledRoute when the value is null or contains no APL fields — callers that want a “is this empty?” gate can check declared_phases().is_empty() on the result.