import logging
from typing import List

logger = logging.getLogger(__name__)

class LangfusePuller:
    """
    Module phụ trách cào dữ liệu bad-feedback từ hệ thống Langfuse (hoặc Database Log nội bộ).
    """
    def __init__(self, public_key=None, secret_key=None):
        self.public_key = public_key
        self.secret_key = secret_key
        # TODO: Khởi tạo db connect / langfuse client thật ở đây khi có Auth Key
        
    def fetch_bad_feedbacks(self, limit: int = 10) -> List[dict]:
        """
        Kéo log các ca tư vấn bị người dùng chê bai (1 Sao hoặc có Cảm xúc tiêu cực).
        Dữ liệu trả về sẽ dùng để nhồi vào cho Agent học lại.
        Giả lập dữ liệu mồi do chưa nối Auth thực tế.
        """
        logger.info(f"Đang kéo top {limit} bad feedbacks từ Langfuse...")
        
        # MOCK DATA ĐỂ TEST LUỒNG
        return [
            {
                "trace_id": "lf_tr_83x91A",
                "user_query": "Tìm đồ đi dạo phố mùa hè",
                "bot_suggestion": "Áo len cardigan mỏng + Quần nỉ",
                "feedback_note": "Mùa hè mà khuyên mặc áo nỉ với áo len?? Đồ dở hơi!",
                "score": 0.0
            },
            {
                "trace_id": "lf_tr_42mL0P",
                "user_query": "Đi sự kiện công ty mặc gì trang trọng?",
                "bot_suggestion": "Áo thun T-shirt dáng hộp rộng + Quần ngố denim",
                "feedback_note": "Đi event công sở ai cho mặc quần ngố với áo thun rộng thế này?",
                "score": 0.0
            }
        ]

langfuse_puller = LangfusePuller()
