dv-pipecat-ai 0.0.74.dev770__py3-none-any.whl → 0.0.82.dev776__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dv-pipecat-ai might be problematic. Click here for more details.
- {dv_pipecat_ai-0.0.74.dev770.dist-info → dv_pipecat_ai-0.0.82.dev776.dist-info}/METADATA +137 -93
- dv_pipecat_ai-0.0.82.dev776.dist-info/RECORD +340 -0
- pipecat/__init__.py +17 -0
- pipecat/adapters/base_llm_adapter.py +36 -1
- pipecat/adapters/schemas/direct_function.py +296 -0
- pipecat/adapters/schemas/function_schema.py +15 -6
- pipecat/adapters/schemas/tools_schema.py +55 -7
- pipecat/adapters/services/anthropic_adapter.py +22 -3
- pipecat/adapters/services/aws_nova_sonic_adapter.py +23 -3
- pipecat/adapters/services/bedrock_adapter.py +22 -3
- pipecat/adapters/services/gemini_adapter.py +16 -3
- pipecat/adapters/services/open_ai_adapter.py +17 -2
- pipecat/adapters/services/open_ai_realtime_adapter.py +23 -3
- pipecat/audio/filters/base_audio_filter.py +30 -6
- pipecat/audio/filters/koala_filter.py +37 -2
- pipecat/audio/filters/krisp_filter.py +59 -6
- pipecat/audio/filters/noisereduce_filter.py +37 -0
- pipecat/audio/interruptions/base_interruption_strategy.py +25 -5
- pipecat/audio/interruptions/min_words_interruption_strategy.py +21 -4
- pipecat/audio/mixers/base_audio_mixer.py +30 -7
- pipecat/audio/mixers/soundfile_mixer.py +53 -6
- pipecat/audio/resamplers/base_audio_resampler.py +17 -9
- pipecat/audio/resamplers/resampy_resampler.py +26 -1
- pipecat/audio/resamplers/soxr_resampler.py +32 -1
- pipecat/audio/resamplers/soxr_stream_resampler.py +101 -0
- pipecat/audio/utils.py +194 -1
- pipecat/audio/vad/silero.py +60 -3
- pipecat/audio/vad/vad_analyzer.py +114 -30
- pipecat/clocks/base_clock.py +19 -0
- pipecat/clocks/system_clock.py +25 -0
- pipecat/extensions/voicemail/__init__.py +0 -0
- pipecat/extensions/voicemail/voicemail_detector.py +707 -0
- pipecat/frames/frames.py +590 -156
- pipecat/metrics/metrics.py +64 -1
- pipecat/observers/base_observer.py +58 -19
- pipecat/observers/loggers/debug_log_observer.py +56 -64
- pipecat/observers/loggers/llm_log_observer.py +8 -1
- pipecat/observers/loggers/transcription_log_observer.py +19 -7
- pipecat/observers/loggers/user_bot_latency_log_observer.py +32 -5
- pipecat/observers/turn_tracking_observer.py +26 -1
- pipecat/pipeline/base_pipeline.py +5 -7
- pipecat/pipeline/base_task.py +52 -9
- pipecat/pipeline/parallel_pipeline.py +121 -177
- pipecat/pipeline/pipeline.py +129 -20
- pipecat/pipeline/runner.py +50 -1
- pipecat/pipeline/sync_parallel_pipeline.py +132 -32
- pipecat/pipeline/task.py +263 -280
- pipecat/pipeline/task_observer.py +85 -34
- pipecat/pipeline/to_be_updated/merge_pipeline.py +32 -2
- pipecat/processors/aggregators/dtmf_aggregator.py +29 -22
- pipecat/processors/aggregators/gated.py +25 -24
- pipecat/processors/aggregators/gated_openai_llm_context.py +22 -2
- pipecat/processors/aggregators/llm_response.py +398 -89
- pipecat/processors/aggregators/openai_llm_context.py +161 -13
- pipecat/processors/aggregators/sentence.py +25 -14
- pipecat/processors/aggregators/user_response.py +28 -3
- pipecat/processors/aggregators/vision_image_frame.py +24 -14
- pipecat/processors/async_generator.py +28 -0
- pipecat/processors/audio/audio_buffer_processor.py +78 -37
- pipecat/processors/consumer_processor.py +25 -6
- pipecat/processors/filters/frame_filter.py +23 -0
- pipecat/processors/filters/function_filter.py +30 -0
- pipecat/processors/filters/identity_filter.py +17 -2
- pipecat/processors/filters/null_filter.py +24 -1
- pipecat/processors/filters/stt_mute_filter.py +56 -21
- pipecat/processors/filters/wake_check_filter.py +46 -3
- pipecat/processors/filters/wake_notifier_filter.py +21 -3
- pipecat/processors/frame_processor.py +488 -131
- pipecat/processors/frameworks/langchain.py +38 -3
- pipecat/processors/frameworks/rtvi.py +719 -34
- pipecat/processors/gstreamer/pipeline_source.py +41 -0
- pipecat/processors/idle_frame_processor.py +26 -3
- pipecat/processors/logger.py +23 -0
- pipecat/processors/metrics/frame_processor_metrics.py +77 -4
- pipecat/processors/metrics/sentry.py +42 -4
- pipecat/processors/producer_processor.py +34 -14
- pipecat/processors/text_transformer.py +22 -10
- pipecat/processors/transcript_processor.py +48 -29
- pipecat/processors/user_idle_processor.py +31 -21
- pipecat/runner/__init__.py +1 -0
- pipecat/runner/daily.py +132 -0
- pipecat/runner/livekit.py +148 -0
- pipecat/runner/run.py +543 -0
- pipecat/runner/types.py +67 -0
- pipecat/runner/utils.py +515 -0
- pipecat/serializers/base_serializer.py +42 -0
- pipecat/serializers/exotel.py +17 -6
- pipecat/serializers/genesys.py +95 -0
- pipecat/serializers/livekit.py +33 -0
- pipecat/serializers/plivo.py +16 -15
- pipecat/serializers/protobuf.py +37 -1
- pipecat/serializers/telnyx.py +18 -17
- pipecat/serializers/twilio.py +32 -16
- pipecat/services/ai_service.py +5 -3
- pipecat/services/anthropic/llm.py +113 -43
- pipecat/services/assemblyai/models.py +63 -5
- pipecat/services/assemblyai/stt.py +64 -11
- pipecat/services/asyncai/__init__.py +0 -0
- pipecat/services/asyncai/tts.py +501 -0
- pipecat/services/aws/llm.py +185 -111
- pipecat/services/aws/stt.py +217 -23
- pipecat/services/aws/tts.py +118 -52
- pipecat/services/aws/utils.py +101 -5
- pipecat/services/aws_nova_sonic/aws.py +82 -64
- pipecat/services/aws_nova_sonic/context.py +15 -6
- pipecat/services/azure/common.py +10 -2
- pipecat/services/azure/image.py +32 -0
- pipecat/services/azure/llm.py +9 -7
- pipecat/services/azure/stt.py +65 -2
- pipecat/services/azure/tts.py +154 -23
- pipecat/services/cartesia/stt.py +125 -8
- pipecat/services/cartesia/tts.py +102 -38
- pipecat/services/cerebras/llm.py +15 -23
- pipecat/services/deepgram/stt.py +19 -11
- pipecat/services/deepgram/tts.py +36 -0
- pipecat/services/deepseek/llm.py +14 -23
- pipecat/services/elevenlabs/tts.py +330 -64
- pipecat/services/fal/image.py +43 -0
- pipecat/services/fal/stt.py +48 -10
- pipecat/services/fireworks/llm.py +14 -21
- pipecat/services/fish/tts.py +109 -9
- pipecat/services/gemini_multimodal_live/__init__.py +1 -0
- pipecat/services/gemini_multimodal_live/events.py +83 -2
- pipecat/services/gemini_multimodal_live/file_api.py +189 -0
- pipecat/services/gemini_multimodal_live/gemini.py +218 -21
- pipecat/services/gladia/config.py +17 -10
- pipecat/services/gladia/stt.py +82 -36
- pipecat/services/google/frames.py +40 -0
- pipecat/services/google/google.py +2 -0
- pipecat/services/google/image.py +39 -2
- pipecat/services/google/llm.py +176 -58
- pipecat/services/google/llm_openai.py +26 -4
- pipecat/services/google/llm_vertex.py +37 -15
- pipecat/services/google/rtvi.py +41 -0
- pipecat/services/google/stt.py +65 -17
- pipecat/services/google/test-google-chirp.py +45 -0
- pipecat/services/google/tts.py +390 -19
- pipecat/services/grok/llm.py +8 -6
- pipecat/services/groq/llm.py +8 -6
- pipecat/services/groq/stt.py +13 -9
- pipecat/services/groq/tts.py +40 -0
- pipecat/services/hamsa/__init__.py +9 -0
- pipecat/services/hamsa/stt.py +241 -0
- pipecat/services/heygen/__init__.py +5 -0
- pipecat/services/heygen/api.py +281 -0
- pipecat/services/heygen/client.py +620 -0
- pipecat/services/heygen/video.py +338 -0
- pipecat/services/image_service.py +5 -3
- pipecat/services/inworld/__init__.py +1 -0
- pipecat/services/inworld/tts.py +592 -0
- pipecat/services/llm_service.py +127 -45
- pipecat/services/lmnt/tts.py +80 -7
- pipecat/services/mcp_service.py +85 -44
- pipecat/services/mem0/memory.py +42 -13
- pipecat/services/minimax/tts.py +74 -15
- pipecat/services/mistral/__init__.py +0 -0
- pipecat/services/mistral/llm.py +185 -0
- pipecat/services/moondream/vision.py +55 -10
- pipecat/services/neuphonic/tts.py +275 -48
- pipecat/services/nim/llm.py +8 -6
- pipecat/services/ollama/llm.py +27 -7
- pipecat/services/openai/base_llm.py +54 -16
- pipecat/services/openai/image.py +30 -0
- pipecat/services/openai/llm.py +7 -5
- pipecat/services/openai/stt.py +13 -9
- pipecat/services/openai/tts.py +42 -10
- pipecat/services/openai_realtime_beta/azure.py +11 -9
- pipecat/services/openai_realtime_beta/context.py +7 -5
- pipecat/services/openai_realtime_beta/events.py +10 -7
- pipecat/services/openai_realtime_beta/openai.py +37 -18
- pipecat/services/openpipe/llm.py +30 -24
- pipecat/services/openrouter/llm.py +9 -7
- pipecat/services/perplexity/llm.py +15 -19
- pipecat/services/piper/tts.py +26 -12
- pipecat/services/playht/tts.py +227 -65
- pipecat/services/qwen/llm.py +8 -6
- pipecat/services/rime/tts.py +128 -17
- pipecat/services/riva/stt.py +160 -22
- pipecat/services/riva/tts.py +67 -2
- pipecat/services/sambanova/llm.py +19 -17
- pipecat/services/sambanova/stt.py +14 -8
- pipecat/services/sarvam/tts.py +60 -13
- pipecat/services/simli/video.py +82 -21
- pipecat/services/soniox/__init__.py +0 -0
- pipecat/services/soniox/stt.py +398 -0
- pipecat/services/speechmatics/stt.py +29 -17
- pipecat/services/stt_service.py +47 -11
- pipecat/services/tavus/video.py +94 -25
- pipecat/services/together/llm.py +8 -6
- pipecat/services/tts_service.py +77 -53
- pipecat/services/ultravox/stt.py +46 -43
- pipecat/services/vision_service.py +5 -3
- pipecat/services/websocket_service.py +12 -11
- pipecat/services/whisper/base_stt.py +58 -12
- pipecat/services/whisper/stt.py +69 -58
- pipecat/services/xtts/tts.py +59 -2
- pipecat/sync/base_notifier.py +19 -0
- pipecat/sync/event_notifier.py +24 -0
- pipecat/tests/utils.py +73 -5
- pipecat/transcriptions/language.py +24 -0
- pipecat/transports/base_input.py +112 -8
- pipecat/transports/base_output.py +235 -13
- pipecat/transports/base_transport.py +119 -0
- pipecat/transports/local/audio.py +76 -0
- pipecat/transports/local/tk.py +84 -0
- pipecat/transports/network/fastapi_websocket.py +174 -15
- pipecat/transports/network/small_webrtc.py +383 -39
- pipecat/transports/network/webrtc_connection.py +214 -8
- pipecat/transports/network/websocket_client.py +171 -1
- pipecat/transports/network/websocket_server.py +147 -9
- pipecat/transports/services/daily.py +792 -70
- pipecat/transports/services/helpers/daily_rest.py +122 -129
- pipecat/transports/services/livekit.py +339 -4
- pipecat/transports/services/tavus.py +273 -38
- pipecat/utils/asyncio/task_manager.py +92 -186
- pipecat/utils/base_object.py +83 -1
- pipecat/utils/network.py +2 -0
- pipecat/utils/string.py +114 -58
- pipecat/utils/text/base_text_aggregator.py +44 -13
- pipecat/utils/text/base_text_filter.py +46 -0
- pipecat/utils/text/markdown_text_filter.py +70 -14
- pipecat/utils/text/pattern_pair_aggregator.py +18 -14
- pipecat/utils/text/simple_text_aggregator.py +43 -2
- pipecat/utils/text/skip_tags_aggregator.py +21 -13
- pipecat/utils/time.py +36 -0
- pipecat/utils/tracing/class_decorators.py +32 -7
- pipecat/utils/tracing/conversation_context_provider.py +12 -2
- pipecat/utils/tracing/service_attributes.py +80 -64
- pipecat/utils/tracing/service_decorators.py +48 -21
- pipecat/utils/tracing/setup.py +13 -7
- pipecat/utils/tracing/turn_context_provider.py +12 -2
- pipecat/utils/tracing/turn_trace_observer.py +27 -0
- pipecat/utils/utils.py +14 -14
- dv_pipecat_ai-0.0.74.dev770.dist-info/RECORD +0 -319
- pipecat/examples/daily_runner.py +0 -64
- pipecat/examples/run.py +0 -265
- pipecat/utils/asyncio/watchdog_async_iterator.py +0 -72
- pipecat/utils/asyncio/watchdog_event.py +0 -42
- pipecat/utils/asyncio/watchdog_priority_queue.py +0 -48
- pipecat/utils/asyncio/watchdog_queue.py +0 -48
- {dv_pipecat_ai-0.0.74.dev770.dist-info → dv_pipecat_ai-0.0.82.dev776.dist-info}/WHEEL +0 -0
- {dv_pipecat_ai-0.0.74.dev770.dist-info → dv_pipecat_ai-0.0.82.dev776.dist-info}/licenses/LICENSE +0 -0
- {dv_pipecat_ai-0.0.74.dev770.dist-info → dv_pipecat_ai-0.0.82.dev776.dist-info}/top_level.txt +0 -0
- /pipecat/{examples → extensions}/__init__.py +0 -0
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
dv_pipecat_ai-0.0.74.dev770.dist-info/licenses/LICENSE,sha256=DWY2QGf2eMCFhuu2ChairtT6CB7BEFffNVhXWc4Od08,1301
|
|
2
|
-
pipecat/__init__.py,sha256=mmaSUx1R7jV-RLHpUIZjCh5dCQPHY5NcGs777lAgO8U,289
|
|
3
|
-
pipecat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
pipecat/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
pipecat/adapters/base_llm_adapter.py,sha256=wI-_5W_haeW8pvqOUfvBkPWggFhUYxmYkkhiOhJCxDs,782
|
|
6
|
-
pipecat/adapters/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
pipecat/adapters/schemas/function_schema.py,sha256=CMJs5UNVr35SRgZpiy2Qb30CevRJSPSy2OWG-LjF6Xs,2266
|
|
8
|
-
pipecat/adapters/schemas/tools_schema.py,sha256=A_gA4OQKXl6eaQ-k-XirJo41ClJ1pzCvq4FS49JvaiY,1327
|
|
9
|
-
pipecat/adapters/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
pipecat/adapters/services/anthropic_adapter.py,sha256=8ZCa9p402uQB1ostTYkEVuOFRyEhJtwlaYpUr0gklS4,1139
|
|
11
|
-
pipecat/adapters/services/aws_nova_sonic_adapter.py,sha256=FdsWGe-OF-d1nszwVrFf0V3b2klENvopaLyCreecUUM,1376
|
|
12
|
-
pipecat/adapters/services/bedrock_adapter.py,sha256=j00rGec7PdxjVm5O61GwuBTSNBlp8TMVMuTQ31V-4GI,1264
|
|
13
|
-
pipecat/adapters/services/gemini_adapter.py,sha256=nD16C8Go359upQWA7n1kkl-YyObeFF34ibsGkohDY7Q,967
|
|
14
|
-
pipecat/adapters/services/open_ai_adapter.py,sha256=ZMP3rgBy4Hjd0lwyr74g0fJU6mc3C7RPHPlZQldCtt8,790
|
|
15
|
-
pipecat/adapters/services/open_ai_realtime_adapter.py,sha256=yOKrJpG8qcrcOm2IzdFOOcXYzxPwJeXpJYrrcgtDFbQ,1202
|
|
16
|
-
pipecat/audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
pipecat/audio/utils.py,sha256=RZmHr4GFhXNlPfj_n-rpry6iEEznqvZhrIcuhOdKEdw,3481
|
|
18
|
-
pipecat/audio/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
pipecat/audio/filters/base_audio_filter.py,sha256=-NYfQ-dv3JmlGoKvlqFUEpdpdBHm3m1D7Wb7A0FKRjg,1308
|
|
20
|
-
pipecat/audio/filters/koala_filter.py,sha256=pW3u8E788B9bLiwHe1Ag82pDVb_ZBNixEY2M9FJFt-E,2414
|
|
21
|
-
pipecat/audio/filters/krisp_filter.py,sha256=fEOsX8sv9uw4WxSppSElt7Sjoy1vtXiHbGI3N5GTrWs,3206
|
|
22
|
-
pipecat/audio/filters/noisereduce_filter.py,sha256=R4Q3VZ0CWatGRnFIc_IQAwfwryH0e-CgWimwBjpw4JY,1460
|
|
23
|
-
pipecat/audio/filters/pyrnn_local_filter.py,sha256=m1AU6Zp-5aciXl4xWiLz6g9tVku2kHYgoIE65F1LTo0,7450
|
|
24
|
-
pipecat/audio/interruptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
pipecat/audio/interruptions/base_interruption_strategy.py,sha256=aZNKANQUXqHEFmOmPHoOe9vTGWCWNzvw7cyqofOCzNs,1168
|
|
26
|
-
pipecat/audio/interruptions/min_words_interruption_strategy.py,sha256=2S3js8jz7XSmAEbKBACCTy4JkNM6s9x_X02B_x8urd0,1131
|
|
27
|
-
pipecat/audio/mixers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
pipecat/audio/mixers/base_audio_mixer.py,sha256=Msc4EF2g2noMNiHKP3xsbF5iSkU2XWlNLI4p6izVLrI,1529
|
|
29
|
-
pipecat/audio/mixers/soundfile_mixer.py,sha256=6yyPvdsCcsHVfi50zUWJwrb2nIiaTMXW8vuSfBS61p8,4925
|
|
30
|
-
pipecat/audio/resamplers/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
31
|
-
pipecat/audio/resamplers/base_audio_resampler.py,sha256=b84Iwp-Gv_DajEAowW5L3E4_NxBH6q53vrkKBqtFhC4,932
|
|
32
|
-
pipecat/audio/resamplers/resampy_resampler.py,sha256=rdqv__B_ysBxx-2f63ofm9TA2jT1rs4xbiVyXk1NuRE,740
|
|
33
|
-
pipecat/audio/resamplers/soxr_resampler.py,sha256=0xWEz-MBMhmUkOhmMewDUJVa132Vybekq7ws0o5EpBM,735
|
|
34
|
-
pipecat/audio/turn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
pipecat/audio/turn/base_turn_analyzer.py,sha256=hLOcH1WkP9iSk84boQv94RFYKEfEX-IHfO1y9pjkDzs,3213
|
|
36
|
-
pipecat/audio/turn/smart_turn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
pipecat/audio/turn/smart_turn/base_smart_turn.py,sha256=HgUoRfo9tbXVMfmRbYBkm4FDY1AjUJ3CRe7t48Ny2WI,9672
|
|
38
|
-
pipecat/audio/turn/smart_turn/fal_smart_turn.py,sha256=neahuTAY9SUQjacRYd19BERiuSHIMSpqzZ9uae_ZlWA,1606
|
|
39
|
-
pipecat/audio/turn/smart_turn/http_smart_turn.py,sha256=s5QP2gd0BqQAlbRJ7hGuCwGqgEENfyRm6aB6jBgDoqE,4642
|
|
40
|
-
pipecat/audio/turn/smart_turn/local_coreml_smart_turn.py,sha256=50kiBeZhnq7FZWZnzdSX8KUmhhQtkme0KH2rbiAJbCU,3140
|
|
41
|
-
pipecat/audio/turn/smart_turn/local_smart_turn.py,sha256=KVodqUTu8onfmfeOywgH98vBCNvBb-B3pvsQlTKyP_4,3570
|
|
42
|
-
pipecat/audio/turn/smart_turn/local_smart_turn_v2.py,sha256=aYLMDURpmYycQgKsxbNEENtUe5oujeQ9H3Lbi0GYmZA,7160
|
|
43
|
-
pipecat/audio/vad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
pipecat/audio/vad/silero.py,sha256=0rEx8rrVA99Bixjd3KH16mVO59Pn_iZquPTdnuEkAGI,5723
|
|
45
|
-
pipecat/audio/vad/vad_analyzer.py,sha256=Z2QaLOVfet5PZqmuAGTUTWepb1CkRCLhXIAbcCcwX2A,4492
|
|
46
|
-
pipecat/audio/vad/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
pipecat/audio/vad/data/silero_vad.onnx,sha256=JiOilT9v89LB5hdAxs23FoEzR5smff7xFKSjzFvdeI8,2327524
|
|
48
|
-
pipecat/clocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
-
pipecat/clocks/base_clock.py,sha256=H9un-i9acRjshEZRkg2kMxoErkdSi5_AIDyYadERpHY,269
|
|
50
|
-
pipecat/clocks/system_clock.py,sha256=A5E5VOeQUFO1oCmgiq4RyriTDzYKh3OvGl1ORpcBei8,398
|
|
51
|
-
pipecat/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
-
pipecat/examples/daily_runner.py,sha256=kmCUUvhuDWXAuD8t-RSb9CSwV7vI2SpYHyr9Jch2Q4M,1975
|
|
53
|
-
pipecat/examples/run.py,sha256=ZgDOyNBs8Aqqv4i2ZzBqZIFg_-e53XgMcnpmLlsPV5k,8673
|
|
54
|
-
pipecat/frames/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
-
pipecat/frames/frames.proto,sha256=JXZm3VXLR8zMOUcOuhVoe2mhM3MQIQGMJXLopdJO_5Y,839
|
|
56
|
-
pipecat/frames/frames.py,sha256=sGrot5V_zvuIA8F29oZeKmS_odJyTYSqjaYf-obBS9Q,25454
|
|
57
|
-
pipecat/frames/protobufs/frames_pb2.py,sha256=VHgGV_W7qQ4sfQK6RHb5_DggLm3PiSYMr6aBZ8_p1cQ,2590
|
|
58
|
-
pipecat/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
pipecat/metrics/metrics.py,sha256=DZqCv2yNMr8JPmnWHNr0ISddOt3COnc-exshLc06WE4,828
|
|
60
|
-
pipecat/observers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
-
pipecat/observers/base_observer.py,sha256=uop4TWFPTelqmMgkVhnJmme3keXdIaLnp4q6A42yYv4,2028
|
|
62
|
-
pipecat/observers/turn_tracking_observer.py,sha256=gppBVgnc50ElYoqwIPjG0Vw1N6D9V3G79zOsk3zy9KA,7092
|
|
63
|
-
pipecat/observers/loggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
-
pipecat/observers/loggers/debug_log_observer.py,sha256=Ue3tUGAboOVXDTfk2uDbVGJgl3VqqNpv1tWx-1we2KA,7982
|
|
65
|
-
pipecat/observers/loggers/llm_log_observer.py,sha256=F36XYbsf03bgq3_GrvkAT61Au111MQ2b5rOkEGHjuBg,2972
|
|
66
|
-
pipecat/observers/loggers/transcription_log_observer.py,sha256=neOglC7UIkT851gn9SdvfcoN4AlIMcnb4vB0LVZ5i4E,1368
|
|
67
|
-
pipecat/observers/loggers/user_bot_latency_log_observer.py,sha256=Mn6EF__CgNclxn4CFiYs9F1KquSGOyiYQxGSx2ST9yc,1553
|
|
68
|
-
pipecat/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
-
pipecat/pipeline/base_pipeline.py,sha256=9yBul47x_YAeRvdwlJC1xU_OIoVX8GSKh53pz8sb8k8,394
|
|
70
|
-
pipecat/pipeline/base_task.py,sha256=zgjAsegNUM-XP6coG_0eAGBgZauy3Sr9oj_EXUdHtHc,1468
|
|
71
|
-
pipecat/pipeline/parallel_pipeline.py,sha256=mBE70jt7Vk7UETM9eeTFP-uiUGUBGee3yHx1UzSz51Q,8035
|
|
72
|
-
pipecat/pipeline/pipeline.py,sha256=wfSTfcb365MRPwEywq0DX-7pqK9WHtxcMTYcY-_8Q5o,3430
|
|
73
|
-
pipecat/pipeline/runner.py,sha256=n4XRRQLqVBIhst5lcDTbTVRwKV8YKVjE75Imns4JTaQ,2594
|
|
74
|
-
pipecat/pipeline/sync_parallel_pipeline.py,sha256=dMskNFHg6O-KvNcM9p801UDqg8FP53dYPstF_a2r-iI,6861
|
|
75
|
-
pipecat/pipeline/task.py,sha256=2wBedYuLsnlRg5RuAl1Je-11DKk3fgLrcrLm9srjqZo,32797
|
|
76
|
-
pipecat/pipeline/task_observer.py,sha256=nm2X14OzjSH-mEqa1CRBAygpNrOzv3pPWida9zBigE4,4812
|
|
77
|
-
pipecat/pipeline/to_be_updated/merge_pipeline.py,sha256=A9o1--MLrbs6Rxz1L5xOAB349AwXhz8y3vC8SwOsnUQ,803
|
|
78
|
-
pipecat/processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
|
-
pipecat/processors/async_generator.py,sha256=cNUzYNK8BiMjcIypgkZvuMGMVQegDdHTXEtPckRnW74,1264
|
|
80
|
-
pipecat/processors/consumer_processor.py,sha256=kyBn2ijwlKxqLnilr2vz43yXla-RdtNOFKkU8I9ZmY0,2387
|
|
81
|
-
pipecat/processors/dtmf_aggregator.py,sha256=KFR_EPOgLOvGFWaS5wh_RvJ5JYjfOeWhBfzG0XMpVZs,6947
|
|
82
|
-
pipecat/processors/frame_processor.py,sha256=8uddOkgjS5UbetWC7vgHCBBIrQHZHGZFPs9XL_yx4wg,17934
|
|
83
|
-
pipecat/processors/idle_frame_processor.py,sha256=taQXBlEZYoIS2EzrqGhZ6AivYA76f73vEnQzldtnwFU,2127
|
|
84
|
-
pipecat/processors/logger.py,sha256=dMUusaG2DVbl3fnK1eDd8hmuxDosXdb9whtIIbzy2fM,1393
|
|
85
|
-
pipecat/processors/producer_processor.py,sha256=53XtLM82j6EjN4EYifqkNn0hAteDu3vqcmSpKviPnWE,2428
|
|
86
|
-
pipecat/processors/text_transformer.py,sha256=_4G8Pg8SBRgnMKLso0JcjFQDIj5VKchsJ_Zu2i2oi0k,1218
|
|
87
|
-
pipecat/processors/transcript_processor.py,sha256=sUeh0aiL_bL_8yYNZmef4-b9KNWd6d9ivdnMshK1pMw,11304
|
|
88
|
-
pipecat/processors/two_stage_user_idle_processor.py,sha256=uf2aZh_lfW-eMxmFogP3R4taAJ1yXOSqjKsR7oXtD0Y,2938
|
|
89
|
-
pipecat/processors/user_idle_processor.py,sha256=1hxIK1PH8YsIrROw25G11iXVBTpOvYPq_TCC-Ij4-o8,7706
|
|
90
|
-
pipecat/processors/aggregators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
-
pipecat/processors/aggregators/dtmf_aggregator.py,sha256=lYsxhQBpnJJxLvV0XJVYw8mzYL2iFqY99oNDC3bi5N4,5038
|
|
92
|
-
pipecat/processors/aggregators/gated.py,sha256=mSg5qP0XHZa7GSQ5p5GPpe8PNg6e9bnQ-Ld1ENps8Wo,3018
|
|
93
|
-
pipecat/processors/aggregators/gated_openai_llm_context.py,sha256=_iLFFjMyQ6W3mzNsmjq7Q6BU3IR5dwvm4JFlHbPRlPA,2073
|
|
94
|
-
pipecat/processors/aggregators/llm_response.py,sha256=STfx3NLZdO8RBUhxVky0jurjJwkQc-S7rN7N0RUJtj8,34210
|
|
95
|
-
pipecat/processors/aggregators/openai_llm_context.py,sha256=Tw3vd-R-vzOWJHEWc51IgsJ9PE2aAcxloEvSvu7FBaw,8449
|
|
96
|
-
pipecat/processors/aggregators/sentence.py,sha256=FlCK01CcvIcmWQ5PYWwpwQG-nRnpOFDHVHKEvjyJ7w0,1810
|
|
97
|
-
pipecat/processors/aggregators/user_response.py,sha256=8mSaGKSBbI7dj2YWRqpCBKB6TI-_Fa2f2IiZ98nM4dc,791
|
|
98
|
-
pipecat/processors/aggregators/vision_image_frame.py,sha256=r9HF7AnPZ-RB5lSy_n6RmMQ1NJoLmEYIUdHfxML0zys,1756
|
|
99
|
-
pipecat/processors/audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
-
pipecat/processors/audio/audio_buffer_processor.py,sha256=ikVQoeQQ0UUZvev7EnBdV6eGWHdlhJHAgY2gKGIM5pc,11139
|
|
101
|
-
pipecat/processors/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
-
pipecat/processors/filters/frame_filter.py,sha256=k65imvISZ4pJITkI3fypB5KoW5QF-7JustfsUrRrcbA,855
|
|
103
|
-
pipecat/processors/filters/function_filter.py,sha256=o-5ye86KNWa5uCiTUC2xMumJDwAlksZFPxP0jxL4AWA,1183
|
|
104
|
-
pipecat/processors/filters/identity_filter.py,sha256=RfwwedqpPyRA8QowLD478qtiA_QeElu2_BIJokyDo60,923
|
|
105
|
-
pipecat/processors/filters/null_filter.py,sha256=874MzzHulN0F2xXKdZFEWqQ6tLpSVVLfd_IkZBidcMo,684
|
|
106
|
-
pipecat/processors/filters/stt_mute_filter.py,sha256=Ou0n8NW1PTZVI3bTmkQtSMOsTy4jgBtj7e8jmbWVp9o,7836
|
|
107
|
-
pipecat/processors/filters/wake_check_filter.py,sha256=PL28BDgDlLeOcTVGWgM4DCfvEt0oUtHQHUAFy7zVJnI,3534
|
|
108
|
-
pipecat/processors/filters/wake_notifier_filter.py,sha256=bEK7ps8LInG1WUcvpUAcX0K3K3FqMAz4Vcae-oSImVU,1200
|
|
109
|
-
pipecat/processors/frameworks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
|
-
pipecat/processors/frameworks/langchain.py,sha256=FZqYLFztub3AUeYO17eNuvvmm1tD52YsK09IQNx6AHE,2595
|
|
111
|
-
pipecat/processors/frameworks/rtvi.py,sha256=EdZwZOih8pQq_lh880jA1T7mT20phrHuJbQt_CuqtqE,34601
|
|
112
|
-
pipecat/processors/gstreamer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
|
-
pipecat/processors/gstreamer/pipeline_source.py,sha256=FZHnqi9MrVRuZoGqL18y-kQxp6OuqU3bi1Ug8Qa1NFQ,7915
|
|
114
|
-
pipecat/processors/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
-
pipecat/processors/metrics/frame_processor_metrics.py,sha256=tgJPNEtFnvKg9CJmQhq0JqaoiQ5-8EUNnbl4jjV79RQ,4080
|
|
116
|
-
pipecat/processors/metrics/sentry.py,sha256=d7jPF2MU8az6EnHqNQdcjrn8xHv8nf51Iw65SRra-DE,3560
|
|
117
|
-
pipecat/serializers/__init__.py,sha256=OV61GQX5ZVU7l7Dt7UTBdv2wUF7ZvtbCoXryo7nnoGY,734
|
|
118
|
-
pipecat/serializers/base_serializer.py,sha256=QskBHCsJkbPtkT3BcesDn_vpV2WTQv3O1td_hEKTOs4,659
|
|
119
|
-
pipecat/serializers/convox.py,sha256=MXCLhV6GMnoP8bI6-EVrObhrftEyTGOmzVeIU5ywmPo,9536
|
|
120
|
-
pipecat/serializers/exotel.py,sha256=fNsOpeoHj56P3gu2lHAdNdobXBmBwnhTHpu7NHjI64s,5456
|
|
121
|
-
pipecat/serializers/livekit.py,sha256=WBcaOepxY4ALGXwMRVusmWTgVWSvhFCU0AxWJ6wRpdc,1462
|
|
122
|
-
pipecat/serializers/plivo.py,sha256=zG96porUjmwP80h4GhEaBOlPu6EATbc1gLRKrKzWBqA,9213
|
|
123
|
-
pipecat/serializers/protobuf.py,sha256=iTiVIz9zVA9me1ZcCCVqgbG985o7D-yBWjBy1BCkxdE,4052
|
|
124
|
-
pipecat/serializers/telnyx.py,sha256=bN0XPl4ulGcWCx3IiUS1kISwt2nk2nsFBw7c5AtyqNQ,10851
|
|
125
|
-
pipecat/serializers/twilio.py,sha256=za0tBY9Lv0YRrZnntuSkdyb_iM38Gf4vxQG8BhjyXpg,8913
|
|
126
|
-
pipecat/services/__init__.py,sha256=B0B4BXpPNgYTf0orYxQvdhSyvtZwNj9Whqndgav4r4E,1205
|
|
127
|
-
pipecat/services/ai_service.py,sha256=8l7bjuCLtsL5TvvCPO3OLXEJnolypOovRiD72Fy08dQ,5926
|
|
128
|
-
pipecat/services/ai_services.py,sha256=_RrDWfM8adV17atzY9RxK0nXRVM5kbUkKrvN90GAWYM,795
|
|
129
|
-
pipecat/services/image_service.py,sha256=vKigt3HLapoBdXkrDse3Hwyq_F8lIFtxlxE1QiFocDg,2289
|
|
130
|
-
pipecat/services/llm_service.py,sha256=krTJRH2eGb7Xb4YohpM5Ce-Kw3vIqJ8mXjqWXupTlWk,20774
|
|
131
|
-
pipecat/services/mcp_service.py,sha256=OYlVVq07Uyia4wfNCK6ou0uBGm3i0bXW3O9p5SM3YtU,12337
|
|
132
|
-
pipecat/services/openai.py,sha256=fg5-MIvwqgKTN6i5Kp7GD6XUvMRo3nlughuNt9QqLGA,27546
|
|
133
|
-
pipecat/services/stt_service.py,sha256=txmwfAtuWMZy30qAh3ZcdwMQ1_KSz_b008y_oGS9Lwc,9755
|
|
134
|
-
pipecat/services/tts_service.py,sha256=JSnMJu_snrJCHFJypb-Up5eOIIFj2xjvQOO3_pWsOxE,33509
|
|
135
|
-
pipecat/services/vision_service.py,sha256=t_n5hHa_SF6hEWNOlMPB1i4Z__Sv12ZEi9BlJg0iTuA,2457
|
|
136
|
-
pipecat/services/websocket_service.py,sha256=rJo9PcwMy9P1fuEmZcPwvz90J28WBgujkN186AZtRVU,5747
|
|
137
|
-
pipecat/services/anthropic/__init__.py,sha256=NfRQFoNZcUHsJA4mggeLalEmgM08TZdBjkRRjmyp6jE,261
|
|
138
|
-
pipecat/services/anthropic/llm.py,sha256=lsRVh02D_JrW6z10Ci9sB-Z3VUTgUjehXX4zABam8GU,38044
|
|
139
|
-
pipecat/services/assemblyai/__init__.py,sha256=2gso9D1m2vigu0E1NuAYwKCQSvuHWk3UR_5-J8KhBVM,263
|
|
140
|
-
pipecat/services/assemblyai/models.py,sha256=BqOyciGUyreoMZGnxrxN-tQard3qOaVKysARJlkX8WQ,1584
|
|
141
|
-
pipecat/services/assemblyai/stt.py,sha256=_P65dLoR46L0O9m8emEZvSjc0wUv956PNkUaKn_atNE,9733
|
|
142
|
-
pipecat/services/aws/__init__.py,sha256=oCnvskCqC7mQpi-y3Pem-6OzJIuMMgHNUAgd3MfxD90,297
|
|
143
|
-
pipecat/services/aws/llm.py,sha256=iP633SgqbkNoePc15tCRicKVVvq6K6PT38gVoAihX4I,39988
|
|
144
|
-
pipecat/services/aws/stt.py,sha256=0yjajM-4JpXHwsdob4W2tvPjodfX6JOSppR4kwNRWrw,14198
|
|
145
|
-
pipecat/services/aws/tts.py,sha256=iv6cNl57yTJCyQiygfFsuHYZrY_ivGuDp8hX8AS2Fw8,9001
|
|
146
|
-
pipecat/services/aws/utils.py,sha256=0u-a-5SxxaOnlI2fzNInHwgPgtZEv74vujqkJDEETvM,10176
|
|
147
|
-
pipecat/services/aws_nova_sonic/__init__.py,sha256=NxNyDI4MaTs9usTYBEjL5pZ6iJfMbKYajwJh3c2EVv4,48
|
|
148
|
-
pipecat/services/aws_nova_sonic/aws.py,sha256=_Z4_SniVP2x6d2vOOZR0gbSiZRplSllZuMNqbgQkg4M,43656
|
|
149
|
-
pipecat/services/aws_nova_sonic/context.py,sha256=b9A2r8jO97RbxBh-rNDMrJSjt9IwG2sdN4lpp8bo5Ao,12728
|
|
150
|
-
pipecat/services/aws_nova_sonic/frames.py,sha256=IB399YEgmdd5n5IaCmRTJlvl6DCV9mZv7WABx_5LCRg,644
|
|
151
|
-
pipecat/services/aws_nova_sonic/ready.wav,sha256=pxdKxZtYRV2IVv63v7K1EPkxyV_OxocMkaXbKsHfby0,23484
|
|
152
|
-
pipecat/services/azure/__init__.py,sha256=mgnoJYeqKqwRvr18UZJhFZ2FTkGyob7r6IdtEiOeT3k,301
|
|
153
|
-
pipecat/services/azure/common.py,sha256=9FNG8D_Vm_S2HSpSnSPxCX8QTj08QVTPNXjaGf5WrvU,9648
|
|
154
|
-
pipecat/services/azure/image.py,sha256=a2jGpxkwJK792Poq9AI5kfET_Nmlk9ZXSUMdTkUmbiY,2958
|
|
155
|
-
pipecat/services/azure/llm.py,sha256=AeFJVUL1nMrjJAIu4lEI5FDRgRfT7cqDXrMzwHJ2LVU,2211
|
|
156
|
-
pipecat/services/azure/stt.py,sha256=N5Nsbc6p5532l4X5WV7PJMZnPy14xwmB2NN06BitQqU,10532
|
|
157
|
-
pipecat/services/azure/tts.py,sha256=dqwZpEc01q0uCMr-ea_9s1CjjQiw8Tk5FyF_NLz5L4I,14526
|
|
158
|
-
pipecat/services/cartesia/__init__.py,sha256=vzh0jBnfPwWdxFfV-tu0x1HFoOTgr9s91GYmD-CJUtY,284
|
|
159
|
-
pipecat/services/cartesia/stt.py,sha256=gP7v9Yw8n30p0833rBKsUHkwnySyDZ8be-4t5iu-Gog,8055
|
|
160
|
-
pipecat/services/cartesia/tts.py,sha256=OMnj6XDqO_nCYRljUHCTVzyBbpH_z8dmZY5xxIgitUw,20742
|
|
161
|
-
pipecat/services/cerebras/__init__.py,sha256=5zBmqq9Zfcl-HC7ylekVS5qrRedbl1mAeEwUT-T-c_o,259
|
|
162
|
-
pipecat/services/cerebras/llm.py,sha256=4lrosjc3Az6oTQ2BThsRKr-TVOtdLzHT7yNhanwMnGk,3192
|
|
163
|
-
pipecat/services/deepgram/__init__.py,sha256=cOnxjla0rhsRdpC_UWoN8mXaX3kL3hFlnp9OjDeuC7I,284
|
|
164
|
-
pipecat/services/deepgram/stt.py,sha256=xCuzUK3A-H1RDbT0nDy6-2qEnYcyGJOWj5ZaNVD88pw,12815
|
|
165
|
-
pipecat/services/deepgram/tts.py,sha256=9zKiESYqJqJIeZkXkDUNpWzHB1ICE-NyTsBohosnkQc,2390
|
|
166
|
-
pipecat/services/deepseek/__init__.py,sha256=bU5z_oNGzgrF_YpsD9pYIMtEibeZFaUobbRjJ9WcYyE,259
|
|
167
|
-
pipecat/services/deepseek/llm.py,sha256=7VVoyPyHDvqWYhQmvBiIsagfA14pHm6zm45aXR_pcBE,3320
|
|
168
|
-
pipecat/services/elevenlabs/__init__.py,sha256=FgA--iiHyoart9xZZGWTTrBaEjmFxJuugESjPXihI7A,263
|
|
169
|
-
pipecat/services/elevenlabs/tts.py,sha256=fHj8EDsKDnvrxQOahYK4W_MKGMuE-1_V_pKFCg-HUyo,31439
|
|
170
|
-
pipecat/services/fal/__init__.py,sha256=z_kfZETvUcKy68Lyvni4B-RtdkOvz3J3eh6sFDVKq6M,278
|
|
171
|
-
pipecat/services/fal/image.py,sha256=3ExAz3h5I-OscJI_z4sbgtV581c8qe7-LdNZO0cZGKI,2729
|
|
172
|
-
pipecat/services/fal/stt.py,sha256=GcdWLun0ya_wZIh_gzMJKbpOtnq39P2K3DIsq0ZCkJ8,8526
|
|
173
|
-
pipecat/services/fireworks/__init__.py,sha256=-YCe9iOzvUmbNSQOtpbzG6xMxT69KTIC1oqgAVoykQ8,261
|
|
174
|
-
pipecat/services/fireworks/llm.py,sha256=femq1eAgFNXVVjpP_CZp6eqHk-fCTO5JRPRDlY1yEv4,3237
|
|
175
|
-
pipecat/services/fish/__init__.py,sha256=zXTvCM-fv0baT3uSV3FSGMyQKmNFDfj_Ka24LodPyHc,251
|
|
176
|
-
pipecat/services/fish/tts.py,sha256=aZlaV_eF3KQUiXWJvFlLpwFGe81W6A5mxVK0iUpFu60,8007
|
|
177
|
-
pipecat/services/gemini_multimodal_live/__init__.py,sha256=plwz4rIx_O6YPKKcS8hK_jTkwQsODGWjdkLTNvfhdaY,51
|
|
178
|
-
pipecat/services/gemini_multimodal_live/events.py,sha256=xSnwLiBrHyIuKqr4dI2LBxzksfjSqVn5avadMmRcV2Q,12935
|
|
179
|
-
pipecat/services/gemini_multimodal_live/gemini.py,sha256=KbGsm0-el2ErBSYDxKrskjPQatk0xDXL2xQd3Lx4tOM,46170
|
|
180
|
-
pipecat/services/gladia/__init__.py,sha256=RhyPSWKluyK0keEVAOfHffTAhWo5hmytozf4a17p954,255
|
|
181
|
-
pipecat/services/gladia/config.py,sha256=O--Japvo_rq5uZkcWRuQRwQJU2HGShwkwSU2kKw03oQ,6456
|
|
182
|
-
pipecat/services/gladia/stt.py,sha256=Y1eb7Dtk1h_SBW1MB2SMSpYD0PHyPZDSIRooYPbHrV4,23500
|
|
183
|
-
pipecat/services/google/__init__.py,sha256=6cH89Hqf5NVIqW4tvILdssxvJFQe7vYc2FYTuwEW5xg,464
|
|
184
|
-
pipecat/services/google/frames.py,sha256=_b2pg-PlJ0I1VMKNhUZVP20XyLp9l4cDr6XjQiBLZ2Y,818
|
|
185
|
-
pipecat/services/google/google.py,sha256=6cH89Hqf5NVIqW4tvILdssxvJFQe7vYc2FYTuwEW5xg,464
|
|
186
|
-
pipecat/services/google/image.py,sha256=N2aNrMbZvJYWaIDrpDm-ZEaIWI_Lk8xelqBguNJuvHY,3158
|
|
187
|
-
pipecat/services/google/llm.py,sha256=6w-xg2lJQSruOPp0S2c_mTU-LgQCNlzMXX_d0gCI6KQ,32072
|
|
188
|
-
pipecat/services/google/llm_openai.py,sha256=5FBJSrOp7S2cTGE4nNv4USThNIKWqFBzkch8yOL78QY,6057
|
|
189
|
-
pipecat/services/google/llm_vertex.py,sha256=diEs3lmEcotlI2MGgZHLLOUHpCNDQ_JuB_NxA_5VviA,4237
|
|
190
|
-
pipecat/services/google/rtvi.py,sha256=BykluwuchZM2qOe-A_PiQM2l41HMwK9pG_hROkfuQ90,1636
|
|
191
|
-
pipecat/services/google/stt.py,sha256=ch5gDKfTMbXebSDcEt_zT-Wo-6X-xA93H1HUlO21y5U,31341
|
|
192
|
-
pipecat/services/google/tts.py,sha256=ApoS1KghKcjTT_TvLRv5uBQVh6UL7GP_nKZL5ooXLP8,18837
|
|
193
|
-
pipecat/services/grok/__init__.py,sha256=PyaTSnqwxd8jdF5aFTe3lWM-TBhfDyUu9ahRl6nPS-4,251
|
|
194
|
-
pipecat/services/grok/llm.py,sha256=P-PgdCFxZr-6bNGS96Hoi7qm84vAz99A-C4COgEq3Rc,7233
|
|
195
|
-
pipecat/services/groq/__init__.py,sha256=jelL30bti_CbU6-1bZUTfJxACLi4h9HfMlpSV09aAQY,299
|
|
196
|
-
pipecat/services/groq/llm.py,sha256=0muQnoryR8cU4l3aNCuQM4v9jNGXnT4GSkntl57OHMc,1757
|
|
197
|
-
pipecat/services/groq/stt.py,sha256=pRSJmLpPhaFsCAS50KEsTMs-YCjoCQHgDnqznZpPO38,2279
|
|
198
|
-
pipecat/services/groq/tts.py,sha256=qs2aZA6YIdMRQuKnASN6M6R6puSAhB9rMHu8TOxTv0Y,3313
|
|
199
|
-
pipecat/services/lmnt/__init__.py,sha256=wb1p5pg2fAvA5fupVFoHqAEig8OlnHHzi6RjgT4smhs,251
|
|
200
|
-
pipecat/services/lmnt/tts.py,sha256=KzHo8UVrBeEpUjO5lK4c0Qz-M_zgYlEAyPQdeQjqIws,8231
|
|
201
|
-
pipecat/services/mem0/__init__.py,sha256=IF5kd9cSXnZzS6kyoH_5sMy0j9NiPFYIPlIaVkGBgI8,257
|
|
202
|
-
pipecat/services/mem0/memory.py,sha256=1iP1JMPbn32t7K4l92KDI2DQRFy_N6LGY2huEEZMd_8,9141
|
|
203
|
-
pipecat/services/minimax/__init__.py,sha256=rfHd18ccf-oCytmkKFSyZ1tV-FWglM1D-iKNkA2_sxc,110
|
|
204
|
-
pipecat/services/minimax/tts.py,sha256=7V7g7AHafh7sq2IV4HksmNJ6H-PzbidcwmrypLDkTP8,10850
|
|
205
|
-
pipecat/services/moondream/__init__.py,sha256=FBRSr8-vXhD7YyXcqOfjX7VFq3XcujwX3kp_MOs9vzg,267
|
|
206
|
-
pipecat/services/moondream/vision.py,sha256=P12GgTdjwC8cvpmxT8rOZKJj3DpG3eehk72mqVhKT6Y,2773
|
|
207
|
-
pipecat/services/neuphonic/__init__.py,sha256=31acn0fpeH6Zfan6kKDy4SVa9NXyeHjBl5DSZSYNRTs,261
|
|
208
|
-
pipecat/services/neuphonic/tts.py,sha256=fdLMoOL-HIMPADsdKET86Oqg4F_9K78r2WDhin6I3x0,12235
|
|
209
|
-
pipecat/services/nim/__init__.py,sha256=bRubOujNmtaBTSBgd3BBXP5fClzbn09ajYPmmYZsJpA,249
|
|
210
|
-
pipecat/services/nim/llm.py,sha256=g6_I44y-AVu2ULu_ZOAa6HO2x9S9eVsZ2Pf5OuZDJWA,4275
|
|
211
|
-
pipecat/services/ollama/__init__.py,sha256=aw-25zYsR8LR74OFFlMKMTnJjaKwOzdPWVsClueNRkI,255
|
|
212
|
-
pipecat/services/ollama/llm.py,sha256=w8I_ww_iZJD8sLZfSXMRrcevcboSspTXwQHqQYCd8Ng,869
|
|
213
|
-
pipecat/services/openai/__init__.py,sha256=A7_P9FgSIRzkFsmFVC22I3JfYZk3rtVCrzAkt-hSNGk,330
|
|
214
|
-
pipecat/services/openai/base_llm.py,sha256=Iw8vUVCE6TrT9fNoob1MPhBkntslWW6my9JMXIygpUo,14498
|
|
215
|
-
pipecat/services/openai/image.py,sha256=B-_VBY38Ev4ygyPLXMRKVpLdF1xEbvrw10OxpZhbtNA,1782
|
|
216
|
-
pipecat/services/openai/llm.py,sha256=CuQ55dKrbbkzrnanUAwJvEGmvbVYiw-m9HcyWftzGoY,7326
|
|
217
|
-
pipecat/services/openai/stt.py,sha256=Psb5VLnSzeqeM_an3w9Dx1ZhFsw7NTSPbEdRTxbJd2Y,2247
|
|
218
|
-
pipecat/services/openai/tts.py,sha256=yrfp0BUAT2M6InB74ZyB4AJUDE5dM5Bbp16OUMviAjo,4533
|
|
219
|
-
pipecat/services/openai_realtime_beta/__init__.py,sha256=heX2ztWOmOE3HvI8ooEAccghOs1HzXL0j9DaPaH_86w,248
|
|
220
|
-
pipecat/services/openai_realtime_beta/azure.py,sha256=-0O6qe8_9ZC6p9sf6QIT9OpPzBSg0G08WUC2q_Mcirs,2302
|
|
221
|
-
pipecat/services/openai_realtime_beta/context.py,sha256=6yMwJt5a7JfkCyjvSuNc26XFt0-LVaHwxRB7sXvCbqU,10719
|
|
222
|
-
pipecat/services/openai_realtime_beta/events.py,sha256=Sey6fo9ZvaFqqpMipXVWTKmi4UDDVKPusZ4fzMOaqfY,30396
|
|
223
|
-
pipecat/services/openai_realtime_beta/frames.py,sha256=dQrGu5FErvozPvlyvDADj8_ZiG8bclYAc2jQt5NE6aE,942
|
|
224
|
-
pipecat/services/openai_realtime_beta/openai.py,sha256=W9ulnUrQErKQLwXszK6W-1uQOTGj2ibEhq1HfNfq5oM,31574
|
|
225
|
-
pipecat/services/openpipe/__init__.py,sha256=skCnH03aR4OvAuTOD4zoQWrRseC6Fi0AljZwv6EUUQM,259
|
|
226
|
-
pipecat/services/openpipe/llm.py,sha256=QbCrQ4iNg44hsxxSdcjYW64YMBxR5Fsbf55Pk9ceYC0,3861
|
|
227
|
-
pipecat/services/openrouter/__init__.py,sha256=TEyNHtRkoRt6qse4jBNVEPKXCkqmT-xtQ0XB-zFe_jE,263
|
|
228
|
-
pipecat/services/openrouter/llm.py,sha256=yIv6VpCwUx4OUZkQEPFfueLn4heeye143XD-m7suW5g,2079
|
|
229
|
-
pipecat/services/perplexity/__init__.py,sha256=Qf0gyJWhkk7D0ehYf24vwtalOrcrp98aGaj5XuApdsA,263
|
|
230
|
-
pipecat/services/perplexity/llm.py,sha256=WRA2MWboBpVIwYDr6t60cSkgaw_CUi5gnaiyQrU_jzo,5629
|
|
231
|
-
pipecat/services/piper/__init__.py,sha256=BNqnIk6pG2DVvJ0uI2ZB93M3uXX_0B1ByfO7dnKjsBY,253
|
|
232
|
-
pipecat/services/piper/tts.py,sha256=GvIbLVINfwXv-k-cl4NPDhqJpX5v9pbGZHai7h98uF0,3333
|
|
233
|
-
pipecat/services/playht/__init__.py,sha256=Ko1WjLQtTaHvZAgCuONeRkkXRbrCuRx53C296VLa2YY,255
|
|
234
|
-
pipecat/services/playht/tts.py,sha256=R5Lx7ybIA3A36MnV6YPF6aK1ELB9jybLGJoS7Ema0MA,15443
|
|
235
|
-
pipecat/services/qwen/__init__.py,sha256=gS81Y-9gy_ke17m-2Tt-8mDrawcFNZ15_i0OnT-HYyg,251
|
|
236
|
-
pipecat/services/qwen/llm.py,sha256=_XK36qUu-zwYTnsP4gNxywICywVYCfMftHfuNRsRDM0,1893
|
|
237
|
-
pipecat/services/rime/__init__.py,sha256=lK26ZYuDZS51OybSVPAx6rt710UA1ZBP31wPL1_VeLg,251
|
|
238
|
-
pipecat/services/rime/tts.py,sha256=K98XC3J2Iu3BoTtjsoiULPD3HRrKcLzzMOXjnv0V1t8,16745
|
|
239
|
-
pipecat/services/riva/__init__.py,sha256=rObSsj504O_TMXhPBg_ymqKslZBhovlR-A0aaRZ0O6A,276
|
|
240
|
-
pipecat/services/riva/stt.py,sha256=ZlTGie9vHOlSl_7ou08VNGkIpndZJlrRNeoQB19GUGM,20372
|
|
241
|
-
pipecat/services/riva/tts.py,sha256=6F989kYc_8N7iFTgbcTMSvpKCUn8lt8ogE4pp1PJc3U,5573
|
|
242
|
-
pipecat/services/sambanova/__init__.py,sha256=oTXExLic-qTcsfsiWmssf3Elclf3IIWoN41_2IpoF18,128
|
|
243
|
-
pipecat/services/sambanova/llm.py,sha256=lm_jF1lnNi22X0Av_Uu4_0vMZ32MYQF67Am7lOSlufE,8748
|
|
244
|
-
pipecat/services/sambanova/stt.py,sha256=YIoaD8Z44uWlv7eL_kv66Sr_HjsEFCWKDbMOsi8mo78,2359
|
|
245
|
-
pipecat/services/sarvam/__init__.py,sha256=rfHd18ccf-oCytmkKFSyZ1tV-FWglM1D-iKNkA2_sxc,110
|
|
246
|
-
pipecat/services/sarvam/tts.py,sha256=rWzP6v2oU721I5KhLxcgG_Af8FUNyTQk-4Ih55yItfo,6559
|
|
247
|
-
pipecat/services/simli/__init__.py,sha256=cbDcqOaGsEgKbGYKpJ1Vv7LN4ZjOWA04sE84WW5vgQI,257
|
|
248
|
-
pipecat/services/simli/video.py,sha256=tCQ7b2CemI6-CudQ4LQvCF56r7_y6p5-Pd99iMpB-hE,5401
|
|
249
|
-
pipecat/services/speechmatics/__init__.py,sha256=Jgq1fqrZVkpWC21D79L1cn5Ub8PnYgnnCaqC5pOlbIc,89
|
|
250
|
-
pipecat/services/speechmatics/stt.py,sha256=wdpHD6XpLB-jJ00XsI-8ANObqZb_wnhA8FWA5gOdEPU,43624
|
|
251
|
-
pipecat/services/tavus/__init__.py,sha256=SNyyi2Xq6tXIihDG2Bwvmg6Srbd-uWd1RwG-NKWcPuI,257
|
|
252
|
-
pipecat/services/tavus/video.py,sha256=-8L56ZRoiyOF8nMrA7OPedGknqWdbEhJFgtvZVpxO_4,8214
|
|
253
|
-
pipecat/services/together/__init__.py,sha256=hNMycJDDf3CLiL9WA9fwvMdYphyDWLv0OabYIMgvC1c,259
|
|
254
|
-
pipecat/services/together/llm.py,sha256=-ZTqWoyeVp3leKbRqQI2W021bOhrNm6ZxC3bTxuKP8Y,1879
|
|
255
|
-
pipecat/services/ultravox/__init__.py,sha256=EoHCSXI2o0DFQslELgkhAGZtxDj63gZi-9ZEhXljaKE,259
|
|
256
|
-
pipecat/services/ultravox/stt.py,sha256=SqjbivuCVSzNEAJXl21H9ii4x0pdInEimcUokhvw5ZM,16111
|
|
257
|
-
pipecat/services/whisper/__init__.py,sha256=smADmw0Fv98k7cGRuHTEcljKTO2WdZqLpJd0qsTCwH8,281
|
|
258
|
-
pipecat/services/whisper/base_stt.py,sha256=7lq1mj404Ke-nR_4uOVcO8ocVRx5AAfKrtaQ-ODZtjQ,6338
|
|
259
|
-
pipecat/services/whisper/stt.py,sha256=ZLCRcu8b-RQh1rkB8CvJVYeTi16Xr5dKbe1DMqYFyhY,16855
|
|
260
|
-
pipecat/services/xtts/__init__.py,sha256=OqUC2dRdFZnu0bvk5DmOBYTpPMNog-XC1OlL91r9teE,251
|
|
261
|
-
pipecat/services/xtts/tts.py,sha256=D2_jtxpzeNTf-7Iw30dyKdz5xUHqIDUpMm4WN0GvmjY,6515
|
|
262
|
-
pipecat/sync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
263
|
-
pipecat/sync/base_notifier.py,sha256=EztU02ZEoSPPOI-TeKBtrsEXLoPi97eY6ytIcTnfR_M,274
|
|
264
|
-
pipecat/sync/event_notifier.py,sha256=AMnhuDHUN0scYeik4Gq01KNGzwgclVCNG4RU2_b8ge4,400
|
|
265
|
-
pipecat/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
266
|
-
pipecat/tests/utils.py,sha256=M6OP1J15v4nUUPTAcN80CPGX1goGPYyeAMvQuX2EChw,5010
|
|
267
|
-
pipecat/transcriptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
268
|
-
pipecat/transcriptions/language.py,sha256=DNpqzkbr7Sc6z1wEKtKgWkssXUmxEnIrtxGV6VrDDlY,7006
|
|
269
|
-
pipecat/transports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
270
|
-
pipecat/transports/base_input.py,sha256=XSOCH-BSjqV0oOXCkxDZggYYJ1Qh6QHG2B7rLK-FnpU,16411
|
|
271
|
-
pipecat/transports/base_output.py,sha256=9kyQVvraPUuX8g2hoi9OVRKQunh80aaqVGPbOlv1RwI,26149
|
|
272
|
-
pipecat/transports/base_transport.py,sha256=QFvrdbX8opcp7xsjJ6hXPW48tidhbIIs3CT5kyH-JWE,2549
|
|
273
|
-
pipecat/transports/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
274
|
-
pipecat/transports/local/audio.py,sha256=yNx1U6Qu-DeRejoWfOwA4M7kHvM2P1RMo3Pk7x7QJaA,4925
|
|
275
|
-
pipecat/transports/local/tk.py,sha256=l9IZaT1Pchk3XeEFneXdb7cGnPKfy7HixoE5AUY7L_0,6149
|
|
276
|
-
pipecat/transports/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
277
|
-
pipecat/transports/network/fastapi_websocket.py,sha256=psPFkOxPZ5Y3twkKTWaRX6hc27l8ziEjbN_geOErLMM,13895
|
|
278
|
-
pipecat/transports/network/small_webrtc.py,sha256=NJFFYDhhBC_3DtTSXeFL_DQB6fywNnbcCjtliEzVpd0,22971
|
|
279
|
-
pipecat/transports/network/webrtc_connection.py,sha256=1AHMS_skWA7Xdq9uMlJ4fQG3ku_Bf7RoKBEu0xD6pjQ,16480
|
|
280
|
-
pipecat/transports/network/websocket_client.py,sha256=bMKlJx-iwhCibo_lghkLx6RXpBdU9nffCdl1ubuFN2s,10826
|
|
281
|
-
pipecat/transports/network/websocket_server.py,sha256=becksA7PfMHwHxlqfY6s7FI1Kt-RoV3sRT2sY_l1de0,12887
|
|
282
|
-
pipecat/transports/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
283
|
-
pipecat/transports/services/daily.py,sha256=CcIt3-5FH2BF29xSakxyk_la9h-3i2s8Ph-e-WYvT0s,60898
|
|
284
|
-
pipecat/transports/services/livekit.py,sha256=R-F4ZWIAaVeWYQbsrI5VGRAYw2WA_3t9ZBD4U6Bay5o,24993
|
|
285
|
-
pipecat/transports/services/tavus.py,sha256=IDDOPt1nycaI0YxUau_ZW0N81nFcYIzq_fVCpoLY-7k,20642
|
|
286
|
-
pipecat/transports/services/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
287
|
-
pipecat/transports/services/helpers/daily_rest.py,sha256=nZ4rMVcHIOeVFk-k3W3r5ygD6Z6Tzf2AhMDdXTE_WQ8,14387
|
|
288
|
-
pipecat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
289
|
-
pipecat/utils/base_object.py,sha256=lwzaGw3zDlAKco_FpyDlGE7I2qaIJH_J8XzMZMetOyI,3107
|
|
290
|
-
pipecat/utils/logger_config.py,sha256=5-RmvReZIINeqSXz3ALhEIiMZ_azmpOxnlIkdyCjWWk,5606
|
|
291
|
-
pipecat/utils/network.py,sha256=EQjs8fGFsLyfXlb_rJD2EVRwHxMajT5COsb7nXi_lPs,736
|
|
292
|
-
pipecat/utils/string.py,sha256=2TjNu_Rr61pVG26ihH3eOPb_YXSEWJUds4XfY9_tD48,4991
|
|
293
|
-
pipecat/utils/time.py,sha256=Dl_efL22HGjLC-bp5pj2upE7dAlmCX2PdTfqks6gT8o,790
|
|
294
|
-
pipecat/utils/utils.py,sha256=P1KUKYcP0kny9J8KxRZmXR4LLzTLIzqRvnUwz2BAXj8,2212
|
|
295
|
-
pipecat/utils/asyncio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
296
|
-
pipecat/utils/asyncio/task_manager.py,sha256=Sjvs-w6JykOu8bXlklTTm7FSz768-ax4Q3BCUhNxU3Y,12315
|
|
297
|
-
pipecat/utils/asyncio/watchdog_async_iterator.py,sha256=-HwuvP442B4yRbdpYXdTHN-hXwLp5-dq3OlRbBervs4,2176
|
|
298
|
-
pipecat/utils/asyncio/watchdog_event.py,sha256=UN1MryckpkKy-7q8KKsfrMgZr-8U7it_DNFVR6d4czE,1106
|
|
299
|
-
pipecat/utils/asyncio/watchdog_priority_queue.py,sha256=oHBrxvmD-EVpnrHPERO6DkEP8J1qsbrhMZkrth6v6L0,1333
|
|
300
|
-
pipecat/utils/asyncio/watchdog_queue.py,sha256=u8QytmLWdmmWN_fJeLBW1_WaX6GnEvoGAZDgXbDOp1w,1308
|
|
301
|
-
pipecat/utils/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
302
|
-
pipecat/utils/text/base_text_aggregator.py,sha256=hPFYy161OKVWHwj7lW_yRBQl-LdSHPFlc7fP9X-diEA,1658
|
|
303
|
-
pipecat/utils/text/base_text_filter.py,sha256=otwVkUK36ucwuRUf5HqgdWvHVWkS13tYtiu5LtAz-xg,515
|
|
304
|
-
pipecat/utils/text/markdown_text_filter.py,sha256=764TRjwBAZP9FyQ_jIR2ONVtV2pMIlPtbORDYAdwUqo,8125
|
|
305
|
-
pipecat/utils/text/pattern_pair_aggregator.py,sha256=FHxFvxm_dNWBgpcwpgt_9iUrByI4zWte7HJQip32vPU,9367
|
|
306
|
-
pipecat/utils/text/simple_text_aggregator.py,sha256=c2rhtFwYxujNfACAsb0U-YvDrGBSv3BsxYs78XDK5KA,971
|
|
307
|
-
pipecat/utils/text/skip_tags_aggregator.py,sha256=7LsnUr0FoQii8teqiWzYvEzJEBeTI0acUkXnlzt5l60,3189
|
|
308
|
-
pipecat/utils/tracing/__init__.py,sha256=nxmGDaJlpvrsxDnZZb3ApBDcTdZejoTIwF06sN0ULV0,141
|
|
309
|
-
pipecat/utils/tracing/class_decorators.py,sha256=xI7v7kZCidX8P8kZZVanGtV5w_irPYVKP5WgmptrwP0,7223
|
|
310
|
-
pipecat/utils/tracing/conversation_context_provider.py,sha256=OWPwep4fdSl4tUS4UnccnYtnTm_r_WSx_5gyU4lCwys,3311
|
|
311
|
-
pipecat/utils/tracing/service_attributes.py,sha256=0TwbJv2cUvlu334li7vinWfiXLPly7uQ9_LB69MeeC4,16549
|
|
312
|
-
pipecat/utils/tracing/service_decorators.py,sha256=w5pAf_MwhnYb7-KkcQfW7tJbkYBuPZXcsz1hp9tgH8o,49519
|
|
313
|
-
pipecat/utils/tracing/setup.py,sha256=Q1Y7lh7isGPi4S2EzRgnbWgUwq8RyiZGvL8ilpQNk9w,2693
|
|
314
|
-
pipecat/utils/tracing/turn_context_provider.py,sha256=Y8oHfdb7xj5IwOSoUCqhbEEKj7pz3V2g4CDeOwJzBZY,2203
|
|
315
|
-
pipecat/utils/tracing/turn_trace_observer.py,sha256=9EZH3AfjN5KtVpLtZR7o6IEJNir_9I45wg41tQV3z90,8802
|
|
316
|
-
dv_pipecat_ai-0.0.74.dev770.dist-info/METADATA,sha256=UBfJHjsg8m4WokU1rkBK2JnTzp19K86qVV46kaUdiMM,28892
|
|
317
|
-
dv_pipecat_ai-0.0.74.dev770.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
318
|
-
dv_pipecat_ai-0.0.74.dev770.dist-info/top_level.txt,sha256=kQzG20CxGf-nSsHmtXHx3hY2-8zHA3jYg8jk0TajqXc,8
|
|
319
|
-
dv_pipecat_ai-0.0.74.dev770.dist-info/RECORD,,
|
pipecat/examples/daily_runner.py
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright (c) 2024–2025, Daily
|
|
3
|
-
#
|
|
4
|
-
# SPDX-License-Identifier: BSD 2-Clause License
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
import argparse
|
|
8
|
-
import os
|
|
9
|
-
from typing import Optional
|
|
10
|
-
|
|
11
|
-
import aiohttp
|
|
12
|
-
|
|
13
|
-
from pipecat.transports.services.helpers.daily_rest import DailyRESTHelper
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
async def configure(aiohttp_session: aiohttp.ClientSession):
|
|
17
|
-
(url, token, _) = await configure_with_args(aiohttp_session)
|
|
18
|
-
return (url, token)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
async def configure_with_args(
|
|
22
|
-
aiohttp_session: aiohttp.ClientSession, parser: Optional[argparse.ArgumentParser] = None
|
|
23
|
-
):
|
|
24
|
-
if not parser:
|
|
25
|
-
parser = argparse.ArgumentParser(description="Daily AI SDK Bot Sample")
|
|
26
|
-
parser.add_argument(
|
|
27
|
-
"-u", "--url", type=str, required=False, help="URL of the Daily room to join"
|
|
28
|
-
)
|
|
29
|
-
parser.add_argument(
|
|
30
|
-
"-k",
|
|
31
|
-
"--apikey",
|
|
32
|
-
type=str,
|
|
33
|
-
required=False,
|
|
34
|
-
help="Daily API Key (needed to create an owner token for the room)",
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
args, unknown = parser.parse_known_args()
|
|
38
|
-
|
|
39
|
-
url = args.url or os.getenv("DAILY_SAMPLE_ROOM_URL")
|
|
40
|
-
key = args.apikey or os.getenv("DAILY_API_KEY")
|
|
41
|
-
|
|
42
|
-
if not url:
|
|
43
|
-
raise Exception(
|
|
44
|
-
"No Daily room specified. use the -u/--url option from the command line, or set DAILY_SAMPLE_ROOM_URL in your environment to specify a Daily room URL."
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
if not key:
|
|
48
|
-
raise Exception(
|
|
49
|
-
"No Daily API key specified. use the -k/--apikey option from the command line, or set DAILY_API_KEY in your environment to specify a Daily API key, available from https://dashboard.daily.co/developers."
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
daily_rest_helper = DailyRESTHelper(
|
|
53
|
-
daily_api_key=key,
|
|
54
|
-
daily_api_url=os.getenv("DAILY_API_URL", "https://api.daily.co/v1"),
|
|
55
|
-
aiohttp_session=aiohttp_session,
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
# Create a meeting token for the given room with an expiration 1 hour in
|
|
59
|
-
# the future.
|
|
60
|
-
expiry_time: float = 60 * 60
|
|
61
|
-
|
|
62
|
-
token = await daily_rest_helper.get_token(url, expiry_time)
|
|
63
|
-
|
|
64
|
-
return (url, token, args)
|
pipecat/examples/run.py
DELETED
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright (c) 2024–2025, Daily
|
|
3
|
-
#
|
|
4
|
-
# SPDX-License-Identifier: BSD 2-Clause License
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
import argparse
|
|
8
|
-
import asyncio
|
|
9
|
-
import json
|
|
10
|
-
import os
|
|
11
|
-
import sys
|
|
12
|
-
from contextlib import asynccontextmanager
|
|
13
|
-
from typing import Any, Callable, Dict, Mapping, Optional
|
|
14
|
-
|
|
15
|
-
import aiohttp
|
|
16
|
-
import uvicorn
|
|
17
|
-
from dotenv import load_dotenv
|
|
18
|
-
from fastapi import BackgroundTasks, FastAPI, WebSocket
|
|
19
|
-
from fastapi.middleware.cors import CORSMiddleware
|
|
20
|
-
from fastapi.responses import HTMLResponse, RedirectResponse
|
|
21
|
-
from loguru import logger
|
|
22
|
-
|
|
23
|
-
from pipecat.serializers.twilio import TwilioFrameSerializer
|
|
24
|
-
from pipecat.transports.base_transport import BaseTransport, TransportParams
|
|
25
|
-
from pipecat.transports.network.fastapi_websocket import (
|
|
26
|
-
FastAPIWebsocketParams,
|
|
27
|
-
FastAPIWebsocketTransport,
|
|
28
|
-
)
|
|
29
|
-
from pipecat.transports.network.small_webrtc import SmallWebRTCTransport
|
|
30
|
-
from pipecat.transports.network.webrtc_connection import IceServer, SmallWebRTCConnection
|
|
31
|
-
from pipecat.transports.services.daily import DailyParams, DailyTransport
|
|
32
|
-
|
|
33
|
-
# Load environment variables
|
|
34
|
-
load_dotenv(override=True)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def get_transport_client_id(transport: BaseTransport, client: Any) -> str:
|
|
38
|
-
if isinstance(transport, SmallWebRTCTransport):
|
|
39
|
-
return client.pc_id
|
|
40
|
-
elif isinstance(transport, DailyTransport):
|
|
41
|
-
return client["id"]
|
|
42
|
-
logger.warning(f"Unable to get client id from unsupported transport {type(transport)}")
|
|
43
|
-
return ""
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
async def maybe_capture_participant_camera(
|
|
47
|
-
transport: BaseTransport, client: Any, framerate: int = 0
|
|
48
|
-
):
|
|
49
|
-
if isinstance(transport, DailyTransport):
|
|
50
|
-
await transport.capture_participant_video(
|
|
51
|
-
client["id"], framerate=framerate, video_source="camera"
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
async def maybe_capture_participant_screen(
|
|
56
|
-
transport: BaseTransport, client: Any, framerate: int = 0
|
|
57
|
-
):
|
|
58
|
-
if isinstance(transport, DailyTransport):
|
|
59
|
-
await transport.capture_participant_video(
|
|
60
|
-
client["id"], framerate=framerate, video_source="screenVideo"
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
def run_example_daily(
|
|
65
|
-
run_example: Callable,
|
|
66
|
-
args: argparse.Namespace,
|
|
67
|
-
transport_params: Mapping[str, Callable] = {},
|
|
68
|
-
):
|
|
69
|
-
logger.info("Running example with DailyTransport...")
|
|
70
|
-
|
|
71
|
-
from pipecat.examples.daily_runner import configure
|
|
72
|
-
|
|
73
|
-
async def run():
|
|
74
|
-
async with aiohttp.ClientSession() as session:
|
|
75
|
-
(room_url, token) = await configure(session)
|
|
76
|
-
|
|
77
|
-
# Run example function with DailyTransport transport arguments.
|
|
78
|
-
params: DailyParams = transport_params[args.transport]()
|
|
79
|
-
transport = DailyTransport(room_url, token, "Pipecat", params=params)
|
|
80
|
-
await run_example(transport, args, True)
|
|
81
|
-
|
|
82
|
-
asyncio.run(run())
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def run_example_webrtc(
|
|
86
|
-
run_example: Callable,
|
|
87
|
-
args: argparse.Namespace,
|
|
88
|
-
transport_params: Mapping[str, Callable] = {},
|
|
89
|
-
):
|
|
90
|
-
logger.info("Running example with SmallWebRTCTransport...")
|
|
91
|
-
|
|
92
|
-
from pipecat_ai_small_webrtc_prebuilt.frontend import SmallWebRTCPrebuiltUI
|
|
93
|
-
|
|
94
|
-
app = FastAPI()
|
|
95
|
-
|
|
96
|
-
# Store connections by pc_id
|
|
97
|
-
pcs_map: Dict[str, SmallWebRTCConnection] = {}
|
|
98
|
-
|
|
99
|
-
ice_servers = [
|
|
100
|
-
IceServer(
|
|
101
|
-
urls="stun:stun.l.google.com:19302",
|
|
102
|
-
)
|
|
103
|
-
]
|
|
104
|
-
|
|
105
|
-
# Mount the frontend at /
|
|
106
|
-
app.mount("/client", SmallWebRTCPrebuiltUI)
|
|
107
|
-
|
|
108
|
-
@app.get("/", include_in_schema=False)
|
|
109
|
-
async def root_redirect():
|
|
110
|
-
return RedirectResponse(url="/client/")
|
|
111
|
-
|
|
112
|
-
@app.post("/api/offer")
|
|
113
|
-
async def offer(request: dict, background_tasks: BackgroundTasks):
|
|
114
|
-
pc_id = request.get("pc_id")
|
|
115
|
-
|
|
116
|
-
if pc_id and pc_id in pcs_map:
|
|
117
|
-
pipecat_connection = pcs_map[pc_id]
|
|
118
|
-
logger.info(f"Reusing existing connection for pc_id: {pc_id}")
|
|
119
|
-
await pipecat_connection.renegotiate(
|
|
120
|
-
sdp=request["sdp"],
|
|
121
|
-
type=request["type"],
|
|
122
|
-
restart_pc=request.get("restart_pc", False),
|
|
123
|
-
)
|
|
124
|
-
else:
|
|
125
|
-
pipecat_connection = SmallWebRTCConnection(ice_servers)
|
|
126
|
-
await pipecat_connection.initialize(sdp=request["sdp"], type=request["type"])
|
|
127
|
-
|
|
128
|
-
@pipecat_connection.event_handler("closed")
|
|
129
|
-
async def handle_disconnected(webrtc_connection: SmallWebRTCConnection):
|
|
130
|
-
logger.info(f"Discarding peer connection for pc_id: {webrtc_connection.pc_id}")
|
|
131
|
-
pcs_map.pop(webrtc_connection.pc_id, None)
|
|
132
|
-
|
|
133
|
-
# Run example function with SmallWebRTC transport arguments.
|
|
134
|
-
params: TransportParams = transport_params[args.transport]()
|
|
135
|
-
transport = SmallWebRTCTransport(params=params, webrtc_connection=pipecat_connection)
|
|
136
|
-
background_tasks.add_task(run_example, transport, args, False)
|
|
137
|
-
|
|
138
|
-
answer = pipecat_connection.get_answer()
|
|
139
|
-
# Updating the peer connection inside the map
|
|
140
|
-
pcs_map[answer["pc_id"]] = pipecat_connection
|
|
141
|
-
|
|
142
|
-
return answer
|
|
143
|
-
|
|
144
|
-
@asynccontextmanager
|
|
145
|
-
async def lifespan(app: FastAPI):
|
|
146
|
-
yield # Run app
|
|
147
|
-
coros = [pc.disconnect() for pc in pcs_map.values()]
|
|
148
|
-
await asyncio.gather(*coros)
|
|
149
|
-
pcs_map.clear()
|
|
150
|
-
|
|
151
|
-
uvicorn.run(app, host=args.host, port=args.port)
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
def run_example_twilio(
|
|
155
|
-
run_example: Callable,
|
|
156
|
-
args: argparse.Namespace,
|
|
157
|
-
transport_params: Mapping[str, Callable] = {},
|
|
158
|
-
):
|
|
159
|
-
logger.info("Running example with FastAPIWebsocketTransport (Twilio)...")
|
|
160
|
-
|
|
161
|
-
app = FastAPI()
|
|
162
|
-
|
|
163
|
-
app.add_middleware(
|
|
164
|
-
CORSMiddleware,
|
|
165
|
-
allow_origins=["*"], # Allow all origins for testing
|
|
166
|
-
allow_credentials=True,
|
|
167
|
-
allow_methods=["*"],
|
|
168
|
-
allow_headers=["*"],
|
|
169
|
-
)
|
|
170
|
-
|
|
171
|
-
@app.post("/")
|
|
172
|
-
async def start_call():
|
|
173
|
-
logger.debug("POST TwiML")
|
|
174
|
-
|
|
175
|
-
xml_content = f"""<?xml version="1.0" encoding="UTF-8"?>
|
|
176
|
-
<Response>
|
|
177
|
-
<Connect>
|
|
178
|
-
<Stream url="wss://{args.proxy}/ws"></Stream>
|
|
179
|
-
</Connect>
|
|
180
|
-
<Pause length="40"/>
|
|
181
|
-
</Response>
|
|
182
|
-
"""
|
|
183
|
-
return HTMLResponse(content=xml_content, media_type="application/xml")
|
|
184
|
-
|
|
185
|
-
@app.websocket("/ws")
|
|
186
|
-
async def websocket_endpoint(websocket: WebSocket):
|
|
187
|
-
await websocket.accept()
|
|
188
|
-
|
|
189
|
-
logger.debug("WebSocket connection accepted")
|
|
190
|
-
|
|
191
|
-
# Reading Twilio data.
|
|
192
|
-
start_data = websocket.iter_text()
|
|
193
|
-
await start_data.__anext__()
|
|
194
|
-
call_data = json.loads(await start_data.__anext__())
|
|
195
|
-
print(call_data, flush=True)
|
|
196
|
-
stream_sid = call_data["start"]["streamSid"]
|
|
197
|
-
call_sid = call_data["start"]["callSid"]
|
|
198
|
-
|
|
199
|
-
# Create websocket transport and update params.
|
|
200
|
-
params: FastAPIWebsocketParams = transport_params[args.transport]()
|
|
201
|
-
params.add_wav_header = False
|
|
202
|
-
params.serializer = TwilioFrameSerializer(
|
|
203
|
-
stream_sid=stream_sid,
|
|
204
|
-
call_sid=call_sid,
|
|
205
|
-
account_sid=os.getenv("TWILIO_ACCOUNT_SID", ""),
|
|
206
|
-
auth_token=os.getenv("TWILIO_AUTH_TOKEN", ""),
|
|
207
|
-
)
|
|
208
|
-
transport = FastAPIWebsocketTransport(websocket=websocket, params=params)
|
|
209
|
-
await run_example(transport, args, False)
|
|
210
|
-
|
|
211
|
-
uvicorn.run(app, host=args.host, port=args.port)
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
def run_main(
|
|
215
|
-
run_example: Callable,
|
|
216
|
-
args: argparse.Namespace,
|
|
217
|
-
transport_params: Mapping[str, Callable] = {},
|
|
218
|
-
):
|
|
219
|
-
if args.transport not in transport_params:
|
|
220
|
-
logger.error(f"Transport '{args.transport}' not supported by this example")
|
|
221
|
-
return
|
|
222
|
-
|
|
223
|
-
match args.transport:
|
|
224
|
-
case "daily":
|
|
225
|
-
run_example_daily(run_example, args, transport_params)
|
|
226
|
-
case "webrtc":
|
|
227
|
-
run_example_webrtc(run_example, args, transport_params)
|
|
228
|
-
case "twilio":
|
|
229
|
-
run_example_twilio(run_example, args, transport_params)
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
def main(
|
|
233
|
-
run_example: Callable,
|
|
234
|
-
*,
|
|
235
|
-
parser: Optional[argparse.ArgumentParser] = None,
|
|
236
|
-
transport_params: Mapping[str, Callable] = {},
|
|
237
|
-
):
|
|
238
|
-
if not parser:
|
|
239
|
-
parser = argparse.ArgumentParser(description="Pipecat Bot Runner")
|
|
240
|
-
parser.add_argument(
|
|
241
|
-
"--host", default="localhost", help="Host for HTTP server (default: localhost)"
|
|
242
|
-
)
|
|
243
|
-
parser.add_argument(
|
|
244
|
-
"--port", type=int, default=7860, help="Port for HTTP server (default: 7860)"
|
|
245
|
-
)
|
|
246
|
-
parser.add_argument(
|
|
247
|
-
"--transport",
|
|
248
|
-
"-t",
|
|
249
|
-
type=str,
|
|
250
|
-
choices=["daily", "webrtc", "twilio"],
|
|
251
|
-
default="webrtc",
|
|
252
|
-
help="The transport this example should use",
|
|
253
|
-
)
|
|
254
|
-
parser.add_argument(
|
|
255
|
-
"--proxy", "-x", help="A public proxy host name (no protocol, e.g. proxy.example.com)"
|
|
256
|
-
)
|
|
257
|
-
parser.add_argument("--verbose", "-v", action="count", default=0)
|
|
258
|
-
args = parser.parse_args()
|
|
259
|
-
|
|
260
|
-
# Log level
|
|
261
|
-
logger.remove(0)
|
|
262
|
-
logger.add(sys.stderr, level="TRACE" if args.verbose else "DEBUG")
|
|
263
|
-
|
|
264
|
-
# Import the bot file
|
|
265
|
-
run_main(run_example, args, transport_params)
|