fix(realtime): handle response_cancel_not_active as non-fatal
This commit is contained in:
@@ -511,8 +511,11 @@ 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":
|
||||||
await self._handle_evt_error(evt)
|
if evt.error.code == "response_cancel_not_active":
|
||||||
return
|
logger.warning(f"Non-fatal API error: {evt.error.message}")
|
||||||
|
else:
|
||||||
|
await self._handle_evt_error(evt)
|
||||||
|
return
|
||||||
|
|
||||||
async def _handle_evt_conversation_created(self, evt):
|
async def _handle_evt_conversation_created(self, evt):
|
||||||
"""Handle conversation.created event - first event after connecting."""
|
"""Handle conversation.created event - first event after connecting."""
|
||||||
|
|||||||
@@ -577,9 +577,12 @@ 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):
|
||||||
await self._handle_evt_error(evt)
|
if evt.error.code == "response_cancel_not_active":
|
||||||
# errors are fatal, so exit the receive loop
|
logger.warning(f"Non-fatal API error: {evt.error.message}")
|
||||||
return
|
else:
|
||||||
|
await self._handle_evt_error(evt)
|
||||||
|
# errors are fatal, so exit the receive loop
|
||||||
|
return
|
||||||
|
|
||||||
@traced_openai_realtime(operation="llm_setup")
|
@traced_openai_realtime(operation="llm_setup")
|
||||||
async def _handle_evt_session_created(self, evt):
|
async def _handle_evt_session_created(self, evt):
|
||||||
|
|||||||
@@ -503,9 +503,12 @@ 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):
|
||||||
await self._handle_evt_error(evt)
|
if evt.error.code == "response_cancel_not_active":
|
||||||
# errors are fatal, so exit the receive loop
|
logger.warning(f"Non-fatal API error: {evt.error.message}")
|
||||||
return
|
else:
|
||||||
|
await self._handle_evt_error(evt)
|
||||||
|
# errors are fatal, so exit the receive loop
|
||||||
|
return
|
||||||
|
|
||||||
@traced_openai_realtime(operation="llm_setup")
|
@traced_openai_realtime(operation="llm_setup")
|
||||||
async def _handle_evt_session_created(self, evt):
|
async def _handle_evt_session_created(self, evt):
|
||||||
|
|||||||
Reference in New Issue
Block a user