Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from sesame_ai import SesameAI, TokenManager

# Create API client
client = SesameAI()

# Create an anonymous account
signup_response = client.create_anonymous_account()
print(f"ID Token: {signup_response.id_token}")

# Look up account information
lookup_response = client.get_account_info(signup_response.id_token)
print(f"User ID: {lookup_response.local_id}")

# For easier token management, use TokenManager
token_manager = TokenManager(client, token_file="token.json")
id_token = token_manager.get_valid_token()
28 changes: 26 additions & 2 deletions sesame_ai/websocket.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,16 @@ def _on_message(self, ws, message):
self._handle_audio(data)
elif message_type == 'call_disconnect_response':
self._handle_call_disconnect_response(data)
elif message_type == 'webrtc_config':
self._handle_webrtc_config(data)
elif message_type == 'chat':
self._handle_chat(data)
elif message_type == 'error':
self._handle_error(data)
elif message_type == 'agent':
self._handle_agent(data)
else:
logger.debug(f"Received message type: {message_type}")
logger.debug(f"Received unknown message type: {message_type}")

except json.JSONDecodeError:
logger.warning(f"Received non-JSON message: {message}")
Expand Down Expand Up @@ -236,6 +244,22 @@ def _handle_call_disconnect_response(self, data):
# Call the disconnect callback if set
if self.on_disconnect_callback:
self.on_disconnect_callback()

def _handle_webrtc_config(self, data):
"""Handle webrtc_config message from server"""
logger.debug(f"Received webrtc_config: {data}")

def _handle_chat(self, data):
"""Handle chat message from server"""
logger.debug(f"Received chat message: {data}")

def _handle_error(self, data):
"""Handle error message from server"""
logger.error(f"Received error from server: {data}")

def _handle_agent(self, data):
"""Handle agent message from server"""
logger.debug(f"Received agent message: {data}")

# Methods to send messages
def _send_ping(self):
Expand Down Expand Up @@ -309,7 +333,7 @@ def _send_call_connect(self):
"is_private": self.is_private,
"client_name": self.client_name,
"settings": {
"preset": f"{self.character}"
"character": f"{self.character}"
},
"client_metadata": {
"language": "en-US",
Expand Down