dv-pipecat-ai 0.0.72.dev652__tar.gz → 0.0.74.dev526__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.
Files changed (382) hide show
  1. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/CHANGELOG.md +8 -0
  2. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/PKG-INFO +2 -2
  3. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/pyproject.toml +1 -1
  4. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/dv_pipecat_ai.egg-info/PKG-INFO +2 -2
  5. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/dv_pipecat_ai.egg-info/requires.txt +1 -1
  6. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/task.py +1 -1
  7. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/task_observer.py +1 -1
  8. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/elevenlabs/tts.py +1 -1
  9. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/gladia/stt.py +1 -1
  10. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/mcp_service.py +65 -23
  11. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/neuphonic/tts.py +1 -1
  12. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai_realtime_beta/frames.py +4 -1
  13. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.dockerignore +0 -0
  14. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/1-bug_report.yml +0 -0
  15. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/2-question.yml +0 -0
  16. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/3-feature_request.yml +0 -0
  17. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/4-service-issue.yml +0 -0
  18. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/5-new-service.yml +0 -0
  19. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/6-dependency.yml +0 -0
  20. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/7-troubleshooting.yml +0 -0
  21. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  23. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/android.yaml +0 -0
  24. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/build.yaml +0 -0
  25. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/coverage.yaml +0 -0
  26. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/format.yaml +0 -0
  27. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/github.yml +0 -0
  28. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/publish.yaml +0 -0
  29. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/publish_test.yaml +0 -0
  30. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.github/workflows/tests.yaml +0 -0
  31. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.gitignore +0 -0
  32. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.pre-commit-config.yaml +0 -0
  33. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/.readthedocs.yaml +0 -0
  34. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/CHANGELOG.md.template +0 -0
  35. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/CONTRIBUTING.md +0 -0
  36. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/Dockerfile +0 -0
  37. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/LICENSE +0 -0
  38. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/MANIFEST.in +0 -0
  39. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/README.md +0 -0
  40. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/ansible.cfg +0 -0
  41. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/ansible_deployment.sh +0 -0
  42. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/cleanup_old_containers.yml +0 -0
  43. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/codecov.yml +0 -0
  44. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/create-new-machine/ansible.cfg +0 -0
  45. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/create-new-machine/ansible_setup.sh +0 -0
  46. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/create-new-machine/inventory.ini +0 -0
  47. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/create-new-machine/replace_env.yml +0 -0
  48. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/create-new-machine/setup_playbook.yml +0 -0
  49. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/create_inventory.py +0 -0
  50. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/delete_old_dockers.sh +0 -0
  51. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/deploy.sh +0 -0
  52. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/deploy_playbook.yml +0 -0
  53. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/dev-requirements.txt +0 -0
  54. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/docker-compose.dev.yml +0 -0
  55. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/dot-env.template +0 -0
  56. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/dump_logs.yml +0 -0
  57. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/fetch_logs.yml +0 -0
  58. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/inventory.ini +0 -0
  59. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/.helmignore +0 -0
  60. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/Chart.yaml +0 -0
  61. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/templates/_helpers.tpl +0 -0
  62. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/templates/backendconfig.yaml +0 -0
  63. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/templates/deployment.yaml +0 -0
  64. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/templates/hpa.yaml +0 -0
  65. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/templates/ingress.yaml +0 -0
  66. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/templates/service.yaml +0 -0
  67. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/values-prod.yaml +0 -0
  68. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/values-stage.yaml +0 -0
  69. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/k8s/dv-pipecat/values.yaml +0 -0
  70. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/merge-code-into-single-file.sh +0 -0
  71. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/pipecat.png +0 -0
  72. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/restart.sh +0 -0
  73. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/restart_playbook.yml +0 -0
  74. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/setup.cfg +0 -0
  75. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/dv_pipecat_ai.egg-info/SOURCES.txt +0 -0
  76. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/dv_pipecat_ai.egg-info/dependency_links.txt +0 -0
  77. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/dv_pipecat_ai.egg-info/top_level.txt +0 -0
  78. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/__init__.py +0 -0
  79. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/__init__.py +0 -0
  80. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/base_llm_adapter.py +0 -0
  81. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/schemas/__init__.py +0 -0
  82. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/schemas/function_schema.py +0 -0
  83. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/schemas/tools_schema.py +0 -0
  84. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/__init__.py +0 -0
  85. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/anthropic_adapter.py +0 -0
  86. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/aws_nova_sonic_adapter.py +0 -0
  87. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/bedrock_adapter.py +0 -0
  88. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/gemini_adapter.py +0 -0
  89. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/open_ai_adapter.py +0 -0
  90. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/adapters/services/open_ai_realtime_adapter.py +0 -0
  91. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/__init__.py +0 -0
  92. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/filters/__init__.py +0 -0
  93. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/filters/base_audio_filter.py +0 -0
  94. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/filters/koala_filter.py +0 -0
  95. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/filters/krisp_filter.py +0 -0
  96. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/filters/noisereduce_filter.py +0 -0
  97. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/interruptions/__init__.py +0 -0
  98. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/interruptions/base_interruption_strategy.py +0 -0
  99. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/interruptions/min_words_interruption_strategy.py +0 -0
  100. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/mixers/__init__.py +0 -0
  101. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/mixers/base_audio_mixer.py +0 -0
  102. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/mixers/soundfile_mixer.py +0 -0
  103. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/resamplers/__init__.py +0 -0
  104. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/resamplers/base_audio_resampler.py +0 -0
  105. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/resamplers/resampy_resampler.py +0 -0
  106. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/resamplers/soxr_resampler.py +0 -0
  107. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/__init__.py +0 -0
  108. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/base_turn_analyzer.py +0 -0
  109. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/smart_turn/__init__.py +0 -0
  110. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/smart_turn/base_smart_turn.py +0 -0
  111. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/smart_turn/fal_smart_turn.py +0 -0
  112. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/smart_turn/http_smart_turn.py +0 -0
  113. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/smart_turn/local_coreml_smart_turn.py +0 -0
  114. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/turn/smart_turn/local_smart_turn.py +0 -0
  115. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/utils.py +0 -0
  116. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/vad/__init__.py +0 -0
  117. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/vad/data/__init__.py +0 -0
  118. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/vad/data/silero_vad.onnx +0 -0
  119. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/vad/silero.py +0 -0
  120. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/audio/vad/vad_analyzer.py +0 -0
  121. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/clocks/__init__.py +0 -0
  122. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/clocks/base_clock.py +0 -0
  123. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/clocks/system_clock.py +0 -0
  124. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/examples/__init__.py +0 -0
  125. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/examples/daily_runner.py +0 -0
  126. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/examples/run.py +0 -0
  127. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/frames/__init__.py +0 -0
  128. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/frames/frames.proto +0 -0
  129. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/frames/frames.py +0 -0
  130. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/frames/protobufs/frames_pb2.py +0 -0
  131. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/metrics/__init__.py +0 -0
  132. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/metrics/metrics.py +0 -0
  133. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/__init__.py +0 -0
  134. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/base_observer.py +0 -0
  135. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/loggers/__init__.py +0 -0
  136. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/loggers/debug_log_observer.py +0 -0
  137. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/loggers/llm_log_observer.py +0 -0
  138. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/loggers/transcription_log_observer.py +0 -0
  139. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/loggers/user_bot_latency_log_observer.py +0 -0
  140. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/observers/turn_tracking_observer.py +0 -0
  141. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/__init__.py +0 -0
  142. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/base_pipeline.py +0 -0
  143. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/base_task.py +0 -0
  144. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/parallel_pipeline.py +0 -0
  145. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/pipeline.py +0 -0
  146. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/runner.py +0 -0
  147. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/sync_parallel_pipeline.py +0 -0
  148. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/pipeline/to_be_updated/merge_pipeline.py +0 -0
  149. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/__init__.py +0 -0
  150. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/__init__.py +0 -0
  151. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/dtmf_aggregator.py +0 -0
  152. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/gated.py +0 -0
  153. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/gated_openai_llm_context.py +0 -0
  154. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/llm_response.py +0 -0
  155. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/openai_llm_context.py +0 -0
  156. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/sentence.py +0 -0
  157. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/user_response.py +0 -0
  158. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/aggregators/vision_image_frame.py +0 -0
  159. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/async_generator.py +0 -0
  160. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/audio/__init__.py +0 -0
  161. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/audio/audio_buffer_processor.py +0 -0
  162. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/consumer_processor.py +0 -0
  163. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/dtmf_aggregator.py +0 -0
  164. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/__init__.py +0 -0
  165. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/frame_filter.py +0 -0
  166. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/function_filter.py +0 -0
  167. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/identity_filter.py +0 -0
  168. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/null_filter.py +0 -0
  169. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/stt_mute_filter.py +0 -0
  170. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/wake_check_filter.py +0 -0
  171. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/filters/wake_notifier_filter.py +0 -0
  172. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/frame_processor.py +0 -0
  173. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/frameworks/__init__.py +0 -0
  174. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/frameworks/langchain.py +0 -0
  175. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/frameworks/rtvi.py +0 -0
  176. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/gstreamer/__init__.py +0 -0
  177. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/gstreamer/pipeline_source.py +0 -0
  178. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/idle_frame_processor.py +0 -0
  179. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/logger.py +0 -0
  180. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/metrics/__init__.py +0 -0
  181. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/metrics/frame_processor_metrics.py +0 -0
  182. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/metrics/sentry.py +0 -0
  183. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/producer_processor.py +0 -0
  184. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/text_transformer.py +0 -0
  185. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/transcript_processor.py +0 -0
  186. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/two_stage_user_idle_processor.py +0 -0
  187. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/processors/user_idle_processor.py +0 -0
  188. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/py.typed +0 -0
  189. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/__init__.py +0 -0
  190. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/base_serializer.py +0 -0
  191. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/exotel.py +0 -0
  192. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/genesys.py +0 -0
  193. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/livekit.py +0 -0
  194. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/plivo.py +0 -0
  195. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/protobuf.py +0 -0
  196. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/telnyx.py +0 -0
  197. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/serializers/twilio.py +0 -0
  198. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/__init__.py +0 -0
  199. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/ai_service.py +0 -0
  200. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/ai_services.py +0 -0
  201. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/anthropic/__init__.py +0 -0
  202. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/anthropic/llm.py +0 -0
  203. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/assemblyai/__init__.py +0 -0
  204. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/assemblyai/models.py +0 -0
  205. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/assemblyai/stt.py +0 -0
  206. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws/__init__.py +0 -0
  207. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws/llm.py +0 -0
  208. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws/stt.py +0 -0
  209. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws/tts.py +0 -0
  210. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws/utils.py +0 -0
  211. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws_nova_sonic/__init__.py +0 -0
  212. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws_nova_sonic/aws.py +0 -0
  213. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws_nova_sonic/context.py +0 -0
  214. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws_nova_sonic/frames.py +0 -0
  215. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/aws_nova_sonic/ready.wav +0 -0
  216. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/azure/__init__.py +0 -0
  217. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/azure/common.py +0 -0
  218. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/azure/image.py +0 -0
  219. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/azure/llm.py +0 -0
  220. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/azure/stt.py +0 -0
  221. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/azure/tts.py +0 -0
  222. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/cartesia/__init__.py +0 -0
  223. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/cartesia/stt.py +0 -0
  224. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/cartesia/tts.py +0 -0
  225. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/cerebras/__init__.py +0 -0
  226. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/cerebras/llm.py +0 -0
  227. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/deepgram/__init__.py +0 -0
  228. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/deepgram/stt.py +0 -0
  229. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/deepgram/tts.py +0 -0
  230. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/deepseek/__init__.py +0 -0
  231. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/deepseek/llm.py +0 -0
  232. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/elevenlabs/__init__.py +0 -0
  233. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fal/__init__.py +0 -0
  234. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fal/image.py +0 -0
  235. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fal/stt.py +0 -0
  236. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fireworks/__init__.py +0 -0
  237. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fireworks/llm.py +0 -0
  238. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fish/__init__.py +0 -0
  239. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/fish/tts.py +0 -0
  240. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/gemini_multimodal_live/__init__.py +0 -0
  241. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/gemini_multimodal_live/events.py +0 -0
  242. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/gemini_multimodal_live/gemini.py +0 -0
  243. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/gladia/__init__.py +0 -0
  244. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/gladia/config.py +0 -0
  245. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/__init__.py +0 -0
  246. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/frames.py +0 -0
  247. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/google.py +0 -0
  248. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/image.py +0 -0
  249. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/llm.py +0 -0
  250. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/llm_openai.py +0 -0
  251. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/llm_vertex.py +0 -0
  252. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/rtvi.py +0 -0
  253. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/stt.py +0 -0
  254. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/google/tts.py +0 -0
  255. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/grok/__init__.py +0 -0
  256. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/grok/llm.py +0 -0
  257. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/groq/__init__.py +0 -0
  258. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/groq/llm.py +0 -0
  259. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/groq/stt.py +0 -0
  260. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/groq/tts.py +0 -0
  261. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/image_service.py +0 -0
  262. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/llm_service.py +0 -0
  263. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/lmnt/__init__.py +0 -0
  264. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/lmnt/tts.py +0 -0
  265. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/mem0/__init__.py +0 -0
  266. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/mem0/memory.py +0 -0
  267. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/minimax/__init__.py +0 -0
  268. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/minimax/tts.py +0 -0
  269. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/moondream/__init__.py +0 -0
  270. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/moondream/vision.py +0 -0
  271. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/neuphonic/__init__.py +0 -0
  272. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/nim/__init__.py +0 -0
  273. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/nim/llm.py +0 -0
  274. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/ollama/__init__.py +0 -0
  275. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/ollama/llm.py +0 -0
  276. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai/__init__.py +0 -0
  277. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai/base_llm.py +0 -0
  278. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai/image.py +0 -0
  279. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai/llm.py +0 -0
  280. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai/stt.py +0 -0
  281. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai/tts.py +0 -0
  282. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai.py +0 -0
  283. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai_realtime_beta/__init__.py +0 -0
  284. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai_realtime_beta/azure.py +0 -0
  285. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai_realtime_beta/context.py +0 -0
  286. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai_realtime_beta/events.py +0 -0
  287. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openai_realtime_beta/openai.py +0 -0
  288. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openpipe/__init__.py +0 -0
  289. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openpipe/llm.py +0 -0
  290. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openrouter/__init__.py +0 -0
  291. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/openrouter/llm.py +0 -0
  292. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/perplexity/__init__.py +0 -0
  293. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/perplexity/llm.py +0 -0
  294. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/piper/__init__.py +0 -0
  295. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/piper/tts.py +0 -0
  296. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/playht/__init__.py +0 -0
  297. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/playht/tts.py +0 -0
  298. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/qwen/__init__.py +0 -0
  299. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/qwen/llm.py +0 -0
  300. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/rime/__init__.py +0 -0
  301. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/rime/tts.py +0 -0
  302. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/riva/__init__.py +0 -0
  303. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/riva/stt.py +0 -0
  304. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/riva/tts.py +0 -0
  305. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/sambanova/__init__.py +0 -0
  306. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/sambanova/llm.py +0 -0
  307. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/sambanova/stt.py +0 -0
  308. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/sarvam/__init__.py +0 -0
  309. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/sarvam/tts.py +0 -0
  310. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/simli/__init__.py +0 -0
  311. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/simli/video.py +0 -0
  312. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/stt_service.py +0 -0
  313. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/tavus/__init__.py +0 -0
  314. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/tavus/video.py +0 -0
  315. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/together/__init__.py +0 -0
  316. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/together/llm.py +0 -0
  317. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/tts_service.py +0 -0
  318. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/ultravox/__init__.py +0 -0
  319. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/ultravox/stt.py +0 -0
  320. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/vision_service.py +0 -0
  321. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/websocket_service.py +0 -0
  322. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/whisper/__init__.py +0 -0
  323. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/whisper/base_stt.py +0 -0
  324. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/whisper/stt.py +0 -0
  325. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/xtts/__init__.py +0 -0
  326. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/services/xtts/tts.py +0 -0
  327. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/sync/__init__.py +0 -0
  328. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/sync/base_notifier.py +0 -0
  329. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/sync/event_notifier.py +0 -0
  330. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/tests/__init__.py +0 -0
  331. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/tests/utils.py +0 -0
  332. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transcriptions/__init__.py +0 -0
  333. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transcriptions/language.py +0 -0
  334. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/__init__.py +0 -0
  335. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/base_input.py +0 -0
  336. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/base_output.py +0 -0
  337. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/base_transport.py +0 -0
  338. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/local/__init__.py +0 -0
  339. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/local/audio.py +0 -0
  340. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/local/tk.py +0 -0
  341. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/network/__init__.py +0 -0
  342. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/network/fastapi_websocket.py +0 -0
  343. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/network/small_webrtc.py +0 -0
  344. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/network/webrtc_connection.py +0 -0
  345. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/network/websocket_client.py +0 -0
  346. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/network/websocket_server.py +0 -0
  347. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/services/__init__.py +0 -0
  348. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/services/daily.py +0 -0
  349. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/services/helpers/__init__.py +0 -0
  350. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/services/helpers/daily_rest.py +0 -0
  351. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/services/livekit.py +0 -0
  352. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/transports/services/tavus.py +0 -0
  353. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/__init__.py +0 -0
  354. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/asyncio/__init__.py +0 -0
  355. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/asyncio/task_manager.py +0 -0
  356. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/asyncio/watchdog_async_iterator.py +0 -0
  357. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/asyncio/watchdog_event.py +0 -0
  358. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/asyncio/watchdog_priority_queue.py +0 -0
  359. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/asyncio/watchdog_queue.py +0 -0
  360. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/base_object.py +0 -0
  361. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/logger_config.py +0 -0
  362. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/network.py +0 -0
  363. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/string.py +0 -0
  364. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/__init__.py +0 -0
  365. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/base_text_aggregator.py +0 -0
  366. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/base_text_filter.py +0 -0
  367. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/markdown_text_filter.py +0 -0
  368. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/pattern_pair_aggregator.py +0 -0
  369. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/simple_text_aggregator.py +0 -0
  370. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/text/skip_tags_aggregator.py +0 -0
  371. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/time.py +0 -0
  372. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/__init__.py +0 -0
  373. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/class_decorators.py +0 -0
  374. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/conversation_context_provider.py +0 -0
  375. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/service_attributes.py +0 -0
  376. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/service_decorators.py +0 -0
  377. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/setup.py +0 -0
  378. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/turn_context_provider.py +0 -0
  379. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/tracing/turn_trace_observer.py +0 -0
  380. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/src/pipecat/utils/utils.py +0 -0
  381. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/stop_container.yml +0 -0
  382. {dv_pipecat_ai-0.0.72.dev652 → dv_pipecat_ai-0.0.74.dev526}/test-requirements.txt +0 -0
@@ -5,6 +5,14 @@ All notable changes to **Pipecat** will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.0.73] - 2025-06-26
9
+
10
+ ### Fixed
11
+
12
+ - Fixed an issue introduced in 0.0.72 that would cause `ElevenLabsTTSService`,
13
+ `GladiaSTTService`, `NeuphonicTTSService` and `OpenAIRealtimeBetaLLMService`
14
+ to throw an error.
15
+
8
16
  ## [0.0.72] - 2025-06-26
9
17
 
10
18
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-pipecat-ai
3
- Version: 0.0.72.dev652
3
+ Version: 0.0.74.dev526
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
@@ -84,7 +84,7 @@ Requires-Dist: websockets~=13.1; extra == "lmnt"
84
84
  Provides-Extra: local
85
85
  Requires-Dist: pyaudio~=0.2.14; extra == "local"
86
86
  Provides-Extra: mcp
87
- Requires-Dist: mcp[cli]~=1.6.0; extra == "mcp"
87
+ Requires-Dist: mcp[cli]~=1.9.4; extra == "mcp"
88
88
  Provides-Extra: mem0
89
89
  Requires-Dist: mem0ai~=0.1.94; extra == "mem0"
90
90
  Provides-Extra: mlx-whisper
@@ -64,7 +64,7 @@ langchain = [ "langchain~=0.3.20", "langchain-community~=0.3.20", "langchain-ope
64
64
  livekit = [ "livekit~=0.22.0", "livekit-api~=0.8.2", "tenacity~=9.0.0" ]
65
65
  lmnt = [ "websockets~=13.1" ]
66
66
  local = [ "pyaudio~=0.2.14" ]
67
- mcp = [ "mcp[cli]~=1.6.0" ]
67
+ mcp = [ "mcp[cli]~=1.9.4" ]
68
68
  mem0 = [ "mem0ai~=0.1.94" ]
69
69
  mlx-whisper = [ "mlx-whisper~=0.4.2" ]
70
70
  moondream = [ "einops~=0.8.0", "timm~=1.0.13", "transformers~=4.48.0" ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-pipecat-ai
3
- Version: 0.0.72.dev652
3
+ Version: 0.0.74.dev526
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
@@ -84,7 +84,7 @@ Requires-Dist: websockets~=13.1; extra == "lmnt"
84
84
  Provides-Extra: local
85
85
  Requires-Dist: pyaudio~=0.2.14; extra == "local"
86
86
  Provides-Extra: mcp
87
- Requires-Dist: mcp[cli]~=1.6.0; extra == "mcp"
87
+ Requires-Dist: mcp[cli]~=1.9.4; extra == "mcp"
88
88
  Provides-Extra: mem0
89
89
  Requires-Dist: mem0ai~=0.1.94; extra == "mem0"
90
90
  Provides-Extra: mlx-whisper
@@ -101,7 +101,7 @@ torch==2.5.0
101
101
  torchaudio==2.5.0
102
102
 
103
103
  [mcp]
104
- mcp[cli]~=1.6.0
104
+ mcp[cli]~=1.9.4
105
105
 
106
106
  [mem0]
107
107
  mem0ai~=0.1.94
@@ -463,7 +463,7 @@ class PipelineTask(BasePipelineTask):
463
463
  self._process_push_queue(), f"{self}::_process_push_queue"
464
464
  )
465
465
 
466
- await self._observer.start(self._enable_watchdog_timers)
466
+ await self._observer.start()
467
467
 
468
468
  return self._process_push_task
469
469
 
@@ -77,7 +77,7 @@ class TaskObserver(BaseObserver):
77
77
  if observer in self._observers:
78
78
  self._observers.remove(observer)
79
79
 
80
- async def start(self, watchdog_timers_enabled: bool = False):
80
+ async def start(self):
81
81
  """Starts all proxy observer tasks."""
82
82
  self._proxies = self._create_proxies(self._observers)
83
83
 
@@ -429,7 +429,7 @@ class ElevenLabsTTSService(AudioContextWordTTSService):
429
429
  self._cumulative_time = word_times[-1][1]
430
430
 
431
431
  async def _keepalive_task_handler(self):
432
- KEEPALIVE_SLEEP = 10 if self.watchdog_timers_enabled else 3
432
+ KEEPALIVE_SLEEP = 10 if self.task_manager.task_watchdog_enabled else 3
433
433
  while True:
434
434
  self.reset_watchdog()
435
435
  await asyncio.sleep(KEEPALIVE_SLEEP)
@@ -509,7 +509,7 @@ class GladiaSTTService(STTService):
509
509
  async def _keepalive_task_handler(self):
510
510
  """Send periodic empty audio chunks to keep the connection alive."""
511
511
  try:
512
- KEEPALIVE_SLEEP = 20 if self.watchdog_timers_enabled else 3
512
+ KEEPALIVE_SLEEP = 20 if self.task_manager.task_watchdog_enabled else 3
513
513
  while self._connection_active:
514
514
  self.reset_watchdog()
515
515
  # Send keepalive (Gladia times out after 30 seconds)
@@ -7,7 +7,7 @@
7
7
  """MCP (Model Context Protocol) client for integrating external tools with LLMs."""
8
8
 
9
9
  import json
10
- from typing import Any, Dict, List, Optional, Union
10
+ from typing import Any, Dict, List, Tuple
11
11
 
12
12
  from loguru import logger
13
13
 
@@ -17,9 +17,11 @@ from pipecat.utils.base_object import BaseObject
17
17
 
18
18
  try:
19
19
  from mcp import ClientSession, StdioServerParameters
20
- from mcp.client.session_group import SseServerParameters
20
+ from mcp.client.session import ClientSession
21
+ from mcp.client.session_group import SseServerParameters, StreamableHttpParameters
21
22
  from mcp.client.sse import sse_client
22
23
  from mcp.client.stdio import stdio_client
24
+ from mcp.client.streamable_http import streamablehttp_client
23
25
  except ModuleNotFoundError as e:
24
26
  logger.error(f"Exception: {e}")
25
27
  logger.error("In order to use an MCP client, you need to `pip install pipecat-ai[mcp]`.")
@@ -43,21 +45,25 @@ class MCPClient(BaseObject):
43
45
 
44
46
  def __init__(
45
47
  self,
46
- server_params: Union[StdioServerParameters, SseServerParameters],
48
+ server_params: Tuple[StdioServerParameters, SseServerParameters, StreamableHttpParameters],
47
49
  **kwargs,
48
50
  ):
49
51
  super().__init__(**kwargs)
50
52
  self._server_params = server_params
51
53
  self._session = ClientSession
54
+
52
55
  if isinstance(server_params, StdioServerParameters):
53
56
  self._client = stdio_client
54
57
  self._register_tools = self._stdio_register_tools
55
58
  elif isinstance(server_params, SseServerParameters):
56
59
  self._client = sse_client
57
60
  self._register_tools = self._sse_register_tools
61
+ elif isinstance(server_params, StreamableHttpParameters):
62
+ self._client = streamablehttp_client
63
+ self._register_tools = self._streamable_http_register_tools
58
64
  else:
59
65
  raise TypeError(
60
- f"{self} invalid argument type: `server_params` must be either StdioServerParameters or SseServerParameters."
66
+ f"{self} invalid argument type: `server_params` must be either StdioServerParameters, SseServerParameters, or StreamableHttpParameters."
61
67
  )
62
68
 
63
69
  async def register_tools(self, llm) -> ToolsSchema:
@@ -104,7 +110,7 @@ class MCPClient(BaseObject):
104
110
  return schema
105
111
 
106
112
  async def _sse_register_tools(self, llm) -> ToolsSchema:
107
- """Register all available mcp.run tools with the LLM service.
113
+ """Register all available mcp tools with the LLM service.
108
114
 
109
115
  Args:
110
116
  llm: The Pipecat LLM service to register tools with
@@ -120,16 +126,11 @@ class MCPClient(BaseObject):
120
126
  context: any,
121
127
  result_callback: any,
122
128
  ) -> None:
123
- """Wrapper for mcp.run tool calls to match Pipecat's function call interface."""
129
+ """Wrapper for mcp tool calls to match Pipecat's function call interface."""
124
130
  logger.debug(f"Executing tool '{function_name}' with call ID: {tool_call_id}")
125
131
  logger.trace(f"Tool arguments: {json.dumps(arguments, indent=2)}")
126
132
  try:
127
- async with self._client(
128
- url=self._server_params.url,
129
- headers=self._server_params.headers,
130
- timeout=self._server_params.timeout,
131
- sse_read_timeout=self._server_params.sse_read_timeout,
132
- ) as (read, write):
133
+ async with self._client(**self._server_params.model_dump()) as (read, write):
133
134
  async with self._session(read, write) as session:
134
135
  await session.initialize()
135
136
  await self._call_tool(session, function_name, arguments, result_callback)
@@ -140,20 +141,16 @@ class MCPClient(BaseObject):
140
141
  await result_callback(error_msg)
141
142
 
142
143
  logger.debug(f"SSE server parameters: {self._server_params}")
144
+ logger.debug("Starting registration of mcp tools")
143
145
 
144
- async with self._client(
145
- url=self._server_params.url,
146
- headers=self._server_params.headers,
147
- timeout=self._server_params.timeout,
148
- sse_read_timeout=self._server_params.sse_read_timeout,
149
- ) as (read, write):
146
+ async with self._client(**self._server_params.model_dump()) as (read, write):
150
147
  async with self._session(read, write) as session:
151
148
  await session.initialize()
152
149
  tools_schema = await self._list_tools(session, mcp_tool_wrapper, llm)
153
150
  return tools_schema
154
151
 
155
152
  async def _stdio_register_tools(self, llm) -> ToolsSchema:
156
- """Register all available mcp.run tools with the LLM service.
153
+ """Register all available mcp tools with the LLM service.
157
154
 
158
155
  Args:
159
156
  llm: The Pipecat LLM service to register tools with
@@ -169,7 +166,7 @@ class MCPClient(BaseObject):
169
166
  context: any,
170
167
  result_callback: any,
171
168
  ) -> None:
172
- """Wrapper for mcp.run tool calls to match Pipecat's function call interface."""
169
+ """Wrapper for mcp tool calls to match Pipecat's function call interface."""
173
170
  logger.debug(f"Executing tool '{function_name}' with call ID: {tool_call_id}")
174
171
  logger.trace(f"Tool arguments: {json.dumps(arguments, indent=2)}")
175
172
  try:
@@ -183,7 +180,7 @@ class MCPClient(BaseObject):
183
180
  logger.exception("Full exception details:")
184
181
  await result_callback(error_msg)
185
182
 
186
- logger.debug("Starting registration of mcp.run tools")
183
+ logger.debug("Starting registration of mcp tools")
187
184
 
188
185
  async with self._client(self._server_params) as streams:
189
186
  async with self._session(streams[0], streams[1]) as session:
@@ -191,6 +188,52 @@ class MCPClient(BaseObject):
191
188
  tools_schema = await self._list_tools(session, mcp_tool_wrapper, llm)
192
189
  return tools_schema
193
190
 
191
+ async def _streamable_http_register_tools(self, llm) -> ToolsSchema:
192
+ """Register all available mcp tools with the LLM service using streamable HTTP.
193
+ Args:
194
+ llm: The Pipecat LLM service to register tools with
195
+ Returns:
196
+ A ToolsSchema containing all registered tools
197
+ """
198
+
199
+ async def mcp_tool_wrapper(
200
+ function_name: str,
201
+ tool_call_id: str,
202
+ arguments: Dict[str, Any],
203
+ llm: any,
204
+ context: any,
205
+ result_callback: any,
206
+ ) -> None:
207
+ """Wrapper for mcp tool calls to match Pipecat's function call interface."""
208
+ logger.debug(f"Executing tool '{function_name}' with call ID: {tool_call_id}")
209
+ logger.trace(f"Tool arguments: {json.dumps(arguments, indent=2)}")
210
+ try:
211
+ async with self._client(**self._server_params.model_dump()) as (
212
+ read_stream,
213
+ write_stream,
214
+ _,
215
+ ):
216
+ async with self._session(read_stream, write_stream) as session:
217
+ await session.initialize()
218
+ await self._call_tool(session, function_name, arguments, result_callback)
219
+ except Exception as e:
220
+ error_msg = f"Error calling mcp tool {function_name}: {str(e)}"
221
+ logger.error(error_msg)
222
+ logger.exception("Full exception details:")
223
+ await result_callback(error_msg)
224
+
225
+ logger.debug("Starting registration of mcp tools using streamable HTTP")
226
+
227
+ async with self._client(**self._server_params.model_dump()) as (
228
+ read_stream,
229
+ write_stream,
230
+ _,
231
+ ):
232
+ async with self._session(read_stream, write_stream) as session:
233
+ await session.initialize()
234
+ tools_schema = await self._list_tools(session, mcp_tool_wrapper, llm)
235
+ return tools_schema
236
+
194
237
  async def _call_tool(self, session, function_name, arguments, result_callback):
195
238
  logger.debug(f"Calling mcp tool '{function_name}'")
196
239
  try:
@@ -234,8 +277,7 @@ class MCPClient(BaseObject):
234
277
  try:
235
278
  # Convert the schema
236
279
  function_schema = self._convert_mcp_schema_to_pipecat(
237
- tool_name,
238
- {"description": tool.description, "input_schema": tool.inputSchema},
280
+ tool_name, {"description": tool.description, "input_schema": tool.inputSchema}
239
281
  )
240
282
 
241
283
  # Register the wrapped function
@@ -233,7 +233,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
233
233
  await self.push_frame(frame)
234
234
 
235
235
  async def _keepalive_task_handler(self):
236
- KEEPALIVE_SLEEP = 10 if self.watchdog_timers_enabled else 3
236
+ KEEPALIVE_SLEEP = 10 if self.task_manager.task_watchdog_enabled else 3
237
237
  while True:
238
238
  self.reset_watchdog()
239
239
  await asyncio.sleep(KEEPALIVE_SLEEP)
@@ -7,9 +7,12 @@
7
7
  """Custom frame types for OpenAI Realtime API integration."""
8
8
 
9
9
  from dataclasses import dataclass
10
+ from typing import TYPE_CHECKING
10
11
 
11
12
  from pipecat.frames.frames import DataFrame, FunctionCallResultFrame
12
- from pipecat.services.openai_realtime_beta.context import OpenAIRealtimeLLMContext
13
+
14
+ if TYPE_CHECKING:
15
+ from pipecat.services.openai_realtime_beta.context import OpenAIRealtimeLLMContext
13
16
 
14
17
 
15
18
  @dataclass