dv-pipecat-ai 0.0.85.dev837__tar.gz → 0.0.85.dev841__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.
Potentially problematic release.
This version of dv-pipecat-ai might be problematic. Click here for more details.
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/PKG-INFO +2 -1
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/pyproject.toml +1 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/PKG-INFO +2 -1
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/requires.txt +1 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/soniox/stt.py +40 -9
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/vistaar/llm.py +87 -2
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.dockerignore +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/1-bug_report.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/2-question.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/3-feature_request.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/4-service-issue.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/5-new-service.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/6-dependency.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/7-troubleshooting.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/build.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/coverage.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/force_push_to_pypi.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/format.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/github.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/promote-prod.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/publish.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/publish_test.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/python-compatibility.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/set-traffic-split.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/sync-quickstart.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/tests.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.gitignore +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.pre-commit-config.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.readthedocs.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/CHANGELOG.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/CHANGELOG.md.template +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/CLAUDE.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/COMMUNITY_INTEGRATIONS.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/CONTRIBUTING.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/DOCKER_BUILD_OPTIMIZATION_SUMMARY.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/LICENSE +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/MANIFEST.in +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/README.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/SECURITY.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/ansible.cfg +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/ansible_deployment.sh +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/cleanup_old_containers.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/codecov.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/ansible.cfg +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/ansible_setup.sh +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/inventory.ini +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/replace_env.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/setup_playbook.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create_inventory.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/delete_old_dockers.sh +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/deploy.sh +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/deploy_playbook.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/docker-compose.dev.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/dump_logs.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/env.example +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/fetch_logs.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/inventory.ini +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/.helmignore +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/Chart.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/_helpers.tpl +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/backendconfig.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/cluster-role.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/deployment.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/hpa.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/ingress.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/keda-api-key-secret.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/keda-scaledobject.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/keda-trigger-auth.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/pdb.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/service.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/values-canary.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/values-prod.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/values-stage.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/values.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/istio/destination-virtualservice.yaml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/merge-code-into-single-file.sh +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/pipecat.png +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/restart.sh +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/restart_playbook.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/setup.cfg +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/SOURCES.txt +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/dependency_links.txt +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/top_level.txt +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/base_llm_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/schemas/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/schemas/direct_function.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/schemas/function_schema.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/schemas/tools_schema.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/anthropic_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/aws_nova_sonic_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/bedrock_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/gemini_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/open_ai_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/services/open_ai_realtime_adapter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-0.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-1.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-2.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-3.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-4.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-5.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-6.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-7.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-8.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-9.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-pound.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-star.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/types.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/aic_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/base_audio_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/koala_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/krisp_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/krisp_viva_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/noisereduce_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/pyrnn_local_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/interruptions/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/interruptions/base_interruption_strategy.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/interruptions/min_words_interruption_strategy.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/mixers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/mixers/base_audio_mixer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/mixers/soundfile_mixer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/resamplers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/resamplers/base_audio_resampler.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/resamplers/resampy_resampler.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/resamplers/soxr_resampler.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/resamplers/soxr_stream_resampler.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/base_turn_analyzer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/base_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/data/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/data/smart-turn-v3.0.onnx +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/fal_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/http_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/local_coreml_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/local_smart_turn.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/local_smart_turn_v2.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/turn/smart_turn/local_smart_turn_v3.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/data/README.md +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/data/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/data/silero_vad.onnx +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/data/silero_vad_v2.onnx +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/silero.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/vad/vad_analyzer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/clocks/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/clocks/base_clock.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/clocks/system_clock.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/extensions/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/extensions/ivr/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/extensions/ivr/ivr_navigator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/extensions/voicemail/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/extensions/voicemail/voicemail_detector.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/frames/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/frames/frames.proto +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/frames/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/frames/protobufs/frames_pb2.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/metrics/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/metrics/metrics.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/base_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/loggers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/loggers/debug_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/loggers/llm_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/loggers/transcription_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/loggers/user_bot_latency_log_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/observers/turn_tracking_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/base_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/base_task.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/llm_switcher.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/parallel_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/pipeline.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/runner.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/service_switcher.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/sync_parallel_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/task.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/task_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/to_be_updated/merge_pipeline.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/pipeline/tts_switcher.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/dtmf_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/gated.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/gated_llm_context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/gated_open_ai_llm_context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/llm_context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/llm_response.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/llm_response_universal.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/openai_llm_context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/sentence.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/user_response.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/aggregators/vision_image_frame.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/async_generator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/audio/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/audio/audio_buffer_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/consumer_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/dtmf_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/frame_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/function_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/identity_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/null_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/stt_mute_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/wake_check_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/filters/wake_notifier_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/frame_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/frameworks/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/frameworks/langchain.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/frameworks/rtvi.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/frameworks/strands_agents.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/gstreamer/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/gstreamer/pipeline_source.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/idle_frame_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/logger.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/metrics/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/metrics/frame_processor_metrics.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/metrics/sentry.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/producer_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/text_transformer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/transcript_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/two_stage_user_idle_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/processors/user_idle_processor.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/py.typed +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/runner/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/runner/daily.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/runner/livekit.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/runner/run.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/runner/types.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/runner/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/asterisk.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/base_serializer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/convox.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/custom.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/exotel.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/livekit.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/plivo.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/protobuf.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/telnyx.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/twilio.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/serializers/vi.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/ai_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/ai_services.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/anthropic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/anthropic/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/assemblyai/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/assemblyai/models.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/assemblyai/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/asyncai/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/asyncai/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/nova_sonic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/nova_sonic/context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/nova_sonic/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/nova_sonic/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/nova_sonic/ready.wav +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws_nova_sonic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws_nova_sonic/aws.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws_nova_sonic/context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/aws_nova_sonic/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/common.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/image.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/realtime/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/realtime/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/azure/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/cartesia/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/cartesia/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/cartesia/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/cerebras/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/cerebras/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepgram/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepgram/flux/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepgram/flux/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepgram/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepgram/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepseek/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/deepseek/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/elevenlabs/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/elevenlabs/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/elevenlabs/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fal/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fal/image.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fal/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fireworks/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fireworks/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fish/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/fish/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gemini_multimodal_live/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gemini_multimodal_live/events.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gemini_multimodal_live/file_api.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gemini_multimodal_live/gemini.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gladia/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gladia/config.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/gladia/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/gemini_live/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/gemini_live/file_api.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/gemini_live/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/gemini_live/llm_vertex.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/google.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/image.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/llm_openai.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/llm_vertex.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/rtvi.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/google/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/grok/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/grok/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/groq/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/groq/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/groq/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/groq/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/hamsa/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/hamsa/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/heygen/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/heygen/api.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/heygen/client.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/heygen/video.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/hume/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/hume/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/image_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/inworld/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/inworld/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/llm_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/lmnt/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/lmnt/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/mcp_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/mem0/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/mem0/memory.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/minimax/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/minimax/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/mistral/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/mistral/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/moondream/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/moondream/vision.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/neuphonic/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/neuphonic/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/nim/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/nim/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/ollama/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/ollama/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/base_llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/image.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/realtime/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/realtime/context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/realtime/events.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/realtime/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/realtime/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime/azure.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime/context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime/events.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime_beta/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime_beta/azure.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime_beta/context.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime_beta/events.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime_beta/frames.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openai_realtime_beta/openai.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openpipe/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openpipe/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openrouter/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/openrouter/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/perplexity/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/perplexity/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/piper/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/piper/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/playht/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/playht/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/qwen/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/qwen/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/rime/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/rime/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/riva/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/riva/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/riva/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/salesforce/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/salesforce/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/sambanova/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/sambanova/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/sambanova/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/sarvam/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/sarvam/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/sarvam/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/simli/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/simli/video.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/soniox/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/speechmatics/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/speechmatics/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/stt_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/tavus/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/tavus/video.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/together/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/together/llm.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/tts_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/ultravox/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/ultravox/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/vision_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/vistaar/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/websocket_service.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/whisper/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/whisper/base_stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/whisper/stt.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/xtts/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/xtts/tts.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/sync/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/sync/base_notifier.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/sync/event_notifier.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/tests/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/tests/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transcriptions/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transcriptions/language.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/base_input.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/base_output.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/base_transport.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/daily/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/daily/transport.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/daily/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/heygen/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/heygen/transport.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/livekit/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/livekit/transport.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/local/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/local/audio.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/local/tk.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/network/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/network/fastapi_websocket.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/network/small_webrtc.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/network/webrtc_connection.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/network/websocket_client.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/network/websocket_server.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/services/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/services/daily.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/services/helpers/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/services/helpers/daily_rest.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/services/livekit.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/services/tavus.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/smallwebrtc/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/smallwebrtc/connection.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/smallwebrtc/request_handler.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/smallwebrtc/transport.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/tavus/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/tavus/transport.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/websocket/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/websocket/client.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/websocket/fastapi.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/websocket/server.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/whatsapp/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/whatsapp/api.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/transports/whatsapp/client.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/asyncio/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/asyncio/task_manager.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/base_object.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/logger_config.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/network.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/redis.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/string.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/base_text_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/base_text_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/markdown_text_filter.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/pattern_pair_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/simple_text_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/text/skip_tags_aggregator.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/time.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/__init__.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/class_decorators.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/conversation_context_provider.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/service_attributes.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/service_decorators.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/setup.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/turn_context_provider.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/tracing/turn_trace_observer.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/utils/utils.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/stop_container.yml +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/test_elevenlabs_stt_segmented.py +0 -0
- {dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dv-pipecat-ai
|
|
3
|
-
Version: 0.0.85.
|
|
3
|
+
Version: 0.0.85.dev841
|
|
4
4
|
Summary: An open source framework for voice (and multimodal) assistants
|
|
5
5
|
License-Expression: BSD-2-Clause
|
|
6
6
|
Project-URL: Source, https://github.com/pipecat-ai/pipecat
|
|
@@ -26,6 +26,7 @@ Requires-Dist: numpy<3,>=1.26.4
|
|
|
26
26
|
Requires-Dist: Pillow<12,>=11.1.0
|
|
27
27
|
Requires-Dist: protobuf~=5.29.3
|
|
28
28
|
Requires-Dist: pydantic<3,>=2.10.6
|
|
29
|
+
Requires-Dist: PyJWT<3,>=2.8.0
|
|
29
30
|
Requires-Dist: pyloudnorm~=0.1.1
|
|
30
31
|
Requires-Dist: resampy~=0.4.3
|
|
31
32
|
Requires-Dist: soxr~=0.5.0
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dv-pipecat-ai
|
|
3
|
-
Version: 0.0.85.
|
|
3
|
+
Version: 0.0.85.dev841
|
|
4
4
|
Summary: An open source framework for voice (and multimodal) assistants
|
|
5
5
|
License-Expression: BSD-2-Clause
|
|
6
6
|
Project-URL: Source, https://github.com/pipecat-ai/pipecat
|
|
@@ -26,6 +26,7 @@ Requires-Dist: numpy<3,>=1.26.4
|
|
|
26
26
|
Requires-Dist: Pillow<12,>=11.1.0
|
|
27
27
|
Requires-Dist: protobuf~=5.29.3
|
|
28
28
|
Requires-Dist: pydantic<3,>=2.10.6
|
|
29
|
+
Requires-Dist: PyJWT<3,>=2.8.0
|
|
29
30
|
Requires-Dist: pyloudnorm~=0.1.1
|
|
30
31
|
Requires-Dist: resampy~=0.4.3
|
|
31
32
|
Requires-Dist: soxr~=0.5.0
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/soniox/stt.py
RENAMED
|
@@ -49,6 +49,33 @@ END_TOKEN = "<end>"
|
|
|
49
49
|
FINALIZED_TOKEN = "<fin>"
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
class SonioxContextGeneralItem(BaseModel):
|
|
53
|
+
"""Represents a key-value pair for structured general context information."""
|
|
54
|
+
|
|
55
|
+
key: str
|
|
56
|
+
value: str
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class SonioxContextTranslationTerm(BaseModel):
|
|
60
|
+
"""Represents a custom translation mapping for ambiguous or domain-specific terms."""
|
|
61
|
+
|
|
62
|
+
source: str
|
|
63
|
+
target: str
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class SonioxContextObject(BaseModel):
|
|
67
|
+
"""Context object for models with context_version 2, for Soniox stt-rt-v3-preview and higher.
|
|
68
|
+
|
|
69
|
+
Learn more about context in the documentation:
|
|
70
|
+
https://soniox.com/docs/stt/concepts/context
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
general: Optional[List[SonioxContextGeneralItem]] = None
|
|
74
|
+
text: Optional[str] = None
|
|
75
|
+
terms: Optional[List[str]] = None
|
|
76
|
+
translation_terms: Optional[List[SonioxContextTranslationTerm]] = None
|
|
77
|
+
|
|
78
|
+
|
|
52
79
|
class SonioxInputParams(BaseModel):
|
|
53
80
|
"""Real-time transcription settings.
|
|
54
81
|
|
|
@@ -60,9 +87,9 @@ class SonioxInputParams(BaseModel):
|
|
|
60
87
|
audio_format: Audio format to use for transcription.
|
|
61
88
|
num_channels: Number of channels to use for transcription.
|
|
62
89
|
language_hints: List of language hints to use for transcription.
|
|
63
|
-
context: Customization for transcription.
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
context: Customization for transcription. String for models with context_version 1 and ContextObject for models with context_version 2.
|
|
91
|
+
enable_speaker_diarization: Whether to enable speaker diarization. Tokens are annotated with speaker IDs.
|
|
92
|
+
enable_language_identification: Whether to enable language identification. Tokens are annotated with language IDs.
|
|
66
93
|
client_reference_id: Client reference ID to use for transcription.
|
|
67
94
|
"""
|
|
68
95
|
|
|
@@ -72,10 +99,10 @@ class SonioxInputParams(BaseModel):
|
|
|
72
99
|
num_channels: Optional[int] = 1
|
|
73
100
|
|
|
74
101
|
language_hints: Optional[List[Language]] = None
|
|
75
|
-
context: Optional[str] = None
|
|
102
|
+
context: Optional[SonioxContextObject | str] = None
|
|
76
103
|
|
|
77
|
-
|
|
78
|
-
|
|
104
|
+
enable_speaker_diarization: Optional[bool] = False
|
|
105
|
+
enable_language_identification: Optional[bool] = False
|
|
79
106
|
|
|
80
107
|
client_reference_id: Optional[str] = None
|
|
81
108
|
|
|
@@ -173,6 +200,10 @@ class SonioxSTTService(STTService):
|
|
|
173
200
|
# Either one or the other is required.
|
|
174
201
|
enable_endpoint_detection = not self._vad_force_turn_endpoint
|
|
175
202
|
|
|
203
|
+
context = self._params.context
|
|
204
|
+
if isinstance(context, SonioxContextObject):
|
|
205
|
+
context = context.model_dump()
|
|
206
|
+
|
|
176
207
|
# Send the initial configuration message.
|
|
177
208
|
config = {
|
|
178
209
|
"api_key": self._api_key,
|
|
@@ -182,9 +213,9 @@ class SonioxSTTService(STTService):
|
|
|
182
213
|
"enable_endpoint_detection": enable_endpoint_detection,
|
|
183
214
|
"sample_rate": self.sample_rate,
|
|
184
215
|
"language_hints": _prepare_language_hints(self._params.language_hints),
|
|
185
|
-
"context":
|
|
186
|
-
"
|
|
187
|
-
"
|
|
216
|
+
"context": context,
|
|
217
|
+
"enable_speaker_diarization": self._params.enable_speaker_diarization,
|
|
218
|
+
"enable_language_identification": self._params.enable_language_identification,
|
|
188
219
|
"client_reference_id": self._params.client_reference_id,
|
|
189
220
|
}
|
|
190
221
|
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/services/vistaar/llm.py
RENAMED
|
@@ -10,9 +10,17 @@ from typing import Any, AsyncGenerator, Dict, List, Optional
|
|
|
10
10
|
from urllib.parse import urlencode
|
|
11
11
|
|
|
12
12
|
import httpx
|
|
13
|
+
import jwt
|
|
13
14
|
from loguru import logger
|
|
14
15
|
from pydantic import BaseModel, Field
|
|
15
16
|
|
|
17
|
+
try:
|
|
18
|
+
import redis.asyncio as redis
|
|
19
|
+
REDIS_AVAILABLE = True
|
|
20
|
+
except ImportError:
|
|
21
|
+
REDIS_AVAILABLE = False
|
|
22
|
+
redis = None
|
|
23
|
+
|
|
16
24
|
from pipecat.frames.frames import (
|
|
17
25
|
CancelFrame,
|
|
18
26
|
EndFrame,
|
|
@@ -55,7 +63,9 @@ class VistaarLLMService(LLMService):
|
|
|
55
63
|
Parameters:
|
|
56
64
|
source_lang: Source language code (e.g., 'mr' for Marathi, 'hi' for Hindi).
|
|
57
65
|
target_lang: Target language code for responses.
|
|
58
|
-
session_id: Session ID for maintaining conversation context.
|
|
66
|
+
session_id: Session ID for maintaining conversation context (also used for JWT caching).
|
|
67
|
+
pre_query_response_phrases: List of phrases to say while waiting for response.
|
|
68
|
+
phone_number: Phone number for JWT subject claim.
|
|
59
69
|
extra: Additional model-specific parameters
|
|
60
70
|
"""
|
|
61
71
|
|
|
@@ -63,6 +73,7 @@ class VistaarLLMService(LLMService):
|
|
|
63
73
|
target_lang: Optional[str] = Field(default="mr")
|
|
64
74
|
session_id: Optional[str] = Field(default=None)
|
|
65
75
|
pre_query_response_phrases: Optional[List[str]] = Field(default_factory=list)
|
|
76
|
+
phone_number: Optional[str] = Field(default="UNKNOWN")
|
|
66
77
|
extra: Optional[Dict[str, Any]] = Field(default_factory=dict)
|
|
67
78
|
|
|
68
79
|
def __init__(
|
|
@@ -72,6 +83,9 @@ class VistaarLLMService(LLMService):
|
|
|
72
83
|
params: Optional[InputParams] = None,
|
|
73
84
|
timeout: float = 30.0,
|
|
74
85
|
interim_timeout: float = 5.0,
|
|
86
|
+
redis_client: Optional[Any] = None, # redis.Redis type
|
|
87
|
+
jwt_private_key: Optional[str] = None,
|
|
88
|
+
jwt_token_expiry: int = 3600,
|
|
75
89
|
**kwargs,
|
|
76
90
|
):
|
|
77
91
|
"""Initialize Vistaar LLM service.
|
|
@@ -81,6 +95,9 @@ class VistaarLLMService(LLMService):
|
|
|
81
95
|
params: Input parameters for model configuration and behavior.
|
|
82
96
|
timeout: Request timeout in seconds. Defaults to 30.0 seconds.
|
|
83
97
|
interim_timeout: Time in seconds before sending interim message. Defaults to 5.0 seconds.
|
|
98
|
+
redis_client: Optional Redis client for JWT token caching.
|
|
99
|
+
jwt_private_key: Optional RSA private key in PEM format for JWT signing.
|
|
100
|
+
jwt_token_expiry: JWT token expiry time in seconds. Defaults to 3600 (1 hour).
|
|
84
101
|
**kwargs: Additional arguments passed to the parent LLMService.
|
|
85
102
|
"""
|
|
86
103
|
super().__init__(**kwargs)
|
|
@@ -95,6 +112,16 @@ class VistaarLLMService(LLMService):
|
|
|
95
112
|
self._extra = params.extra if isinstance(params.extra, dict) else {}
|
|
96
113
|
self._timeout = timeout
|
|
97
114
|
self._interim_timeout = interim_timeout
|
|
115
|
+
self._phone_number = params.phone_number
|
|
116
|
+
|
|
117
|
+
# JWT authentication setup
|
|
118
|
+
self._redis_client = redis_client
|
|
119
|
+
self._jwt_private_key = jwt_private_key
|
|
120
|
+
self._jwt_token_expiry = jwt_token_expiry
|
|
121
|
+
self._jwt_issuer = "voice-provider"
|
|
122
|
+
|
|
123
|
+
if self._jwt_private_key and not self._redis_client:
|
|
124
|
+
logger.warning("JWT private key provided but no Redis client for caching. JWT auth will regenerate tokens on each request.")
|
|
98
125
|
|
|
99
126
|
# Create an async HTTP client
|
|
100
127
|
self._client = httpx.AsyncClient(timeout=httpx.Timeout(self._timeout), verify=False)
|
|
@@ -112,6 +139,53 @@ class VistaarLLMService(LLMService):
|
|
|
112
139
|
f"Vistaar LLM initialized - Base URL: {self._base_url}, Session ID: {self._session_id}, Source Lang: {self._source_lang}, Target Lang: {self._target_lang}, Timeout: {self._timeout}s"
|
|
113
140
|
)
|
|
114
141
|
|
|
142
|
+
async def _get_jwt_token(self) -> Optional[str]:
|
|
143
|
+
"""Generate or retrieve a cached JWT token.
|
|
144
|
+
|
|
145
|
+
Returns:
|
|
146
|
+
JWT token string or None if JWT auth is not configured.
|
|
147
|
+
"""
|
|
148
|
+
if not self._jwt_private_key:
|
|
149
|
+
return None
|
|
150
|
+
|
|
151
|
+
# Try to get from Redis cache if available
|
|
152
|
+
if self._redis_client and self._session_id:
|
|
153
|
+
redis_key = f"vistaar_jwt:{self._session_id}"
|
|
154
|
+
try:
|
|
155
|
+
cached_token = await self._redis_client.get(redis_key)
|
|
156
|
+
if cached_token:
|
|
157
|
+
logger.debug(f"Retrieved JWT token from Redis cache for session_id: {self._session_id}")
|
|
158
|
+
return cached_token.decode('utf-8') if isinstance(cached_token, bytes) else cached_token
|
|
159
|
+
except Exception as e:
|
|
160
|
+
logger.warning(f"Redis cache retrieval failed: {e}. Generating new token.")
|
|
161
|
+
|
|
162
|
+
# Generate new token
|
|
163
|
+
current_time = int(time.time())
|
|
164
|
+
payload = {
|
|
165
|
+
"sub": self._phone_number, # Subject identifier (phone number)
|
|
166
|
+
"iss": self._jwt_issuer, # Issuer
|
|
167
|
+
"iat": current_time, # Issued at timestamp
|
|
168
|
+
"exp": current_time + self._jwt_token_expiry # Expiration timestamp
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
token = jwt.encode(payload, self._jwt_private_key, algorithm="RS256")
|
|
172
|
+
logger.info(f"Generated new JWT token for {self._phone_number}, expires in {self._jwt_token_expiry}s")
|
|
173
|
+
|
|
174
|
+
# Cache in Redis if available
|
|
175
|
+
if self._redis_client and self._session_id:
|
|
176
|
+
redis_key = f"vistaar_jwt:{self._session_id}"
|
|
177
|
+
try:
|
|
178
|
+
await self._redis_client.setex(
|
|
179
|
+
redis_key,
|
|
180
|
+
self._jwt_token_expiry,
|
|
181
|
+
token
|
|
182
|
+
)
|
|
183
|
+
logger.debug(f"Cached JWT token in Redis for session_id: {self._session_id} with {self._jwt_token_expiry}s TTL")
|
|
184
|
+
except Exception as e:
|
|
185
|
+
logger.warning(f"Redis cache storage failed: {e}. Continuing without cache.")
|
|
186
|
+
|
|
187
|
+
return token
|
|
188
|
+
|
|
115
189
|
async def _extract_messages_to_query(self, context: OpenAILLMContext) -> str:
|
|
116
190
|
"""Extract only the last user message from context.
|
|
117
191
|
|
|
@@ -259,9 +333,20 @@ class VistaarLLMService(LLMService):
|
|
|
259
333
|
self._interim_in_progress = False
|
|
260
334
|
self._interim_completion_event.clear() # Reset the event for new request
|
|
261
335
|
|
|
336
|
+
# Prepare headers with JWT authentication if configured
|
|
337
|
+
headers = {}
|
|
338
|
+
try:
|
|
339
|
+
jwt_token = await self._get_jwt_token()
|
|
340
|
+
if jwt_token:
|
|
341
|
+
headers["Authorization"] = f"Bearer {jwt_token}"
|
|
342
|
+
logger.debug(f"Added JWT authentication header for session_id: {self._session_id}")
|
|
343
|
+
except Exception as e:
|
|
344
|
+
logger.error(f"Failed to generate JWT token: {e}")
|
|
345
|
+
raise
|
|
346
|
+
|
|
262
347
|
try:
|
|
263
348
|
# Use httpx to handle SSE streaming
|
|
264
|
-
async with self._client.stream("GET", url) as response:
|
|
349
|
+
async with self._client.stream("GET", url, headers=headers) as response:
|
|
265
350
|
self._current_response = response # Store for potential cancellation
|
|
266
351
|
response.raise_for_status()
|
|
267
352
|
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/1-bug_report.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/2-question.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/5-new-service.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/6-dependency.yml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/ISSUE_TEMPLATE/config.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/PULL_REQUEST_TEMPLATE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/force_push_to_pypi.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/promote-prod.yml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/publish_test.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/set-traffic-split.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/.github/workflows/sync-quickstart.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
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/DOCKER_BUILD_OPTIMIZATION_SUMMARY.md
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
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/ansible_setup.sh
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/inventory.ini
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/create-new-machine/replace_env.yml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/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
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/_helpers.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/deployment.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/hpa.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/ingress.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/pdb.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/templates/service.yaml
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/k8s/dv-pipecat/values-canary.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/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
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/dv_pipecat_ai.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/__init__.py
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/adapters/base_llm_adapter.py
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/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
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/__init__.py
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-0.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-1.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-2.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-3.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-4.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-5.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-6.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-7.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-8.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-9.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-pound.wav
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/dtmf/dtmf-star.wav
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/__init__.py
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/filters/aic_filter.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
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/mixers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev837 → dv_pipecat_ai-0.0.85.dev841}/src/pipecat/audio/resamplers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|