From a7cd5b0322ae65c7f433fe8f0672f72619ef0e09 Mon Sep 17 00:00:00 2001 From: Pulkit Date: Wed, 28 Jan 2026 23:15:03 +0530 Subject: [PATCH] fix: adding missing livekit transport configs --- changelog/3580.fixed.md | 1 + src/pipecat/runner/types.py | 15 +++++++++++++++ src/pipecat/runner/utils.py | 12 ++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 changelog/3580.fixed.md diff --git a/changelog/3580.fixed.md b/changelog/3580.fixed.md new file mode 100644 index 000000000..47f4aa6a2 --- /dev/null +++ b/changelog/3580.fixed.md @@ -0,0 +1 @@ +- Added missing `LiveKitRunnerArguments` and `LiveKitTransport` support in runner utilities to enable LiveKit transport configuration. diff --git a/src/pipecat/runner/types.py b/src/pipecat/runner/types.py index 4d480749a..0e997b963 100644 --- a/src/pipecat/runner/types.py +++ b/src/pipecat/runner/types.py @@ -106,3 +106,18 @@ class SmallWebRTCRunnerArguments(RunnerArguments): """ webrtc_connection: Any + + +@dataclass +class LiveKitRunnerArguments(RunnerArguments): + """LiveKit transport session arguments for the runner. + + Parameters: + room_name: LiveKit room name to join + token: Authentication token for the room + body: Additional request data + """ + + room_name: str + url: str + token: Optional[str] = None diff --git a/src/pipecat/runner/utils.py b/src/pipecat/runner/utils.py index 78f94b285..f54453d93 100644 --- a/src/pipecat/runner/utils.py +++ b/src/pipecat/runner/utils.py @@ -39,6 +39,7 @@ from loguru import logger from pipecat.runner.types import ( DailyRunnerArguments, + LiveKitRunnerArguments, SmallWebRTCRunnerArguments, WebSocketRunnerArguments, ) @@ -568,6 +569,17 @@ async def create_transport( return await _create_telephony_transport( runner_args.websocket, params, transport_type, call_data ) + elif isinstance(runner_args, LiveKitRunnerArguments): + params = _get_transport_params("livekit", transport_params) + + from pipecat.transports.livekit.transport import LiveKitTransport + + return LiveKitTransport( + runner_args.url, + runner_args.token, + runner_args.room_name, + params=params, + ) else: raise ValueError(f"Unsupported runner arguments type: {type(runner_args)}")