Source code for mindroot.lib.plugins.mapping

import os
import json
from .manifest import load_plugin_manifest

[docs] async def get_command_plugin_mapping(context=None): """ Get a mapping of commands to the plugins that provide them. Returns: dict: Mapping of command names to lists of plugin names """ mapping = {} manifest = load_plugin_manifest() for category in manifest['plugins']: for plugin_name, plugin_info in manifest['plugins'][category].items(): for command in plugin_info.get('commands', []): if command not in mapping: mapping[command] = [] mapping[command].append({ 'name': plugin_name, 'category': category, 'enabled': plugin_info.get('enabled', False) }) return mapping