Spaces:
Runtime error
Runtime error
| # app/api/session.py | |
| from fastapi import APIRouter | |
| from app.services.session_service import session_manager | |
| router = APIRouter(prefix="/session", tags=["session"]) | |
| def create_session(user_id: str): | |
| """ | |
| Create a new voice session. | |
| """ | |
| session = session_manager.create_session(user_id=user_id) | |
| return { | |
| "session_id": session.session_id, | |
| "user_id": session.user_id, | |
| "status": "created", | |
| } | |
| def get_session(session_id: str): | |
| """ | |
| Get session state. | |
| """ | |
| session = session_manager.get(session_id) | |
| if not session: | |
| return {"error": "session not found"} | |
| return { | |
| "session_id": session.session_id, | |
| "user_id": session.user_id, | |
| "is_speaking": session.is_speaking, | |
| "is_ai_speaking": session.is_ai_speaking, | |
| } | |
| def close_session(session_id: str): | |
| """ | |
| Close session. | |
| """ | |
| session_manager.remove(session_id) | |
| return { | |
| "status": "closed", | |
| "session_id": session_id, | |
| } |