diff --git a/src/pipecat/processors/frameworks/rtvi.py b/src/pipecat/processors/frameworks/rtvi.py index 8a7de1e96..062dc63a0 100644 --- a/src/pipecat/processors/frameworks/rtvi.py +++ b/src/pipecat/processors/frameworks/rtvi.py @@ -86,12 +86,16 @@ class RTVIMessage(BaseModel): data: Optional[RTVIMessageData] = None -class RTVIBasicResponse(BaseModel): - label: Literal["realtime-ai"] = "realtime-ai" +class RTVIResponseData(BaseModel): type: str success: bool error: Optional[str] = None +class RTVIResponse(BaseModel): + label: Literal["realtime-ai"] = "realtime-ai" + type: Literal["response"] = "response" + data: RTVIResponseData + class RTVILLMContextMessageData(BaseModel): messages: List[dict] @@ -363,6 +367,6 @@ class RTVIProcessor(FrameProcessor): if parent and self._start_frame: parent.link(pipeline) - message = RTVIBasicResponse(type=type, success=success, error=error) + message = RTVIResponse(data=RTVIResponseData(type=type, success=success, error=error)) frame = TransportMessageFrame(message=message.model_dump(exclude_none=True)) await self.push_frame(frame)