fix: code result included "error" field (#22392)

This commit is contained in:
quicksand
2025-07-15 13:55:00 +08:00
committed by GitHub
parent 9823edd3a2
commit 5247c19498

View File

@@ -45,17 +45,13 @@ class TemplateTransformer(ABC):
result_str = cls.extract_result_str_from_response(response) result_str = cls.extract_result_str_from_response(response)
result = json.loads(result_str) result = json.loads(result_str)
except json.JSONDecodeError as e: except json.JSONDecodeError as e:
raise ValueError(f"Failed to parse JSON response: {str(e)}. Response content: {result_str[:200]}...") raise ValueError(f"Failed to parse JSON response: {str(e)}.")
except ValueError as e: except ValueError as e:
# Re-raise ValueError from extract_result_str_from_response # Re-raise ValueError from extract_result_str_from_response
raise e raise e
except Exception as e: except Exception as e:
raise ValueError(f"Unexpected error during response transformation: {str(e)}") raise ValueError(f"Unexpected error during response transformation: {str(e)}")
# Check if the result contains an error
if isinstance(result, dict) and "error" in result:
raise ValueError(f"JavaScript execution error: {result['error']}")
if not isinstance(result, dict): if not isinstance(result, dict):
raise ValueError(f"Result must be a dict, got {type(result).__name__}") raise ValueError(f"Result must be a dict, got {type(result).__name__}")
if not all(isinstance(k, str) for k in result): if not all(isinstance(k, str) for k in result):