/** * Plugin Manager * Verwaltet das automatische Laden und Initialisieren von Plugins */ const plugins = new Map() export function registerPlugin(name, plugin) { plugins.set(name, plugin) console.log(`✓ Plugin registered: ${name}`) } export function getPlugin(name) { return plugins.get(name) } export function getAllPlugins() { return Array.from(plugins.values()) } export async function initializePlugins() { console.log('🔌 Initializing plugin system...') // Globale Plugin API bereitstellen window.PluginAPI = { register: registerPlugin, get: getPlugin, getAll: getAllPlugins, // Event Emitter für Plugins on: (event, callback) => { window.addEventListener(event, callback) }, off: (event, callback) => { window.removeEventListener(event, callback) }, emit: (event, data) => { window.dispatchEvent(new CustomEvent(event, { detail: data })) }, } console.log('✓ Plugin API ready') } // Plugin Hook System export const PluginHooks = { PLUGIN_INIT: 'onPluginInit', MESSAGE_SENT: 'onMessageSent', RESPONSE_RECEIVED: 'onResponseReceived', ERROR: 'onError', }