From 91911769b0f5b2a308d71d052f44efa9839bcb2a Mon Sep 17 00:00:00 2001 From: Abhishek Date: Thu, 29 Jan 2026 14:42:34 +0530 Subject: [PATCH] feat: mute on function call (#138) --- api/services/pipecat/run_pipeline.py | 2 ++ api/services/workflow/pipecat_engine.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/api/services/pipecat/run_pipeline.py b/api/services/pipecat/run_pipeline.py index e11f525..fce8cea 100644 --- a/api/services/pipecat/run_pipeline.py +++ b/api/services/pipecat/run_pipeline.py @@ -54,6 +54,7 @@ from pipecat.processors.aggregators.llm_response_universal import ( from pipecat.transports.smallwebrtc.connection import SmallWebRTCConnection from pipecat.turns.user_mute import ( CallbackUserMuteStrategy, + FunctionCallUserMuteStrategy, MuteUntilFirstBotCompleteUserMuteStrategy, ) from pipecat.turns.user_start import ( @@ -572,6 +573,7 @@ async def _run_pipeline( # - CallbackUserMuteStrategy: mutes based on engine's _mute_pipeline state user_mute_strategies = [ MuteUntilFirstBotCompleteUserMuteStrategy(), + FunctionCallUserMuteStrategy(), CallbackUserMuteStrategy(should_mute_callback=engine.should_mute_user), ] diff --git a/api/services/workflow/pipecat_engine.py b/api/services/workflow/pipecat_engine.py index 08c6baa..c817aa1 100644 --- a/api/services/workflow/pipecat_engine.py +++ b/api/services/workflow/pipecat_engine.py @@ -259,7 +259,7 @@ class PipecatEngine: self.llm.register_function( name, transition_func, - cancel_on_interruption=True, + cancel_on_interruption=False, ) async def _register_builtin_functions(self):