"""Shared JSON helpers (fenced markdown, brace extraction).""" from __future__ import annotations import re _MARKDOWN_JSON_FENCE_RE = re.compile( r"^\s*```(?:json)?\s*(.*?)\s*```\s*$", re.IGNORECASE | re.DOTALL, ) def extract_json_payload(raw_response: str | None) -> str: """Strip optional ```json fences and return the outermost `{...}` object substring.""" cleaned = (raw_response or "").strip() fenced_match = _MARKDOWN_JSON_FENCE_RE.match(cleaned) if fenced_match: cleaned = fenced_match.group(1).strip() if cleaned.startswith("{") and cleaned.endswith("}"): return cleaned start = cleaned.find("{") end = cleaned.rfind("}") if start != -1 and end != -1 and end > start: return cleaned[start : end + 1].strip() return cleaned