diff --git a/src/providers/deepseek.rs b/src/providers/deepseek.rs index 7028b6ba..a643a11d 100644 --- a/src/providers/deepseek.rs +++ b/src/providers/deepseek.rs @@ -231,8 +231,12 @@ impl super::Provider for DeepSeekProvider { tracing::debug!("Offending DeepSeek Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default()); Err(AppError::ProviderError(format!("DeepSeek API error ({}): {}", status, error_body)))?; } - _ => { - Err(AppError::ProviderError(format!("Stream error: {}", e)))?; + Ok(_) => { + Err(AppError::ProviderError(format!("Stream error (probe returned 200): {}", e)))?; + } + Err(probe_err) => { + tracing::error!("DeepSeek Stream Error Probe failed: {}", probe_err); + Err(AppError::ProviderError(format!("Stream error (probe failed: {}): {}", probe_err, e)))?; } } } diff --git a/src/providers/openai.rs b/src/providers/openai.rs index 9bbff7cc..dfbfa54d 100644 --- a/src/providers/openai.rs +++ b/src/providers/openai.rs @@ -351,8 +351,14 @@ impl super::Provider for OpenAIProvider { tracing::debug!("Offending OpenAI Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default()); Err(AppError::ProviderError(format!("OpenAI API error ({}): {}", status, error_body)))?; } - _ => { - Err(AppError::ProviderError(format!("Stream error: {}", e)))?; + Ok(_) => { + // Probe returned success? This is unexpected if the original stream failed. + Err(AppError::ProviderError(format!("Stream error (probe returned 200): {}", e)))?; + } + Err(probe_err) => { + // Probe itself failed + tracing::error!("OpenAI Stream Error Probe failed: {}", probe_err); + Err(AppError::ProviderError(format!("Stream error (probe failed: {}): {}", probe_err, e)))?; } } }