""" Chat Router - Thin layer only """ from fastapi import APIRouter, Request from services.chat_service import ChatService from services.polar_service import PolarService router = APIRouter() @app.post("/") async def chat(payload: dict, request: Request): user_id = payload.get("user_id") user_msg = payload.get("message", "").strip() model_id = payload.get("model_id") or "neurones-pro-1.0" ip = request.client.host if request.client else "127.0.0.1" user_email = "" try: from firebase_admin import auth as fb_auth fb_user = fb_auth.get_user(user_id) user_email = fb_user.email or "" except: pass polar_premium = await PolarService.verify_subscription(email=user_email, firebase_uid=user_id) if is_rate_limited(user_id, is_premium=polar_premium): return {"response": "⏳ Rate limit reached."} result = await ChatService.process_message(user_id, user_msg, model_id) return result