import sys, time, json, urllib.request
sys.path.insert(0, "/tmp/amdwork")
import cdp

def targets():
    return [t for t in json.loads(urllib.request.urlopen("http://localhost:9223/json",timeout=10).read()) if t.get("type")=="page"]

pm = None
for t in targets():
    if "/pm/app/" in (t.get("url") or ""):
        pm = t; break
if not pm:
    print("NO PM TARGET");
    for t in targets(): print("  page:", t.get("url"))
    sys.exit(0)

p = cdp.attach(pm)
p.enable()
time.sleep(3)
print("PM url:", p.eval("location.href"))
print("PM title:", p.eval("document.title"))
# wait for app to load
for _ in range(10):
    body=(p.eval("document.body.innerText") or "")
    if len(body) > 50: break
    time.sleep(2)
print("PM body[:1500]:", body[:1500])
# look for logged-in username display
who = p.eval("""(function(){
  var t=document.body.innerText;
  var m=t.match(/AGENT/i);
  // common AMD header user areas
  var cand=[];
  document.querySelectorAll('[class*=user],[id*=user],[class*=login],[class*=name],header,.navbar,.topbar').forEach(function(e){
    var s=(e.innerText||'').trim(); if(s && s.length<60) cand.push(s);
  });
  return JSON.stringify({hasAGENT: !!m, candidates: cand.slice(0,15)});
})()""")
print("WHO:", who)
p.screenshot("/tmp/amd-agent-dashboard.png")
print("DONE_PM")
p.close()
