Interface: IPluginManager
Defined in: src/types/interfaces/plugin.interface.ts:484
Plugin manager interface for lifecycle management.
Remarks
Manages plugin loading, initialization, and shutdown with proper dependency ordering and error handling.
Example
const manager = container.resolve<IPluginManager>('IPluginManager');
// Load a plugin
await manager.loadPlugin(manifest);
// Get all loaded plugins
const plugins = manager.getAllPlugins();
// Shutdown all plugins
await manager.shutdownAll();
Since
0.1.0
Methods
getAllPlugins()
getAllPlugins(): readonly
IChivePlugin[]
Defined in: src/types/interfaces/plugin.interface.ts:514
Gets all loaded plugins.
Returns
readonly IChivePlugin[]
Array of all loaded plugin instances
getPlugin()
getPlugin(
pluginId):undefined|IChivePlugin
Defined in: src/types/interfaces/plugin.interface.ts:507
Gets a loaded plugin by ID.
Parameters
pluginId
string
ID of the plugin to get
Returns
undefined | IChivePlugin
Plugin instance or undefined if not loaded
getPluginState()
getPluginState(
pluginId):undefined|PluginState
Defined in: src/types/interfaces/plugin.interface.ts:522
Gets the current state of a plugin.
Parameters
pluginId
string
ID of the plugin
Returns
undefined | PluginState
Plugin state or undefined if not loaded
loadPlugin()
loadPlugin(
manifest):Promise<void>
Defined in: src/types/interfaces/plugin.interface.ts:491
Loads and initializes a plugin from its manifest.
Parameters
manifest
Plugin manifest
Returns
Promise<void>
Throws
If loading or initialization fails
loadPluginsFromDirectory()
loadPluginsFromDirectory(
path):Promise<void>
Defined in: src/types/interfaces/plugin.interface.ts:537
Loads all plugins from a directory.
Parameters
path
string
Path to plugin directory
Returns
Promise<void>
reloadPlugin()
reloadPlugin(
pluginId):Promise<void>
Defined in: src/types/interfaces/plugin.interface.ts:530
Reloads a plugin (unload then load).
Parameters
pluginId
string
ID of the plugin to reload
Returns
Promise<void>
Throws
If reload fails
shutdownAll()
shutdownAll():
Promise<void>
Defined in: src/types/interfaces/plugin.interface.ts:542
Shuts down all loaded plugins.
Returns
Promise<void>
unloadPlugin()
unloadPlugin(
pluginId):Promise<void>
Defined in: src/types/interfaces/plugin.interface.ts:499
Unloads a plugin, calling its shutdown method.
Parameters
pluginId
string
ID of the plugin to unload
Returns
Promise<void>
Throws
If plugin not found or shutdown fails