.dockerignore
.gitignore
.pre-commit-config.yaml
.readthedocs.yaml
CHANGELOG.md
CHANGELOG.md.template
CLAUDE.md
COMMUNITY_INTEGRATIONS.md
CONTRIBUTING.md
DOCKER_BUILD_OPTIMIZATION_SUMMARY.md
LICENSE
MANIFEST.in
README.md
SECURITY.md
ansible.cfg
ansible_deployment.sh
cleanup_old_containers.yml
codecov.yml
create_inventory.py
delete_old_dockers.sh
deploy.sh
deploy_playbook.yml
docker-compose.dev.yml
dump_logs.yml
env.example
fetch_logs.yml
inventory.ini
merge-code-into-single-file.sh
pipecat.png
pyproject.toml
restart.sh
restart_playbook.yml
stop_container.yml
test_elevenlabs_stt_segmented.py
uv.lock
.github/PULL_REQUEST_TEMPLATE.md
.github/ISSUE_TEMPLATE/1-bug_report.yml
.github/ISSUE_TEMPLATE/2-question.yml
.github/ISSUE_TEMPLATE/3-feature_request.yml
.github/ISSUE_TEMPLATE/4-service-issue.yml
.github/ISSUE_TEMPLATE/5-new-service.yml
.github/ISSUE_TEMPLATE/6-dependency.yml
.github/ISSUE_TEMPLATE/7-troubleshooting.yml
.github/ISSUE_TEMPLATE/config.yml
.github/workflows/build.yaml
.github/workflows/coverage.yaml
.github/workflows/force_push_to_pypi.yml
.github/workflows/format.yaml
.github/workflows/github.yml
.github/workflows/promote-prod.yml
.github/workflows/publish.yaml
.github/workflows/publish_test.yaml
.github/workflows/python-compatibility.yaml
.github/workflows/set-traffic-split.yml
.github/workflows/sync-quickstart.yaml
.github/workflows/tests.yaml
create-new-machine/ansible.cfg
create-new-machine/ansible_setup.sh
create-new-machine/inventory.ini
create-new-machine/replace_env.yml
create-new-machine/setup_playbook.yml
k8s/dv-pipecat/.helmignore
k8s/dv-pipecat/Chart.yaml
k8s/dv-pipecat/values-canary.yaml
k8s/dv-pipecat/values-prod.yaml
k8s/dv-pipecat/values-stage.yaml
k8s/dv-pipecat/values.yaml
k8s/dv-pipecat/templates/_helpers.tpl
k8s/dv-pipecat/templates/backendconfig.yaml
k8s/dv-pipecat/templates/cluster-role.yaml
k8s/dv-pipecat/templates/deployment.yaml
k8s/dv-pipecat/templates/hpa.yaml
k8s/dv-pipecat/templates/ingress.yaml
k8s/dv-pipecat/templates/keda-api-key-secret.yaml
k8s/dv-pipecat/templates/keda-scaledobject.yaml
k8s/dv-pipecat/templates/keda-trigger-auth.yaml
k8s/dv-pipecat/templates/pdb.yaml
k8s/dv-pipecat/templates/service.yaml
k8s/istio/destination-virtualservice.yaml
src/dv_pipecat_ai.egg-info/PKG-INFO
src/dv_pipecat_ai.egg-info/SOURCES.txt
src/dv_pipecat_ai.egg-info/dependency_links.txt
src/dv_pipecat_ai.egg-info/requires.txt
src/dv_pipecat_ai.egg-info/top_level.txt
src/pipecat/__init__.py
src/pipecat/py.typed
src/pipecat/adapters/__init__.py
src/pipecat/adapters/base_llm_adapter.py
src/pipecat/adapters/schemas/__init__.py
src/pipecat/adapters/schemas/direct_function.py
src/pipecat/adapters/schemas/function_schema.py
src/pipecat/adapters/schemas/tools_schema.py
src/pipecat/adapters/services/__init__.py
src/pipecat/adapters/services/anthropic_adapter.py
src/pipecat/adapters/services/aws_nova_sonic_adapter.py
src/pipecat/adapters/services/bedrock_adapter.py
src/pipecat/adapters/services/gemini_adapter.py
src/pipecat/adapters/services/open_ai_adapter.py
src/pipecat/adapters/services/open_ai_realtime_adapter.py
src/pipecat/audio/__init__.py
src/pipecat/audio/utils.py
src/pipecat/audio/dtmf/__init__.py
src/pipecat/audio/dtmf/dtmf-0.wav
src/pipecat/audio/dtmf/dtmf-1.wav
src/pipecat/audio/dtmf/dtmf-2.wav
src/pipecat/audio/dtmf/dtmf-3.wav
src/pipecat/audio/dtmf/dtmf-4.wav
src/pipecat/audio/dtmf/dtmf-5.wav
src/pipecat/audio/dtmf/dtmf-6.wav
src/pipecat/audio/dtmf/dtmf-7.wav
src/pipecat/audio/dtmf/dtmf-8.wav
src/pipecat/audio/dtmf/dtmf-9.wav
src/pipecat/audio/dtmf/dtmf-pound.wav
src/pipecat/audio/dtmf/dtmf-star.wav
src/pipecat/audio/dtmf/types.py
src/pipecat/audio/dtmf/utils.py
src/pipecat/audio/filters/__init__.py
src/pipecat/audio/filters/aic_filter.py
src/pipecat/audio/filters/base_audio_filter.py
src/pipecat/audio/filters/koala_filter.py
src/pipecat/audio/filters/krisp_filter.py
src/pipecat/audio/filters/krisp_viva_filter.py
src/pipecat/audio/filters/noisereduce_filter.py
src/pipecat/audio/filters/pyrnn_local_filter.py
src/pipecat/audio/interruptions/__init__.py
src/pipecat/audio/interruptions/base_interruption_strategy.py
src/pipecat/audio/interruptions/min_words_interruption_strategy.py
src/pipecat/audio/mixers/__init__.py
src/pipecat/audio/mixers/base_audio_mixer.py
src/pipecat/audio/mixers/soundfile_mixer.py
src/pipecat/audio/resamplers/__init__.py
src/pipecat/audio/resamplers/base_audio_resampler.py
src/pipecat/audio/resamplers/resampy_resampler.py
src/pipecat/audio/resamplers/soxr_resampler.py
src/pipecat/audio/resamplers/soxr_stream_resampler.py
src/pipecat/audio/turn/__init__.py
src/pipecat/audio/turn/base_turn_analyzer.py
src/pipecat/audio/turn/smart_turn/__init__.py
src/pipecat/audio/turn/smart_turn/base_smart_turn.py
src/pipecat/audio/turn/smart_turn/fal_smart_turn.py
src/pipecat/audio/turn/smart_turn/http_smart_turn.py
src/pipecat/audio/turn/smart_turn/local_coreml_smart_turn.py
src/pipecat/audio/turn/smart_turn/local_smart_turn.py
src/pipecat/audio/turn/smart_turn/local_smart_turn_v2.py
src/pipecat/audio/turn/smart_turn/local_smart_turn_v3.py
src/pipecat/audio/turn/smart_turn/data/__init__.py
src/pipecat/audio/turn/smart_turn/data/smart-turn-v3.0.onnx
src/pipecat/audio/vad/__init__.py
src/pipecat/audio/vad/silero.py
src/pipecat/audio/vad/vad_analyzer.py
src/pipecat/audio/vad/data/README.md
src/pipecat/audio/vad/data/__init__.py
src/pipecat/audio/vad/data/silero_vad.onnx
src/pipecat/audio/vad/data/silero_vad_v2.onnx
src/pipecat/clocks/__init__.py
src/pipecat/clocks/base_clock.py
src/pipecat/clocks/system_clock.py
src/pipecat/extensions/__init__.py
src/pipecat/extensions/ivr/__init__.py
src/pipecat/extensions/ivr/ivr_navigator.py
src/pipecat/extensions/voicemail/__init__.py
src/pipecat/extensions/voicemail/voicemail_detector.py
src/pipecat/frames/__init__.py
src/pipecat/frames/frames.proto
src/pipecat/frames/frames.py
src/pipecat/frames/protobufs/frames_pb2.py
src/pipecat/metrics/__init__.py
src/pipecat/metrics/connection_metrics.py
src/pipecat/metrics/metrics.py
src/pipecat/observers/__init__.py
src/pipecat/observers/base_observer.py
src/pipecat/observers/turn_tracking_observer.py
src/pipecat/observers/loggers/__init__.py
src/pipecat/observers/loggers/debug_log_observer.py
src/pipecat/observers/loggers/llm_log_observer.py
src/pipecat/observers/loggers/transcription_log_observer.py
src/pipecat/observers/loggers/user_bot_latency_log_observer.py
src/pipecat/pipeline/__init__.py
src/pipecat/pipeline/base_pipeline.py
src/pipecat/pipeline/base_task.py
src/pipecat/pipeline/llm_switcher.py
src/pipecat/pipeline/parallel_pipeline.py
src/pipecat/pipeline/pipeline.py
src/pipecat/pipeline/runner.py
src/pipecat/pipeline/service_switcher.py
src/pipecat/pipeline/sync_parallel_pipeline.py
src/pipecat/pipeline/task.py
src/pipecat/pipeline/task_observer.py
src/pipecat/pipeline/tts_switcher.py
src/pipecat/pipeline/to_be_updated/merge_pipeline.py
src/pipecat/processors/__init__.py
src/pipecat/processors/async_generator.py
src/pipecat/processors/consumer_processor.py
src/pipecat/processors/dtmf_aggregator.py
src/pipecat/processors/frame_processor.py
src/pipecat/processors/idle_frame_processor.py
src/pipecat/processors/logger.py
src/pipecat/processors/producer_processor.py
src/pipecat/processors/text_transformer.py
src/pipecat/processors/transcript_processor.py
src/pipecat/processors/two_stage_user_idle_processor.py
src/pipecat/processors/user_idle_processor.py
src/pipecat/processors/aggregators/__init__.py
src/pipecat/processors/aggregators/dtmf_aggregator.py
src/pipecat/processors/aggregators/gated.py
src/pipecat/processors/aggregators/gated_llm_context.py
src/pipecat/processors/aggregators/gated_open_ai_llm_context.py
src/pipecat/processors/aggregators/llm_context.py
src/pipecat/processors/aggregators/llm_response.py
src/pipecat/processors/aggregators/llm_response_universal.py
src/pipecat/processors/aggregators/openai_llm_context.py
src/pipecat/processors/aggregators/sentence.py
src/pipecat/processors/aggregators/user_response.py
src/pipecat/processors/aggregators/vision_image_frame.py
src/pipecat/processors/audio/__init__.py
src/pipecat/processors/audio/audio_buffer_processor.py
src/pipecat/processors/filters/__init__.py
src/pipecat/processors/filters/frame_filter.py
src/pipecat/processors/filters/function_filter.py
src/pipecat/processors/filters/identity_filter.py
src/pipecat/processors/filters/null_filter.py
src/pipecat/processors/filters/stt_mute_filter.py
src/pipecat/processors/filters/wake_check_filter.py
src/pipecat/processors/filters/wake_notifier_filter.py
src/pipecat/processors/frameworks/__init__.py
src/pipecat/processors/frameworks/langchain.py
src/pipecat/processors/frameworks/rtvi.py
src/pipecat/processors/frameworks/strands_agents.py
src/pipecat/processors/gstreamer/__init__.py
src/pipecat/processors/gstreamer/pipeline_source.py
src/pipecat/processors/metrics/__init__.py
src/pipecat/processors/metrics/frame_processor_metrics.py
src/pipecat/processors/metrics/sentry.py
src/pipecat/runner/__init__.py
src/pipecat/runner/daily.py
src/pipecat/runner/livekit.py
src/pipecat/runner/run.py
src/pipecat/runner/types.py
src/pipecat/runner/utils.py
src/pipecat/serializers/__init__.py
src/pipecat/serializers/asterisk.py
src/pipecat/serializers/base_serializer.py
src/pipecat/serializers/convox.py
src/pipecat/serializers/custom.py
src/pipecat/serializers/exotel.py
src/pipecat/serializers/livekit.py
src/pipecat/serializers/plivo.py
src/pipecat/serializers/protobuf.py
src/pipecat/serializers/telnyx.py
src/pipecat/serializers/twilio.py
src/pipecat/serializers/vi.py
src/pipecat/services/__init__.py
src/pipecat/services/ai_service.py
src/pipecat/services/ai_services.py
src/pipecat/services/image_service.py
src/pipecat/services/llm_service.py
src/pipecat/services/mcp_service.py
src/pipecat/services/stt_service.py
src/pipecat/services/tts_service.py
src/pipecat/services/vision_service.py
src/pipecat/services/websocket_service.py
src/pipecat/services/anthropic/__init__.py
src/pipecat/services/anthropic/llm.py
src/pipecat/services/assemblyai/__init__.py
src/pipecat/services/assemblyai/models.py
src/pipecat/services/assemblyai/stt.py
src/pipecat/services/asyncai/__init__.py
src/pipecat/services/asyncai/tts.py
src/pipecat/services/aws/__init__.py
src/pipecat/services/aws/llm.py
src/pipecat/services/aws/stt.py
src/pipecat/services/aws/tts.py
src/pipecat/services/aws/utils.py
src/pipecat/services/aws/nova_sonic/__init__.py
src/pipecat/services/aws/nova_sonic/context.py
src/pipecat/services/aws/nova_sonic/frames.py
src/pipecat/services/aws/nova_sonic/llm.py
src/pipecat/services/aws/nova_sonic/ready.wav
src/pipecat/services/aws_nova_sonic/__init__.py
src/pipecat/services/aws_nova_sonic/aws.py
src/pipecat/services/aws_nova_sonic/context.py
src/pipecat/services/aws_nova_sonic/frames.py
src/pipecat/services/azure/__init__.py
src/pipecat/services/azure/common.py
src/pipecat/services/azure/image.py
src/pipecat/services/azure/llm.py
src/pipecat/services/azure/stt.py
src/pipecat/services/azure/tts.py
src/pipecat/services/azure/realtime/__init__.py
src/pipecat/services/azure/realtime/llm.py
src/pipecat/services/cartesia/__init__.py
src/pipecat/services/cartesia/stt.py
src/pipecat/services/cartesia/tts.py
src/pipecat/services/cerebras/__init__.py
src/pipecat/services/cerebras/llm.py
src/pipecat/services/deepgram/__init__.py
src/pipecat/services/deepgram/stt.py
src/pipecat/services/deepgram/tts.py
src/pipecat/services/deepgram/flux/__init__.py
src/pipecat/services/deepgram/flux/stt.py
src/pipecat/services/deepseek/__init__.py
src/pipecat/services/deepseek/llm.py
src/pipecat/services/elevenlabs/__init__.py
src/pipecat/services/elevenlabs/stt.py
src/pipecat/services/elevenlabs/tts.py
src/pipecat/services/fal/__init__.py
src/pipecat/services/fal/image.py
src/pipecat/services/fal/stt.py
src/pipecat/services/fireworks/__init__.py
src/pipecat/services/fireworks/llm.py
src/pipecat/services/fish/__init__.py
src/pipecat/services/fish/tts.py
src/pipecat/services/gemini_multimodal_live/__init__.py
src/pipecat/services/gemini_multimodal_live/events.py
src/pipecat/services/gemini_multimodal_live/file_api.py
src/pipecat/services/gemini_multimodal_live/gemini.py
src/pipecat/services/gladia/__init__.py
src/pipecat/services/gladia/config.py
src/pipecat/services/gladia/stt.py
src/pipecat/services/google/__init__.py
src/pipecat/services/google/frames.py
src/pipecat/services/google/google.py
src/pipecat/services/google/image.py
src/pipecat/services/google/llm.py
src/pipecat/services/google/llm_openai.py
src/pipecat/services/google/llm_vertex.py
src/pipecat/services/google/rtvi.py
src/pipecat/services/google/stt.py
src/pipecat/services/google/tts.py
src/pipecat/services/google/gemini_live/__init__.py
src/pipecat/services/google/gemini_live/file_api.py
src/pipecat/services/google/gemini_live/llm.py
src/pipecat/services/google/gemini_live/llm_vertex.py
src/pipecat/services/grok/__init__.py
src/pipecat/services/grok/llm.py
src/pipecat/services/groq/__init__.py
src/pipecat/services/groq/llm.py
src/pipecat/services/groq/stt.py
src/pipecat/services/groq/tts.py
src/pipecat/services/hamsa/__init__.py
src/pipecat/services/hamsa/stt.py
src/pipecat/services/heygen/__init__.py
src/pipecat/services/heygen/api.py
src/pipecat/services/heygen/client.py
src/pipecat/services/heygen/video.py
src/pipecat/services/hume/__init__.py
src/pipecat/services/hume/tts.py
src/pipecat/services/inworld/__init__.py
src/pipecat/services/inworld/tts.py
src/pipecat/services/lmnt/__init__.py
src/pipecat/services/lmnt/tts.py
src/pipecat/services/mem0/__init__.py
src/pipecat/services/mem0/memory.py
src/pipecat/services/minimax/__init__.py
src/pipecat/services/minimax/tts.py
src/pipecat/services/mistral/__init__.py
src/pipecat/services/mistral/llm.py
src/pipecat/services/moondream/__init__.py
src/pipecat/services/moondream/vision.py
src/pipecat/services/neuphonic/__init__.py
src/pipecat/services/neuphonic/tts.py
src/pipecat/services/nim/__init__.py
src/pipecat/services/nim/llm.py
src/pipecat/services/ollama/__init__.py
src/pipecat/services/ollama/llm.py
src/pipecat/services/openai/__init__.py
src/pipecat/services/openai/base_llm.py
src/pipecat/services/openai/image.py
src/pipecat/services/openai/llm.py
src/pipecat/services/openai/stt.py
src/pipecat/services/openai/tts.py
src/pipecat/services/openai/realtime/__init__.py
src/pipecat/services/openai/realtime/context.py
src/pipecat/services/openai/realtime/events.py
src/pipecat/services/openai/realtime/frames.py
src/pipecat/services/openai/realtime/llm.py
src/pipecat/services/openai_realtime/__init__.py
src/pipecat/services/openai_realtime/azure.py
src/pipecat/services/openai_realtime/context.py
src/pipecat/services/openai_realtime/events.py
src/pipecat/services/openai_realtime/frames.py
src/pipecat/services/openai_realtime_beta/__init__.py
src/pipecat/services/openai_realtime_beta/azure.py
src/pipecat/services/openai_realtime_beta/context.py
src/pipecat/services/openai_realtime_beta/events.py
src/pipecat/services/openai_realtime_beta/frames.py
src/pipecat/services/openai_realtime_beta/openai.py
src/pipecat/services/openpipe/__init__.py
src/pipecat/services/openpipe/llm.py
src/pipecat/services/openrouter/__init__.py
src/pipecat/services/openrouter/llm.py
src/pipecat/services/perplexity/__init__.py
src/pipecat/services/perplexity/llm.py
src/pipecat/services/piper/__init__.py
src/pipecat/services/piper/tts.py
src/pipecat/services/playht/__init__.py
src/pipecat/services/playht/tts.py
src/pipecat/services/qwen/__init__.py
src/pipecat/services/qwen/llm.py
src/pipecat/services/rime/__init__.py
src/pipecat/services/rime/tts.py
src/pipecat/services/riva/__init__.py
src/pipecat/services/riva/stt.py
src/pipecat/services/riva/tts.py
src/pipecat/services/salesforce/__init__.py
src/pipecat/services/salesforce/llm.py
src/pipecat/services/sambanova/__init__.py
src/pipecat/services/sambanova/llm.py
src/pipecat/services/sambanova/stt.py
src/pipecat/services/sarvam/__init__.py
src/pipecat/services/sarvam/stt.py
src/pipecat/services/sarvam/tts.py
src/pipecat/services/simli/__init__.py
src/pipecat/services/simli/video.py
src/pipecat/services/soniox/__init__.py
src/pipecat/services/soniox/stt.py
src/pipecat/services/speechmatics/__init__.py
src/pipecat/services/speechmatics/stt.py
src/pipecat/services/tavus/__init__.py
src/pipecat/services/tavus/video.py
src/pipecat/services/together/__init__.py
src/pipecat/services/together/llm.py
src/pipecat/services/ultravox/__init__.py
src/pipecat/services/ultravox/stt.py
src/pipecat/services/vistaar/__init__.py
src/pipecat/services/vistaar/llm.py
src/pipecat/services/whisper/__init__.py
src/pipecat/services/whisper/base_stt.py
src/pipecat/services/whisper/stt.py
src/pipecat/services/xtts/__init__.py
src/pipecat/services/xtts/tts.py
src/pipecat/sync/__init__.py
src/pipecat/sync/base_notifier.py
src/pipecat/sync/event_notifier.py
src/pipecat/tests/__init__.py
src/pipecat/tests/utils.py
src/pipecat/transcriptions/__init__.py
src/pipecat/transcriptions/language.py
src/pipecat/transports/__init__.py
src/pipecat/transports/base_input.py
src/pipecat/transports/base_output.py
src/pipecat/transports/base_transport.py
src/pipecat/transports/daily/__init__.py
src/pipecat/transports/daily/transport.py
src/pipecat/transports/daily/utils.py
src/pipecat/transports/heygen/__init__.py
src/pipecat/transports/heygen/transport.py
src/pipecat/transports/livekit/__init__.py
src/pipecat/transports/livekit/transport.py
src/pipecat/transports/local/__init__.py
src/pipecat/transports/local/audio.py
src/pipecat/transports/local/tk.py
src/pipecat/transports/network/__init__.py
src/pipecat/transports/network/fastapi_websocket.py
src/pipecat/transports/network/small_webrtc.py
src/pipecat/transports/network/webrtc_connection.py
src/pipecat/transports/network/websocket_client.py
src/pipecat/transports/network/websocket_server.py
src/pipecat/transports/services/__init__.py
src/pipecat/transports/services/daily.py
src/pipecat/transports/services/livekit.py
src/pipecat/transports/services/tavus.py
src/pipecat/transports/services/helpers/__init__.py
src/pipecat/transports/services/helpers/daily_rest.py
src/pipecat/transports/smallwebrtc/__init__.py
src/pipecat/transports/smallwebrtc/connection.py
src/pipecat/transports/smallwebrtc/request_handler.py
src/pipecat/transports/smallwebrtc/transport.py
src/pipecat/transports/tavus/__init__.py
src/pipecat/transports/tavus/transport.py
src/pipecat/transports/websocket/__init__.py
src/pipecat/transports/websocket/client.py
src/pipecat/transports/websocket/fastapi.py
src/pipecat/transports/websocket/server.py
src/pipecat/transports/whatsapp/__init__.py
src/pipecat/transports/whatsapp/api.py
src/pipecat/transports/whatsapp/client.py
src/pipecat/utils/__init__.py
src/pipecat/utils/base_object.py
src/pipecat/utils/logger_config.py
src/pipecat/utils/network.py
src/pipecat/utils/redis.py
src/pipecat/utils/string.py
src/pipecat/utils/time.py
src/pipecat/utils/utils.py
src/pipecat/utils/asyncio/__init__.py
src/pipecat/utils/asyncio/task_manager.py
src/pipecat/utils/text/__init__.py
src/pipecat/utils/text/base_text_aggregator.py
src/pipecat/utils/text/base_text_filter.py
src/pipecat/utils/text/markdown_text_filter.py
src/pipecat/utils/text/pattern_pair_aggregator.py
src/pipecat/utils/text/simple_text_aggregator.py
src/pipecat/utils/text/skip_tags_aggregator.py
src/pipecat/utils/tracing/__init__.py
src/pipecat/utils/tracing/class_decorators.py
src/pipecat/utils/tracing/conversation_context_provider.py
src/pipecat/utils/tracing/service_attributes.py
src/pipecat/utils/tracing/service_decorators.py
src/pipecat/utils/tracing/setup.py
src/pipecat/utils/tracing/turn_context_provider.py
src/pipecat/utils/tracing/turn_trace_observer.py