guardrail-space-verifiable-.../guardrail_space/contracts.py

24 lines
726 B
Python

import json
class SafetyContract:
def __init__(self, name=None, pre=None, post=None, budgets=None, collision_rules=None, trust_policy=None):
self.name = name
self.pre = pre
self.post = post
self.budgets = budgets or {}
self.collision_rules = collision_rules or []
self.trust_policy = trust_policy or {}
def parse_safety_contract_from_json(text: str) -> SafetyContract:
data = json.loads(text)
return SafetyContract(
name=data.get("name"),
pre=data.get("pre"),
post=data.get("post"),
budgets=data.get("budgets", {}),
collision_rules=data.get("collision_rules", []),
trust_policy=data.get("trust_policy", {}),
)