from server.http import Starlette, Route, Request, Response, JSONResponse, WebSocketRoute, Mount from server.inference import list_conversations, delete_conversation, connect_to_conversation from starlette.staticfiles import StaticFiles async def status(request: Request) -> Response: return JSONResponse({"status": "ok"}) app = Starlette(debug=True, routes=[ Route("/api/", status), Route("/api/conversation", list_conversations, methods=["GET"]), Route("/api/conversation/{conversation}", delete_conversation, methods=["DELETE"]), WebSocketRoute("/api/conversation/{conversation}/connect", connect_to_conversation), Mount("/", app=StaticFiles(directory="client/web", html=True), name="client") ])