Harden coder model output handling
This commit is contained in:
parent
083b99f999
commit
ecd0bdfdff
1 changed files with 5 additions and 1 deletions
|
|
@ -5,6 +5,7 @@ from dataclasses import dataclass
|
||||||
from control_plane.agents.models import AgentVersion
|
from control_plane.agents.models import AgentVersion
|
||||||
from control_plane.projects.models import Project
|
from control_plane.projects.models import Project
|
||||||
from model_router.providers import extract_json_object
|
from model_router.providers import extract_json_object
|
||||||
|
from model_router.providers import ProviderError
|
||||||
from model_router.router import ModelCapability, ModelRequestContract, ModelRouter
|
from model_router.router import ModelCapability, ModelRequestContract, ModelRouter
|
||||||
from tools.runtime import WorktreeTools
|
from tools.runtime import WorktreeTools
|
||||||
|
|
||||||
|
|
@ -39,7 +40,10 @@ class Coder:
|
||||||
)
|
)
|
||||||
plan = response.metadata.get("operations", [])
|
plan = response.metadata.get("operations", [])
|
||||||
if not plan:
|
if not plan:
|
||||||
|
try:
|
||||||
parsed = extract_json_object(response.content)
|
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", [])
|
plan = parsed.get("operations", [])
|
||||||
changed_files: list[str] = []
|
changed_files: list[str] = []
|
||||||
for operation in plan:
|
for operation in plan:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue