Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
jhakulin committed Jan 12, 2025
1 parent 4e3e533 commit 86790e5
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 3 deletions.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

setup(
name="realtime-ai",
version="0.1.7",
version="0.1.8",
description="Python SDK for real-time audio processing with OpenAI's Realtime REST API.",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
Expand Down
2 changes: 2 additions & 0 deletions src/realtime_ai/aio/realtime_ai_service_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,4 +235,6 @@ def options(self):
@options.setter
def options(self, options: RealtimeAIOptions):
self._options = options
if self._websocket_manager:
self._websocket_manager.options = options
logger.info("RealtimeAIServiceManager: Options updated.")
9 changes: 9 additions & 0 deletions src/realtime_ai/aio/web_socket_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,12 @@ async def send(self, message: dict):
else:
logger.error("WebSocketManager: Cannot send message. WebSocket is not connected.")
raise ConnectionError("WebSocket is not connected.")

@property
def options(self):
return self._options

@options.setter
def options(self, options: RealtimeAIOptions):
self._options = options
logger.info(f"WebSocketManager: Options updated: {options}")
2 changes: 2 additions & 0 deletions src/realtime_ai/realtime_ai_service_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,6 @@ def options(self):
@options.setter
def options(self, options: RealtimeAIOptions):
self._options = options
if self._websocket_manager:
self._websocket_manager.options = options
logger.info("RealtimeAIServiceManager: Options updated.")
12 changes: 10 additions & 2 deletions src/realtime_ai/web_socket_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,6 @@ def disconnect(self):
if self._receive_thread:
self._receive_thread.join()
logger.info("WebSocketManager: WebSocket closed gracefully.")
self._ws = None
self._receive_thread = None

def send(self, message: dict):
"""
Expand Down Expand Up @@ -112,6 +110,7 @@ def _on_close(self, ws, close_status_code, close_msg):

# If the session ended due to maximum duration, attempt to reconnect
if close_status_code == 1001 and "Your session hit the maximum duration" in close_msg:
print("Session ended due to maximum duration. Reconnecting...")
logger.debug("WebSocketManager: Session ended due to maximum duration. Reconnecting...")
if self._options.enable_auto_reconnect:
self._schedule_reconnect()
Expand All @@ -121,3 +120,12 @@ def _schedule_reconnect(self):
time.sleep(self._reconnect_delay)
self._is_reconnection = True
self.connect()

@property
def options(self):
return self._options

@options.setter
def options(self, options: RealtimeAIOptions):
self._options = options
logger.info(f"WebSocketManager: Options updated: {options}")

0 comments on commit 86790e5

Please sign in to comment.