From f778fae70cce350a62f13f017e88bd4bc76cee84 Mon Sep 17 00:00:00 2001 From: Jacob Date: Sat, 10 Oct 2026 20:15:25 -0400 Subject: [PATCH] fix: parse cloudflare run results --- src/server/system_one.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/server/system_one.rs b/src/server/system_one.rs index ac0bb84..780df5e 100644 --- a/src/server/system_one.rs +++ b/src/server/system_one.rs @@ -218,7 +218,7 @@ pub async fn create_system_one( continue; }; - let response = match upstream_response.json().await { + let response: serde_json::Value = match upstream_response.json().await { Ok(response) => response, Err(json_error) => { tracing::error!(?json_error); @@ -226,7 +226,28 @@ pub async fn create_system_one( } }; - return Ok(SystemOneResponse(response)); + match openai::system_one::SystemOneResponse::deserialize( + response.clone(), // TODO: not need to clone + ) { + Ok(response) => return Ok(SystemOneResponse(response)), + Err(structure_error) => { + #[derive(Deserialize)] + struct CloudflareRunResponse { + result: openai::system_one::SystemOneResponse, + success: bool, + errors: Vec, // TODO + messages: Vec, // TODO + } + + match CloudflareRunResponse::deserialize(response) { + Ok(response) => return Ok(SystemOneResponse(response.result)), + Err(cloudflare_structure_error) => { + tracing::error!(?structure_error); + tracing::error!(?cloudflare_structure_error); + } + } + } + } } Err(SystemOneError::NoneSucceeded) }