dv-pipecat-ai 0.0.74.dev623__tar.gz → 0.0.74.dev640__tar.gz
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.
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/github.yml +72 -41
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/smart-auto-release.yml +33 -22
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/PKG-INFO +1 -1
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/PKG-INFO +1 -1
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/convox.py +14 -1
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/deepgram/stt.py +53 -19
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.dockerignore +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/1-bug_report.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/2-question.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/3-feature_request.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/4-service-issue.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/5-new-service.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/6-dependency.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/7-troubleshooting.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/android.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/build.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/coverage.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/format.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/promote-prod.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/publish.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/publish_test.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/set-traffic-split.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/tests.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.gitignore +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.pre-commit-config.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.readthedocs.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/CHANGELOG.md +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/CHANGELOG.md.template +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/CLAUDE.md +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/CONTRIBUTING.md +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/Dockerfile +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/LICENSE +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/MANIFEST.in +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/README.md +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/ansible.cfg +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/ansible_deployment.sh +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/cleanup_old_containers.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/codecov.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/ansible.cfg +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/ansible_setup.sh +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/inventory.ini +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/replace_env.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/setup_playbook.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create_inventory.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/delete_old_dockers.sh +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/deploy.sh +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/deploy_playbook.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/dev-requirements.txt +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/docker-compose.dev.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/dot-env.template +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/dump_logs.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/fetch_logs.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/inventory.ini +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/.helmignore +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/Chart.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/_helpers.tpl +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/backendconfig.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/deployment.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/hpa.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/ingress.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/service.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/values-canary.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/values-prod.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/values-stage.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/values.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/istio/destination-virtualservice.yaml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/merge-code-into-single-file.sh +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/pipecat.png +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/pyproject.toml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/restart.sh +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/restart_playbook.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/setup.cfg +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/SOURCES.txt +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/dependency_links.txt +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/requires.txt +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/top_level.txt +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/base_llm_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/schemas/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/schemas/function_schema.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/schemas/tools_schema.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/anthropic_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/aws_nova_sonic_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/bedrock_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/gemini_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/open_ai_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/services/open_ai_realtime_adapter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/filters/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/filters/base_audio_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/filters/koala_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/filters/krisp_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/filters/noisereduce_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/interruptions/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/interruptions/base_interruption_strategy.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/interruptions/min_words_interruption_strategy.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/mixers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/mixers/base_audio_mixer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/mixers/soundfile_mixer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/resamplers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/resamplers/base_audio_resampler.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/resamplers/resampy_resampler.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/resamplers/soxr_resampler.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/base_turn_analyzer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/smart_turn/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/smart_turn/base_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/smart_turn/fal_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/smart_turn/http_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/smart_turn/local_coreml_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/turn/smart_turn/local_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/utils.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/vad/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/vad/data/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/vad/data/silero_vad.onnx +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/vad/silero.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/vad/vad_analyzer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/clocks/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/clocks/base_clock.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/clocks/system_clock.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/examples/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/examples/daily_runner.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/examples/run.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/frames/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/frames/frames.proto +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/frames/frames.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/frames/protobufs/frames_pb2.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/metrics/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/metrics/metrics.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/base_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/loggers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/loggers/debug_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/loggers/llm_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/loggers/transcription_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/loggers/user_bot_latency_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/observers/turn_tracking_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/base_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/base_task.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/parallel_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/pipeline.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/runner.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/sync_parallel_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/task.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/task_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/pipeline/to_be_updated/merge_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/dtmf_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/gated.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/gated_openai_llm_context.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/llm_response.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/openai_llm_context.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/sentence.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/user_response.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/aggregators/vision_image_frame.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/async_generator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/audio/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/audio/audio_buffer_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/consumer_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/dtmf_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/frame_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/function_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/identity_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/null_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/stt_mute_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/wake_check_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/filters/wake_notifier_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/frame_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/frameworks/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/frameworks/langchain.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/frameworks/rtvi.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/gstreamer/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/gstreamer/pipeline_source.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/idle_frame_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/logger.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/metrics/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/metrics/frame_processor_metrics.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/metrics/sentry.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/producer_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/text_transformer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/transcript_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/two_stage_user_idle_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/processors/user_idle_processor.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/py.typed +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/base_serializer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/exotel.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/genesys.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/livekit.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/plivo.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/protobuf.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/telnyx.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/twilio.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/ai_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/ai_services.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/anthropic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/anthropic/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/assemblyai/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/assemblyai/models.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/assemblyai/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws/utils.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws_nova_sonic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws_nova_sonic/aws.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws_nova_sonic/context.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws_nova_sonic/frames.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/aws_nova_sonic/ready.wav +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/azure/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/azure/common.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/azure/image.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/azure/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/azure/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/azure/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/cartesia/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/cartesia/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/cartesia/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/cerebras/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/cerebras/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/deepgram/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/deepgram/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/deepseek/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/deepseek/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/elevenlabs/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/elevenlabs/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fal/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fal/image.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fal/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fireworks/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fireworks/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fish/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/fish/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/gemini_multimodal_live/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/gemini_multimodal_live/events.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/gemini_multimodal_live/gemini.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/gladia/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/gladia/config.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/gladia/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/frames.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/google.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/image.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/llm_openai.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/llm_vertex.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/rtvi.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/test-google-chirp.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/google/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/grok/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/grok/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/groq/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/groq/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/groq/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/groq/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/image_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/llm_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/lmnt/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/lmnt/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/mcp_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/mem0/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/mem0/memory.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/minimax/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/minimax/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/moondream/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/moondream/vision.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/neuphonic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/neuphonic/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/nim/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/nim/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/ollama/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/ollama/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai/base_llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai/image.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai_realtime_beta/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai_realtime_beta/azure.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai_realtime_beta/context.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai_realtime_beta/events.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai_realtime_beta/frames.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openai_realtime_beta/openai.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openpipe/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openpipe/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openrouter/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/openrouter/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/perplexity/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/perplexity/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/piper/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/piper/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/playht/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/playht/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/qwen/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/qwen/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/rime/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/rime/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/riva/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/riva/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/riva/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/sambanova/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/sambanova/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/sambanova/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/sarvam/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/sarvam/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/simli/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/simli/video.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/stt_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/tavus/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/tavus/video.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/together/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/together/llm.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/tts_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/ultravox/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/ultravox/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/vision_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/websocket_service.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/whisper/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/whisper/base_stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/whisper/stt.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/xtts/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/xtts/tts.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/sync/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/sync/base_notifier.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/sync/event_notifier.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/tests/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/tests/utils.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transcriptions/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transcriptions/language.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/base_input.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/base_output.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/base_transport.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/local/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/local/audio.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/local/tk.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/network/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/network/fastapi_websocket.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/network/small_webrtc.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/network/webrtc_connection.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/network/websocket_client.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/network/websocket_server.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/services/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/services/daily.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/services/helpers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/services/helpers/daily_rest.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/services/livekit.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/transports/services/tavus.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/asyncio/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/asyncio/task_manager.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/asyncio/watchdog_async_iterator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/asyncio/watchdog_event.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/asyncio/watchdog_priority_queue.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/asyncio/watchdog_queue.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/base_object.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/logger_config.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/network.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/string.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/base_text_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/base_text_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/markdown_text_filter.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/pattern_pair_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/simple_text_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/text/skip_tags_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/time.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/__init__.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/class_decorators.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/conversation_context_provider.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/service_attributes.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/service_decorators.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/setup.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/turn_context_provider.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/tracing/turn_trace_observer.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/utils/utils.py +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/stop_container.yml +0 -0
- {dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/test-requirements.txt +0 -0
|
@@ -31,57 +31,88 @@ jobs:
|
|
|
31
31
|
id-token: write # Required for Workload Identity Federation
|
|
32
32
|
|
|
33
33
|
steps:
|
|
34
|
+
- name: Wait for auto-release to complete
|
|
35
|
+
if: github.event_name == 'push'
|
|
36
|
+
run: |
|
|
37
|
+
echo "⏳ Waiting for auto-release workflow to complete..."
|
|
38
|
+
|
|
39
|
+
# Wait up to 10 minutes for the auto-release workflow
|
|
40
|
+
MAX_WAIT_TIME=600 # 10 minutes in seconds
|
|
41
|
+
WAIT_INTERVAL=30 # Check every 30 seconds
|
|
42
|
+
ELAPSED_TIME=0
|
|
43
|
+
|
|
44
|
+
while [ $ELAPSED_TIME -lt $MAX_WAIT_TIME ]; do
|
|
45
|
+
# Check if any workflow runs are still in progress for this commit
|
|
46
|
+
RUNNING_WORKFLOWS=$(gh api /repos/${{ github.repository }}/actions/runs \
|
|
47
|
+
--jq '.workflow_runs[] | select(.head_sha == "${{ github.sha }}" and .name == "Smart Auto-Release on PR Merge" and .status == "in_progress") | .id' | wc -l)
|
|
48
|
+
|
|
49
|
+
if [ "$RUNNING_WORKFLOWS" -eq 0 ]; then
|
|
50
|
+
echo "✅ Auto-release workflow completed for commit ${{ github.sha }}"
|
|
51
|
+
break
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
echo "🔄 Auto-release still running, waiting ${WAIT_INTERVAL}s... (${ELAPSED_TIME}s elapsed)"
|
|
55
|
+
sleep $WAIT_INTERVAL
|
|
56
|
+
ELAPSED_TIME=$((ELAPSED_TIME + WAIT_INTERVAL))
|
|
57
|
+
done
|
|
58
|
+
|
|
59
|
+
if [ $ELAPSED_TIME -ge $MAX_WAIT_TIME ]; then
|
|
60
|
+
echo "⚠️ Timeout waiting for auto-release workflow, proceeding anyway..."
|
|
61
|
+
fi
|
|
62
|
+
env:
|
|
63
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
64
|
+
|
|
34
65
|
- name: Checkout code
|
|
35
66
|
uses: actions/checkout@v4
|
|
36
67
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
68
|
+
- name: Set up Python
|
|
69
|
+
uses: actions/setup-python@v4
|
|
70
|
+
with:
|
|
71
|
+
python-version: '3.10'
|
|
41
72
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
73
|
+
- name: Install Python dependencies
|
|
74
|
+
run: |
|
|
75
|
+
python -m pip install --upgrade pip
|
|
76
|
+
pip install requests packaging
|
|
46
77
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
78
|
+
- name: Verify PyPI package availability
|
|
79
|
+
run: |
|
|
80
|
+
echo "🔍 Verifying PyPI package availability..."
|
|
50
81
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
82
|
+
# Get version from remote-requirements.txt
|
|
83
|
+
PIPECAT_VERSION=$(grep "dv-pipecat-ai" examples/ringg-chatbot/remote-requirements.txt | sed -n 's/.*==\([^]]*\).*/\1/p')
|
|
84
|
+
echo "📦 Required pipecat version: $PIPECAT_VERSION"
|
|
54
85
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
86
|
+
# Verify package is available on PyPI with retry logic
|
|
87
|
+
MAX_ATTEMPTS=30
|
|
88
|
+
ATTEMPT=1
|
|
89
|
+
PACKAGE_AVAILABLE=false
|
|
59
90
|
|
|
60
|
-
|
|
61
|
-
|
|
91
|
+
while [ $ATTEMPT -le $MAX_ATTEMPTS ]; do
|
|
92
|
+
echo "🔍 Attempt $ATTEMPT/$MAX_ATTEMPTS: Checking PyPI for dv-pipecat-ai==$PIPECAT_VERSION"
|
|
62
93
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
if python scripts/check-pypi-package.py dv-pipecat-ai "$PIPECAT_VERSION"; then
|
|
95
|
+
PACKAGE_AVAILABLE=true
|
|
96
|
+
echo "✅ PyPI package verification successful!"
|
|
97
|
+
break
|
|
98
|
+
else
|
|
99
|
+
if [ $ATTEMPT -eq $MAX_ATTEMPTS ]; then
|
|
100
|
+
echo "❌ FAILED: Package dv-pipecat-ai==$PIPECAT_VERSION not available on PyPI after $MAX_ATTEMPTS attempts"
|
|
101
|
+
echo "🚨 This usually means:"
|
|
102
|
+
echo " 1. The auto-release workflow failed to publish"
|
|
103
|
+
echo " 2. PyPI is experiencing delays"
|
|
104
|
+
echo " 3. Version mismatch between requirements.txt and PyPI"
|
|
105
|
+
exit 1
|
|
106
|
+
else
|
|
107
|
+
WAIT_TIME=$((ATTEMPT * 10))
|
|
108
|
+
echo "⏳ Package not yet available, waiting ${WAIT_TIME}s before retry..."
|
|
109
|
+
sleep $WAIT_TIME
|
|
110
|
+
fi
|
|
111
|
+
fi
|
|
112
|
+
ATTEMPT=$((ATTEMPT + 1))
|
|
113
|
+
done
|
|
83
114
|
|
|
84
|
-
|
|
115
|
+
echo "PIPECAT_VERSION=$PIPECAT_VERSION" >> $GITHUB_ENV
|
|
85
116
|
|
|
86
117
|
- name: Authenticate to GCP using Workload Identity Federation
|
|
87
118
|
id: auth
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/smart-auto-release.yml
RENAMED
|
@@ -101,27 +101,38 @@ jobs:
|
|
|
101
101
|
fi
|
|
102
102
|
echo "Skip reason: $SKIP_REASON"
|
|
103
103
|
|
|
104
|
-
- name:
|
|
104
|
+
- name: Build package
|
|
105
105
|
if: steps.decision.outputs.SHOULD_RELEASE == 'true'
|
|
106
|
-
id: new-version
|
|
107
106
|
run: |
|
|
108
|
-
|
|
109
|
-
echo "📈 Calculating new version from: $CURRENT_VERSION"
|
|
110
|
-
|
|
111
|
-
# Use helper script to increment version
|
|
112
|
-
NEW_VERSION=$(python scripts/increment-version.py "$CURRENT_VERSION")
|
|
113
|
-
|
|
114
|
-
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
115
|
-
echo "🚀 New version will be: $NEW_VERSION"
|
|
116
|
-
|
|
117
|
-
- name: Build package
|
|
118
|
-
if: steps.decision.outputs.SHOULD_RELEASE == 'true'
|
|
119
|
-
run: |
|
|
120
|
-
echo "🔨 Building package..."
|
|
107
|
+
echo "🔨 Building package with setuptools_scm auto-versioning..."
|
|
121
108
|
python -m build
|
|
122
109
|
echo "✅ Package built successfully"
|
|
123
110
|
ls -la dist/
|
|
124
111
|
|
|
112
|
+
- name: Extract actual built version
|
|
113
|
+
if: steps.decision.outputs.SHOULD_RELEASE == 'true'
|
|
114
|
+
id: extract-version
|
|
115
|
+
run: |
|
|
116
|
+
echo "📦 Extracting version from built package..."
|
|
117
|
+
|
|
118
|
+
# Get the wheel filename and extract version
|
|
119
|
+
WHEEL_FILE=$(ls dist/*.whl | head -1)
|
|
120
|
+
BUILT_VERSION=$(echo "$WHEEL_FILE" | sed -E 's/.*-([0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+)-.*/\1/')
|
|
121
|
+
|
|
122
|
+
echo "BUILT_VERSION=$BUILT_VERSION" >> $GITHUB_OUTPUT
|
|
123
|
+
echo "🔍 Actual built version: $BUILT_VERSION"
|
|
124
|
+
|
|
125
|
+
# Verify this matches the tar.gz file too
|
|
126
|
+
TAR_FILE=$(ls dist/*.tar.gz | head -1)
|
|
127
|
+
TAR_VERSION=$(echo "$TAR_FILE" | sed -E 's/.*-([0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+)\.tar\.gz/\1/')
|
|
128
|
+
|
|
129
|
+
if [ "$BUILT_VERSION" = "$TAR_VERSION" ]; then
|
|
130
|
+
echo "✅ Version consistency check passed: $BUILT_VERSION"
|
|
131
|
+
else
|
|
132
|
+
echo "❌ Version mismatch between wheel ($BUILT_VERSION) and tar ($TAR_VERSION)"
|
|
133
|
+
exit 1
|
|
134
|
+
fi
|
|
135
|
+
|
|
125
136
|
- name: Publish to PyPI
|
|
126
137
|
if: steps.decision.outputs.SHOULD_RELEASE == 'true'
|
|
127
138
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -133,11 +144,11 @@ jobs:
|
|
|
133
144
|
- name: Update remote-requirements.txt
|
|
134
145
|
if: steps.decision.outputs.SHOULD_RELEASE == 'true'
|
|
135
146
|
run: |
|
|
136
|
-
|
|
137
|
-
echo "📝 Updating ${{ env.REQUIREMENTS_FILE }} with version $
|
|
147
|
+
BUILT_VERSION="${{ steps.extract-version.outputs.BUILT_VERSION }}"
|
|
148
|
+
echo "📝 Updating ${{ env.REQUIREMENTS_FILE }} with actual built version $BUILT_VERSION"
|
|
138
149
|
|
|
139
150
|
# Update the version in remote-requirements.txt
|
|
140
|
-
sed -i.bak "s/${{ env.PACKAGE_NAME }}\[.*\]==.*/${{ env.PACKAGE_NAME }}[daily,cartesia,openai,silero,deepgram,azure,elevenlabs,google,groq,sentry,soundfile]==$
|
|
151
|
+
sed -i.bak "s/${{ env.PACKAGE_NAME }}\[.*\]==.*/${{ env.PACKAGE_NAME }}[daily,cartesia,openai,silero,deepgram,azure,elevenlabs,google,groq,sentry,soundfile]==$BUILT_VERSION/" ${{ env.REQUIREMENTS_FILE }}
|
|
141
152
|
|
|
142
153
|
# Show the change
|
|
143
154
|
echo "📋 Updated requirements file:"
|
|
@@ -149,7 +160,7 @@ jobs:
|
|
|
149
160
|
|
|
150
161
|
# Commit the change
|
|
151
162
|
git add ${{ env.REQUIREMENTS_FILE }}
|
|
152
|
-
git commit -m "🤖 Auto-bump pipecat version to $
|
|
163
|
+
git commit -m "🤖 Auto-bump pipecat version to $BUILT_VERSION"
|
|
153
164
|
|
|
154
165
|
# Push to dv-stage
|
|
155
166
|
git push origin HEAD:dv-stage
|
|
@@ -157,10 +168,10 @@ jobs:
|
|
|
157
168
|
- name: Success notification
|
|
158
169
|
if: steps.decision.outputs.SHOULD_RELEASE == 'true'
|
|
159
170
|
run: |
|
|
160
|
-
|
|
171
|
+
BUILT_VERSION="${{ steps.extract-version.outputs.BUILT_VERSION }}"
|
|
161
172
|
echo "🎉 SUCCESS: Auto-release completed!"
|
|
162
|
-
echo " 📦 Published: ${{ env.PACKAGE_NAME }} v$
|
|
163
|
-
echo " 🔗 PyPI: https://pypi.org/project/${{ env.PACKAGE_NAME }}/$
|
|
173
|
+
echo " 📦 Published: ${{ env.PACKAGE_NAME }} v$BUILT_VERSION"
|
|
174
|
+
echo " 🔗 PyPI: https://pypi.org/project/${{ env.PACKAGE_NAME }}/$BUILT_VERSION/"
|
|
164
175
|
echo " 📝 Updated: ${{ env.REQUIREMENTS_FILE }}"
|
|
165
176
|
echo " 🚀 Deployment will proceed automatically"
|
|
166
177
|
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/serializers/convox.py
RENAMED
|
@@ -181,7 +181,12 @@ class ConVoxFrameSerializer(FrameSerializer):
|
|
|
181
181
|
logger.error(f"Invalid JSON received from ConVox: {data}")
|
|
182
182
|
return None
|
|
183
183
|
|
|
184
|
+
# Log all incoming events for debugging and monitoring
|
|
184
185
|
event = message.get("event")
|
|
186
|
+
# logger.info(
|
|
187
|
+
# f"📥 CONVOX INCOMING EVENT: {event} - stream_id: {self._stream_id}, call_id: {self._call_id}"
|
|
188
|
+
# )
|
|
189
|
+
# logger.info(f"📥 CONVOX FULL MESSAGE: {json.dumps(message, indent=2)}")
|
|
185
190
|
|
|
186
191
|
if event == "media":
|
|
187
192
|
# Handle incoming audio data
|
|
@@ -238,6 +243,10 @@ class ConVoxFrameSerializer(FrameSerializer):
|
|
|
238
243
|
logger.info(f"ConVox stream started: {message}")
|
|
239
244
|
return None
|
|
240
245
|
|
|
246
|
+
elif event == "bridge_connected":
|
|
247
|
+
logger.info(f"ConVox bridge connected: {message}")
|
|
248
|
+
return None
|
|
249
|
+
|
|
241
250
|
elif event == "stop":
|
|
242
251
|
# Handle stream stop event
|
|
243
252
|
logger.info(f"ConVox stream stopped: {message}")
|
|
@@ -249,7 +258,7 @@ class ConVoxFrameSerializer(FrameSerializer):
|
|
|
249
258
|
logger.error(f"ConVox error: {error_msg}")
|
|
250
259
|
return None
|
|
251
260
|
|
|
252
|
-
elif event == "
|
|
261
|
+
elif event == "callEnd" or event == "call_end":
|
|
253
262
|
logger.info("ConVox call end event received")
|
|
254
263
|
self._call_ended = True
|
|
255
264
|
return CancelFrame()
|
|
@@ -258,5 +267,9 @@ class ConVoxFrameSerializer(FrameSerializer):
|
|
|
258
267
|
logger.info(f"ConVox failed event received: {message}")
|
|
259
268
|
self._call_ended = True
|
|
260
269
|
return CancelFrame()
|
|
270
|
+
# else:
|
|
271
|
+
# logger.warning(
|
|
272
|
+
# f"📥 CONVOX UNHANDLED EVENT: {event} - Full message: {json.dumps(message, indent=2)}"
|
|
273
|
+
# )
|
|
261
274
|
|
|
262
275
|
return None
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/services/deepgram/stt.py
RENAMED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
"""Deepgram speech-to-text service implementation."""
|
|
8
8
|
|
|
9
|
+
import asyncio
|
|
9
10
|
import logging
|
|
10
11
|
from typing import AsyncGenerator, Dict, Optional
|
|
11
12
|
|
|
@@ -113,15 +114,20 @@ class DeepgramSTTService(STTService):
|
|
|
113
114
|
self._settings = merged_options
|
|
114
115
|
self._addons = addons
|
|
115
116
|
|
|
117
|
+
# Connection retry settings
|
|
118
|
+
self._max_connect_retries = 3
|
|
119
|
+
self._connect_retry_delay_s = 0.1
|
|
120
|
+
|
|
116
121
|
self._client = DeepgramClient(
|
|
117
122
|
api_key,
|
|
118
123
|
config=DeepgramClientOptions(
|
|
119
124
|
url=base_url,
|
|
120
125
|
options={
|
|
121
126
|
"keepalive": "true",
|
|
127
|
+
"open_timeout": 3, # Max wait for only 3 seconds for the connection to establish #
|
|
122
128
|
# "termination_exception_connect": True, # Enable exception propagation
|
|
123
129
|
},
|
|
124
|
-
verbose=logging.ERROR, # Enable
|
|
130
|
+
verbose=logging.ERROR, # Enable error level and above logging
|
|
125
131
|
),
|
|
126
132
|
)
|
|
127
133
|
|
|
@@ -210,27 +216,55 @@ class DeepgramSTTService(STTService):
|
|
|
210
216
|
yield None
|
|
211
217
|
|
|
212
218
|
async def _connect(self):
|
|
213
|
-
self.logger.debug("
|
|
219
|
+
self.logger.debug("Attempting to connect to Deepgram...")
|
|
214
220
|
|
|
215
|
-
|
|
221
|
+
for attempt in range(self._max_connect_retries):
|
|
222
|
+
try:
|
|
223
|
+
# Create a new connection object for a clean attempt
|
|
224
|
+
self._connection: AsyncListenWebSocketClient = self._client.listen.asyncwebsocket.v(
|
|
225
|
+
"1"
|
|
226
|
+
)
|
|
216
227
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
228
|
+
# Register event handlers
|
|
229
|
+
self._connection.on(
|
|
230
|
+
LiveTranscriptionEvents(LiveTranscriptionEvents.Transcript), self._on_message
|
|
231
|
+
)
|
|
232
|
+
self._connection.on(
|
|
233
|
+
LiveTranscriptionEvents(LiveTranscriptionEvents.Error), self._on_error
|
|
234
|
+
)
|
|
221
235
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
236
|
+
if self.vad_enabled:
|
|
237
|
+
self._connection.on(
|
|
238
|
+
LiveTranscriptionEvents(LiveTranscriptionEvents.SpeechStarted),
|
|
239
|
+
self._on_speech_started,
|
|
240
|
+
)
|
|
241
|
+
self._connection.on(
|
|
242
|
+
LiveTranscriptionEvents(LiveTranscriptionEvents.UtteranceEnd),
|
|
243
|
+
self._on_utterance_end,
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Attempt to start the connection (timeout handled by open_timeout config)
|
|
247
|
+
if await self._connection.start(options=self._settings, addons=self._addons):
|
|
248
|
+
self.logger.info("Successfully connected to Deepgram.")
|
|
249
|
+
return # Exit the method on success
|
|
250
|
+
|
|
251
|
+
self.logger.warning(
|
|
252
|
+
f"Deepgram connection attempt {attempt + 1}/{self._max_connect_retries} failed."
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
except Exception as e:
|
|
256
|
+
self.logger.warning(
|
|
257
|
+
f"Deepgram connection attempt {attempt + 1}/{self._max_connect_retries} failed with an exception: {e}"
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
# If this is not the last attempt, wait briefly before retrying
|
|
261
|
+
if attempt < self._max_connect_retries - 1:
|
|
262
|
+
self.logger.info(f"Retrying in {self._connect_retry_delay_s} second(s)...")
|
|
263
|
+
await asyncio.sleep(self._connect_retry_delay_s)
|
|
264
|
+
|
|
265
|
+
self.logger.error(
|
|
266
|
+
f"{self}: unable to connect to Deepgram after {self._max_connect_retries} attempts."
|
|
267
|
+
)
|
|
234
268
|
|
|
235
269
|
async def _disconnect(self):
|
|
236
270
|
if self._connection.is_connected:
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/1-bug_report.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/2-question.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/5-new-service.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/6-dependency.yml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/ISSUE_TEMPLATE/config.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/PULL_REQUEST_TEMPLATE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/promote-prod.yml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/publish_test.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/.github/workflows/set-traffic-split.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/ansible_setup.sh
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/inventory.ini
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/replace_env.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/create-new-machine/setup_playbook.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/_helpers.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/deployment.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/hpa.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/ingress.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/templates/service.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/values-canary.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/k8s/dv-pipecat/values-stage.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/requires.txt
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/dv_pipecat_ai.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/__init__.py
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/base_llm_adapter.py
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/adapters/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.74.dev623 → dv_pipecat_ai-0.0.74.dev640}/src/pipecat/audio/filters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|