Builds a failed ChatResult exactly the way real provider drivers do:
the errorInfo comes from the REAL ErrorAnalyzer, so errorType,
severity, and canFailover match what AnthropicLLM / OpenAILLM / GeminiLLM
would report for this error. This is the value to use when testing failover
logic — drivers catch provider errors internally and RETURN this shape rather
than throwing (the historical failover bug class).
Builds a failed ChatResult exactly the way real provider drivers do: the
errorInfocomes from the REALErrorAnalyzer, soerrorType,severity, andcanFailovermatch what AnthropicLLM / OpenAILLM / GeminiLLM would report for this error. This is the value to use when testing failover logic — drivers catch provider errors internally and RETURN this shape rather than throwing (the historical failover bug class).