Mark Backman
91c46ffbf4
Re-inject turn completion instructions after LLM context reset
...
When filter_incomplete_user_turns is enabled and an LLMMessagesUpdateFrame
replaces the context via set_messages(), the turn completion instructions
system message was lost. This caused the LLM to stop emitting turn
completion markers. Re-inject the instructions after set_messages() to
fix this.
2026-03-01 16:37:07 -05:00
Mark Backman
69d916ca51
Consume InterimTranscriptionFrame and TranslationFrame in LLMUserAggregator
...
These frames were falling through to the else branch and being pushed
downstream, unlike TranscriptionFrame which is explicitly consumed.
This aligns with how the assistant aggregator already filters them.
2026-02-24 20:51:41 -05:00
Luke Payyapilli
3adb2f50a6
Fix LLMUserAggregator broadcasting mute events before StartFrame
2026-02-13 11:59:56 -05:00
Mark Backman
34b068d657
Improve user turn stop timing by triggering timeout from VAD stop
...
Refactor TranscriptionUserTurnStopStrategy and TurnAnalyzerUserTurnStopStrategy
to use VADUserStoppedSpeakingFrame as the ground truth for when speech ended,
rather than triggering timeouts from transcription frames.
2026-02-09 14:12:33 -05:00
Mark Backman
63a23246d5
Add UserTurnCompletionLLMServiceMixin ( #3518 )
...
* Added UserTurnCompletionLLMServiceMixin class
* Added 22-filter-incomplete-turns.py foundational example
* Removed old 22 natural conversation foundational examples
* Added test_user_turn_completion_mixin.py
2026-01-30 14:57:15 -05:00
Aleix Conchillo Flaqué
305ab44132
tests: add unittest.main() call
2026-01-30 10:07:34 -08:00
Mark Backman
e80e0eab29
Emit on_assistant_turn_stopped and on_user_turn_stopped from EndFrame or CancelFrame
2026-01-27 14:50:10 -05:00
Aleix Conchillo Flaqué
c7ab87b0cc
turns: move mute to user_mute
2026-01-16 11:07:20 -08:00
Aleix Conchillo Flaqué
24a52375c7
tests: added LLMAssistantAggregator unit tests
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
4b61fd2d7d
LLMUserAggregator: add user turn stopped message argument
...
It is now possible to get the user aggregation when a `on_user_turn_stopped`
event is emitted.
2026-01-09 09:42:41 -08:00
Aleix Conchillo Flaqué
b0185e3539
tests: improve LLMUserAggregator tests
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
2626154a64
update examples and tests copyright and use a proper dash in 2024-2026
2026-01-07 19:32:22 -08:00
Aleix Conchillo Flaqué
846ca500d3
turns: update old turn_start_strategies deprecations
2025-12-30 19:50:10 -08:00
Aleix Conchillo Flaqué
eb5a797b12
turns: rename bot turn start to user turn stop strategies
2025-12-30 14:33:58 -08:00
Aleix Conchillo Flaqué
5496aa722f
turns: simplify imports and don't require full strategy module path
2025-12-28 16:20:15 -08:00
Aleix Conchillo Flaqué
8b861d9143
LLMUserAggregator: move turn_start_strategies from PipelineTask
2025-12-28 08:16:34 -08:00
Aleix Conchillo Flaqué
43fc26cf0e
tests: add user mute strategies tests to user aggregator
2025-12-27 13:49:31 -08:00
Aleix Conchillo Flaqué
ffb5895404
tests: add initial tests for universal LLMUserAggregator
2025-12-23 15:51:06 -08:00