Pure policy checks for event-driven runtime enforcement.
Summary
Types
@type runtime_state() :: %{ optional(:tool_calls) => non_neg_integer(), optional(:total_tokens) => non_neg_integer(), optional(:elapsed_ms) => non_neg_integer(), optional(:accumulated_cost_usd) => float(), optional(:cost_supported?) => boolean() }
@type violation() :: %{ policy: String.t(), kind: atom(), action: AgentSessionManager.Policy.Policy.on_violation(), details: map() }
Functions
@spec evaluate( AgentSessionManager.Policy.Policy.t(), runtime_state(), map(), keyword() ) :: [ violation() ]