Merge pull request #2078 from pipecat-ai/aleix/hotfix-0.0.73
just a quick hotfix for 0.0.73
This commit is contained in:
@@ -5,6 +5,14 @@ All notable changes to **Pipecat** will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [0.0.73] - 2025-06-26
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed an issue introduced in 0.0.72 that would cause `ElevenLabsTTSService`,
|
||||||
|
`GladiaSTTService`, `NeuphonicTTSService` and `OpenAIRealtimeBetaLLMService`
|
||||||
|
to throw an error.
|
||||||
|
|
||||||
## [0.0.72] - 2025-06-26
|
## [0.0.72] - 2025-06-26
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -463,7 +463,7 @@ class PipelineTask(BasePipelineTask):
|
|||||||
self._process_push_queue(), f"{self}::_process_push_queue"
|
self._process_push_queue(), f"{self}::_process_push_queue"
|
||||||
)
|
)
|
||||||
|
|
||||||
await self._observer.start(self._enable_watchdog_timers)
|
await self._observer.start()
|
||||||
|
|
||||||
return self._process_push_task
|
return self._process_push_task
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ class TaskObserver(BaseObserver):
|
|||||||
if observer in self._observers:
|
if observer in self._observers:
|
||||||
self._observers.remove(observer)
|
self._observers.remove(observer)
|
||||||
|
|
||||||
async def start(self, watchdog_timers_enabled: bool = False):
|
async def start(self):
|
||||||
"""Starts all proxy observer tasks."""
|
"""Starts all proxy observer tasks."""
|
||||||
self._proxies = self._create_proxies(self._observers)
|
self._proxies = self._create_proxies(self._observers)
|
||||||
|
|
||||||
|
|||||||
@@ -428,7 +428,7 @@ class ElevenLabsTTSService(AudioContextWordTTSService):
|
|||||||
self._cumulative_time = word_times[-1][1]
|
self._cumulative_time = word_times[-1][1]
|
||||||
|
|
||||||
async def _keepalive_task_handler(self):
|
async def _keepalive_task_handler(self):
|
||||||
KEEPALIVE_SLEEP = 10 if self.watchdog_timers_enabled else 3
|
KEEPALIVE_SLEEP = 10 if self.task_manager.task_watchdog_enabled else 3
|
||||||
while True:
|
while True:
|
||||||
self.reset_watchdog()
|
self.reset_watchdog()
|
||||||
await asyncio.sleep(KEEPALIVE_SLEEP)
|
await asyncio.sleep(KEEPALIVE_SLEEP)
|
||||||
|
|||||||
@@ -485,7 +485,7 @@ class GladiaSTTService(STTService):
|
|||||||
async def _keepalive_task_handler(self):
|
async def _keepalive_task_handler(self):
|
||||||
"""Send periodic empty audio chunks to keep the connection alive."""
|
"""Send periodic empty audio chunks to keep the connection alive."""
|
||||||
try:
|
try:
|
||||||
KEEPALIVE_SLEEP = 20 if self.watchdog_timers_enabled else 3
|
KEEPALIVE_SLEEP = 20 if self.task_manager.task_watchdog_enabled else 3
|
||||||
while self._connection_active:
|
while self._connection_active:
|
||||||
self.reset_watchdog()
|
self.reset_watchdog()
|
||||||
# Send keepalive (Gladia times out after 30 seconds)
|
# Send keepalive (Gladia times out after 30 seconds)
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
await self.push_frame(frame)
|
await self.push_frame(frame)
|
||||||
|
|
||||||
async def _keepalive_task_handler(self):
|
async def _keepalive_task_handler(self):
|
||||||
KEEPALIVE_SLEEP = 10 if self.watchdog_timers_enabled else 3
|
KEEPALIVE_SLEEP = 10 if self.task_manager.task_watchdog_enabled else 3
|
||||||
while True:
|
while True:
|
||||||
self.reset_watchdog()
|
self.reset_watchdog()
|
||||||
await asyncio.sleep(KEEPALIVE_SLEEP)
|
await asyncio.sleep(KEEPALIVE_SLEEP)
|
||||||
|
|||||||
@@ -7,9 +7,12 @@
|
|||||||
"""Custom frame types for OpenAI Realtime API integration."""
|
"""Custom frame types for OpenAI Realtime API integration."""
|
||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from pipecat.frames.frames import DataFrame, FunctionCallResultFrame
|
from pipecat.frames.frames import DataFrame, FunctionCallResultFrame
|
||||||
from pipecat.services.openai_realtime_beta.context import OpenAIRealtimeLLMContext
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from pipecat.services.openai_realtime_beta.context import OpenAIRealtimeLLMContext
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
Reference in New Issue
Block a user