import sys, time, json
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 inspect_artifacts_api():
    with InvisiblePlaywright(profile_dir=DEFAULT_PROFILE, headless=True) as ctx:
        page = ctx.pages[0] if ctx.pages else ctx.new_page()
        
        api_data = []
        async def handle_response(res):
            if "api" in res.url:
                try:
                    text = await res.text()
                    api_data.append({"url": res.url, "status": res.status, "text": text[:300]})
                except Exception:
                    pass
        page.on("response", handle_response)
        
        page.goto("https://muse.ai/library/artifacts", wait_until="networkidle", timeout=30000)
        time.sleep(5)
        
        page.screenshot(path="04_Assets/library_artifacts_loaded.png")
        print(f"Captured {len(api_data)} API responses:")
        for item in api_data:
            print(f"  [{item['status']}] {item['url']}")
            print(f"      {item['text'][:150]}...")
            
        # Check cards text
        cards = page.locator('article, [class*="card"], [class*="item"]').all()
        print(f"Found {len(cards)} card elements.")
        for idx, c in enumerate(cards[:10]):
            txt = c.inner_text().strip().replace('\n', ' ')
            if txt:
                print(f"  Card {idx}: {txt[:80]}")

if __name__ == '__main__':
    inspect_artifacts_api()
