# app/api/session.py from fastapi import APIRouter from app.services.session_service import session_manager router = APIRouter(prefix="/session", tags=["session"]) @router.post("/create") 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", } @router.get("/{session_id}") 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, } @router.delete("/{session_id}") def close_session(session_id: str): """ Close session. """ session_manager.remove(session_id) return { "status": "closed", "session_id": session_id, }