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", {}), )