"""Xoá toàn bộ scores cũ trên Langfuse (xử lý cả status 202)"""
import requests, time

BASE = "http://172.16.2.207:3009"
AUTH = ("pk-lf-2bb249b1-77e3-4309-8954-312b8fb2fff9", "sk-lf-bd0c7202-a7f4-4399-a36e-65ebe2e35104")

# ── Bước 1: Lấy toàn bộ scores ──
print("📋 Đang lấy danh sách scores...")
r = requests.get(f"{BASE}/api/public/scores?limit=200", auth=AUTH, timeout=10)
scores = r.json().get("data", [])
print(f"📊 Tìm thấy {len(scores)} scores cần xoá\n")

# ── Bước 2: Xoá từng score (chấp nhận cả 200, 202, 204) ──
deleted = 0
for s in scores:
    sid = s.get("id", "")
    name = s.get("name", "?")
    value = s.get("value", "?")

    dr = requests.delete(f"{BASE}/api/public/scores/{sid}", auth=AUTH, timeout=10)
    if dr.status_code in (200, 202, 204):
        deleted += 1
        print(f"  ✅ Xoá: {name} = {value}")
    else:
        print(f"  ❌ Lỗi: {name} = {value} → {dr.status_code}")

print(f"\n🎉 Đã gửi lệnh xoá {deleted}/{len(scores)} scores!")
print("⏳ Đợi 5 giây cho Langfuse xử lý hàng đợi xoá...")
time.sleep(5)

# ── Bước 3: Kiểm tra ──
r2 = requests.get(f"{BASE}/api/public/scores?limit=200", auth=AUTH, timeout=10)
remaining = len(r2.json().get("data", []))
print(f"\n📊 Số scores còn lại: {remaining}")
if remaining == 0:
    print("🎉 Đã xoá sạch! Langfuse Scores trống rỗng.")
else:
    print(f"⚠️ Còn {remaining} scores — Langfuse đang xoá dần, chờ thêm hoặc chạy lại.")
