From 4c8ef2f104ab2cb5e6c8fbda7e35a70c9c0d6908 Mon Sep 17 00:00:00 2001 From: anti Date: Sun, 10 May 2026 07:08:39 -0400 Subject: [PATCH] fix(orchestrator): _topology_personas accepts TopologySummary or dict --- decnet/orchestrator/scheduler.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/decnet/orchestrator/scheduler.py b/decnet/orchestrator/scheduler.py index dfc61e8d..fee4068a 100644 --- a/decnet/orchestrator/scheduler.py +++ b/decnet/orchestrator/scheduler.py @@ -311,17 +311,22 @@ async def _resolve_personas( return enriched -def _topology_personas(topology: Optional[dict[str, Any]]) -> list[EmailPersona]: +def _topology_personas(topology) -> list[EmailPersona]: if not topology: return [] - raw = topology.get("email_personas") + if isinstance(topology, dict): + raw = topology.get("email_personas") + lang = topology.get("language_default") or "en" + else: + raw = topology.email_personas + lang = topology.language_default or "en" if raw is None: return [] if isinstance(raw, list): - return parse_personas(raw, language_default=topology.get("language_default") or "en") + return parse_personas(raw, language_default=lang) if isinstance(raw, str): try: - return parse_personas(json.loads(raw), language_default=topology.get("language_default") or "en") + return parse_personas(json.loads(raw), language_default=lang) except json.JSONDecodeError: return [] return []