import sys, time
from pathlib import Path
sys.path.append(str(Path("05_Production_Pipeline").resolve()))
from invisible_playwright import InvisiblePlaywright
from muse_invpw_driver import DEFAULT_PROFILE

def capture_traffic():
    with InvisiblePlaywright(profile_dir=DEFAULT_PROFILE, headless=True) as ctx:
        page = ctx.pages[0] if ctx.pages else ctx.new_page()
        
        requests_log = []
        page.on("request", lambda r: requests_log.append(f"[REQ] {r.method} {r.url}"))
        page.on("requestfailed", lambda r: requests_log.append(f"[FAILED] {r.method} {r.url} - {r.failure}"))
        page.on("response", lambda r: requests_log.append(f"[RESP {r.status}] {r.url}"))
        
        page.goto("https://muse.ai", wait_until="domcontentloaded", timeout=30000)
        time.sleep(4)
        
        # Clear log so we only see traffic after typing/sending
        requests_log.clear()
        
        chat_box = page.locator('textarea, [placeholder*="Nhắn tin"]').first
        chat_box.click()
        chat_box.fill("Chào Muse")
        time.sleep(1)
        
        send_btn = page.locator('button[data-pel-click="chat_send_message"]').first
        print("Clicking send...")
        send_btn.click()
        time.sleep(6)
        
        print("\n--- ALL TRAFFIC AFTER SEND CLICK ---")
        for log in requests_log:
            print(log)

if __name__ == '__main__':
    capture_traffic()
