kompfner
fca4ecc73c
Merge pull request #2675 from pipecat-ai/pk/service-switcher-logic-simplification
...
Simplify a bit of logic in `ServiceSwitcher`
2025-09-18 09:17:22 -04:00
Paul Kompfner
cfa333508b
Simplify a bit of logic in ServiceSwitcher
2025-09-17 21:03:38 -04:00
Mark Backman
9e7260393a
Merge pull request #2671 from pipecat-ai/mb/fix-asyncai-ttstextframe
...
fix: AsyncAITTSService wasn't pushing TTSTextFrames
2025-09-17 14:06:41 -07:00
Mark Backman
073b585c52
fix: AsyncAITTSService wasn't pushing TTSTextFrames
2025-09-17 16:54:18 -04:00
Aleix Conchillo Flaqué
81c2e51bec
Merge pull request #2669 from pipecat-ai/aleix/interruption-task-frame-wait-fixes
...
interruption task frame wait fixes
2025-09-17 13:47:57 -07:00
Aleix Conchillo Flaqué
42344125b1
tests: add unit tests for push_interruption_task_frame_and_wait()
2025-09-17 13:38:22 -07:00
Aleix Conchillo Flaqué
db5bcfaa51
FrameProcessor: fix push_interruption_task_frame_and_wait()
2025-09-17 13:38:21 -07:00
kompfner
615239b7d2
Merge pull request #2646 from pipecat-ai/pk/service-switcher-unit-tests
...
`ServiceSwitcher` unit tests (ended up being much more than that)
2025-09-17 16:30:18 -04:00
Paul Kompfner
27f1e9dd69
Update CHANGELOG with a description of the recently-fixed ServiceSwitcher bugs
2025-09-17 16:27:12 -04:00
Paul Kompfner
bd760deff2
Update comment with more detail for posterity
2025-09-17 16:19:31 -04:00
Paul Kompfner
8bc3c89140
Fix a bug preventing usage of multiple ServiceSwitchers in a pipeline
2025-09-17 16:09:18 -04:00
Paul Kompfner
2cd2567a37
Add a unit tests validating that multiple ServiceSwitchers can be used in the same pipeline (currently failing)
2025-09-17 16:04:30 -04:00
Paul Kompfner
5b55988846
Denote a couple of variables are private with a leading underscore
2025-09-17 15:38:28 -04:00
Paul Kompfner
a12392182c
Simplify, undoing the change allowing controlling ServiceSwitcher with immediate frames (SystemFrames). Service switcher frames are ControlFrames, which are easier to reason about. We can always build the immediate option later if needed (i.e. if there's sufficient user pull for it)
2025-09-17 15:35:02 -04:00
Paul Kompfner
b814b70e1e
Allow controlling ServiceSwitcher with either immediate frames (SystemFrames) or in-order frames (ControlFrames).
...
Immediate is the "default", i.e. has the more obvious name (e.g. `ManuallySwitchServiceFrame` v `ManuallySwitchServiceControlFrame`), since that's *probably* what users will want to reach for. Also, the immediate frames are more likely to behave like what we had before the last few commits, where the service switch would always "jump the queue" by having an immediate effect once it hit the `ServiceSwitcher` in the pipeline, jumping ahead of frames in front of it destined for the service.
2025-09-17 15:35:02 -04:00
Paul Kompfner
a1f84e1b50
Remove extraneous unit tests
2025-09-17 15:35:02 -04:00
Paul Kompfner
0839b48da8
Fix an issue where the upstream ServiceSwitcherFilter wouldn't get updated with the current active service
2025-09-17 15:35:02 -04:00
Paul Kompfner
de51637b77
Update ServiceSwitcher so that ServiceSwitcherFrames (which might update the currently active service) are processed and have an effect at the expected time. We should be able to, for example, queue:
...
- A text frame
- A `ManuallySwitchServiceFrame` (which is a `ServiceSwitcherFrame`)
- Another text frame
And expect that the first text frame be handled by the initially active service and the second text frame be handled by the newly active one.
Previously, the `ManuallySwitchServiceFrame` would have an effect too early, causing both text frames to be handled by the newly active service. Why? Because the frame filtering condition was being updated *directly* by the `ServiceSwitcher`, which is upstream from the services it's switching between. It could therefore update the filters *before* the services received the prior frames.
2025-09-17 15:35:02 -04:00
Paul Kompfner
e1b1dc16ec
Add unit tests for ServiceSwitcher
2025-09-17 15:35:02 -04:00
Mark Backman
1fe27eb0a2
Merge pull request #2660 from pipecat-ai/mb/fix-user-idle-processor-cancel-task
...
fix: clean up how UserIdleProcessor handles return False
2025-09-16 14:48:59 -07:00
Mark Backman
d7e1389497
fix: clean up how UserIdleProcessor handles return False
2025-09-16 17:44:06 -04:00
Aleix Conchillo Flaqué
8c7230aa8f
Merge pull request #2668 from pipecat-ai/aleix/livekit-update
...
livekit package update
2025-09-16 14:43:18 -07:00
Aleix Conchillo Flaqué
2cf71239b0
examples(01b): use TTSSpeakFrame instead of TextFrame
2025-09-16 17:18:45 -04:00
Aleix Conchillo Flaqué
ec2c62e32b
pyproject: update to livekit 1.0.13
...
Fixes #2643
2025-09-16 17:18:44 -04:00
Mark Backman
38ce85e9a0
Merge pull request #2667 from zytegalaxy/mcp-serverparameters-typefix
...
fix: replace `Tuple` type with `TypeAlias` for server params in MCP client
2025-09-16 14:14:59 -07:00
Mark Backman
2279e5a899
Merge pull request #2663 from pipecat-ai/mb/websockets-15
...
Add support for websockets 15.0
2025-09-16 14:08:36 -07:00
Mark Backman
cce6eb5d87
Merge pull request #2666 from pipecat-ai/mb/update-38b-local-turn-model
...
38b: Update bundled ONNX smart-turn model
2025-09-16 14:05:12 -07:00
mehrdad
c2b98ae557
fix(lint): fix space format issue
2025-09-16 13:44:15 -07:00
Filipi da Silva Fuchter
727eb12b16
Merge pull request #2648 from pipecat-ai/filipi/pcc_small_webrtc
...
Creating SmallWebRTCRequestHandler for managing peer connections.
2025-09-16 16:37:04 -03:00
mehrdad
ba96bd05d3
fix: replace Tuple type with TypeAlias for server params in MCP client
2025-09-16 11:44:25 -07:00
Mark Backman
8ead309f8d
38b: Update bundled ONNX smart-turn model
2025-09-16 13:17:14 -04:00
Mark Backman
fad0e55c64
Add websockets-base optional dependency and use for DRY pyproject.toml
2025-09-16 11:24:38 -04:00
Mark Backman
74b1af56a0
Update uv.lock
2025-09-16 11:21:49 -04:00
Mark Backman
6924850ec4
Add support for websockets 15.0
2025-09-16 11:21:49 -04:00
marcus-daily
dfe7815dc5
Smart Turn v3: removing torch and torchaudio deps
2025-09-16 16:02:41 +01:00
Mark Backman
cca90791c4
Merge pull request #2652 from pipecat-ai/mb/fix-audio-buffer-processor-has-audio
...
fix: AudioBufferProcessor has_audio returns based on user or bot audi…
2025-09-15 18:43:59 -07:00
Mark Backman
f2a5d408de
fix: AudioBufferProcessor has_audio returns based on user or bot audio existing
2025-09-15 21:35:35 -04:00
Aleix Conchillo Flaqué
044c6eba46
Merge pull request #2655 from pipecat-ai/aleix/add-on-pipeline-finalized
...
PipelineTask: add on_pipeline_finished event
2025-09-15 15:32:04 -07:00
Aleix Conchillo Flaqué
db71089f5e
PipelineTask: add on_pipeline_finished event
...
This deprecates `on_pipeline_stopped`, `on_pipeline_ended` and
`on_pipeline_cancelled`.
2025-09-15 15:28:33 -07:00
Aleix Conchillo Flaqué
f861f5066f
Merge pull request #2654 from pipecat-ai/aleix/unify-on-client-disconnected
...
transports: on_client_disconnected only if remote client disconnects
2025-09-15 15:18:57 -07:00
kompfner
81cede2c60
Merge pull request #2653 from pipecat-ai/pk/llm-context-adapting-tests
...
`LLMContext`-adapting unit tests
2025-09-15 16:38:46 -04:00
kompfner
7603203230
Merge pull request #2644 from pipecat-ai/pk/run-inference-unit-tests
...
`run_inference` unit tests
2025-09-15 16:26:10 -04:00
Aleix Conchillo Flaqué
8569b61598
transports: on_client_disconnected only if remote client disconnects
2025-09-15 11:35:40 -07:00
Paul Kompfner
fe42187dc1
Implement LLMService.create_llm_specific_message() so that users don't need to just know what value of llm to provide to the LLMSpecificMessage constructor
2025-09-15 14:15:22 -04:00
Paul Kompfner
999e88c942
Add unit tests for AWSBedrockLLMAdapter.get_llm_invocation_params(), focusing on messages specifically
2025-09-15 12:08:21 -04:00
Paul Kompfner
c04df2f28b
Add unit tests for AnthropicLLMAdapter.get_llm_invocation_params(), focusing on messages specifically
2025-09-15 11:55:48 -04:00
Paul Kompfner
100ef0ab5c
Add unit tests for GeminiLLMAdapter.get_llm_invocation_params(), focusing on messages specifically
2025-09-15 11:38:23 -04:00
Paul Kompfner
42886d7105
Add unit tests for OpenAILLMAdapter.get_llm_invocation_params(), focusing on messages specifically. Also, fix a bug in OpenAILLMAdapter (found thanks to the unit tests) where it wasn't "unwrapping" LLMSpecificMessages.
2025-09-15 11:17:11 -04:00
Mark Backman
22cbba002a
Merge pull request #2651 from pipecat-ai/mb/heygen-bot-speaking-frame
...
fix: push BotStartedSpeakingFrame in HeyGenVideoService
2025-09-15 08:02:25 -07:00
Filipi Fuchter
0a043154f2
Removing not used import.
2025-09-15 10:46:43 -03:00