More RTVI version parsing improvements
This commit is contained in:
committed by
Mattie Ruth
parent
3e255f3d21
commit
0f47076703
@@ -268,10 +268,19 @@ class RTVIProcessor(FrameProcessor):
|
|||||||
match message.type:
|
match message.type:
|
||||||
case "client-ready":
|
case "client-ready":
|
||||||
data = None
|
data = None
|
||||||
try:
|
raw = message.data or {}
|
||||||
data = RTVI.ClientReadyData.model_validate(message.data)
|
version = raw.get("version")
|
||||||
except ValidationError:
|
if isinstance(version, str):
|
||||||
pass
|
about = RTVI.AboutClientData(library="unknown")
|
||||||
|
about_raw = raw.get("about")
|
||||||
|
if about_raw is not None:
|
||||||
|
try:
|
||||||
|
about = RTVI.AboutClientData.model_validate(about_raw)
|
||||||
|
except ValidationError:
|
||||||
|
logger.warning(
|
||||||
|
"Invalid 'about' data in client-ready message, ignoring."
|
||||||
|
)
|
||||||
|
data = RTVI.ClientReadyData(version=version, about=about)
|
||||||
await self._handle_client_ready(message.id, data)
|
await self._handle_client_ready(message.id, data)
|
||||||
case "disconnect-bot":
|
case "disconnect-bot":
|
||||||
await self.push_frame(EndTaskFrame(), FrameDirection.UPSTREAM)
|
await self.push_frame(EndTaskFrame(), FrameDirection.UPSTREAM)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import AsyncMock, patch
|
from unittest.mock import AsyncMock
|
||||||
|
|
||||||
import pipecat.processors.frameworks.rtvi.models as RTVI
|
import pipecat.processors.frameworks.rtvi.models as RTVI
|
||||||
from pipecat.processors.frameworks.rtvi.processor import RTVIProcessor
|
from pipecat.processors.frameworks.rtvi.processor import RTVIProcessor
|
||||||
|
|||||||
Reference in New Issue
Block a user