diff --git a/crates/aether-ai/formats/src/formats/openai/chat/stream.rs b/crates/aether-ai/formats/src/formats/openai/chat/stream.rs index 632b83ab1..af2d9e54e 100644 --- a/crates/aether-ai/formats/src/formats/openai/chat/stream.rs +++ b/crates/aether-ai/formats/src/formats/openai/chat/stream.rs @@ -1840,7 +1840,7 @@ impl OpenAIResponsesProviderState { }); self.finished = true; } - "keepalive" => {} + "keepalive" | "ping" => {} event_type if openai_responses_stream_event_is_known_noop(event_type) => { self.ensure_started(report_context, &mut out); } diff --git a/crates/aether-ai/formats/src/formats/shared/stream_core/format_matrix.rs b/crates/aether-ai/formats/src/formats/shared/stream_core/format_matrix.rs index d81d47247..4f5e86d6f 100644 --- a/crates/aether-ai/formats/src/formats/shared/stream_core/format_matrix.rs +++ b/crates/aether-ai/formats/src/formats/shared/stream_core/format_matrix.rs @@ -1367,6 +1367,17 @@ mod tests { .expect("keepalive should be ignored"); assert!(keepalive.is_empty()); + let ping = matrix + .transform_line( + &report_context, + data_line(json!({ + "type": "ping", + "cost": "0", + })), + ) + .expect("provider ping should be ignored"); + assert!(ping.is_empty()); + for line in [ data_line(json!({ "type": "response.output_text.delta",