#!/usr/bin/env python3
"""Cari jejak akun perakjaya10@gmail.com dan kredensial OAuth yang sudah tersimpan."""
import glob, json, os, re

ROOTS = ["/home/mantapman/.hermes/profiles/atun/workspace", "/home/mantapman/.hermes/profiles/atun",
         "/home/mantapman/.hermes", "/home/mantapman/.config"]

print("=== 1. berkas yang menyebut perakjaya10 ===")
temuan = []
for root in ROOTS:
    for pola in ("*.py", "*.json", "*.md", "*.env", "*.txt", "*.yaml"):
        for f in glob.glob(os.path.join(root, "**", pola), recursive=True):
            if any(skip in f for skip in ("/cache/", "/venv/", "node_modules", "/logs/")):
                continue
            try:
                isi = open(f, errors="replace").read()
            except Exception:
                continue
            if "perakjaya10" in isi:
                konteks = [l.strip()[:120] for l in isi.splitlines() if "perakjaya10" in l][:3]
                temuan.append((f, konteks))
for f, k in temuan[:12]:
    print(f"   {f}")
    for l in k:
        print(f"      {l}")
print(f"   total: {len(temuan)} berkas")

print("\n=== 2. kredensial OAuth / token yang tersimpan (nama berkas saja) ===")
POLA_NAMA = ("token", "credential", "oauth", "client_secret", "gmail", "authorized")
for root in ("/home/mantapman/.hermes", "/home/mantapman/.hermes/profiles/atun", "/home/mantapman/.config"):
    for f in glob.glob(os.path.join(root, "**", "*"), recursive=True):
        if os.path.isfile(f) and any(p in os.path.basename(f).lower() for p in POLA_NAMA):
            try:
                isi = open(f, errors="replace").read()[:300]
                jenis = []
                if '"installed"' in isi or '"web"' in isi:
                    jenis.append("client_secret (OAuth client)")
                if '"refresh_token"' in isi:
                    jenis.append("refresh_token")
                if '"private_key"' in isi:
                    jenis.append("service_account")
                print(f"   {f[:96]:<98} {'| ' + ', '.join(jenis) if jenis else ''}")
            except Exception:
                pass

print("\n=== 3. apakah Gmail API pernah dipakai (skill email / himalaya)? ===")
for f in glob.glob("/home/mantapman/.hermes/profiles/atun/**/*.py", recursive=True):
    try:
        isi = open(f, errors="replace").read()
    except Exception:
        continue
    if re.search(r"gmail|users\.messages|imap\.gmail", isi, re.I):
        print(f"   {os.path.basename(f)}")
