import os
import importlib.util

class EdenPluginLoader:
    def __init__(self, plugin_dir="/Eden/CORE/plugins"):
        self.plugin_dir = plugin_dir
        self.plugins = {}
        if not os.path.exists(self.plugin_dir):
            os.makedirs(self.plugin_dir)

    def load_plugins(self):
        """Discovers and loads all .py atoms in the plugin directory."""
        for filename in os.listdir(self.plugin_dir):
            if filename.endswith(".py") and filename != "__init__.py":
                plugin_name = filename[:-3]
                path = os.path.join(self.plugin_dir, filename)
                spec = importlib.util.spec_from_file_location(plugin_name, path)
                module = importlib.util.module_from_spec(spec)
                spec.loader.exec_module(module)
                self.plugins[plugin_name] = module
        return self.plugins

eden_plugin_loader = EdenPluginLoader()
