Skip to main content

Interface: IPluginManager

Defined in: src/types/interfaces/plugin.interface.ts:498

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:528

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:521

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:536

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:505

Loads and initializes a plugin from its manifest.

Parameters​

manifest​

IPluginManifest

Plugin manifest

Returns​

Promise<void>

Throws​

If loading or initialization fails


loadPluginsFromDirectory()​

loadPluginsFromDirectory(path): Promise<void>

Defined in: src/types/interfaces/plugin.interface.ts:551

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:544

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:556

Shuts down all loaded plugins.

Returns​

Promise<void>


unloadPlugin()​

unloadPlugin(pluginId): Promise<void>

Defined in: src/types/interfaces/plugin.interface.ts:513

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