UNPKG

@ace-sdk/cli

Version:

ACE CLI - Command-line tool for intelligent pattern learning and playbook management

84 lines 2.1 kB
/** * Plugin loader and management service */ import { Plugin, PluginManifest, PluginRegistry, PluginContext } from '../types/plugin.js'; import { Logger } from './logger.js'; /** * Plugin loader - discovers, loads, and manages ACE CLI plugins * * Plugins are stored in ~/.ace/plugins/ * Plugin registry is stored in ~/.ace/plugins.json */ export declare class PluginLoader { private pluginsDir; private registryFile; private registry; private loadedPlugins; private logger; constructor(logger: Logger); /** * Load plugin registry from disk */ private loadRegistry; /** * Save plugin registry to disk */ private saveRegistry; /** * Get plugin registry */ getRegistry(): PluginRegistry; /** * Discover all plugins in plugins directory */ discoverPlugins(): PluginManifest[]; /** * Load plugin manifest from directory */ private loadManifest; /** * Load and activate a plugin */ loadPlugin(name: string, context: PluginContext): Promise<Plugin>; /** * Check if plugin is trusted */ isTrusted(manifest: PluginManifest): boolean; /** * Check if plugin is enabled */ isEnabled(name: string): boolean; /** * Trust a plugin */ trustPlugin(name: string, version: string): void; /** * Untrust a plugin */ untrustPlugin(name: string): void; /** * Enable a plugin */ enablePlugin(name: string): void; /** * Disable a plugin */ disablePlugin(name: string): void; /** * Get loaded plugin */ getPlugin(name: string): Plugin | undefined; /** * List all loaded plugins */ listLoadedPlugins(): Plugin[]; /** * Execute a plugin command */ executePluginCommand(pluginName: string, commandName: string, args: any[], context: PluginContext): Promise<any>; } /** * Get the global plugin loader instance */ export declare function getPluginLoader(logger: Logger): PluginLoader; //# sourceMappingURL=plugin-loader.d.ts.map