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`.
430 B
430 B
- Added
ExternalUserTurnCompletionStopStrategyinpipecat.turns.user_stop— a generic stop strategy that finalizes the user turn whenever aUserTurnInferenceCompletedFramearrives, regardless of which component produced it.LLMTurnCompletionUserTurnStopStrategynow extends this base; future producers (Flux, custom end-of-turn classifiers, etc.) can use the base directly or subclass it to add producer-specific setup.