Mark Backman
446bb5cddf
Refactor callback to event
2025-08-22 12:12:17 -04:00
Mark Backman
1c1ee94074
Add 44 to evals, update evals to support user speaking first
2025-08-22 12:12:17 -04:00
Mark Backman
ac30083b45
Add CHANGELOG entry
2025-08-22 12:12:17 -04:00
Mark Backman
ce579d4266
Make on_voicemail_detected callback required, cleanup logging
2025-08-22 12:12:17 -04:00
Mark Backman
5a07b30c7a
Class name changes, add TTSStarted/StoppedFrame to the TTSBuffer
2025-08-22 12:12:17 -04:00
Mark Backman
9da33f3897
Handle multiple user inputs from the user when a voicemail is detected; add a configurable timeout to emitting the callback
2025-08-22 12:12:17 -04:00
Mark Backman
5ca82ec61e
Final docstrings, comments, and cleanup
2025-08-22 12:12:17 -04:00
Mark Backman
0067c7df47
Add aggregation to classifier LLM output and validate prompt
2025-08-22 12:12:17 -04:00
Mark Backman
ab03db5b0c
Updated prompt, add custom system_prompt input
2025-08-22 12:12:17 -04:00
Mark Backman
238d6bf9ab
Add buffering logic
2025-08-22 12:12:17 -04:00
Mark Backman
90ae85bab2
More updates—added new voicemail module
2025-08-22 12:12:17 -04:00
Mark Backman
29e09b2053
POC demo in progress
2025-08-22 12:12:17 -04:00
mattie ruth backman
bad9977e8c
PR feedback and more explicit about only supporting exporting 1 video
2025-08-22 11:24:22 -04:00
mattie ruth backman
b987579d54
update smallWebRTC screen support to support the utils format for listening to screenshares
2025-08-22 11:24:22 -04:00
mattie ruth backman
40f1f4ff11
Add support to smallWebRTCTransport for receiving screenshare videos
2025-08-22 11:24:22 -04:00
Aleix Conchillo Flaqué
256ecf4d71
Merge pull request #2490 from pipecat-ai/aleix/speechmatics-exceptions
...
Speechmatics exception handling
2025-08-21 19:48:43 -07:00
Aleix Conchillo Flaqué
c16969c4f5
Merge pull request #2489 from pipecat-ai/aleix/daily-python-0.19.7
...
pyproject: update daily-python to 0.19.7
2025-08-21 19:48:31 -07:00
Aleix Conchillo Flaqué
4947d08733
GladiaSTTService: update loggin levels
2025-08-21 18:42:23 -07:00
Aleix Conchillo Flaqué
b61846534d
SpeechmaticsSTTService: improve exception handling and loggin
2025-08-21 18:42:23 -07:00
Aleix Conchillo Flaqué
8f01cd220a
pyproject: update daily-python to 0.19.7
2025-08-21 18:40:01 -07:00
Aleix Conchillo Flaqué
3abaaf80e0
Merge pull request #2487 from pipecat-ai/aleix/watchdog-timers-removal
...
remove watchdog timers and specific asyncio implementations
2025-08-21 18:37:35 -07:00
Aleix Conchillo Flaqué
13890fa021
github(tests): use python 3.12 to run unit tests/coverage
2025-08-21 18:09:56 -07:00
Aleix Conchillo Flaqué
802af28888
update pytest-asyncio to 1.1.0
2025-08-21 18:09:56 -07:00
Aleix Conchillo Flaqué
24a628c85e
remove watchdog timers and specific asyncio implementations
...
Watchdog timers have been removed. They were introduced in 0.0.72 to help
diagnose pipeline freezes. Unfortunately, they proved ineffective since they
required developers to use Pipecat-specific queues, iterators, and events to
correctly reset the timer, which limited their usefulness and added friction.
2025-08-21 18:09:56 -07:00
Mark Backman
ddab95835b
Merge pull request #2474 from pipecat-ai/mb/add-frames-pipeline-idle
...
Add UserStarted/StoppedSpeakingFrames to idle_timeout_frames
2025-08-21 03:45:46 -07:00
Mark Backman
cb13f4b4cb
Add user speaking and transcription frames to idle_timeout_frames
2025-08-21 06:43:10 -04:00
Aleix Conchillo Flaqué
4793277d34
Merge pull request #2480 from pipecat-ai/aleix/replace-asyncio-waitfor
...
replace asyncio.wait_for for wait_for2.wait_for
2025-08-20 17:43:32 -07:00
Aleix Conchillo Flaqué
28c729cc36
replace asyncio.wait_for for wait_for2.wait_for
2025-08-20 15:26:57 -07:00
Aleix Conchillo Flaqué
4d07c7b77c
Merge pull request #2479 from pipecat-ai/aleix/simplify-dtmf-aggregator
...
DTMFAggregator: no need for interruption task
2025-08-20 15:15:35 -07:00
Aleix Conchillo Flaqué
4ff0567025
BaseObject: allow keyword arguments
2025-08-20 15:14:31 -07:00
Aleix Conchillo Flaqué
1377dec01b
DTMFAggregator: no need for interruption task
...
Now that system frames are queued there's no need to have an additional task to
push a `BotInterruptionFrame`.
2025-08-20 14:35:04 -07:00
Aleix Conchillo Flaqué
42f4d73a63
Merge pull request #2478 from pipecat-ai/aleix/fix-wait-for2-import
...
timeout: fix wait_for2 import
2025-08-20 14:29:19 -07:00
Aleix Conchillo Flaqué
f1c1ebf852
timeout: fix wait_for2 import
2025-08-20 14:24:16 -07:00
Aleix Conchillo Flaqué
eb6d43f6cb
Merge pull request #2476 from pipecat-ai/aleix/add-asyncio-timeout
...
implement custom asyncio.wait_for()
2025-08-20 14:20:22 -07:00
Aleix Conchillo Flaqué
f387776985
add custom asyncio.wait_for()
...
This patch uses `wait_for2` package to implement `asyncio.wait_for()` for
Python < 3.12.
In Python 3.12, `asyncio.wait_for()` is implemented in terms of
`asyncio.timeout()` which fixed a bunch of issues. However, this was never
backported (because of the lack of `async.timeout()`) and there are still many
remainig issues, specially in Python 3.10, in `async.wait_for()`.
See https://github.com/python/cpython/pull/98518
2025-08-20 14:09:05 -07:00
Aleix Conchillo Flaqué
5286591826
Merge pull request #2464 from pipecat-ai/aleix/frame-processor-updates
...
various frame processor updates
2025-08-20 10:11:49 -07:00
Aleix Conchillo Flaqué
6831e63ec9
PipelineTask: use PipelineSource/PipelineSink and remove tasks
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
12bcb7db64
ParallelPipeline: use PipelineSource/PipelineSink and remove tasks
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
1b48b1d860
Pipeline: allow passing user source and sink processors
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
d161e2767f
FrameProcessor: allow pausing/resuming system frames
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
4e3af00b6d
tests: try to use default SleepFrame time
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
4015aedb86
tests: fix unit tests
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
75a6ee839b
BaseObserver: added new on_process_frame
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
13ce02c896
FrameProcessor: add new entry_processors() method
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
2fd5885dc3
pipeline: implement processors property
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
d743586bfb
BasePipeline: move processors_with_metrics() to FrameProcessor
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
8051017895
pipeline: wrap with pipelines, use direct mode and reduce tasks
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
dc7bf98ce5
Pipeline: improve performance by using direct mode
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
609a43a191
FrameProcessor: added processors/next/previous properties
2025-08-20 07:40:19 -07:00
Aleix Conchillo Flaqué
4fb04422d9
FrameProcessor: remove unused set_parent/get_parent
2025-08-20 07:40:02 -07:00