fix(realtime): handle response_cancel_not_active as non-fatal

This commit is contained in:
Om Chauhan
2026-02-21 18:26:31 +05:30
parent b67af19d47
commit a18aa738e0
3 changed files with 17 additions and 8 deletions

View File

@@ -511,6 +511,9 @@ class GrokRealtimeLLMService(LLMService):
elif evt.type == "response.function_call_arguments.done": elif evt.type == "response.function_call_arguments.done":
await self._handle_evt_function_call_arguments_done(evt) await self._handle_evt_function_call_arguments_done(evt)
elif evt.type == "error": elif evt.type == "error":
if evt.error.code == "response_cancel_not_active":
logger.warning(f"Non-fatal API error: {evt.error.message}")
else:
await self._handle_evt_error(evt) await self._handle_evt_error(evt)
return return

View File

@@ -577,6 +577,9 @@ class OpenAIRealtimeLLMService(LLMService):
await self._handle_evt_function_call_arguments_done(evt) await self._handle_evt_function_call_arguments_done(evt)
elif evt.type == "error": elif evt.type == "error":
if not await self._maybe_handle_evt_retrieve_conversation_item_error(evt): if not await self._maybe_handle_evt_retrieve_conversation_item_error(evt):
if evt.error.code == "response_cancel_not_active":
logger.warning(f"Non-fatal API error: {evt.error.message}")
else:
await self._handle_evt_error(evt) await self._handle_evt_error(evt)
# errors are fatal, so exit the receive loop # errors are fatal, so exit the receive loop
return return

View File

@@ -503,6 +503,9 @@ class OpenAIRealtimeBetaLLMService(LLMService):
await self._handle_evt_audio_transcript_delta(evt) await self._handle_evt_audio_transcript_delta(evt)
elif evt.type == "error": elif evt.type == "error":
if not await self._maybe_handle_evt_retrieve_conversation_item_error(evt): if not await self._maybe_handle_evt_retrieve_conversation_item_error(evt):
if evt.error.code == "response_cancel_not_active":
logger.warning(f"Non-fatal API error: {evt.error.message}")
else:
await self._handle_evt_error(evt) await self._handle_evt_error(evt)
# errors are fatal, so exit the receive loop # errors are fatal, so exit the receive loop
return return