#!/usr/bin/env python3
"""Ukur apa yang paling banyak menghabiskan token: ukuran prompt job cron, berkas konteks, dan skill."""
import json, os, glob

PROFIL = "/home/mantapman/.hermes/profiles/atun"
WS = f"{PROFIL}/workspace"

d = json.load(open(f"{PROFIL}/cron/jobs.json"))
jobs = d if isinstance(d, list) else d.get("jobs", d)
if isinstance(jobs, dict):
    jobs = list(jobs.values())

print("=== job yang menjalankan AI (bukan skrip) ===")
total = 0
for j in jobs:
    if not j.get("enabled") or j.get("no_agent"):
        continue
    p = str(j.get("prompt") or "")
    if not p.strip():
        continue
    total += len(p)
    print(f"   {len(p):>7} char · {str(j.get('name'))[:34]:<36} jadwal={(j.get('schedule') or {}).get('expr')}")
print(f"   total prompt: {total} char (±{total // 4} token sekali jalan, semua job)")

print("\n=== berkas yang selalu ikut terbaca tiap sesi ===")
for nama, jalur in (("AGENTS.md", f"{WS}/AGENTS.md"), ("SOUL.md", f"{WS}/SOUL.md"),
                    ("USER.md", f"{WS}/USER.md"), ("MEMORY.md", f"{WS}/MEMORY.md")):
    if os.path.exists(jalur):
        print(f"   {os.path.getsize(jalur):>7} byte · {nama}")

print("\n=== skill terbesar di folder ===")
ukuran = []
for f in glob.glob("/home/mantapman/.hermes/skills/**/SKILL.md", recursive=True):
    ukuran.append((os.path.getsize(f), f.replace("/home/mantapman/.hermes/skills/", "")))
ukuran.sort(reverse=True)
print(f"   jumlah skill: {len(ukuran)} · total {sum(u for u, _ in ukuran) // 1024} KB")
for u, f in ukuran[:6]:
    print(f"   {u:>7} byte · {f}")
