pipecat version
0.99
Python version
3.12.12
Operating System
MacOS 26.2
Issue description
When we manage to interrupt the function call before the FunctionCallInProgressFrame has been sent, the function call gets stuck IN_PROGRESS and does not ever complete. In Pipecat Flows this stops node transitions and also makes the LLM more hesitant to call the function.
Reproduction steps
Easiest to reproduce when using LLM that can send text and function call in same response.
Instruct LLM to create content and tool call. Interrupt the speach when it has been generated.
Interruption frame is sent before the FunctionCallInProgressFrame. The function gets stuck in progress.
Seems like the FunctionCallInProgressFrame is sent after all of the text frames have arrived to TTS.
Expected behavior
Either cancel the function or let it complete. Not leave it in_progress.
Actual behavior
Function is stuck IN_PROGRESS. Flows node transitions are blocked.
Logs