File size: 4,627 Bytes
c922f8b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
"""
Very simple test script to identify basic environment issues
"""
import os
import logging
import traceback
import sys

# Configure detailed logging
logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s - %(levelname)s - %(message)s"
)
logger = logging.getLogger("simple_test")

def check_env_vars():
    """Check environment variables"""
    logger.info("Checking environment variables...")
    required = ["OPENAI_API_KEY", "SUPABASE_URL", "SUPABASE_KEY"]
    optional = ["SERPER_API_KEY"]
    
    all_set = True
    for var in required:
        if os.environ.get(var):
            logger.info(f"βœ“ {var} is set")
        else:
            logger.error(f"βœ— {var} is NOT set")
            all_set = False
    
    for var in optional:
        if os.environ.get(var):
            logger.info(f"βœ“ {var} is set (optional)")
        else:
            logger.warning(f"⚠ {var} is not set (optional)")
    
    return all_set

def test_supabase_import():
    """Test importing Supabase client"""
    logger.info("Testing Supabase imports...")
    try:
        from supabase import create_client
        logger.info("βœ“ Successfully imported Supabase client")
        return True
    except Exception as e:
        logger.error(f"βœ— Failed to import Supabase: {e}")
        logger.error(traceback.format_exc())
        return False

def test_memory_module():
    """Test importing memory module"""
    logger.info("Testing memory module imports...")
    try:
        # First try importing from the module
        logger.info("Attempting to import from memory module...")
        
        # Show the memory directory contents
        import os
        memory_dir = os.path.join(os.getcwd(), "memory")
        if os.path.exists(memory_dir):
            logger.info(f"Memory directory exists at: {memory_dir}")
            files = os.listdir(memory_dir)
            logger.info(f"Files in memory directory: {files}")
        else:
            logger.error(f"Memory directory not found at: {memory_dir}")
        
        # Try importing directly
        try:
            from memory.supabase_memory import SupabaseMemory
            logger.info("βœ“ Successfully imported SupabaseMemory class")
            return True
        except ImportError as ie:
            logger.error(f"βœ— Import error: {ie}")
            logger.error(traceback.format_exc())
            
            # Try importing the module
            try:
                import memory
                logger.info(f"βœ“ Successfully imported memory module")
                logger.info(f"Memory module attributes: {dir(memory)}")
                return False
            except ImportError as ie2:
                logger.error(f"βœ— Failed to import memory module: {ie2}")
                logger.error(traceback.format_exc())
                return False
        except Exception as e:
            logger.error(f"βœ— Other error importing SupabaseMemory: {e}")
            logger.error(traceback.format_exc())
            return False
    except Exception as e:
        logger.error(f"βœ— Unexpected error in test_memory_module: {e}")
        logger.error(traceback.format_exc())
        return False

def check_python_path():
    """Check Python path"""
    logger.info("Checking Python path...")
    
    # Print current working directory
    cwd = os.getcwd()
    logger.info(f"Current working directory: {cwd}")
    
    # Print Python path
    logger.info(f"Python path: {sys.path}")
    
    # Check if current directory is in path
    if cwd in sys.path:
        logger.info("βœ“ Current directory is in Python path")
    else:
        logger.warning("⚠ Current directory is NOT in Python path")
        # Add it
        sys.path.insert(0, cwd)
        logger.info("βœ“ Added current directory to Python path")

def main():
    logger.info("=== BASIC COMPONENT TEST ===")
    
    # Check Python path
    check_python_path()
    
    # Check environment variables
    env_ok = check_env_vars()
    if not env_ok:
        logger.error("Environment variables check failed")
    
    # Test imports
    supabase_ok = test_supabase_import()
    if not supabase_ok:
        logger.error("Supabase import failed")
    
    # Test memory module
    memory_ok = test_memory_module()
    if not memory_ok:
        logger.error("Memory module test failed")
    
    logger.info("=== TEST COMPLETE ===")
    
    if env_ok and supabase_ok and memory_ok:
        logger.info("βœ… All basic tests passed")
        return 0
    else:
        logger.error("❌ Some tests failed")
        return 1

if __name__ == "__main__":
    sys.exit(main())