""" 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())