UNPKG

@vooodooo/magic

Version:

Vooodooo - AI orchestration platform

84 lines 3.55 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPluginSystem = createPluginSystem; // Create consolidated function to initialize the plugin system const extension_registry_js_1 = require("./extension-registry.js"); const plugin_discovery_js_1 = require("./plugin-discovery.js"); const plugin_loader_js_1 = require("./plugin-loader.js"); const plugin_manager_js_1 = require("./plugin-manager.js"); const plugin_validator_js_1 = require("./plugin-validator.js"); // Export plugin manager __exportStar(require("./plugin-manager.js"), exports); // Export plugin loader __exportStar(require("./plugin-loader.js"), exports); // Export new components __exportStar(require("./extension-registry.js"), exports); __exportStar(require("./plugin-discovery.js"), exports); __exportStar(require("./plugin-validator.js"), exports); /** * Create a complete plugin system with all components */ function createPluginSystem(options = {}) { const platformVersion = options.platformVersion || '0.1.0'; // Create extension registry const extensionRegistry = (0, extension_registry_js_1.createExtensionRegistry)(); // Create plugin manager const pluginManager = (0, plugin_manager_js_1.createPluginManager)(); // Create plugin discovery const pluginDiscovery = (0, plugin_discovery_js_1.createPluginDiscovery)({ localPluginsDir: options.pluginsDir, ...options.discovery, }); // Create plugin validator const pluginValidator = (0, plugin_validator_js_1.createPluginValidator)({ platformVersion, ...options.validation, }); // Create plugin loader const pluginLoader = (0, plugin_loader_js_1.createPluginLoader)(pluginManager, options.pluginsDir); return { extensionRegistry, pluginManager, pluginDiscovery, pluginValidator, pluginLoader, /** * Convenience method to discover, validate, and load all available plugins */ async loadAllPlugins() { // Discover plugins const plugins = await pluginDiscovery.discoverPlugins(); // Validate and load valid plugins for (const plugin of plugins) { const validationReport = pluginValidator.validatePlugin(plugin); if (validationReport.valid) { try { await pluginLoader.loadPlugin(plugin.path); } catch (error) { console.error(`Error loading plugin ${plugin.id}:`, error); } } else { console.warn(`Plugin ${plugin.id} failed validation:`, validationReport.errors); } } return plugins.length; }, }; } //# sourceMappingURL=index.js.map