I have an API using the responses streaming API. Occasionally on a long running call OpenAI will return a keepalive event. This event throws an exception and breaks the streaming.
java.util.concurrent.CompletionException: com.openai.errors.OpenAIInvalidDataException: Unknown ResponseStreamEvent: {type=keepalive, sequence_number=2}
at java.base/java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:413)
at java.base/java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2118)
at com.crisis24.horizonai.infra.out.ai.OpenAIServiceImpl.getAIResponse(OpenAIServiceImpl.java:187)
at com.crisis24.horizonai.core.domain.agent.core.Agent.execute(Agent.java:54)
at com.crisis24.horizonai.infra.out.ai.OpenAIServiceImpl.executeTool(OpenAIServiceImpl.java:386)
at com.crisis24.horizonai.infra.out.ai.OpenAIServiceImpl.lambda$executeToolCallsAsync$1(OpenAIServiceImpl.java:433)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: com.openai.errors.OpenAIInvalidDataException: Unknown ResponseStreamEvent: {type=keepalive, sequence_number=2}
at com.openai.models.responses.ResponseStreamEvent$Visitor.unknown(ResponseStreamEvent.kt:1925)
at com.openai.models.responses.ResponseStreamEvent.accept(ResponseStreamEvent.kt:679)
at com.openai.models.responses.ResponseStreamEvent.validate(ResponseStreamEvent.kt:689)
at com.openai.services.async.ResponseServiceAsyncImpl$WithRawResponseImpl$createStreaming$2$1$2$1.invoke(ResponseServiceAsyncImpl.kt:188)
It looks like this maps to an unknown stream event type and produces the error.
I have an API using the responses streaming API. Occasionally on a long running call OpenAI will return a keepalive event. This event throws an exception and breaks the streaming.
java.util.concurrent.CompletionException: com.openai.errors.OpenAIInvalidDataException: Unknown ResponseStreamEvent: {type=keepalive, sequence_number=2}
at java.base/java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:413)
at java.base/java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2118)
at com.crisis24.horizonai.infra.out.ai.OpenAIServiceImpl.getAIResponse(OpenAIServiceImpl.java:187)
at com.crisis24.horizonai.core.domain.agent.core.Agent.execute(Agent.java:54)
at com.crisis24.horizonai.infra.out.ai.OpenAIServiceImpl.executeTool(OpenAIServiceImpl.java:386)
at com.crisis24.horizonai.infra.out.ai.OpenAIServiceImpl.lambda$executeToolCallsAsync$1(OpenAIServiceImpl.java:433)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: com.openai.errors.OpenAIInvalidDataException: Unknown ResponseStreamEvent: {type=keepalive, sequence_number=2}
at com.openai.models.responses.ResponseStreamEvent$Visitor.unknown(ResponseStreamEvent.kt:1925)
at com.openai.models.responses.ResponseStreamEvent.accept(ResponseStreamEvent.kt:679)
at com.openai.models.responses.ResponseStreamEvent.validate(ResponseStreamEvent.kt:689)
at com.openai.services.async.ResponseServiceAsyncImpl$WithRawResponseImpl$createStreaming$2$1$2$1.invoke(ResponseServiceAsyncImpl.kt:188)
It looks like this maps to an unknown stream event type and produces the error.