From e2a576becab5edd2655e605809901699a8a9b0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 5 Aug 2025 13:59:38 -0700 Subject: [PATCH 1/4] RunnerArguments: add handle_sigint/handle_sigterm --- CHANGELOG.md | 4 ++++ src/pipecat/runner/types.py | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89f990a93..2323b8d10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Added new `handle_sigint` and `handle_sigterm` to `RunnerArguments`. This + allows applications to know what settings they should use for the environment + they are running on. + - Added `processor` field to `ErrorFrame` to indicate `FrameProcessor` that generated the error. diff --git a/src/pipecat/runner/types.py b/src/pipecat/runner/types.py index d093b09dd..33bf3b160 100644 --- a/src/pipecat/runner/types.py +++ b/src/pipecat/runner/types.py @@ -10,7 +10,7 @@ These types are used by the development runner to pass transport-specific information to bot functions. """ -from dataclasses import dataclass +from dataclasses import dataclass, field from typing import Any from fastapi import WebSocket @@ -20,7 +20,12 @@ from fastapi import WebSocket class RunnerArguments: """Base class for runner session arguments.""" - pass + handle_sigint: bool = field(init=False) + handle_sigterm: bool = field(init=False) + + def __post_init__(self): + self.handle_sigint = True + self.handle_sigterm = False @dataclass From 627b44bac2a6464a80a8ce7f94b8713e3586b518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 5 Aug 2025 14:00:18 -0700 Subject: [PATCH 2/4] runner: use new RunnerArguments handle_sigint/handle_sigterm This allow us to control applications behavior from the runner arguments, which depen on the environment they run. --- src/pipecat/runner/run.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pipecat/runner/run.py b/src/pipecat/runner/run.py index 77902adfd..ff4a09c35 100644 --- a/src/pipecat/runner/run.py +++ b/src/pipecat/runner/run.py @@ -145,6 +145,7 @@ async def _run_telephony_bot(websocket: WebSocket): # Just pass the WebSocket - let the bot handle parsing runner_args = WebSocketRunnerArguments(websocket=websocket) + runner_args.handle_sigint = False await bot_module.bot(runner_args) @@ -222,6 +223,7 @@ def _setup_webrtc_routes(app: FastAPI, esp32_mode: bool = False, host: str = "lo bot_module = _get_bot_module() runner_args = SmallWebRTCRunnerArguments(webrtc_connection=pipecat_connection) + runner_args.handle_sigint = False background_tasks.add_task(bot_module.bot, runner_args) answer = pipecat_connection.get_answer() @@ -264,6 +266,7 @@ def _setup_daily_routes(app: FastAPI): # Start the bot in the background with empty body for GET requests bot_module = _get_bot_module() runner_args = DailyRunnerArguments(room_url=room_url, token=token, body={}) + runner_args.handle_sigint = False asyncio.create_task(bot_module.bot(runner_args)) return RedirectResponse(room_url) @@ -308,6 +311,7 @@ def _setup_daily_routes(app: FastAPI): # Start the bot in the background with extracted body data bot_module = _get_bot_module() runner_args = DailyRunnerArguments(room_url=room_url, token=token, body=bot_body) + runner_args.handle_sigint = False asyncio.create_task(bot_module.bot(runner_args)) # Match PCC /start endpoint response format: return {"dailyRoom": room_url, "dailyToken": token} From 21e4f0d56d5834e19c573475cf6dd2fd9f3d6662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 5 Aug 2025 14:01:37 -0700 Subject: [PATCH 3/4] PipelineRunner: argument ordering --- src/pipecat/pipeline/runner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pipecat/pipeline/runner.py b/src/pipecat/pipeline/runner.py index 2f3a8d7de..019007e32 100644 --- a/src/pipecat/pipeline/runner.py +++ b/src/pipecat/pipeline/runner.py @@ -36,18 +36,18 @@ class PipelineRunner(BaseObject): *, name: Optional[str] = None, handle_sigint: bool = True, + handle_sigterm: bool = False, force_gc: bool = False, loop: Optional[asyncio.AbstractEventLoop] = None, - handle_sigterm: bool = False, ): """Initialize the pipeline runner. Args: name: Optional name for the runner instance. handle_sigint: Whether to automatically handle SIGINT signals. + handle_sigterm: Whether to automatically handle SIGTERM signals. force_gc: Whether to force garbage collection after task completion. loop: Event loop to use. If None, uses the current running loop. - handle_sigterm: Whether to automatically handle SIGTERM signals. """ super().__init__(name=name) From 66ad29b2b1c1286e32ced0b4da48c84c90f464a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 5 Aug 2025 14:01:54 -0700 Subject: [PATCH 4/4] example: pass RunnerArguments to run_bot() This lets us get handle_sigint from RunnerArguments which knows where the application is running and if SIGINT/SIGTERM should be handled or not. --- examples/foundational/01-say-one-thing-piper.py | 6 +++--- examples/foundational/01-say-one-thing-rime.py | 6 +++--- examples/foundational/01-say-one-thing.py | 6 +++--- examples/foundational/01c-fastpitch.py | 6 +++--- examples/foundational/02-llm-say-one-thing.py | 6 +++--- examples/foundational/03-still-frame.py | 6 +++--- examples/foundational/03b-still-frame-imagen.py | 6 +++--- examples/foundational/04-transports-small-webrtc.py | 2 +- examples/foundational/05-sync-speech-and-image.py | 6 +++--- examples/foundational/06-listen-and-respond.py | 6 +++--- examples/foundational/06a-image-sync.py | 6 +++--- .../foundational/07-interruptible-cartesia-http.py | 6 +++--- examples/foundational/07-interruptible.py | 6 +++--- .../foundational/07a-interruptible-speechmatics-vad.py | 6 +++--- .../foundational/07a-interruptible-speechmatics.py | 6 +++--- examples/foundational/07aa-interruptible-soniox.py | 6 +++--- .../foundational/07ab-interruptible-inworld-http.py | 6 +++--- .../foundational/07ac-interruptible-asyncai-http.py | 6 +++--- examples/foundational/07ac-interruptible-asyncai.py | 6 +++--- examples/foundational/07b-interruptible-langchain.py | 6 +++--- .../foundational/07c-interruptible-deepgram-vad.py | 6 +++--- examples/foundational/07c-interruptible-deepgram.py | 6 +++--- .../foundational/07d-interruptible-elevenlabs-http.py | 6 +++--- examples/foundational/07d-interruptible-elevenlabs.py | 6 +++--- examples/foundational/07e-interruptible-playht-http.py | 6 +++--- examples/foundational/07e-interruptible-playht.py | 6 +++--- examples/foundational/07f-interruptible-azure.py | 6 +++--- examples/foundational/07g-interruptible-openai.py | 6 +++--- examples/foundational/07h-interruptible-openpipe.py | 6 +++--- examples/foundational/07i-interruptible-xtts.py | 6 +++--- examples/foundational/07j-interruptible-gladia.py | 6 +++--- examples/foundational/07k-interruptible-lmnt.py | 6 +++--- examples/foundational/07l-interruptible-groq.py | 6 +++--- examples/foundational/07m-interruptible-aws.py | 6 +++--- examples/foundational/07n-interruptible-google.py | 6 +++--- examples/foundational/07o-interruptible-assemblyai.py | 6 +++--- examples/foundational/07p-interruptible-krisp.py | 6 +++--- examples/foundational/07q-interruptible-rime-http.py | 6 +++--- examples/foundational/07q-interruptible-rime.py | 6 +++--- examples/foundational/07r-interruptible-riva-nim.py | 6 +++--- .../foundational/07s-interruptible-google-audio-in.py | 6 +++--- examples/foundational/07t-interruptible-fish.py | 6 +++--- examples/foundational/07u-interruptible-ultravox.py | 6 +++--- .../foundational/07v-interruptible-neuphonic-http.py | 6 +++--- examples/foundational/07v-interruptible-neuphonic.py | 6 +++--- examples/foundational/07w-interruptible-fal.py | 6 +++--- examples/foundational/07y-interruptible-minimax.py | 6 +++--- examples/foundational/07z-interruptible-sarvam.py | 6 +++--- examples/foundational/09-mirror.py | 6 +++--- examples/foundational/09a-local-mirror.py | 6 +++--- examples/foundational/10-wake-phrase.py | 6 +++--- examples/foundational/11-sound-effects.py | 6 +++--- examples/foundational/12-describe-video.py | 6 +++--- .../foundational/12a-describe-video-gemini-flash.py | 6 +++--- examples/foundational/12b-describe-video-gpt-4o.py | 6 +++--- examples/foundational/12c-describe-video-anthropic.py | 6 +++--- examples/foundational/13-whisper-transcription.py | 6 +++--- examples/foundational/13b-deepgram-transcription.py | 6 +++--- examples/foundational/13c-gladia-transcription.py | 6 +++--- examples/foundational/13c-gladia-translation.py | 6 +++--- examples/foundational/13d-assemblyai-transcription.py | 6 +++--- examples/foundational/13e-whisper-mlx.py | 6 +++--- examples/foundational/13f-cartesia-transcription.py | 6 +++--- examples/foundational/13g-sambanova-transcription.py | 6 +++--- .../foundational/13h-speechmatics-transcription.py | 6 +++--- examples/foundational/13i-soniox-transcription.py | 6 +++--- examples/foundational/14-function-calling.py | 6 +++--- .../foundational/14a-function-calling-anthropic.py | 6 +++--- .../14b-function-calling-anthropic-video.py | 6 +++--- examples/foundational/14c-function-calling-together.py | 6 +++--- examples/foundational/14d-function-calling-video.py | 6 +++--- examples/foundational/14e-function-calling-google.py | 6 +++--- examples/foundational/14f-function-calling-groq.py | 6 +++--- examples/foundational/14g-function-calling-grok.py | 6 +++--- examples/foundational/14h-function-calling-azure.py | 6 +++--- .../foundational/14i-function-calling-fireworks.py | 6 +++--- examples/foundational/14j-function-calling-nim.py | 6 +++--- examples/foundational/14k-function-calling-cerebras.py | 6 +++--- examples/foundational/14l-function-calling-deepseek.py | 6 +++--- .../foundational/14m-function-calling-openrouter.py | 6 +++--- .../foundational/14n-function-calling-perplexity.py | 6 +++--- .../14o-function-calling-gemini-openai-format.py | 6 +++--- .../14p-function-calling-gemini-vertex-ai.py | 6 +++--- examples/foundational/14q-function-calling-qwen.py | 6 +++--- examples/foundational/14r-function-calling-aws.py | 6 +++--- .../foundational/14s-function-calling-sambanova.py | 6 +++--- examples/foundational/14t-function-calling-direct.py | 6 +++--- examples/foundational/14u-function-calling-ollama.py | 6 +++--- examples/foundational/15-switch-voices.py | 6 +++--- examples/foundational/15a-switch-languages.py | 6 +++--- examples/foundational/16-gpu-container-local-bot.py | 6 +++--- examples/foundational/17-detect-user-idle.py | 6 +++--- examples/foundational/18-gstreamer-filesrc.py | 6 +++--- examples/foundational/18a-gstreamer-videotestsrc.py | 6 +++--- examples/foundational/19-openai-realtime-beta.py | 6 +++--- examples/foundational/19a-azure-realtime-beta.py | 6 +++--- examples/foundational/20a-persistent-context-openai.py | 6 +++--- .../20b-persistent-context-openai-realtime.py | 6 +++--- .../foundational/20c-persistent-context-anthropic.py | 6 +++--- examples/foundational/20d-persistent-context-gemini.py | 6 +++--- .../20e-persistent-context-aws-nova-sonic.py | 6 +++--- examples/foundational/21a-tavus-video-service.py | 6 +++--- examples/foundational/22-natural-conversation.py | 6 +++--- .../foundational/22b-natural-conversation-proposal.py | 6 +++--- .../22c-natural-conversation-mixed-llms.py | 6 +++--- .../22d-natural-conversation-gemini-audio.py | 6 +++--- examples/foundational/23-bot-background-sound.py | 6 +++--- examples/foundational/24-stt-mute-filter.py | 6 +++--- examples/foundational/25-google-audio-in.py | 6 +++--- examples/foundational/26-gemini-multimodal-live.py | 6 +++--- .../26a-gemini-multimodal-live-transcription.py | 6 +++--- .../26b-gemini-multimodal-live-function-calling.py | 6 +++--- .../foundational/26c-gemini-multimodal-live-video.py | 6 +++--- .../foundational/26d-gemini-multimodal-live-text.py | 6 +++--- .../26e-gemini-multimodal-google-search.py | 6 +++--- .../26f-gemini-multimodal-live-files-api.py | 10 +++++----- .../26g-gemini-multimodal-live-groundingMetadata.py | 6 +++--- examples/foundational/27-simli-layer.py | 6 +++--- examples/foundational/28-transcription-processor.py | 6 +++--- examples/foundational/29-turn-tracking-observer.py | 6 +++--- examples/foundational/30-observer.py | 6 +++--- examples/foundational/32-gemini-grounding-metadata.py | 6 +++--- examples/foundational/33-gemini-rag.py | 6 +++--- examples/foundational/34-audio-recording.py | 6 +++--- .../foundational/35-pattern-pair-voice-switching.py | 6 +++--- examples/foundational/36-user-email-gathering.py | 6 +++--- examples/foundational/37-mem0.py | 6 +++--- examples/foundational/38-smart-turn-fal.py | 6 +++--- examples/foundational/38a-smart-turn-local-coreml.py | 6 +++--- examples/foundational/38b-smart-turn-local.py | 6 +++--- examples/foundational/39-mcp-stdio.py | 6 +++--- examples/foundational/39a-mcp-run-sse.py | 6 +++--- examples/foundational/39b-multiple-mcp.py | 6 +++--- examples/foundational/39c-mcp-run-http.py | 6 +++--- examples/foundational/40-aws-nova-sonic.py | 6 +++--- examples/foundational/41a-text-only-webrtc.py | 6 +++--- examples/foundational/41b-text-and-audio-webrtc.py | 6 +++--- examples/foundational/42-interruption-config.py | 6 +++--- examples/foundational/43a-heygen-video-service.py | 6 +++--- examples/quickstart/bot.py | 6 +++--- 140 files changed, 420 insertions(+), 420 deletions(-) diff --git a/examples/foundational/01-say-one-thing-piper.py b/examples/foundational/01-say-one-thing-piper.py index 40990eea3..4d54afa38 100644 --- a/examples/foundational/01-say-one-thing-piper.py +++ b/examples/foundational/01-say-one-thing-piper.py @@ -34,7 +34,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -50,7 +50,7 @@ async def run_bot(transport: BaseTransport): async def on_client_connected(transport, client): await task.queue_frames([TTSSpeakFrame(f"Hello there!"), EndFrame()]) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -58,7 +58,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/01-say-one-thing-rime.py b/examples/foundational/01-say-one-thing-rime.py index 1c2bbd940..2feba0f5c 100644 --- a/examples/foundational/01-say-one-thing-rime.py +++ b/examples/foundational/01-say-one-thing-rime.py @@ -33,7 +33,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -51,7 +51,7 @@ async def run_bot(transport: BaseTransport): async def on_client_connected(transport, client): await task.queue_frames([TTSSpeakFrame(f"Hello there!"), EndFrame()]) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -59,7 +59,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/01-say-one-thing.py b/examples/foundational/01-say-one-thing.py index 1366b8d37..9bbdb0691 100644 --- a/examples/foundational/01-say-one-thing.py +++ b/examples/foundational/01-say-one-thing.py @@ -33,7 +33,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tts = CartesiaTTSService( @@ -48,7 +48,7 @@ async def run_bot(transport: BaseTransport): async def on_client_connected(transport, client): await task.queue_frames([TTSSpeakFrame(f"Hello there!"), EndFrame()]) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -56,7 +56,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/01c-fastpitch.py b/examples/foundational/01c-fastpitch.py index effb563b2..5af13540b 100644 --- a/examples/foundational/01c-fastpitch.py +++ b/examples/foundational/01c-fastpitch.py @@ -33,7 +33,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tts = FastPitchTTSService(api_key=os.getenv("NVIDIA_API_KEY")) @@ -45,7 +45,7 @@ async def run_bot(transport: BaseTransport): async def on_client_connected(transport, client): await task.queue_frames([TTSSpeakFrame(f"Hello there!"), EndFrame()]) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -53,7 +53,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/02-llm-say-one-thing.py b/examples/foundational/02-llm-say-one-thing.py index b11db1b3f..8df9d17ed 100644 --- a/examples/foundational/02-llm-say-one-thing.py +++ b/examples/foundational/02-llm-say-one-thing.py @@ -34,7 +34,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tts = CartesiaTTSService( @@ -58,7 +58,7 @@ async def run_bot(transport: BaseTransport): async def on_client_connected(transport, client): await task.queue_frames([LLMMessagesFrame(messages), EndFrame()]) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -66,7 +66,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/03-still-frame.py b/examples/foundational/03-still-frame.py index 3ff4cef7a..80cd90d81 100644 --- a/examples/foundational/03-still-frame.py +++ b/examples/foundational/03-still-frame.py @@ -40,7 +40,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -63,7 +63,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -71,7 +71,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/03b-still-frame-imagen.py b/examples/foundational/03b-still-frame-imagen.py index dc4c3f584..f3a60efdd 100644 --- a/examples/foundational/03b-still-frame-imagen.py +++ b/examples/foundational/03b-still-frame-imagen.py @@ -39,7 +39,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") imagegen = GoogleImageGenService( @@ -66,7 +66,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -74,7 +74,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/04-transports-small-webrtc.py b/examples/foundational/04-transports-small-webrtc.py index ffb1d9c9b..caa884852 100644 --- a/examples/foundational/04-transports-small-webrtc.py +++ b/examples/foundational/04-transports-small-webrtc.py @@ -110,7 +110,7 @@ async def run_example(webrtc_connection: SmallWebRTCConnection): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) diff --git a/examples/foundational/05-sync-speech-and-image.py b/examples/foundational/05-sync-speech-and-image.py index 68860db42..dd7c178df 100644 --- a/examples/foundational/05-sync-speech-and-image.py +++ b/examples/foundational/05-sync-speech-and-image.py @@ -83,7 +83,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): """Run the Calendar Month Narration bot using WebRTC transport. Args: @@ -170,14 +170,14 @@ async def run_bot(transport: BaseTransport): await task.cancel() # Run the pipeline - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/06-listen-and-respond.py b/examples/foundational/06-listen-and-respond.py index cf9d9336d..6561c036b 100644 --- a/examples/foundational/06-listen-and-respond.py +++ b/examples/foundational/06-listen-and-respond.py @@ -76,7 +76,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -133,14 +133,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/06a-image-sync.py b/examples/foundational/06a-image-sync.py index 9003e74f2..e9b044a76 100644 --- a/examples/foundational/06a-image-sync.py +++ b/examples/foundational/06a-image-sync.py @@ -91,7 +91,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -150,14 +150,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07-interruptible-cartesia-http.py b/examples/foundational/07-interruptible-cartesia-http.py index dc3b74c75..3b1748061 100644 --- a/examples/foundational/07-interruptible-cartesia-http.py +++ b/examples/foundational/07-interruptible-cartesia-http.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -102,7 +102,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -110,7 +110,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07-interruptible.py b/examples/foundational/07-interruptible.py index 26fcc108d..bdc11c709 100644 --- a/examples/foundational/07-interruptible.py +++ b/examples/foundational/07-interruptible.py @@ -47,7 +47,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -101,7 +101,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -109,7 +109,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07a-interruptible-speechmatics-vad.py b/examples/foundational/07a-interruptible-speechmatics-vad.py index 962b9e7df..5c1c01c34 100644 --- a/examples/foundational/07a-interruptible-speechmatics-vad.py +++ b/examples/foundational/07a-interruptible-speechmatics-vad.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): """Speechmatics STT Service Example This example demonstrates using Speechmatics Speech-to-Text service with speaker diarization and intelligent speaker management. Key features: @@ -160,7 +160,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -168,7 +168,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07a-interruptible-speechmatics.py b/examples/foundational/07a-interruptible-speechmatics.py index 5b2ce1b43..989d1044a 100644 --- a/examples/foundational/07a-interruptible-speechmatics.py +++ b/examples/foundational/07a-interruptible-speechmatics.py @@ -52,7 +52,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): """Run example using Speechmatics STT. This example will use diarization within our STT service and output the words spoken by @@ -143,7 +143,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -151,7 +151,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07aa-interruptible-soniox.py b/examples/foundational/07aa-interruptible-soniox.py index eb9100cf1..95dd06016 100644 --- a/examples/foundational/07aa-interruptible-soniox.py +++ b/examples/foundational/07aa-interruptible-soniox.py @@ -45,7 +45,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = SonioxSTTService( @@ -100,7 +100,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -108,7 +108,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07ab-interruptible-inworld-http.py b/examples/foundational/07ab-interruptible-inworld-http.py index 0f84e0ac5..82784dbac 100644 --- a/examples/foundational/07ab-interruptible-inworld-http.py +++ b/examples/foundational/07ab-interruptible-inworld-http.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -123,7 +123,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07ac-interruptible-asyncai-http.py b/examples/foundational/07ac-interruptible-asyncai-http.py index 9337d9ba1..582a88330 100644 --- a/examples/foundational/07ac-interruptible-asyncai-http.py +++ b/examples/foundational/07ac-interruptible-asyncai-http.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -107,7 +107,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07ac-interruptible-asyncai.py b/examples/foundational/07ac-interruptible-asyncai.py index 6226c9a24..ba41ef8e7 100644 --- a/examples/foundational/07ac-interruptible-asyncai.py +++ b/examples/foundational/07ac-interruptible-asyncai.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -103,7 +103,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -111,7 +111,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07b-interruptible-langchain.py b/examples/foundational/07b-interruptible-langchain.py index aaca623dd..f172a53d2 100644 --- a/examples/foundational/07b-interruptible-langchain.py +++ b/examples/foundational/07b-interruptible-langchain.py @@ -67,7 +67,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -135,7 +135,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -143,7 +143,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07c-interruptible-deepgram-vad.py b/examples/foundational/07c-interruptible-deepgram-vad.py index dcfeffc38..cd796d559 100644 --- a/examples/foundational/07c-interruptible-deepgram-vad.py +++ b/examples/foundational/07c-interruptible-deepgram-vad.py @@ -52,7 +52,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService( @@ -114,7 +114,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -122,7 +122,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07c-interruptible-deepgram.py b/examples/foundational/07c-interruptible-deepgram.py index dc9c3a9b4..d7be62bce 100644 --- a/examples/foundational/07c-interruptible-deepgram.py +++ b/examples/foundational/07c-interruptible-deepgram.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -100,7 +100,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -108,7 +108,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07d-interruptible-elevenlabs-http.py b/examples/foundational/07d-interruptible-elevenlabs-http.py index 03a5ab0d4..82c4e9881 100644 --- a/examples/foundational/07d-interruptible-elevenlabs-http.py +++ b/examples/foundational/07d-interruptible-elevenlabs-http.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -107,7 +107,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07d-interruptible-elevenlabs.py b/examples/foundational/07d-interruptible-elevenlabs.py index c6de4ae3a..0522bcf0f 100644 --- a/examples/foundational/07d-interruptible-elevenlabs.py +++ b/examples/foundational/07d-interruptible-elevenlabs.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -103,7 +103,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -111,7 +111,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07e-interruptible-playht-http.py b/examples/foundational/07e-interruptible-playht-http.py index 4b871c518..e6fc436ca 100644 --- a/examples/foundational/07e-interruptible-playht-http.py +++ b/examples/foundational/07e-interruptible-playht-http.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -103,7 +103,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -111,7 +111,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07e-interruptible-playht.py b/examples/foundational/07e-interruptible-playht.py index 7eb68de12..f38b2cefc 100644 --- a/examples/foundational/07e-interruptible-playht.py +++ b/examples/foundational/07e-interruptible-playht.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -105,7 +105,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07f-interruptible-azure.py b/examples/foundational/07f-interruptible-azure.py index cd4ed783a..9e27a4c5d 100644 --- a/examples/foundational/07f-interruptible-azure.py +++ b/examples/foundational/07f-interruptible-azure.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = AzureSTTService( @@ -109,7 +109,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -117,7 +117,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07g-interruptible-openai.py b/examples/foundational/07g-interruptible-openai.py index 6b8bffa15..7f15a6fb8 100644 --- a/examples/foundational/07g-interruptible-openai.py +++ b/examples/foundational/07g-interruptible-openai.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = OpenAISTTService( @@ -104,7 +104,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -112,7 +112,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07h-interruptible-openpipe.py b/examples/foundational/07h-interruptible-openpipe.py index 0abc5e4f4..367d012e7 100644 --- a/examples/foundational/07h-interruptible-openpipe.py +++ b/examples/foundational/07h-interruptible-openpipe.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -108,7 +108,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -116,7 +116,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07i-interruptible-xtts.py b/examples/foundational/07i-interruptible-xtts.py index 367a698d6..39b692d06 100644 --- a/examples/foundational/07i-interruptible-xtts.py +++ b/examples/foundational/07i-interruptible-xtts.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -106,7 +106,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -114,7 +114,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07j-interruptible-gladia.py b/examples/foundational/07j-interruptible-gladia.py index 2244cbf63..6505bb81e 100644 --- a/examples/foundational/07j-interruptible-gladia.py +++ b/examples/foundational/07j-interruptible-gladia.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = GladiaSTTService( @@ -111,14 +111,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07k-interruptible-lmnt.py b/examples/foundational/07k-interruptible-lmnt.py index 8d3f3181d..2ccc6ab7a 100644 --- a/examples/foundational/07k-interruptible-lmnt.py +++ b/examples/foundational/07k-interruptible-lmnt.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -99,7 +99,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -107,7 +107,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07l-interruptible-groq.py b/examples/foundational/07l-interruptible-groq.py index b67eaefd1..b2ed04822 100644 --- a/examples/foundational/07l-interruptible-groq.py +++ b/examples/foundational/07l-interruptible-groq.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = GroqSTTService(api_key=os.getenv("GROQ_API_KEY")) @@ -104,7 +104,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -112,7 +112,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07m-interruptible-aws.py b/examples/foundational/07m-interruptible-aws.py index 9e442771d..9fd3c8a4a 100644 --- a/examples/foundational/07m-interruptible-aws.py +++ b/examples/foundational/07m-interruptible-aws.py @@ -46,7 +46,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = AWSTranscribeSTTService() @@ -105,7 +105,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07n-interruptible-google.py b/examples/foundational/07n-interruptible-google.py index 0a0d05024..a71165622 100644 --- a/examples/foundational/07n-interruptible-google.py +++ b/examples/foundational/07n-interruptible-google.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = GoogleSTTService( @@ -112,7 +112,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -120,7 +120,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07o-interruptible-assemblyai.py b/examples/foundational/07o-interruptible-assemblyai.py index a857eefb8..835929c81 100644 --- a/examples/foundational/07o-interruptible-assemblyai.py +++ b/examples/foundational/07o-interruptible-assemblyai.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = AssemblyAISTTService( @@ -105,7 +105,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07p-interruptible-krisp.py b/examples/foundational/07p-interruptible-krisp.py index 28cc18f83..cb40f6004 100644 --- a/examples/foundational/07p-interruptible-krisp.py +++ b/examples/foundational/07p-interruptible-krisp.py @@ -52,7 +52,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -103,7 +103,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -111,7 +111,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07q-interruptible-rime-http.py b/examples/foundational/07q-interruptible-rime-http.py index f24d1cf2d..263690afd 100644 --- a/examples/foundational/07q-interruptible-rime-http.py +++ b/examples/foundational/07q-interruptible-rime-http.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -108,7 +108,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -116,7 +116,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07q-interruptible-rime.py b/examples/foundational/07q-interruptible-rime.py index ab13b249b..25312ff10 100644 --- a/examples/foundational/07q-interruptible-rime.py +++ b/examples/foundational/07q-interruptible-rime.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -102,7 +102,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -110,7 +110,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07r-interruptible-riva-nim.py b/examples/foundational/07r-interruptible-riva-nim.py index 2026ff4b8..8b0d092e6 100644 --- a/examples/foundational/07r-interruptible-riva-nim.py +++ b/examples/foundational/07r-interruptible-riva-nim.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = RivaSTTService(api_key=os.getenv("NVIDIA_API_KEY")) @@ -99,7 +99,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -107,7 +107,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07s-interruptible-google-audio-in.py b/examples/foundational/07s-interruptible-google-audio-in.py index 48ee9f486..f70e71e31 100644 --- a/examples/foundational/07s-interruptible-google-audio-in.py +++ b/examples/foundational/07s-interruptible-google-audio-in.py @@ -213,7 +213,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") llm = GoogleLLMService( @@ -280,7 +280,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -288,7 +288,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07t-interruptible-fish.py b/examples/foundational/07t-interruptible-fish.py index b5afe8945..f2e5243d9 100644 --- a/examples/foundational/07t-interruptible-fish.py +++ b/examples/foundational/07t-interruptible-fish.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -103,7 +103,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -111,7 +111,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07u-interruptible-ultravox.py b/examples/foundational/07u-interruptible-ultravox.py index 7ea5d87b5..137bd853b 100644 --- a/examples/foundational/07u-interruptible-ultravox.py +++ b/examples/foundational/07u-interruptible-ultravox.py @@ -59,7 +59,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tts = CartesiaTTSService( @@ -93,7 +93,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -101,7 +101,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07v-interruptible-neuphonic-http.py b/examples/foundational/07v-interruptible-neuphonic-http.py index a90ee574a..77f92629d 100644 --- a/examples/foundational/07v-interruptible-neuphonic-http.py +++ b/examples/foundational/07v-interruptible-neuphonic-http.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -107,7 +107,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07v-interruptible-neuphonic.py b/examples/foundational/07v-interruptible-neuphonic.py index 9a456ed6c..f9dea9a39 100644 --- a/examples/foundational/07v-interruptible-neuphonic.py +++ b/examples/foundational/07v-interruptible-neuphonic.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -102,7 +102,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -110,7 +110,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07w-interruptible-fal.py b/examples/foundational/07w-interruptible-fal.py index ec2783d27..78c3d06cd 100644 --- a/examples/foundational/07w-interruptible-fal.py +++ b/examples/foundational/07w-interruptible-fal.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = FalSTTService( @@ -105,7 +105,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07y-interruptible-minimax.py b/examples/foundational/07y-interruptible-minimax.py index d65fcf724..b67af064b 100644 --- a/examples/foundational/07y-interruptible-minimax.py +++ b/examples/foundational/07y-interruptible-minimax.py @@ -51,7 +51,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -109,7 +109,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -117,7 +117,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/07z-interruptible-sarvam.py b/examples/foundational/07z-interruptible-sarvam.py index 3c7c2351f..cf43b662e 100644 --- a/examples/foundational/07z-interruptible-sarvam.py +++ b/examples/foundational/07z-interruptible-sarvam.py @@ -51,7 +51,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session @@ -108,7 +108,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -116,7 +116,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/09-mirror.py b/examples/foundational/09-mirror.py index c5aec0676..35e40aeb4 100644 --- a/examples/foundational/09-mirror.py +++ b/examples/foundational/09-mirror.py @@ -72,7 +72,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") pipeline = Pipeline([transport.input(), MirrorProcessor(), transport.output()]) @@ -91,7 +91,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -99,7 +99,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/09a-local-mirror.py b/examples/foundational/09a-local-mirror.py index 24b98b4ec..fd4b00ee8 100644 --- a/examples/foundational/09a-local-mirror.py +++ b/examples/foundational/09a-local-mirror.py @@ -75,7 +75,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tk_root = tk.Tk() @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await asyncio.gather(runner.run(task), run_tk()) @@ -123,7 +123,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/10-wake-phrase.py b/examples/foundational/10-wake-phrase.py index c85cc7601..5761a5a63 100644 --- a/examples/foundational/10-wake-phrase.py +++ b/examples/foundational/10-wake-phrase.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -105,7 +105,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/11-sound-effects.py b/examples/foundational/11-sound-effects.py index 28eb91e59..70544844d 100644 --- a/examples/foundational/11-sound-effects.py +++ b/examples/foundational/11-sound-effects.py @@ -101,7 +101,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -157,7 +157,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -165,7 +165,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/12-describe-video.py b/examples/foundational/12-describe-video.py index c795ac69c..d76839ba6 100644 --- a/examples/foundational/12-describe-video.py +++ b/examples/foundational/12-describe-video.py @@ -70,7 +70,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") user_response = UserResponseAggregator() @@ -123,7 +123,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -131,7 +131,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/12a-describe-video-gemini-flash.py b/examples/foundational/12a-describe-video-gemini-flash.py index fcac48e22..9cae30880 100644 --- a/examples/foundational/12a-describe-video-gemini-flash.py +++ b/examples/foundational/12a-describe-video-gemini-flash.py @@ -70,7 +70,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") user_response = UserResponseAggregator() @@ -129,7 +129,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/12b-describe-video-gpt-4o.py b/examples/foundational/12b-describe-video-gpt-4o.py index d9c176d4a..e6c407cc3 100644 --- a/examples/foundational/12b-describe-video-gpt-4o.py +++ b/examples/foundational/12b-describe-video-gpt-4o.py @@ -70,7 +70,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") user_response = UserResponseAggregator() @@ -129,7 +129,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/12c-describe-video-anthropic.py b/examples/foundational/12c-describe-video-anthropic.py index 941a4f0e6..790d180c7 100644 --- a/examples/foundational/12c-describe-video-anthropic.py +++ b/examples/foundational/12c-describe-video-anthropic.py @@ -70,7 +70,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") user_response = UserResponseAggregator() @@ -129,7 +129,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13-whisper-transcription.py b/examples/foundational/13-whisper-transcription.py index 82a1bbf0b..d75f4c884 100644 --- a/examples/foundational/13-whisper-transcription.py +++ b/examples/foundational/13-whisper-transcription.py @@ -51,7 +51,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = WhisperSTTService() @@ -67,7 +67,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -75,7 +75,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13b-deepgram-transcription.py b/examples/foundational/13b-deepgram-transcription.py index cde1e3629..dae8e3b39 100644 --- a/examples/foundational/13b-deepgram-transcription.py +++ b/examples/foundational/13b-deepgram-transcription.py @@ -42,7 +42,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService( @@ -61,7 +61,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -69,7 +69,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13c-gladia-transcription.py b/examples/foundational/13c-gladia-transcription.py index d64e36825..87d2bc49a 100644 --- a/examples/foundational/13c-gladia-transcription.py +++ b/examples/foundational/13c-gladia-transcription.py @@ -42,7 +42,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = GladiaSTTService( @@ -61,7 +61,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -69,7 +69,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13c-gladia-translation.py b/examples/foundational/13c-gladia-translation.py index 81a524158..fe9711c26 100644 --- a/examples/foundational/13c-gladia-translation.py +++ b/examples/foundational/13c-gladia-translation.py @@ -51,7 +51,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = GladiaSTTService( @@ -82,7 +82,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -90,7 +90,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13d-assemblyai-transcription.py b/examples/foundational/13d-assemblyai-transcription.py index a00e21f5e..470e37d78 100644 --- a/examples/foundational/13d-assemblyai-transcription.py +++ b/examples/foundational/13d-assemblyai-transcription.py @@ -42,7 +42,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = AssemblyAISTTService( @@ -60,7 +60,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -68,7 +68,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13e-whisper-mlx.py b/examples/foundational/13e-whisper-mlx.py index 2c9a12b29..ac921bc6f 100644 --- a/examples/foundational/13e-whisper-mlx.py +++ b/examples/foundational/13e-whisper-mlx.py @@ -72,7 +72,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = WhisperSTTServiceMLX(model=MLXModel.LARGE_V3_TURBO) @@ -94,7 +94,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -102,7 +102,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13f-cartesia-transcription.py b/examples/foundational/13f-cartesia-transcription.py index 7d301733d..8c2787928 100644 --- a/examples/foundational/13f-cartesia-transcription.py +++ b/examples/foundational/13f-cartesia-transcription.py @@ -42,7 +42,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = CartesiaSTTService( @@ -61,7 +61,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -69,7 +69,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13g-sambanova-transcription.py b/examples/foundational/13g-sambanova-transcription.py index 073d81cb7..5dfe0dbde 100644 --- a/examples/foundational/13g-sambanova-transcription.py +++ b/examples/foundational/13g-sambanova-transcription.py @@ -73,7 +73,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = SambaNovaSTTService( @@ -98,7 +98,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -106,7 +106,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13h-speechmatics-transcription.py b/examples/foundational/13h-speechmatics-transcription.py index 92c8d4f91..39e5a39aa 100644 --- a/examples/foundational/13h-speechmatics-transcription.py +++ b/examples/foundational/13h-speechmatics-transcription.py @@ -43,7 +43,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): """Run example using Speechmatics STT. This example will use diarization within our STT service and output the words spoken by @@ -81,7 +81,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -89,7 +89,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/13i-soniox-transcription.py b/examples/foundational/13i-soniox-transcription.py index d6195248b..6bbf0120d 100644 --- a/examples/foundational/13i-soniox-transcription.py +++ b/examples/foundational/13i-soniox-transcription.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = SonioxSTTService( @@ -67,7 +67,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -75,7 +75,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14-function-calling.py b/examples/foundational/14-function-calling.py index 4b523052c..a2237de05 100644 --- a/examples/foundational/14-function-calling.py +++ b/examples/foundational/14-function-calling.py @@ -60,7 +60,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -151,7 +151,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -159,7 +159,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14a-function-calling-anthropic.py b/examples/foundational/14a-function-calling-anthropic.py index 8685a79c5..558fa985a 100644 --- a/examples/foundational/14a-function-calling-anthropic.py +++ b/examples/foundational/14a-function-calling-anthropic.py @@ -61,7 +61,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -145,7 +145,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -153,7 +153,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14b-function-calling-anthropic-video.py b/examples/foundational/14b-function-calling-anthropic-video.py index 9d3287621..8e6ac3d9b 100644 --- a/examples/foundational/14b-function-calling-anthropic-video.py +++ b/examples/foundational/14b-function-calling-anthropic-video.py @@ -83,7 +83,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -199,7 +199,7 @@ If you need to use a tool, simply use the tool. Do not tell the user the tool yo logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -207,7 +207,7 @@ If you need to use a tool, simply use the tool. Do not tell the user the tool yo async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14c-function-calling-together.py b/examples/foundational/14c-function-calling-together.py index 34900f2c1..b0fe76de2 100644 --- a/examples/foundational/14c-function-calling-together.py +++ b/examples/foundational/14c-function-calling-together.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -145,7 +145,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14d-function-calling-video.py b/examples/foundational/14d-function-calling-video.py index 2d023498b..e2557d0cf 100644 --- a/examples/foundational/14d-function-calling-video.py +++ b/examples/foundational/14d-function-calling-video.py @@ -83,7 +83,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -188,7 +188,7 @@ indicate you should use the get_image tool are: logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -196,7 +196,7 @@ indicate you should use the get_image tool are: async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14e-function-calling-google.py b/examples/foundational/14e-function-calling-google.py index 98ca1f4f7..8fd0fa286 100644 --- a/examples/foundational/14e-function-calling-google.py +++ b/examples/foundational/14e-function-calling-google.py @@ -88,7 +88,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -210,7 +210,7 @@ indicate you should use the get_image tool are: logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -218,7 +218,7 @@ indicate you should use the get_image tool are: async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14f-function-calling-groq.py b/examples/foundational/14f-function-calling-groq.py index aff92b173..460d4ce57 100644 --- a/examples/foundational/14f-function-calling-groq.py +++ b/examples/foundational/14f-function-calling-groq.py @@ -58,7 +58,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = GroqSTTService(api_key=os.getenv("GROQ_API_KEY"), model="distil-whisper-large-v3-en") @@ -139,7 +139,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -147,7 +147,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14g-function-calling-grok.py b/examples/foundational/14g-function-calling-grok.py index 87abb3657..78c0175a9 100644 --- a/examples/foundational/14g-function-calling-grok.py +++ b/examples/foundational/14g-function-calling-grok.py @@ -56,7 +56,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -129,7 +129,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14h-function-calling-azure.py b/examples/foundational/14h-function-calling-azure.py index bafa03f0c..f145deaf5 100644 --- a/examples/foundational/14h-function-calling-azure.py +++ b/examples/foundational/14h-function-calling-azure.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -138,7 +138,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -146,7 +146,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14i-function-calling-fireworks.py b/examples/foundational/14i-function-calling-fireworks.py index f492f7a92..b8b86ae00 100644 --- a/examples/foundational/14i-function-calling-fireworks.py +++ b/examples/foundational/14i-function-calling-fireworks.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -145,7 +145,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14j-function-calling-nim.py b/examples/foundational/14j-function-calling-nim.py index 9f1e1c563..d2daae958 100644 --- a/examples/foundational/14j-function-calling-nim.py +++ b/examples/foundational/14j-function-calling-nim.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -135,7 +135,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -143,7 +143,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14k-function-calling-cerebras.py b/examples/foundational/14k-function-calling-cerebras.py index f037bb8e1..731766fc0 100644 --- a/examples/foundational/14k-function-calling-cerebras.py +++ b/examples/foundational/14k-function-calling-cerebras.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -144,7 +144,7 @@ Start by asking me for my location. Then, use 'get_weather_current' to give me a logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -152,7 +152,7 @@ Start by asking me for my location. Then, use 'get_weather_current' to give me a async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14l-function-calling-deepseek.py b/examples/foundational/14l-function-calling-deepseek.py index a46bdc688..4665d6009 100644 --- a/examples/foundational/14l-function-calling-deepseek.py +++ b/examples/foundational/14l-function-calling-deepseek.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -144,7 +144,7 @@ Start by asking me for my location. Then, use 'get_weather_current' to give me a logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -152,7 +152,7 @@ Start by asking me for my location. Then, use 'get_weather_current' to give me a async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14m-function-calling-openrouter.py b/examples/foundational/14m-function-calling-openrouter.py index 4f4ec6ee6..b5d62506d 100644 --- a/examples/foundational/14m-function-calling-openrouter.py +++ b/examples/foundational/14m-function-calling-openrouter.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -138,7 +138,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -146,7 +146,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14n-function-calling-perplexity.py b/examples/foundational/14n-function-calling-perplexity.py index d752c5f24..5a8388483 100644 --- a/examples/foundational/14n-function-calling-perplexity.py +++ b/examples/foundational/14n-function-calling-perplexity.py @@ -54,7 +54,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -107,7 +107,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14o-function-calling-gemini-openai-format.py b/examples/foundational/14o-function-calling-gemini-openai-format.py index 51f519d91..bc1cd1d19 100644 --- a/examples/foundational/14o-function-calling-gemini-openai-format.py +++ b/examples/foundational/14o-function-calling-gemini-openai-format.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -134,7 +134,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -142,7 +142,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14p-function-calling-gemini-vertex-ai.py b/examples/foundational/14p-function-calling-gemini-vertex-ai.py index 0660b1a41..63f6387ec 100644 --- a/examples/foundational/14p-function-calling-gemini-vertex-ai.py +++ b/examples/foundational/14p-function-calling-gemini-vertex-ai.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -140,7 +140,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -148,7 +148,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14q-function-calling-qwen.py b/examples/foundational/14q-function-calling-qwen.py index 881e96c7f..65ffcbd5f 100644 --- a/examples/foundational/14q-function-calling-qwen.py +++ b/examples/foundational/14q-function-calling-qwen.py @@ -57,7 +57,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -136,7 +136,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -144,7 +144,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14r-function-calling-aws.py b/examples/foundational/14r-function-calling-aws.py index 453c7b843..202d7652b 100644 --- a/examples/foundational/14r-function-calling-aws.py +++ b/examples/foundational/14r-function-calling-aws.py @@ -58,7 +58,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = AWSTranscribeSTTService() @@ -151,7 +151,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -159,7 +159,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14s-function-calling-sambanova.py b/examples/foundational/14s-function-calling-sambanova.py index 0a6be8419..8e4687227 100644 --- a/examples/foundational/14s-function-calling-sambanova.py +++ b/examples/foundational/14s-function-calling-sambanova.py @@ -58,7 +58,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = SambaNovaSTTService( @@ -143,7 +143,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -151,7 +151,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14t-function-calling-direct.py b/examples/foundational/14t-function-calling-direct.py index 82349a105..d702a733c 100644 --- a/examples/foundational/14t-function-calling-direct.py +++ b/examples/foundational/14t-function-calling-direct.py @@ -73,7 +73,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -145,7 +145,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/14u-function-calling-ollama.py b/examples/foundational/14u-function-calling-ollama.py index 011ea01b8..3db1b0f08 100644 --- a/examples/foundational/14u-function-calling-ollama.py +++ b/examples/foundational/14u-function-calling-ollama.py @@ -62,7 +62,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -153,7 +153,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -161,7 +161,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/15-switch-voices.py b/examples/foundational/15-switch-voices.py index fc3aba0de..38f48114c 100644 --- a/examples/foundational/15-switch-voices.py +++ b/examples/foundational/15-switch-voices.py @@ -78,7 +78,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -174,7 +174,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -182,7 +182,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/15a-switch-languages.py b/examples/foundational/15a-switch-languages.py index 767810deb..35b4f918f 100644 --- a/examples/foundational/15a-switch-languages.py +++ b/examples/foundational/15a-switch-languages.py @@ -73,7 +73,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService( @@ -162,7 +162,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -170,7 +170,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/16-gpu-container-local-bot.py b/examples/foundational/16-gpu-container-local-bot.py index 326789693..5594a44fe 100644 --- a/examples/foundational/16-gpu-container-local-bot.py +++ b/examples/foundational/16-gpu-container-local-bot.py @@ -48,7 +48,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -139,7 +139,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -147,7 +147,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/17-detect-user-idle.py b/examples/foundational/17-detect-user-idle.py index 32ec83cb6..ebf5c5270 100644 --- a/examples/foundational/17-detect-user-idle.py +++ b/examples/foundational/17-detect-user-idle.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -136,7 +136,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -144,7 +144,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/18-gstreamer-filesrc.py b/examples/foundational/18-gstreamer-filesrc.py index ca3f88d10..7d2024618 100644 --- a/examples/foundational/18-gstreamer-filesrc.py +++ b/examples/foundational/18-gstreamer-filesrc.py @@ -45,7 +45,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport, args: argparse.Namespace): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot with video input: {args.input}") gst = GStreamerPipelineSource( @@ -65,7 +65,7 @@ async def run_bot(transport: BaseTransport, args: argparse.Namespace): task = PipelineTask(pipeline) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -73,7 +73,7 @@ async def run_bot(transport: BaseTransport, args: argparse.Namespace): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/18a-gstreamer-videotestsrc.py b/examples/foundational/18a-gstreamer-videotestsrc.py index b5e9718c3..723db520e 100644 --- a/examples/foundational/18a-gstreamer-videotestsrc.py +++ b/examples/foundational/18a-gstreamer-videotestsrc.py @@ -38,7 +38,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot with video test source") gst = GStreamerPipelineSource( @@ -57,7 +57,7 @@ async def run_bot(transport: BaseTransport): task = PipelineTask(pipeline) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -65,7 +65,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/19-openai-realtime-beta.py b/examples/foundational/19-openai-realtime-beta.py index d3fda06e3..4a36bb621 100644 --- a/examples/foundational/19-openai-realtime-beta.py +++ b/examples/foundational/19-openai-realtime-beta.py @@ -108,7 +108,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") session_properties = SessionProperties( @@ -213,7 +213,7 @@ Remember, your responses should be short. Just one or two sentences, usually.""" line = f"{timestamp}{msg.role}: {msg.content}" logger.info(f"Transcript: {line}") - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -221,7 +221,7 @@ Remember, your responses should be short. Just one or two sentences, usually.""" async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/19a-azure-realtime-beta.py b/examples/foundational/19a-azure-realtime-beta.py index 832b5948c..3aade4472 100644 --- a/examples/foundational/19a-azure-realtime-beta.py +++ b/examples/foundational/19a-azure-realtime-beta.py @@ -105,7 +105,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") session_properties = SessionProperties( @@ -197,7 +197,7 @@ Remember, your responses should be short. Just one or two sentences, usually.""" logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -205,7 +205,7 @@ Remember, your responses should be short. Just one or two sentences, usually.""" async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/20a-persistent-context-openai.py b/examples/foundational/20a-persistent-context-openai.py index aa3a2bfef..71a8f37d9 100644 --- a/examples/foundational/20a-persistent-context-openai.py +++ b/examples/foundational/20a-persistent-context-openai.py @@ -187,7 +187,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") global tts @@ -240,7 +240,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -248,7 +248,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/20b-persistent-context-openai-realtime.py b/examples/foundational/20b-persistent-context-openai-realtime.py index 6108be89c..78e98e996 100644 --- a/examples/foundational/20b-persistent-context-openai-realtime.py +++ b/examples/foundational/20b-persistent-context-openai-realtime.py @@ -175,7 +175,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -250,7 +250,7 @@ Remember, your responses should be short. Just one or two sentences, usually.""" logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -258,7 +258,7 @@ Remember, your responses should be short. Just one or two sentences, usually.""" async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/20c-persistent-context-anthropic.py b/examples/foundational/20c-persistent-context-anthropic.py index cdd61a836..ffa79735f 100644 --- a/examples/foundational/20c-persistent-context-anthropic.py +++ b/examples/foundational/20c-persistent-context-anthropic.py @@ -182,7 +182,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") global tts @@ -239,7 +239,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -247,7 +247,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/20d-persistent-context-gemini.py b/examples/foundational/20d-persistent-context-gemini.py index 8abfac484..ece3d3ea6 100644 --- a/examples/foundational/20d-persistent-context-gemini.py +++ b/examples/foundational/20d-persistent-context-gemini.py @@ -241,7 +241,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -301,7 +301,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -309,7 +309,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/20e-persistent-context-aws-nova-sonic.py b/examples/foundational/20e-persistent-context-aws-nova-sonic.py index e48e8661a..fb1c000ab 100644 --- a/examples/foundational/20e-persistent-context-aws-nova-sonic.py +++ b/examples/foundational/20e-persistent-context-aws-nova-sonic.py @@ -192,7 +192,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Specify initial system instruction. @@ -263,7 +263,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -271,7 +271,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/21a-tavus-video-service.py b/examples/foundational/21a-tavus-video-service.py index 636e1b8c6..802c46882 100644 --- a/examples/foundational/21a-tavus-video-service.py +++ b/examples/foundational/21a-tavus-video-service.py @@ -52,7 +52,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") async with aiohttp.ClientSession() as session: stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -120,7 +120,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -128,7 +128,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/22-natural-conversation.py b/examples/foundational/22-natural-conversation.py index 7ed5fd654..ef9bb75c1 100644 --- a/examples/foundational/22-natural-conversation.py +++ b/examples/foundational/22-natural-conversation.py @@ -56,7 +56,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -166,7 +166,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -174,7 +174,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/22b-natural-conversation-proposal.py b/examples/foundational/22b-natural-conversation-proposal.py index 3bd3dfd22..b16dab97c 100644 --- a/examples/foundational/22b-natural-conversation-proposal.py +++ b/examples/foundational/22b-natural-conversation-proposal.py @@ -224,7 +224,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -385,7 +385,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -393,7 +393,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/22c-natural-conversation-mixed-llms.py b/examples/foundational/22c-natural-conversation-mixed-llms.py index bd1c0b411..3799bc7b2 100644 --- a/examples/foundational/22c-natural-conversation-mixed-llms.py +++ b/examples/foundational/22c-natural-conversation-mixed-llms.py @@ -428,7 +428,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -601,7 +601,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -609,7 +609,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/22d-natural-conversation-gemini-audio.py b/examples/foundational/22d-natural-conversation-gemini-audio.py index d600c1dcd..82cae2895 100644 --- a/examples/foundational/22d-natural-conversation-gemini-audio.py +++ b/examples/foundational/22d-natural-conversation-gemini-audio.py @@ -648,7 +648,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tts = CartesiaTTSService( @@ -775,7 +775,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -783,7 +783,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/23-bot-background-sound.py b/examples/foundational/23-bot-background-sound.py index e0f70384c..a9aa8722f 100644 --- a/examples/foundational/23-bot-background-sound.py +++ b/examples/foundational/23-bot-background-sound.py @@ -70,7 +70,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) tts = CartesiaTTSService( @@ -132,7 +132,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -140,7 +140,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/24-stt-mute-filter.py b/examples/foundational/24-stt-mute-filter.py index 63db5309d..ac2ceb375 100644 --- a/examples/foundational/24-stt-mute-filter.py +++ b/examples/foundational/24-stt-mute-filter.py @@ -62,7 +62,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -148,7 +148,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -156,7 +156,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/25-google-audio-in.py b/examples/foundational/25-google-audio-in.py index f5dcf66dc..f47266054 100644 --- a/examples/foundational/25-google-audio-in.py +++ b/examples/foundational/25-google-audio-in.py @@ -292,7 +292,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") tts = CartesiaTTSService( @@ -374,7 +374,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -382,7 +382,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26-gemini-multimodal-live.py b/examples/foundational/26-gemini-multimodal-live.py index 2f80658a7..125d8a66f 100644 --- a/examples/foundational/26-gemini-multimodal-live.py +++ b/examples/foundational/26-gemini-multimodal-live.py @@ -54,7 +54,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create the Gemini Multimodal Live LLM service @@ -114,14 +114,14 @@ async def run_bot(transport: BaseTransport): await task.cancel() # Run the pipeline - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26a-gemini-multimodal-live-transcription.py b/examples/foundational/26a-gemini-multimodal-live-transcription.py index e4ed7f16f..ad7bed000 100644 --- a/examples/foundational/26a-gemini-multimodal-live-transcription.py +++ b/examples/foundational/26a-gemini-multimodal-live-transcription.py @@ -62,7 +62,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") llm = GeminiMultimodalLiveLLMService( @@ -134,7 +134,7 @@ async def run_bot(transport: BaseTransport): line = f"{timestamp}{msg.role}: {msg.content}" logger.info(f"Transcript: {line}") - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -142,7 +142,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26b-gemini-multimodal-live-function-calling.py b/examples/foundational/26b-gemini-multimodal-live-function-calling.py index 56a2c0745..c5bbb9dc9 100644 --- a/examples/foundational/26b-gemini-multimodal-live-function-calling.py +++ b/examples/foundational/26b-gemini-multimodal-live-function-calling.py @@ -90,7 +90,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") weather_function = FunctionSchema( @@ -169,7 +169,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -177,7 +177,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26c-gemini-multimodal-live-video.py b/examples/foundational/26c-gemini-multimodal-live-video.py index 5978ac2b4..fc8b1c90e 100644 --- a/examples/foundational/26c-gemini-multimodal-live-video.py +++ b/examples/foundational/26c-gemini-multimodal-live-video.py @@ -56,7 +56,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): llm = GeminiMultimodalLiveLLMService( api_key=os.getenv("GOOGLE_API_KEY"), voice_id="Aoede", # Puck, Charon, Kore, Fenrir, Aoede @@ -110,7 +110,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -118,7 +118,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26d-gemini-multimodal-live-text.py b/examples/foundational/26d-gemini-multimodal-live-text.py index e6c682b2f..85037da2f 100644 --- a/examples/foundational/26d-gemini-multimodal-live-text.py +++ b/examples/foundational/26d-gemini-multimodal-live-text.py @@ -76,7 +76,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") llm = GeminiMultimodalLiveLLMService( @@ -137,7 +137,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -145,7 +145,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26e-gemini-multimodal-google-search.py b/examples/foundational/26e-gemini-multimodal-google-search.py index ab9b40f1f..3d2996179 100644 --- a/examples/foundational/26e-gemini-multimodal-google-search.py +++ b/examples/foundational/26e-gemini-multimodal-google-search.py @@ -78,7 +78,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Initialize the Gemini Multimodal Live model @@ -128,7 +128,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -136,7 +136,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26f-gemini-multimodal-live-files-api.py b/examples/foundational/26f-gemini-multimodal-live-files-api.py index 7e8943d52..04b954b86 100644 --- a/examples/foundational/26f-gemini-multimodal-live-files-api.py +++ b/examples/foundational/26f-gemini-multimodal-live-files-api.py @@ -88,7 +88,7 @@ async def create_sample_file(): return f.name -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting File API bot") # Create a sample file to upload @@ -97,13 +97,13 @@ async def run_bot(transport: BaseTransport): system_instruction = """ You are a helpful AI assistant with access to a document that has been uploaded for analysis. - + The document contains test information. You should be able to: - Reference and discuss the contents of the uploaded document - Answer questions about what's in the document - Use the information from the document in our conversation - + Your output will be converted to audio so don't include special characters in your answers. Be friendly and demonstrate your ability to work with the uploaded file. """ @@ -200,7 +200,7 @@ async def run_bot(transport: BaseTransport): await task.cancel() # Run the pipeline - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) # Clean up: delete the uploaded file and temporary file @@ -222,7 +222,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py b/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py index 841362af9..3aa7caa59 100644 --- a/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py +++ b/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py @@ -96,7 +96,7 @@ class GroundingMetadataProcessor(FrameProcessor): await self.push_frame(frame, direction) -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting Gemini Live Grounding Metadata Test Bot") # Create tools using ToolsSchema with custom tools for Gemini @@ -151,7 +151,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -159,7 +159,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/27-simli-layer.py b/examples/foundational/27-simli-layer.py index dbf6dc3ea..fc865c407 100644 --- a/examples/foundational/27-simli-layer.py +++ b/examples/foundational/27-simli-layer.py @@ -52,7 +52,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -110,14 +110,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/28-transcription-processor.py b/examples/foundational/28-transcription-processor.py index 43d9ed11d..8a4b18b79 100644 --- a/examples/foundational/28-transcription-processor.py +++ b/examples/foundational/28-transcription-processor.py @@ -112,7 +112,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -177,14 +177,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/29-turn-tracking-observer.py b/examples/foundational/29-turn-tracking-observer.py index 5b6344f44..44ce6f3f4 100644 --- a/examples/foundational/29-turn-tracking-observer.py +++ b/examples/foundational/29-turn-tracking-observer.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -118,7 +118,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -126,7 +126,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/30-observer.py b/examples/foundational/30-observer.py index 6f069e454..d7df26b37 100644 --- a/examples/foundational/30-observer.py +++ b/examples/foundational/30-observer.py @@ -96,7 +96,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -161,7 +161,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -169,7 +169,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/32-gemini-grounding-metadata.py b/examples/foundational/32-gemini-grounding-metadata.py index 3e27bb344..9bd672fe7 100644 --- a/examples/foundational/32-gemini-grounding-metadata.py +++ b/examples/foundational/32-gemini-grounding-metadata.py @@ -91,7 +91,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -150,14 +150,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/33-gemini-rag.py b/examples/foundational/33-gemini-rag.py index d0509c357..f1b791690 100644 --- a/examples/foundational/33-gemini-rag.py +++ b/examples/foundational/33-gemini-rag.py @@ -177,7 +177,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -256,14 +256,14 @@ Your response will be turned into speech so use only simple words and punctuatio logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/34-audio-recording.py b/examples/foundational/34-audio-recording.py index 74070f049..eb32b3cca 100644 --- a/examples/foundational/34-audio-recording.py +++ b/examples/foundational/34-audio-recording.py @@ -109,7 +109,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY"), audio_passthrough=True) @@ -190,14 +190,14 @@ async def run_bot(transport: BaseTransport): bot_filename = f"recordings/bot_{timestamp}.wav" await save_audio_file(bot_audio, bot_filename, sample_rate, 1) - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/35-pattern-pair-voice-switching.py b/examples/foundational/35-pattern-pair-voice-switching.py index 7b1df655c..858547022 100644 --- a/examples/foundational/35-pattern-pair-voice-switching.py +++ b/examples/foundational/35-pattern-pair-voice-switching.py @@ -96,7 +96,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create pattern pair aggregator for voice switching @@ -227,14 +227,14 @@ Remember: Use narrator voice for EVERYTHING except the actual quoted dialogue."" logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/36-user-email-gathering.py b/examples/foundational/36-user-email-gathering.py index 1df1de518..6ccf84e60 100644 --- a/examples/foundational/36-user-email-gathering.py +++ b/examples/foundational/36-user-email-gathering.py @@ -56,7 +56,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -147,14 +147,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/37-mem0.py b/examples/foundational/37-mem0.py index 34ef51461..d6d27ceb1 100644 --- a/examples/foundational/37-mem0.py +++ b/examples/foundational/37-mem0.py @@ -146,7 +146,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): """Main bot execution function. Sets up and runs the bot pipeline including: @@ -287,14 +287,14 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/38-smart-turn-fal.py b/examples/foundational/38-smart-turn-fal.py index d98d500e5..4100dcb83 100644 --- a/examples/foundational/38-smart-turn-fal.py +++ b/examples/foundational/38-smart-turn-fal.py @@ -61,7 +61,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -115,7 +115,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -123,7 +123,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/38a-smart-turn-local-coreml.py b/examples/foundational/38a-smart-turn-local-coreml.py index adc61d8d2..b035c678b 100644 --- a/examples/foundational/38a-smart-turn-local-coreml.py +++ b/examples/foundational/38a-smart-turn-local-coreml.py @@ -77,7 +77,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -131,7 +131,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -139,7 +139,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/38b-smart-turn-local.py b/examples/foundational/38b-smart-turn-local.py index f32a32713..b97a25f75 100644 --- a/examples/foundational/38b-smart-turn-local.py +++ b/examples/foundational/38b-smart-turn-local.py @@ -77,7 +77,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -131,7 +131,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -139,7 +139,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/39-mcp-stdio.py b/examples/foundational/39-mcp-stdio.py index f53d1abf2..dea73421b 100644 --- a/examples/foundational/39-mcp-stdio.py +++ b/examples/foundational/39-mcp-stdio.py @@ -103,7 +103,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session for API calls @@ -186,7 +186,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -194,7 +194,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/39a-mcp-run-sse.py b/examples/foundational/39a-mcp-run-sse.py index 449eb9986..63d2e1d0c 100644 --- a/examples/foundational/39a-mcp-run-sse.py +++ b/examples/foundational/39a-mcp-run-sse.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -120,7 +120,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -128,7 +128,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/39b-multiple-mcp.py b/examples/foundational/39b-multiple-mcp.py index 8fa6774aa..e3becf5ee 100644 --- a/examples/foundational/39b-multiple-mcp.py +++ b/examples/foundational/39b-multiple-mcp.py @@ -106,7 +106,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Create an HTTP session for API calls @@ -199,7 +199,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -207,7 +207,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/39c-mcp-run-http.py b/examples/foundational/39c-mcp-run-http.py index 144e29044..f3b58e763 100644 --- a/examples/foundational/39c-mcp-run-http.py +++ b/examples/foundational/39c-mcp-run-http.py @@ -50,7 +50,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -124,7 +124,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -132,7 +132,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/40-aws-nova-sonic.py b/examples/foundational/40-aws-nova-sonic.py index 673c8dfd5..b11d5156e 100644 --- a/examples/foundational/40-aws-nova-sonic.py +++ b/examples/foundational/40-aws-nova-sonic.py @@ -85,7 +85,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") # Specify initial system instruction. @@ -170,14 +170,14 @@ async def run_bot(transport: BaseTransport): await task.cancel() # Run the pipeline - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/41a-text-only-webrtc.py b/examples/foundational/41a-text-only-webrtc.py index 71a8c9e50..ae552ed87 100644 --- a/examples/foundational/41a-text-only-webrtc.py +++ b/examples/foundational/41a-text-only-webrtc.py @@ -78,7 +78,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") llm = OpenAILLMService(api_key=os.getenv("OPENAI_API_KEY")) @@ -145,7 +145,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -153,7 +153,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/41b-text-and-audio-webrtc.py b/examples/foundational/41b-text-and-audio-webrtc.py index 1169df880..a400389d1 100644 --- a/examples/foundational/41b-text-and-audio-webrtc.py +++ b/examples/foundational/41b-text-and-audio-webrtc.py @@ -88,7 +88,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -161,7 +161,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -169,7 +169,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/42-interruption-config.py b/examples/foundational/42-interruption-config.py index 3e206dfea..56a3cf588 100644 --- a/examples/foundational/42-interruption-config.py +++ b/examples/foundational/42-interruption-config.py @@ -49,7 +49,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): for message in frame.messages: logger.info(f"Transcription [{message.role}]: {message.content}") - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -121,7 +121,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/foundational/43a-heygen-video-service.py b/examples/foundational/43a-heygen-video-service.py index 3e67b8672..53e53f92f 100644 --- a/examples/foundational/43a-heygen-video-service.py +++ b/examples/foundational/43a-heygen-video-service.py @@ -51,7 +51,7 @@ transport_params = { } -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") async with aiohttp.ClientSession() as session: stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -121,7 +121,7 @@ async def run_bot(transport: BaseTransport): async def bot(runner_args: RunnerArguments): """Main bot entry point compatible with Pipecat Cloud.""" transport = await create_transport(runner_args, transport_params) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__": diff --git a/examples/quickstart/bot.py b/examples/quickstart/bot.py index 11ab59829..ef201d25a 100644 --- a/examples/quickstart/bot.py +++ b/examples/quickstart/bot.py @@ -55,7 +55,7 @@ logger.info("✅ All components loaded successfully!") load_dotenv(override=True) -async def run_bot(transport: BaseTransport): +async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) @@ -113,7 +113,7 @@ async def run_bot(transport: BaseTransport): logger.info(f"Client disconnected") await task.cancel() - runner = PipelineRunner(handle_sigint=False) + runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) await runner.run(task) @@ -130,7 +130,7 @@ async def bot(runner_args: RunnerArguments): webrtc_connection=runner_args.webrtc_connection, ) - await run_bot(transport) + await run_bot(transport, runner_args) if __name__ == "__main__":