Spaces:
Running
Running
| """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) | |