import json import re from typing import Any _FENCE = re.compile(r"^```(?:json)?\s*(.*?)\s*```$", re.DOTALL) def parse_json_object(text: str) -> dict[str, Any] | None: """Best effort: models sometimes wrap JSON in ``` fences even when asked not to.""" candidate = text.strip() fenced = _FENCE.match(candidate) if fenced: candidate = fenced.group(1) try: value = json.loads(candidate) except ValueError: return None return value if isinstance(value, dict) else None