class PluginManager:
def register(self, plugin: Plugin) -> bool:
"""Register a plugin."""
def unregister(self, name: str) -> bool:
"""Unregister a plugin by name."""
def enable(self, name: str) -> bool:
"""Enable a disabled plugin."""
def disable(self, name: str) -> bool:
"""Disable a plugin without unregistering."""
def load_from_directory(self, directory: str) -> int:
"""Load plugins from a directory. Returns count loaded."""
def execute_hook(self, hook: PluginHook, *args, **kwargs) -> Any:
"""Execute a hook across all enabled plugins."""
def get_all_tools(self) -> List[Dict]:
"""Get tools from all enabled plugins."""