Harden coder model output handling

This commit is contained in:
Daniel Maddern 2026-08-15 13:51:28 +07:00
parent 083b99f999
commit ecd0bdfdff

View file

@ -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: