Autonomous-AI / plugin_manager.py
Leonydis137's picture
Upload plugin_manager.py
feb01fa verified
raw
history blame
596 Bytes
class PluginManager:
def __init__(self):
self.tools = {}
def register(self, name, func):
if not callable(func):
raise ValueError(f"Plugin '{name}' is not callable.")
self.tools[name] = func
def list_plugins(self):
return list(self.tools.keys())
def call(self, name, *args, **kwargs):
if name not in self.tools:
return f"[PluginManager] Tool '{name}' not found."
try:
return self.tools[name](*args, **kwargs)
except Exception as e:
return f"[PluginManager Error] {str(e)}"