Mark Backman
fa85f7bbc7
Merge pull request #3640 from lukepayyapilli/fix/openai-stream-close
...
fix: close stream on cancellation to prevent socket leaks
2026-02-05 18:00:06 -05:00
filipi87
76f63e54e2
Changing the ‘no audio received’ log from warning to debug.
2026-02-05 18:07:14 -03:00
Filipi da Silva Fuchter
cce5a13444
Merge pull request #3650 from pipecat-ai/filipi/twilio_issues
...
Ignoring RTVI messages inside the Serializers by default.
2026-02-05 15:52:59 -05:00
filipi87
6af4d872a8
Refactoring the serializers to ignore the RTVI messages by default.
2026-02-05 16:52:53 -03:00
Mark Backman
56d8ef2bf4
Deprecate UserBotLatencyLogObserver, update 29 example
2026-02-05 14:29:45 -05:00
Derek Haynes
93138466d6
Feat: Add user-bot latency to OTel turn spans
...
This adds user-to-bot response latency tracking to OpenTelemetry spans:
- Created UserBotLatencyObserver as a reusable component for tracking
user-to-bot response latency
- Records the value as an attribute on turn spans (turn.user_bot_latency_seconds)
- Updated TurnTraceObserver to use UserBotLatencyObserver, following the same pattern as TurnTrackingObserver
- Updated PipelineTask to automatically create and wire UserBotLatencyObserver
when tracing is enabled (same as TurnTrackingObserver)
2026-02-05 14:29:42 -05:00
Mark Backman
5a5a98b497
Merge pull request #3649 from itsderek23/fix/tracing-orphan-spans
...
Fix orphan otel spans during flow initialization and transitions
2026-02-05 14:23:52 -05:00
Derek Haynes
0d45b48f7b
Fix import placement
2026-02-05 11:26:58 -07:00
Mark Backman
bd12b60b5c
Merge pull request #3614 from okue/fix/websocket-broadcast-frame-misuse
...
fix: pass frame class instead of instance to broadcast_frame in websocket transports
2026-02-05 12:19:03 -05:00
filipi87
752e16f553
Ignoring RTVI messages inside TwilioSerializer by default.
2026-02-05 10:51:03 -03:00
Derek Haynes
7c7408a048
Fix orphan spans in tracing during flow initialization and transitions
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 06:06:13 -07:00
Mark Backman
8f42343927
Merge pull request #3630 from pipecat-ai/mb/add-function-call-messages-rtvi
...
Add native RTVI function call lifecycle messages
2026-02-04 16:20:42 -05:00
Mark Backman
ecb02d9049
Bump RTVI_PROTOCOL_VERSION to 1.2.0
2026-02-04 11:17:38 -05:00
Mark Backman
cc68e00125
Deprecate llm-function-call message
2026-02-04 11:17:23 -05:00
Mark Backman
e0e3b5250b
Add RTVIObserverParams to control what information is included in function call events
2026-02-04 11:05:05 -05:00
Luke Payyapilli
55a3b10e70
fix(openai): close stream on cancellation to prevent socket leaks
2026-02-04 09:59:10 -05:00
Mark Backman
2db3d94d06
Merge pull request #3628 from pipecat-ai/mb/broadcast-speech-control-params-frame
...
Fix: Broadcast SpeechControlParamsFrame from VADController
2026-02-03 18:44:15 -05:00
Mark Backman
2a26b9f7a3
Fix: Broadcast SpeechControlParamsFrame from VADController
2026-02-03 18:40:39 -05:00
Aleix Conchillo Flaqué
c3a4da4a29
PipelineTask: also call set_bot_ready() for external RTVI processors
2026-02-03 14:16:08 -08:00
Mark Backman
84ca0b6d58
Merge pull request #3629 from pipecat-ai/fix/telephony-websocket-stopasynciteration
...
Fix StopAsyncIteration in parse_telephony_websocket
2026-02-03 12:10:07 -05:00
Mark Backman
c1857d255d
Avoid nesting try/excepts
2026-02-03 12:00:04 -05:00
Mark Backman
40c84faff5
Remove handle_function_call_start
2026-02-03 10:00:59 -05:00
Mark Backman
84cd9346f9
Add native RTVI function call lifecycle messages
2026-02-03 10:00:59 -05:00
Luke Payyapilli
8d3e10f054
Make EndFrame and StopFrame uninterruptible to prevent pipeline freeze
2026-02-03 09:12:59 -05:00
James Hush
803a20cc00
Fix formatting: remove extra blank line
...
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:46:44 +08:00
James Hush
90bead06ab
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-03 16:42:13 +08:00
James Hush
b030f1178d
Add changelog and improve docstring for parse_telephony_websocket
...
- Added changelog entry for bug fix
- Enhanced docstring with Args and Raises sections
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:26:09 +08:00
James Hush
a627597bca
Fix StopAsyncIteration in parse_telephony_websocket
...
Handle WebSocket disconnections gracefully when telephony providers send
fewer messages than expected. Adds explicit StopAsyncIteration handling
for both first and second message retrieval.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:25:07 +08:00
Mark Backman
a4e499dc80
Merge pull request #3617 from pipecat-ai/fix/cjk-sentence-splitting
...
Fix sentence splitting for CJK and other non-Latin languages
2026-02-02 18:16:51 -05:00
Mark Backman
a592b7fdf0
Update per PR 1789, align with ErrorFrame norms
2026-02-02 08:55:29 -05:00
Mark Backman
ba2b7c05d6
Add ResembleAITTSService
2026-02-02 08:55:27 -05:00
James Hush
763002f2bc
Fix sentence splitting for CJK and other non-Latin languages in TTS pipeline
...
NLTK's sent_tokenize() only supports ~15 European languages and defaults to
English. For Japanese, Chinese, Korean, Hindi, Arabic, and other non-Latin
languages, NLTK fails to recognize sentence boundaries like 。?! causing
text to accumulate until flush instead of being emitted sentence-by-sentence.
Add a fallback in match_endofsentence() that scans for unambiguous non-Latin
sentence-ending punctuation when NLTK fails to split the text. Latin
punctuation (. ! ? ; …) is excluded from the fallback since NLTK handles
those correctly and they can be ambiguous (abbreviations, decimals, etc.).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 14:27:49 +08:00
okue
d3ecbb11c1
fix: pass frame class instead of instance to broadcast_frame in websocket transports
...
broadcast_frame() expects a frame class and kwargs, but the three
websocket input transports (fastapi, client, server) were incorrectly
passing a frame instance. This would cause a TypeError at runtime when
an InputTransportMessageFrame was received.
2026-02-01 20:38:34 +09:00
Aleix Conchillo Flaqué
f453227ba3
Merge pull request #3612 from pipecat-ai/aleix/use-kokoro-onnx
...
KokoroTTSService: use kokoro-onnx instead of kokoro
2026-01-31 21:03:55 -08:00
Aleix Conchillo Flaqué
95689cc81c
KokoroTTSService: use kokoro-onnx instead of kokoro
2026-01-31 17:20:27 -08:00
Aleix Conchillo Flaqué
acc9923c0a
PipelineTask: don't add RTVIObserver if already there
2026-01-31 14:54:29 -08:00
Aleix Conchillo Flaqué
d87f3543c7
GeminiLiveLLMService: let the transcription timeout handler be scheduled
2026-01-30 22:41:10 -08:00
Mark Backman
e779233918
Fix IVRNavigator to push AggregatedTextFrame when switching to conversation mode
2026-01-30 21:07:49 -05:00
Aleix Conchillo Flaqué
e3158e1131
Merge pull request #3600 from pipecat-ai/aleix/llm-server-timeout-task-never-waited
...
LLMService: make sure function call timeout handler is started
2026-01-30 12:01:18 -08: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é
a98ca9b65b
LLMService: make sure function call timeout handler is started
2026-01-30 11:38:26 -08:00
Aleix Conchillo Flaqué
35d265770d
LLMUserAggregator: don't process certain self-queued frames
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
9632efec8c
VADProcessor: broadcast frames
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
27dbfa1eda
NvidiaTTSService: return AsyncIterator instead of AsyncIterable
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
183c0aa4ef
LLMUserAggregator: queue frames internally so strategies and controllers can process them
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
c46e7f5da0
TurnAnalyzerUserTurnStopStrategy: only update vad params if frame contains vad
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
b486f35c70
audio: add new VADProcessor
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
c92080b0d2
LLMUserAggregator: add vad_analyzer and use VADController
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
ddfedaf478
audio(vad): add new VADController
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
b1ad4d5ab0
BaseInputTransport: deprecate vad_analyzer
2026-01-30 10:07:33 -08:00