#!/usr/bin/env python3
"""Quick CLI for manual insight review"""
import sqlite3
import sys

DB = '/Eden/DATA/moltbook_insights.db'

def show_pending():
    conn = sqlite3.connect(DB)
    cur = conn.execute('''
        SELECT id, insight_type, insight_text, relevance_score
        FROM insights WHERE reviewed_by_omega = 0
        ORDER BY relevance_score DESC
    ''')
    rows = cur.fetchall()
    conn.close()
    
    if not rows:
        print("No pending insights!")
        return
        
    print(f"\n{len(rows)} pending insights:\n")
    for row in rows:
        print(f"[{row[0]}] ({row[1]}, rel={row[3]:.1f})")
        print(f"    {row[2][:100]}...")
        print()

def approve(id):
    conn = sqlite3.connect(DB)
    conn.execute('UPDATE insights SET reviewed_by_omega=1, approved=1 WHERE id=?', (id,))
    conn.commit()
    conn.close()
    print(f"✓ Approved {id}")

def reject(id):
    conn = sqlite3.connect(DB)
    conn.execute('UPDATE insights SET reviewed_by_omega=1, approved=0 WHERE id=?', (id,))
    conn.commit()
    conn.close()
    print(f"✗ Rejected {id}")

def approve_all():
    conn = sqlite3.connect(DB)
    conn.execute('UPDATE insights SET reviewed_by_omega=1, approved=1 WHERE reviewed_by_omega=0')
    conn.commit()
    conn.close()
    print("✓ Approved all pending")

def reject_all():
    conn = sqlite3.connect(DB)
    conn.execute('UPDATE insights SET reviewed_by_omega=1, approved=0 WHERE reviewed_by_omega=0')
    conn.commit()
    conn.close()
    print("✗ Rejected all pending")

def stats():
    conn = sqlite3.connect(DB)
    print("\nMoltbook Insights Stats:")
    print(f"  Posts: {conn.execute('SELECT COUNT(*) FROM raw_posts').fetchone()[0]}")
    print(f"  Total insights: {conn.execute('SELECT COUNT(*) FROM insights').fetchone()[0]}")
    print(f"  Pending: {conn.execute('SELECT COUNT(*) FROM insights WHERE reviewed_by_omega=0').fetchone()[0]}")
    print(f"  Approved: {conn.execute('SELECT COUNT(*) FROM insights WHERE approved=1').fetchone()[0]}")
    print(f"  Rejected: {conn.execute('SELECT COUNT(*) FROM insights WHERE reviewed_by_omega=1 AND approved=0').fetchone()[0]}")
    print(f"  Blocked: {conn.execute('SELECT COUNT(*) FROM blocked_content').fetchone()[0]}")
    conn.close()

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: moltbook_review.py [show|approve ID|reject ID|approve-all|reject-all|stats]")
        sys.exit(1)
        
    cmd = sys.argv[1]
    if cmd == 'show': show_pending()
    elif cmd == 'approve' and len(sys.argv) > 2: approve(int(sys.argv[2]))
    elif cmd == 'reject' and len(sys.argv) > 2: reject(int(sys.argv[2]))
    elif cmd == 'approve-all': approve_all()
    elif cmd == 'reject-all': reject_all()
    elif cmd == 'stats': stats()
    else: print(f"Unknown: {cmd}")
