fix: align image generation checks

This commit is contained in:
fawney19
2026-05-21 00:45:02 +08:00
parent 4d0c654822
commit 923515ab28
8 changed files with 41 additions and 20 deletions
@@ -1516,12 +1516,11 @@ fn provider_query_standard_execution_response_body(
provider_api_format: &str,
result: &aether_contracts::ExecutionResult,
) -> Option<Value> {
let body = provider_query_execution_json_body(result)
.or_else(|| {
provider_query_decode_execution_body(result).and_then(|body| {
provider_query_aggregate_standard_stream_sync_response(provider_api_format, &body)
})
})?;
let body = provider_query_execution_json_body(result).or_else(|| {
provider_query_decode_execution_body(result).and_then(|body| {
provider_query_aggregate_standard_stream_sync_response(provider_api_format, &body)
})
})?;
if result.status_code < 400
&& provider_query_normalize_api_format_alias(provider_api_format)
== "gemini:generate_content"
@@ -100,9 +100,8 @@ fn provider_query_execution_json_body_decodes_stream_encoded_json_response() {
"url": "https://example.test/image.png"
}]
});
let encoded_body = base64::engine::general_purpose::STANDARD.encode(
serde_json::to_vec(&body).expect("test body should serialize"),
);
let encoded_body = base64::engine::general_purpose::STANDARD
.encode(serde_json::to_vec(&body).expect("test body should serialize"));
let result = aether_contracts::ExecutionResult {
request_id: "request-1".to_string(),
candidate_id: None,
@@ -119,7 +118,10 @@ fn provider_query_execution_json_body_decodes_stream_encoded_json_response() {
error: None,
};
assert_eq!(provider_query_execution_json_body(&result), Some(body.clone()));
assert_eq!(
provider_query_execution_json_body(&result),
Some(body.clone())
);
assert_eq!(
provider_query_standard_execution_response_body("openai:image", &result),
Some(body)