LiveKitTransport: deprecate LiveKitTransportMessage(Urgent)Frame

This commit is contained in:
Aleix Conchillo Flaqué
2025-09-25 14:22:34 -07:00
parent 4dc1e15a99
commit 089e703e1f
2 changed files with 59 additions and 7 deletions

View File

@@ -34,9 +34,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Deprecated ### Deprecated
- `LiveKitTransportMessageFrame` and `LiveKitTransportMessageUrgentFrame` are
deprecated, use `LiveKitOutputTransportMessageFrame` and
`LiveKitOutputTransportMessageUrgentFrame` respectively instead.
- `TransportMessageFrame` and `TransportMessageUrgentFrame` are deprecated, use - `TransportMessageFrame` and `TransportMessageUrgentFrame` are deprecated, use
`OutputTransportMessageFrame` and `OutputTransportMessageUrgentFrame` `OutputTransportMessageFrame` and `OutputTransportMessageUrgentFrame`
respectively. respectively instead.
- `InputTransportMessageUrgentFrame` is deprecated, use - `InputTransportMessageUrgentFrame` is deprecated, use
`InputTransportMessageFrame` instead. `InputTransportMessageFrame` instead.

View File

@@ -68,7 +68,7 @@ DTMF_CODE_MAP = {
@dataclass @dataclass
class LiveKitTransportMessageFrame(OutputTransportMessageFrame): class LiveKitOutputTransportMessageFrame(OutputTransportMessageFrame):
"""Frame for transport messages in LiveKit rooms. """Frame for transport messages in LiveKit rooms.
Parameters: Parameters:
@@ -79,7 +79,7 @@ class LiveKitTransportMessageFrame(OutputTransportMessageFrame):
@dataclass @dataclass
class LiveKitTransportMessageUrgentFrame(OutputTransportMessageUrgentFrame): class LiveKitOutputTransportMessageUrgentFrame(OutputTransportMessageUrgentFrame):
"""Frame for urgent transport messages in LiveKit rooms. """Frame for urgent transport messages in LiveKit rooms.
Parameters: Parameters:
@@ -89,6 +89,50 @@ class LiveKitTransportMessageUrgentFrame(OutputTransportMessageUrgentFrame):
participant_id: Optional[str] = None participant_id: Optional[str] = None
@dataclass
class LiveKitTransportMessageFrame(LiveKitOutputTransportMessageFrame):
"""Frame for transport messages in LiveKit rooms.
Parameters:
participant_id: Optional ID of the participant this message is for/from.
"""
def __post_init__(self):
super().__post_init__()
import warnings
with warnings.catch_warnings():
warnings.simplefilter("always")
warnings.warn(
"LiveKitTransportMessageFrame is deprecated and will be removed in a future version. "
"Instead, use LiveKitOutputTransportMessageFrame.",
DeprecationWarning,
stacklevel=2,
)
@dataclass
class LiveKitTransportMessageUrgentFrame(LiveKitOutputTransportMessageUrgentFrame):
"""Frame for urgent transport messages in LiveKit rooms.
Parameters:
participant_id: Optional ID of the participant this message is for/from.
"""
def __post_init__(self):
super().__post_init__()
import warnings
with warnings.catch_warnings():
warnings.simplefilter("always")
warnings.warn(
"LiveKitTransportMessageUrgentFrame is deprecated and will be removed in a future version. "
"Instead, use LiveKitOutputTransportMessageUrgentFrame.",
DeprecationWarning,
stacklevel=2,
)
class LiveKitParams(TransportParams): class LiveKitParams(TransportParams):
"""Configuration parameters for LiveKit transport. """Configuration parameters for LiveKit transport.
@@ -677,7 +721,7 @@ class LiveKitInputTransport(BaseInputTransport):
message: The message data to send. message: The message data to send.
sender: ID of the message sender. sender: ID of the message sender.
""" """
frame = LiveKitTransportMessageUrgentFrame(message=message, participant_id=sender) frame = LiveKitOutputTransportMessageUrgentFrame(message=message, participant_id=sender)
await self.push_frame(frame) await self.push_frame(frame)
async def _audio_in_task_handler(self): async def _audio_in_task_handler(self):
@@ -848,7 +892,9 @@ class LiveKitOutputTransport(BaseOutputTransport):
if isinstance(message, dict): if isinstance(message, dict):
# fix message encoding for dict-like messages, e.g. RTVI messages. # fix message encoding for dict-like messages, e.g. RTVI messages.
message = json.dumps(message, ensure_ascii=False) message = json.dumps(message, ensure_ascii=False)
if isinstance(frame, (LiveKitTransportMessageFrame, LiveKitTransportMessageUrgentFrame)): if isinstance(
frame, (LiveKitOutputTransportMessageFrame, LiveKitOutputTransportMessageUrgentFrame)
):
await self._client.send_data(message.encode(), frame.participant_id) await self._client.send_data(message.encode(), frame.participant_id)
else: else:
await self._client.send_data(message.encode()) await self._client.send_data(message.encode())
@@ -1107,7 +1153,9 @@ class LiveKitTransport(BaseTransport):
participant_id: Optional specific participant to send to. participant_id: Optional specific participant to send to.
""" """
if self._output: if self._output:
frame = LiveKitTransportMessageFrame(message=message, participant_id=participant_id) frame = LiveKitOutputTransportMessageFrame(
message=message, participant_id=participant_id
)
await self._output.send_message(frame) await self._output.send_message(frame)
async def send_message_urgent(self, message: str, participant_id: Optional[str] = None): async def send_message_urgent(self, message: str, participant_id: Optional[str] = None):
@@ -1118,7 +1166,7 @@ class LiveKitTransport(BaseTransport):
participant_id: Optional specific participant to send to. participant_id: Optional specific participant to send to.
""" """
if self._output: if self._output:
frame = LiveKitTransportMessageUrgentFrame( frame = LiveKitOutputTransportMessageUrgentFrame(
message=message, participant_id=participant_id message=message, participant_id=participant_id
) )
await self._output.send_message(frame) await self._output.send_message(frame)