Raxol.Core.Runtime.Plugins.Discovery (Raxol v2.0.1)

View Source

Handles plugin discovery and initialization. This module is responsible for:

  • Discovering available plugins in configured directories
  • Initializing the plugin system
  • Managing plugin metadata and paths
  • Handling plugin dependencies

Summary

Functions

Discovers plugins in the given state (all plugin_dirs and plugins_dir).

Discovers plugins in a specific directory.

Gets a specific plugin by ID.

Initializes the plugin discovery system.

Initializes a single plugin.

Lists all discovered plugins in load order as {id, metadata}.

Loads a plugin by ID.

Loads a plugin by module.

Functions

cleanup_plugin(plugin_id, metadata)

Cleans up a plugin.

disable_plugin(plugin_id, state)

Disables a plugin.

discover_plugins(state)

Discovers plugins in the given state (all plugin_dirs and plugins_dir).

discover_plugins_in_dir(dir, state)

Discovers plugins in a specific directory.

enable_plugin(plugin_id, state)

Enables a plugin.

get_plugin(plugin_id, state)

Gets a specific plugin by ID.

handle_event(event, plugins, metadata, plugin_states, load_order, command_registry_table, plugin_config)

Handles an event.

initialize(state)

Initializes the plugin discovery system.

initialize_plugin(plugin_id, state)

Initializes a single plugin.

initialize_plugins(plugins, metadata, plugin_config, plugin_states, load_order, command_registry_table, config)

Initializes multiple plugins.

list_plugins(state)

Lists all discovered plugins in load order as {id, metadata}.

load_plugin(plugin_id, state)

Loads a plugin by ID.

load_plugin(plugin_id, config, plugins, metadata, plugin_states, load_order, command_registry_table, plugin_config)

Loads a plugin by ID with full configuration.

load_plugin_by_module(module, state)

Loads a plugin by module.

load_plugin_by_module(module, config, plugins, metadata, plugin_states, load_order, command_registry_table, plugin_config)

Loads a plugin by module with full configuration.

reload_plugin(plugin_id, state)

Reloads a plugin.

reload_plugin_from_disk(plugin_id, path, plugins, metadata, plugin_states, load_order, command_registry_table, plugin_config)

Reloads a plugin from disk.

unload_plugin(plugin_id, plugins, metadata, plugin_states, command_registry_table, plugin_config)

Unloads a plugin.