import json,sys,subprocess,os
q=sys.argv[1]
env=dict(os.environ); env["SOCIAL_AUTOPOSTER_LINKEDIN_SEARCH"]="1"
p=subprocess.run(["/opt/homebrew/bin/python3.11","scripts/discover_linkedin_candidates.py","content",q],capture_output=True,text=True,env=env)
out=p.stdout
i=out.find("{")
try: d=json.loads(out[i:])
except Exception:
    print(json.dumps({"query":q,"ok":False,"error":"parse_fail","tail":out[-300:]})); sys.exit()
if not d.get("ok"):
    print(json.dumps({"query":q,"ok":False,"error":d.get("error"),"result_count":0})); sys.exit()
rows=[]
for r in d.get("results",[])[:6]:
    rows.append({"an":r.get("author_name"),"hl":(r.get("author_headline") or "")[:90],"pu":r.get("author_profile_url"),"aid":r.get("activity_id"),"ah":r.get("age_hours"),"rx":r.get("reactions"),"cm":r.get("comments"),"rp":r.get("reposts"),"vs":r.get("velocity_score"),"tx":(r.get("post_text") or "")[:260]})
print(json.dumps({"query":q,"ok":True,"result_count":d.get("result_count"),"top":rows},ensure_ascii=False))
