From ecd0bdfdff8e882565ce1c95a86403995eaa34ca Mon Sep 17 00:00:00 2001 From: Daniel Maddern Date: Sat, 15 Aug 2026 13:51:28 +0700 Subject: [PATCH] Harden coder model output handling --- agents/coder.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agents/coder.py b/agents/coder.py index 28f88ce..9bc3089 100644 --- a/agents/coder.py +++ b/agents/coder.py @@ -5,6 +5,7 @@ from dataclasses import dataclass from control_plane.agents.models import AgentVersion from control_plane.projects.models import Project from model_router.providers import extract_json_object +from model_router.providers import ProviderError from model_router.router import ModelCapability, ModelRequestContract, ModelRouter from tools.runtime import WorktreeTools @@ -39,7 +40,10 @@ class Coder: ) plan = response.metadata.get("operations", []) if not plan: - parsed = extract_json_object(response.content) + try: + parsed = extract_json_object(response.content) + except ProviderError as exc: + return CoderResult("FAILED", str(exc), [], {"raw_response_chars": len(response.content)}) plan = parsed.get("operations", []) changed_files: list[str] = [] for operation in plan: