import sqlite3, json
conn = sqlite3.connect("/opt/friend-cluster/data/friend-cluster-v1.db")
c = conn.cursor()
c.execute("SELECT id, name, resources_json FROM config_snapshots")
for snap_id, snap_name, rj in c.fetchall():
    if not rj:
        continue
    data = json.loads(rj)
    if isinstance(data, list):
        exts = [x for x in data if "extension" in str(x.get("kind","")).lower()]
        if exts:
            print(f"{snap_name} ({snap_id}): {len(exts)} extensions")
            for e in exts:
                rk = e.get("resource_key","")
                print(f"  kind={e.get('kind')} key={rk}")
        else:
            print(f"{snap_name} ({snap_id}): 0 extensions, {len(data)} resources")
c.execute("SELECT id, name, kind, signed FROM artifacts")
arts = c.fetchall()
print(f"\nartifacts ({len(arts)}):")
for a in arts:
    print(f"  id={a[0]} name={a[1]} kind={a[2]} signed={a[3]}")
conn.close()
