Plugin Management
Via Core
Section titled “Via Core”Core class provides convenient plugin management methods:
// Install pluginawait Core.installPlugin(myPlugin);
// Uninstall pluginawait Core.uninstallPlugin('plugin-name');
// Check if plugin is installedif (Core.isPluginInstalled('plugin-name')) { // ...}
// Get plugin instanceconst plugin = Core.getPlugin('plugin-name');Via PluginManager
Section titled “Via PluginManager”You can also use the PluginManager service directly:
const pluginManager = Core.services.resolve(PluginManager);
// Get all pluginsconst allPlugins = pluginManager.getAllPlugins();console.log(`Total plugins: ${allPlugins.length}`);
// Get plugin metadataconst metadata = pluginManager.getMetadata('my-plugin');if (metadata) { console.log(`State: ${metadata.state}`); console.log(`Installed at: ${new Date(metadata.installedAt!)}`);}
// Get all plugin metadataconst allMetadata = pluginManager.getAllMetadata();for (const meta of allMetadata) { console.log(`${meta.name} v${meta.version} - ${meta.state}`);}API Reference
Section titled “API Reference”Core Static Methods
Section titled “Core Static Methods”| Method | Description |
|---|---|
installPlugin(plugin) | Install plugin |
uninstallPlugin(name) | Uninstall plugin |
isPluginInstalled(name) | Check if installed |
getPlugin(name) | Get plugin instance |
PluginManager Methods
Section titled “PluginManager Methods”| Method | Description |
|---|---|
getAllPlugins() | Get all plugins |
getMetadata(name) | Get plugin metadata |
getAllMetadata() | Get all plugin metadata |
Plugin States
Section titled “Plugin States”enum PluginState { Pending = 'pending', Installing = 'installing', Installed = 'installed', Uninstalling = 'uninstalling', Failed = 'failed'}Metadata Information
Section titled “Metadata Information”interface PluginMetadata { name: string; version: string; state: PluginState; dependencies?: string[]; installedAt?: number; error?: Error;}