pipecat icon indicating copy to clipboard operation
pipecat copied to clipboard

allow waiting for all function calls to complete

Open aconchillo opened this issue 1 month ago • 1 comments

Please describe the changes in your PR. If it is addressing an issue, please reference that as well.

This PR adds a wait_for_all flag to the LLMService base class. This flag allows waiting for all function calls to complete before returning any result to the LLM. So, when wait_for_all is True we won't return any IN_PROGRESS result to the LLM.

This is necessary for reasoning models as both the thinking and tool result are part of the same assistant turn.

aconchillo avatar Nov 24 '25 02:11 aconchillo

Codecov Report

:x: Patch coverage is 17.64706% with 28 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/pipecat/services/llm_service.py 17.64% 28 Missing :warning:
Files with missing lines Coverage Δ
src/pipecat/services/llm_service.py 37.20% <17.64%> (-1.88%) :arrow_down:
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Nov 24 '25 02:11 codecov[bot]

Did some more tests and fixed function call cancellation issues.

aconchillo avatar Dec 02 '25 02:12 aconchillo