The old name overlapped semantically with `UserStoppedSpeakingFrame`: both could be read as "the user's turn is done." They're at different layers — `UserStoppedSpeakingFrame` is the acoustic stop signal, while this frame is the post-judgment "inference about the turn is now complete (turn is semantically final)" signal emitted by the LLM mixin (on ✓), an end-of-turn classifier, or a custom producer. The new name pairs naturally with the existing `on_user_turn_inference_triggered` event vocabulary and removes the ambiguity with `UserStoppedSpeakingFrame`.
407 B
407 B
- Added
LLMTurnCompletionUserTurnStopStrategyinpipecat.turns.user_stop. When installed, the strategy gateson_user_turn_stoppedon aUserTurnInferenceCompletedFrame(a new fieldless system frame emitted by any component that can judge turn completeness — e.g. theUserTurnCompletionLLMServiceMixinon✓). Afinalization_timeoutprovides a safety net if no completion frame ever arrives.