polyguard-openenv / app /models /policy /policy_io.py
TheJackBright's picture
Deploy PolyGuard OpenEnv Space
877add7 verified
"""Policy serialization helpers."""
from __future__ import annotations
import json
from app.common.types import PolyGuardAction
def action_to_json(action: PolyGuardAction) -> str:
return json.dumps(action.model_dump(mode="json"), ensure_ascii=True)
def action_to_xml(action: PolyGuardAction) -> str:
payload = action.model_dump(mode="json")
lines = ["<decision>"]
for key in [
"mode",
"action_type",
"target_drug",
"replacement_drug",
"dose_bucket",
"taper_days",
"monitoring_plan",
"candidate_id",
"confidence",
"rationale_brief",
]:
lines.append(f" <{key}>{payload.get(key)}</{key}>")
lines.append("</decision>")
return "\n".join(lines)