export default class PluginRegistry { constructor() { this.plugins = new Map() } register(plugin) { if (!plugin.id) { throw new Error('Plugin must have an id') } this.plugins.set(plugin.id, plugin) } get(id) { return this.plugins.get(id) } list() { return Array.from(this.plugins.values()).map((plugin) => ({ id: plugin.id, name: plugin.name, description: plugin.description, configSchema: plugin.configSchema, })) } }