.gitignore
.pre-commit-config.yaml
.readthedocs.yaml
CHANGELOG.md
CLAUDE.md
COMMUNITY_INTEGRATIONS.md
CONTRIBUTING.md
LICENSE
MANIFEST.in
README.md
SECURITY.md
codecov.yml
env.example
pipecat.png
pyproject.toml
pyrightconfig.json
uv.lock
.claude/settings.json
.claude-plugin/marketplace.json
.claude/skills/changelog/SKILL.md
.claude/skills/cleanup/SKILL.md
.claude/skills/code-review/SKILL.md
.claude/skills/docstring/SKILL.md
.claude/skills/pr-description/SKILL.md
.claude/skills/pr-submit/SKILL.md
.claude/skills/update-docs/SKILL.md
.claude/skills/update-docs/SOURCE_DOC_MAPPING.md
.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/format.yaml
.github/workflows/generate-changelog.yml
.github/workflows/publish.yaml
.github/workflows/publish_test.yaml
.github/workflows/python-compatibility.yaml
.github/workflows/tests.yaml
.github/workflows/update-docs.yml
changelog/_template.md.j2
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/grok_realtime_adapter.py
src/pipecat/adapters/services/inworld_realtime_adapter.py
src/pipecat/adapters/services/mistral_adapter.py
src/pipecat/adapters/services/open_ai_adapter.py
src/pipecat/adapters/services/open_ai_realtime_adapter.py
src/pipecat/adapters/services/open_ai_responses_adapter.py
src/pipecat/adapters/services/perplexity_adapter.py
src/pipecat/audio/__init__.py
src/pipecat/audio/krisp_instance.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_viva_filter.py
src/pipecat/audio/filters/rnnoise_filter.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/krisp_viva_turn.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/http_smart_turn.py
src/pipecat/audio/turn/smart_turn/local_coreml_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.2-cpu.onnx
src/pipecat/audio/vad/__init__.py
src/pipecat/audio/vad/aic_vad.py
src/pipecat/audio/vad/krisp_viva_vad.py
src/pipecat/audio/vad/silero.py
src/pipecat/audio/vad/vad_analyzer.py
src/pipecat/audio/vad/vad_controller.py
src/pipecat/audio/vad/data/__init__.py
src/pipecat/audio/vad/data/silero_vad.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/metrics.py
src/pipecat/observers/__init__.py
src/pipecat/observers/base_observer.py
src/pipecat/observers/startup_timing_observer.py
src/pipecat/observers/turn_tracking_observer.py
src/pipecat/observers/user_bot_latency_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/metrics_log_observer.py
src/pipecat/observers/loggers/transcription_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/processors/__init__.py
src/pipecat/processors/async_generator.py
src/pipecat/processors/consumer_processor.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/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/llm_context.py
src/pipecat/processors/aggregators/llm_context_summarizer.py
src/pipecat/processors/aggregators/llm_response.py
src/pipecat/processors/aggregators/llm_response_universal.py
src/pipecat/processors/aggregators/llm_text_processor.py
src/pipecat/processors/aggregators/sentence.py
src/pipecat/processors/audio/__init__.py
src/pipecat/processors/audio/audio_buffer_processor.py
src/pipecat/processors/audio/vad_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/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/strands_agents.py
src/pipecat/processors/frameworks/rtvi/__init__.py
src/pipecat/processors/frameworks/rtvi/frames.py
src/pipecat/processors/frameworks/rtvi/models.py
src/pipecat/processors/frameworks/rtvi/observer.py
src/pipecat/processors/frameworks/rtvi/processor.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/base_serializer.py
src/pipecat/serializers/exotel.py
src/pipecat/serializers/genesys.py
src/pipecat/serializers/plivo.py
src/pipecat/serializers/protobuf.py
src/pipecat/serializers/telnyx.py
src/pipecat/serializers/twilio.py
src/pipecat/serializers/vonage.py
src/pipecat/services/__init__.py
src/pipecat/services/ai_service.py
src/pipecat/services/image_service.py
src/pipecat/services/llm_service.py
src/pipecat/services/mcp_service.py
src/pipecat/services/settings.py
src/pipecat/services/stt_latency.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/agent_core.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/llm.py
src/pipecat/services/aws/nova_sonic/ready.wav
src/pipecat/services/aws/nova_sonic/session_continuation.py
src/pipecat/services/aws/sagemaker/__init__.py
src/pipecat/services/aws/sagemaker/bidi_client.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/camb/__init__.py
src/pipecat/services/camb/tts.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/base.py
src/pipecat/services/deepgram/flux/stt.py
src/pipecat/services/deepgram/flux/sagemaker/__init__.py
src/pipecat/services/deepgram/flux/sagemaker/stt.py
src/pipecat/services/deepgram/sagemaker/__init__.py
src/pipecat/services/deepgram/sagemaker/stt.py
src/pipecat/services/deepgram/sagemaker/tts.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/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/image.py
src/pipecat/services/google/llm.py
src/pipecat/services/google/rtvi.py
src/pipecat/services/google/stt.py
src/pipecat/services/google/tts.py
src/pipecat/services/google/utils.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/vertex/__init__.py
src/pipecat/services/google/gemini_live/vertex/llm.py
src/pipecat/services/google/vertex/__init__.py
src/pipecat/services/google/vertex/llm.py
src/pipecat/services/gradium/__init__.py
src/pipecat/services/gradium/stt.py
src/pipecat/services/gradium/tts.py
src/pipecat/services/grok/__init__.py
src/pipecat/services/grok/llm.py
src/pipecat/services/grok/realtime/__init__.py
src/pipecat/services/grok/realtime/events.py
src/pipecat/services/grok/realtime/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/heygen/__init__.py
src/pipecat/services/heygen/api_interactive_avatar.py
src/pipecat/services/heygen/api_liveavatar.py
src/pipecat/services/heygen/base_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/inworld/realtime/__init__.py
src/pipecat/services/inworld/realtime/events.py
src/pipecat/services/inworld/realtime/llm.py
src/pipecat/services/kokoro/__init__.py
src/pipecat/services/kokoro/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/mistral/stt.py
src/pipecat/services/mistral/tts.py
src/pipecat/services/moondream/__init__.py
src/pipecat/services/moondream/vision.py
src/pipecat/services/nebius/__init__.py
src/pipecat/services/nebius/llm.py
src/pipecat/services/neuphonic/__init__.py
src/pipecat/services/neuphonic/tts.py
src/pipecat/services/novita/__init__.py
src/pipecat/services/novita/llm.py
src/pipecat/services/nvidia/__init__.py
src/pipecat/services/nvidia/llm.py
src/pipecat/services/nvidia/stt.py
src/pipecat/services/nvidia/tts.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/events.py
src/pipecat/services/openai/realtime/llm.py
src/pipecat/services/openai/responses/__init__.py
src/pipecat/services/openai/responses/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/qwen/__init__.py
src/pipecat/services/qwen/llm.py
src/pipecat/services/resembleai/__init__.py
src/pipecat/services/resembleai/tts.py
src/pipecat/services/rime/__init__.py
src/pipecat/services/rime/tts.py
src/pipecat/services/sambanova/__init__.py
src/pipecat/services/sambanova/llm.py
src/pipecat/services/sarvam/__init__.py
src/pipecat/services/sarvam/_sdk.py
src/pipecat/services/sarvam/llm.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/smallest/__init__.py
src/pipecat/services/smallest/stt.py
src/pipecat/services/smallest/tts.py
src/pipecat/services/soniox/__init__.py
src/pipecat/services/soniox/stt.py
src/pipecat/services/soniox/tts.py
src/pipecat/services/speechmatics/__init__.py
src/pipecat/services/speechmatics/stt.py
src/pipecat/services/speechmatics/tts.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/llm.py
src/pipecat/services/whisper/__init__.py
src/pipecat/services/whisper/base_stt.py
src/pipecat/services/whisper/stt.py
src/pipecat/services/whisper/utils.py
src/pipecat/services/xai/__init__.py
src/pipecat/services/xai/llm.py
src/pipecat/services/xai/stt.py
src/pipecat/services/xai/tts.py
src/pipecat/services/xai/realtime/__init__.py
src/pipecat/services/xai/realtime/events.py
src/pipecat/services/xai/realtime/llm.py
src/pipecat/services/xtts/__init__.py
src/pipecat/services/xtts/tts.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/lemonslice/__init__.py
src/pipecat/transports/lemonslice/api.py
src/pipecat/transports/lemonslice/transport.py
src/pipecat/transports/livekit/__init__.py
src/pipecat/transports/livekit/transport.py
src/pipecat/transports/livekit/utils.py
src/pipecat/transports/local/__init__.py
src/pipecat/transports/local/audio.py
src/pipecat/transports/local/tk.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/turns/__init__.py
src/pipecat/turns/types.py
src/pipecat/turns/user_idle_controller.py
src/pipecat/turns/user_turn_completion_mixin.py
src/pipecat/turns/user_turn_controller.py
src/pipecat/turns/user_turn_processor.py
src/pipecat/turns/user_turn_strategies.py
src/pipecat/turns/user_mute/__init__.py
src/pipecat/turns/user_mute/always_user_mute_strategy.py
src/pipecat/turns/user_mute/base_user_mute_strategy.py
src/pipecat/turns/user_mute/first_speech_user_mute_strategy.py
src/pipecat/turns/user_mute/function_call_user_mute_strategy.py
src/pipecat/turns/user_mute/mute_until_first_bot_complete_user_mute_strategy.py
src/pipecat/turns/user_start/__init__.py
src/pipecat/turns/user_start/base_user_turn_start_strategy.py
src/pipecat/turns/user_start/external_user_turn_start_strategy.py
src/pipecat/turns/user_start/krisp_viva_ip_user_turn_start_strategy.py
src/pipecat/turns/user_start/min_words_user_turn_start_strategy.py
src/pipecat/turns/user_start/transcription_user_turn_start_strategy.py
src/pipecat/turns/user_start/vad_user_turn_start_strategy.py
src/pipecat/turns/user_start/wake_phrase_user_turn_start_strategy.py
src/pipecat/turns/user_stop/__init__.py
src/pipecat/turns/user_stop/base_user_turn_stop_strategy.py
src/pipecat/turns/user_stop/external_user_turn_stop_strategy.py
src/pipecat/turns/user_stop/speech_timeout_user_turn_stop_strategy.py
src/pipecat/turns/user_stop/turn_analyzer_user_turn_stop_strategy.py
src/pipecat/utils/__init__.py
src/pipecat/utils/async_tool_cancellation.py
src/pipecat/utils/base_object.py
src/pipecat/utils/env.py
src/pipecat/utils/frame_queue.py
src/pipecat/utils/network.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/context/__init__.py
src/pipecat/utils/context/llm_context_summarization.py
src/pipecat/utils/sync/__init__.py
src/pipecat/utils/sync/base_notifier.py
src/pipecat/utils/sync/event_notifier.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/service_attributes.py
src/pipecat/utils/tracing/service_decorators.py
src/pipecat/utils/tracing/setup.py
src/pipecat/utils/tracing/tracing_context.py
src/pipecat/utils/tracing/turn_trace_observer.py
src/pipecat_ai.egg-info/PKG-INFO
src/pipecat_ai.egg-info/SOURCES.txt
src/pipecat_ai.egg-info/dependency_links.txt
src/pipecat_ai.egg-info/requires.txt
src/pipecat_ai.egg-info/top_level.txt