#!/usr/bin/env python3
"""Riset Threads tahap 4: pelajari hasil batch reply-driven Agustus + temukan endpoint komentar/insights."""
import glob, json, os, re, sys

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from repliz_client import get_client, ACC          # noqa: E402
client = get_client()

print("=== A. endpoint yang dipakai skrip analisis (cari di kode) ===")
for f in glob.glob(f"{WS}/*.py"):
    isi = open(f, errors="replace").read()
    jalur = set(re.findall(r'["\'](/public/[a-zA-Z0-9/\-_]+)', isi))
    if jalur:
        print(f"   {os.path.basename(f)[:44]:<46} {sorted(jalur)}")
    if len(jalur) > 0 and "/public/comment" in " ".join(jalur):
        pass

print("\n=== B. pesan lengkap dari endpoint insights ===")
for jalur in ("/public/account/insights?accountId=" + ACC.UKY_THREADS,
              "/public/account/insights?accountId=" + ACC.UKY_THREADS + "&period=30",
              "/public/account/insights?accountId=" + ACC.UKY_THREADS + "&type=threads"):
    try:
        print(f"   {jalur[-40:]:<42} → {json.dumps(client.get(jalur))[:150]}")
    except Exception as e:
        print(f"   {jalur[-40:]:<42} → {str(e)[:150]}")

print("\n=== C. hasil batch reply-driven Agustus (cari laporan) ===")
PAT = re.compile(r"reply.?driven|replydriven|mention se.?niche", re.I)
for pola in (f"{WS}/drafts/*.md", f"{WS}/catatan/*.md", f"{WS}/memory/*.md", f"{WS}/*.json"):
    for f in sorted(glob.glob(pola)):
        try:
            isi = open(f, errors="replace").read()
        except Exception:
            continue
        if PAT.search(isi):
            print(f"\n   --- {f.replace(WS+'/', '')} ({len(isi)} karakter)")
            for m in PAT.finditer(isi):
                awal = max(0, m.start() - 200)
                print("      …" + re.sub(r"\s+", " ", isi[awal:m.end() + 320])[:420])
                break
