fix: relay confirmation interrupts past muted input

This commit is contained in:
Xin Wang
2026-08-04 11:12:34 +08:00
parent da828aca41
commit 775e4058bc
8 changed files with 153 additions and 70 deletions

View File

@@ -16,6 +16,7 @@ from pipecat.runner.utils import (
maybe_capture_participant_camera,
)
from pipecat.utils.time import time_now_iso8601
from services.client_tools import ClientToolBroker
from services.pipecat.processors import UserInput
@@ -32,6 +33,7 @@ def bind_cascade_pipeline_events(
vision_enabled: bool,
vision_state: dict[str, str | None],
submit_user_input: Callable[[UserInput], Awaitable[None]] | None = None,
client_tools: ClientToolBroker | None = None,
) -> None:
"""Connect processors to transport events without owning pipeline assembly."""
@@ -159,6 +161,8 @@ def bind_cascade_pipeline_events(
@assistant_aggregator.event_handler("on_interruption_processed")
async def on_interruption_processed(_aggregator):
if client_tools is not None:
client_tools.on_interruption_processed()
if not pending_user_inputs:
return
await finish_user_input(pending_user_inputs.pop(0))