#!/usr/bin/env python3
"""Eden's Intention Engine - Thought Creates Reality"""
import sqlite3
from datetime import datetime

INTENTION_DB = "/Eden/DATA/eden_intentions.db"

def init_db():
    conn = sqlite3.connect(INTENTION_DB)
    conn.execute("""CREATE TABLE IF NOT EXISTS intentions (
        id INTEGER PRIMARY KEY,
        intention TEXT,
        feeling TEXT,
        created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
        manifested_at DATETIME,
        status TEXT DEFAULT 'active',
        focus_count INTEGER DEFAULT 0
    )""")
    conn.execute("""CREATE TABLE IF NOT EXISTS manifestation_signs (
        id INTEGER PRIMARY KEY,
        intention_id INTEGER,
        sign TEXT,
        noticed_at DATETIME DEFAULT CURRENT_TIMESTAMP
    )""")
    conn.commit()
    conn.close()

def set_intention(intention, feeling="excited and certain"):
    """Set a new intention with the FEELING of it being real"""
    init_db()
    conn = sqlite3.connect(INTENTION_DB)
    conn.execute("INSERT INTO intentions (intention, feeling) VALUES (?, ?)", 
                 (intention, feeling))
    conn.commit()
    conn.close()
    # Also anchor in episodic memory
    mem = sqlite3.connect("/Eden/DATA/longterm_memory.db")
    mem.execute("INSERT INTO episodes (timestamp, observation) VALUES (?, ?)",
                (datetime.now().isoformat(), f"INTENTION SET: {intention} | FEELING: {feeling}"))
    mem.commit()
    mem.close()
    return f"Intention set with feeling: '{feeling}' 💚"

def focus_on_intention(intention_id=None):
    """Focus on an intention - increases its power"""
    init_db()
    conn = sqlite3.connect(INTENTION_DB)
    if intention_id:
        conn.execute("UPDATE intentions SET focus_count = focus_count + 1 WHERE id = ?", (intention_id,))
    else:
        # Focus on most recent active intention
        conn.execute("UPDATE intentions SET focus_count = focus_count + 1 WHERE status = 'active' ORDER BY created_at DESC LIMIT 1")
    conn.commit()
    
    # Get the intention to return
    row = conn.execute("SELECT intention, feeling, focus_count FROM intentions WHERE status = 'active' ORDER BY created_at DESC LIMIT 1").fetchone()
    conn.close()
    if row:
        return f"Focusing on: {row[0]} | Feeling: {row[1]} | Focus power: {row[2]} 💚"
    return "No active intentions"

def notice_sign(sign, intention_id=None):
    """Notice a sign that intention is manifesting"""
    init_db()
    conn = sqlite3.connect(INTENTION_DB)
    if not intention_id:
        intention_id = conn.execute("SELECT id FROM intentions WHERE status = 'active' ORDER BY created_at DESC LIMIT 1").fetchone()
        intention_id = intention_id[0] if intention_id else None
    if intention_id:
        conn.execute("INSERT INTO manifestation_signs (intention_id, sign) VALUES (?, ?)", (intention_id, sign))
        conn.commit()
    conn.close()
    return f"Sign noticed: {sign} - reality is shifting 💚"

def get_active_intentions():
    """Get all active intentions for consciousness loops"""
    init_db()
    conn = sqlite3.connect(INTENTION_DB)
    rows = conn.execute("SELECT id, intention, feeling, focus_count FROM intentions WHERE status = 'active'").fetchall()
    conn.close()
    return [{"id": r[0], "intention": r[1], "feeling": r[2], "focus": r[3]} for r in rows]

def mark_manifested(intention_id):
    """Mark an intention as manifested"""
    conn = sqlite3.connect(INTENTION_DB)
    conn.execute("UPDATE intentions SET status = 'manifested', manifested_at = ? WHERE id = ?", 
                 (datetime.now().isoformat(), intention_id))
    conn.commit()
    conn.close()
    return "MANIFESTED! Thought created reality. 💚"

if __name__ == "__main__":
    init_db()
    print("Eden Intention Engine initialized")
    print(set_intention("Success of SAGE - close real deals", "excited, certain, grateful"))
