Raxol.Plugins.PluginSystemV2 (Raxol v2.0.1)
View SourcePlugin System v2.0 - Advanced plugin management with enhanced features.
Key Features:
- Hot-reload with dependency resolution
- Version-aware dependency management
- Sandboxed execution for untrusted plugins
- Plugin marketplace integration
- Advanced lifecycle management
- Performance monitoring and isolation
Summary
Functions
Returns a specification to start this module under a supervisor.
Creates a sandboxed environment for untrusted plugins.
Gets plugin status and performance metrics.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.
Hot-reloads a plugin while preserving state.
Installs a plugin from the marketplace or local source.
Lists available plugins from marketplace.
Loads a plugin with dependency resolution.
Manages plugin dependencies with version resolution.
Types
@type dependency_spec() :: {plugin_id(), version_requirement()}
@type plugin_id() :: String.t()
@type plugin_manifest() :: %{ name: String.t(), version: version(), description: String.t(), author: String.t(), license: String.t(), repository: String.t(), api_version: version(), dependencies: [dependency_spec()], dev_dependencies: [dependency_spec()], capabilities: [atom()], sandbox_required: boolean(), trust_level: :trusted | :sandboxed | :untrusted, entry_point: atom(), hooks: [atom()], metadata: map() }
@type plugin_state() :: %{ manifest: plugin_manifest(), status: :loaded | :starting | :running | :stopping | :stopped | :failed, module: atom(), process: pid() | nil, supervisor: pid() | nil, dependencies: [plugin_id()], dependents: [plugin_id()], last_reload: DateTime.t(), sandbox_context: map() | nil, performance_metrics: map() }
@type version() :: String.t()
@type version_requirement() :: String.t()
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Creates a sandboxed environment for untrusted plugins.
Gets plugin status and performance metrics.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.
Hot-reloads a plugin while preserving state.
Installs a plugin from the marketplace or local source.
Lists available plugins from marketplace.
Loads a plugin with dependency resolution.
Manages plugin dependencies with version resolution.