AI_Chatbot / src /utils /pluginManager.js
LejobuildYT's picture
Upload 14 files
ce72224 verified
/**
* 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',
}