from praisonaiagents.policy import (
PolicyEngine, Policy, PolicyRule, PolicyAction, create_network_policy
)
engine = PolicyEngine()
policy = Policy(
name="no_delete",
rules=[
PolicyRule(
action=PolicyAction.DENY,
resource="tool:delete_*",
reason="Delete operations blocked"
)
]
)
engine.add_policy(policy)
result = engine.check("tool:delete_file", {})
print(f"Allowed: {result.allowed}")
# Gate outbound requests by destination host
engine.add_policy(create_network_policy(
allow_hosts=["api.mycorp.com"],
deny_hosts=["169.254.169.254"], # block cloud metadata
))
print(engine.check_network("api.mycorp.com").allowed) # True
print(engine.check_network("169.254.169.254").allowed) # False