facezk-core
Version:
ZKP-AI Proof of Humanity: Live Selfie Check with Biometric Template Extraction and Fuzzy Hashing
83 lines • 2.19 kB
TypeScript
/**
* Plugin Manager for Modular FaceZK Architecture
* Handles plugin lifecycle, dependencies, and communication
*/
import type { IPlugin, IPluginRegistry, IPluginManager, PluginState, PluginInfo, PluginConfig } from './interfaces';
export declare class PluginManager implements IPluginManager {
readonly registry: IPluginRegistry;
private pluginStates;
private pluginDependencies;
private pluginConfigs;
private initializationQueue;
private isInitializing;
constructor();
/**
* Load and initialize a plugin
*/
loadPlugin(pluginId: string, config: any): Promise<void>;
/**
* Unload and dispose a plugin
*/
unloadPlugin(pluginId: string): Promise<void>;
/**
* Reload a plugin
*/
reloadPlugin(pluginId: string): Promise<void>;
/**
* Get plugin state
*/
getPluginState(pluginId: string): PluginState;
/**
* Load multiple plugins with dependency resolution
*/
loadPlugins(pluginConfigs: PluginConfig[]): Promise<void>;
/**
* Get all plugins of a specific type
*/
getPluginsByType<T extends IPlugin>(type: string): T[];
/**
* Check if all required plugins are ready
*/
arePluginsReady(pluginIds: string[]): boolean;
/**
* Get plugin information
*/
getPluginInfo(pluginId: string): PluginInfo | null;
/**
* List all plugins with their states
*/
listPlugins(): PluginInfo[];
/**
* Validate plugin configurations
*/
private validatePluginConfigs;
/**
* Build dependency graph
*/
private buildDependencyGraph;
/**
* Check plugin dependencies
*/
private checkDependencies;
/**
* Get plugins that depend on a specific plugin
*/
private getDependents;
/**
* Detect circular dependencies
*/
private detectCircularDependencies;
/**
* Find missing dependencies
*/
private findMissingDependencies;
/**
* Topological sort for initialization order
*/
private topologicalSort;
/**
* Get plugin type
*/
private getPluginType;
}
//# sourceMappingURL=plugin-manager.d.ts.map