Mark Backman
01b7a93e08
Deprecate unused Traceable/class_decorators module and fix stale comments
...
The class_decorators.py module (Traceable, @traceable, @traced) is not
used anywhere in the codebase. Mark it deprecated and fix the misleading
comment in service_decorators.py that referenced it as if it were active.
2026-02-13 11:25:40 -05:00
Mark Backman
347eaf582d
Merge pull request #3721 from pipecat-ai/fix/pipeline-scoped-tracing-context
...
Replace singleton context providers with pipeline-scoped TracingContext
2026-02-13 11:24:37 -05:00
Mark Backman
25ca296477
Move tracing fields to AIService and extract _get_turn_context helper
...
Consolidate _tracing_enabled and _tracing_context from LLMService,
STTService, and TTSService into the shared AIService base class.
Extract _get_turn_context() helper in service_decorators.py to
encapsulate the repeated pattern across all traced decorators.
2026-02-13 11:21:24 -05:00
Mark Backman
9e6f27c9f1
Merge pull request #3625 from ianbbqzy/ian/inworld-async-timestamp
...
[inworld] Allow Async delivery of timestamps info
2026-02-12 21:20:22 -05:00
Ian Lee
94f01af545
[inworld] Allow Async delivery of timestamps info
...
* speed up first audio chunk latency
2026-02-12 17:48:58 -08:00
Filipi da Silva Fuchter
432870cc36
Merge pull request #3729 from pipecat-ai/filipi/elevenlabs_issue
...
TTS services fixes.
2026-02-12 16:31:46 -05:00
Filipi da Silva Fuchter
e065907745
Merge pull request #3718 from pipecat-ai/filipi/bot_started_speaking
...
Fixing an issue in RTVI where we were sometimes receiving bot output messages before the bot started speaking.
2026-02-12 16:31:14 -05:00
Mark Backman
b7a5ca3d1e
Merge pull request #3730 from pipecat-ai/mb/stt-keepalive
...
Move STT keepalive from WebsocketSTTService to STTService base class
2026-02-12 15:37:23 -05:00
filipi87
9569625f03
Changelog entries for the TTS fixes.
2026-02-12 16:11:02 -03:00
filipi87
8866ab1585
Fixing RimeTTSService to reuse the same context when needed.
2026-02-12 15:53:38 -03:00
filipi87
f0995164d9
Fixing PlayHTTTSService to reuse the same context when needed.
2026-02-12 15:50:18 -03:00
filipi87
136732afae
Fixing InworldTTSService to reuse the same context when needed.
2026-02-12 15:46:59 -03:00
filipi87
3410eb82b3
Fixing CartesiaTTSService to reuse the same context when needed.
2026-02-12 15:26:49 -03:00
filipi87
abea22ec57
Fixing AsyncAITTSService to reuse the same context when needed.
2026-02-12 15:17:47 -03:00
Mark Backman
08beb0264a
Add changelog entries for PR #3730
2026-02-12 13:14:11 -05:00
Mark Backman
2e15b4842c
Move STT keepalive mechanism from WebsocketSTTService to STTService base class
...
This allows non-websocket STT services (like SarvamSTTService, which uses
the Sarvam Python SDK for connection management) to reuse the same keepalive
pattern. Subclasses override _send_keepalive() and _is_keepalive_ready() for
their specific protocol.
2026-02-12 11:09:39 -05:00
filipi87
6d95a2425c
Fixing ElevenLabs TTS word timestamp interleaving across sentences.
2026-02-12 12:54:47 -03:00
Mark Backman
71a752c971
Add tests for TracingContext and TurnTraceObserver
...
Cover pipeline-scoped tracing context lifecycle, span hierarchy,
conversation/turn context management, and concurrent pipeline isolation.
2026-02-11 23:27:35 -05:00
Mark Backman
358f237507
Replace singleton context providers with pipeline-scoped TracingContext
...
ConversationContextProvider and TurnContextProvider were singletons that
stored tracing context as class-level state. When two PipelineTask instances
ran concurrently, they would overwrite each other's context, causing service
spans to attach to the wrong pipeline's turn span.
Replace both singletons with a single TracingContext object owned by each
PipelineTask, threaded to services via StartFrame.
2026-02-11 21:58:10 -05:00
Mark Backman
d99a256715
Merge pull request #3706 from ianbbqzy/ian/inworld-user-agent
...
[Inworld] add User-Agent and X-Request-Id for better traceability
2026-02-11 19:38:26 -05:00
Ian Lee
dcbcab1542
[Inworld] add User-Agent and X-Request-Id for better traceability
2026-02-11 15:47:20 -08:00
filipi87
ed7fde324e
Adding changelog entry for the RTVIObserver fix.
2026-02-11 16:23:42 -03:00
filipi87
beb4e86b5f
Fixing an issue in RTVI where we were sometimes receiving bot output messages before the bot started speaking.
2026-02-11 16:17:28 -03:00
Aleix Conchillo Flaqué
e75ccd9c2f
Merge pull request #3717 from pipecat-ai/aleix/update-claude-md-pr-instructions
...
Add /pr-submit skill and clean up CLAUDE.md
2026-02-11 10:40:20 -08:00
Aleix Conchillo Flaqué
a80919ceff
Move PR submission instructions from CLAUDE.md to /pr-submit skill
...
Extract the procedural PR workflow into an actionable skill that can be
invoked with /pr-submit. CLAUDE.md is better suited for project context
and conventions, not step-by-step procedures.
2026-02-11 09:57:42 -08:00
Aleix Conchillo Flaqué
1fe4538982
Update PR submission instructions in CLAUDE.md
...
Expand the Pull Requests section with detailed step-by-step instructions
including branch naming, commit guidance, changelog generation, and PR
description updates.
2026-02-11 09:51:10 -08:00
Filipi da Silva Fuchter
9a48d93bd2
Merge pull request #3713 from pipecat-ai/filipi/smallwebrtc_8khz
...
Fixing smallwebrtc transport input audio resampling logic.
2026-02-11 11:58:32 -05:00
filipi87
0c3e59ed61
Adding changelog entry for the SmallWebRTCTransport fix.
2026-02-11 13:07:52 -03:00
filipi87
ec2b38dc29
Fixing smallwebrtc transport input audio resampling logic.
2026-02-11 13:01:25 -03:00
Mark Backman
0574167fbd
Merge pull request #3709 from pipecat-ai/mb/fix-quickstart-pcc-deploy
...
Fix quickstart pcc-deploy.toml
2026-02-10 22:19:37 -05:00
Mark Backman
972ad93e18
Fix quickstart pcc-deploy.toml
2026-02-10 22:17:09 -05:00
Mark Backman
ac53594967
Merge pull request #3708 from pipecat-ai/mb/fix-quickstart-pyproject
...
Fix quickstart pyproject.toml
2026-02-10 22:09:49 -05:00
Mark Backman
b063d9d43b
Fix quickstart pyproject.toml
2026-02-10 22:06:38 -05:00
Mark Backman
48e93beadf
Merge pull request #3705 from pipecat-ai/mb/quickstart-0.0.102
...
Update quickstart for 0.0.102
2026-02-10 21:57:33 -05:00
Aleix Conchillo Flaqué
640940a41a
Merge pull request #3704 from pipecat-ai/changelog-0.0.102
...
Release 0.0.102 - Changelog Update
v0.0.102
2026-02-10 18:31:30 -08:00
aconchillo
f1e2001a4e
Update changelog for version 0.0.102
2026-02-10 18:28:21 -08:00
Aleix Conchillo Flaqué
12dc6c0b9e
Merge pull request #3707 from pipecat-ai/aleix/fix-openai-stream-close-compat
...
fix(openai): use compatible stream closing for non-OpenAI providers
2026-02-10 18:26:18 -08:00
Aleix Conchillo Flaqué
93f4402198
Update stream close test to match new _closing helper
2026-02-10 18:19:57 -08:00
Aleix Conchillo Flaqué
f3eb5b30a0
Add changelog for #3707
2026-02-10 18:01:29 -08:00
Aleix Conchillo Flaqué
18aad05a7c
fix(openai): use compatible stream closing for non-OpenAI providers
...
OpenAI's AsyncStream uses close() while async generators (e.g. from
OpenPipe) use aclose(). Replace direct async-with on the stream with a
helper that handles both protocols.
2026-02-10 17:59:21 -08:00
Mark Backman
883b24f577
Update quickstart for 0.0.102
2026-02-10 18:14:04 -05:00
Mark Backman
17ab9c425f
Merge pull request #3675 from pipecat-ai/mb/elevenlabs-realtime-send-silence
...
Add silence-based keepalive to WebsocketSTTService
2026-02-10 18:03:38 -05:00
Mark Backman
2f5e61ac55
Add silence-based keepalive to WebsocketSTTService
...
Adds opt-in keepalive_timeout and keepalive_interval params to
WebsocketSTTService. When enabled, a background task sends silent audio
(or a service-specific protocol message) when the connection has been
idle, preventing server-side timeout disconnects.
Subclasses override _send_keepalive(silence) to wrap the silence in
their wire format. The default sends raw PCM bytes.
Enables keepalive for ElevenLabs (10s), Gladia (20s), and Soniox (1s),
replacing their per-service custom keepalive tasks.
2026-02-10 17:58:47 -05:00
Aleix Conchillo Flaqué
1128c5b7fb
Merge pull request #3702 from pipecat-ai/aleix/add-missing-local-smartturn-dependency
...
pyproject: add local smartturn as a default dependency
2026-02-10 14:34:43 -08:00
Aleix Conchillo Flaqué
a9a5edd8ca
pyproject: add local smartturn as a default dependency
2026-02-10 14:32:32 -08:00
Filipi da Silva Fuchter
a98c884e31
Merge pull request #3621 from pipecat-ai/filipi/context_compressure
...
Context summarization feature implementation
2026-02-10 17:04:47 -05:00
filipi87
2475697955
Changelog entries for context summarization
2026-02-10 18:59:12 -03:00
filipi87
ba242d4875
Context summarization example with Google
2026-02-10 18:59:03 -03:00
filipi87
5deb80932b
Context summarization example with OpenAI
2026-02-10 18:58:55 -03:00
filipi87
4a00e6829f
Automated tests for the context summarizer.
2026-02-10 18:58:44 -03:00