UNPKG

@just-every/ensemble

Version:

LLM provider abstraction layer with unified streaming interface

59 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEventController = getEventController; exports.setEventHandler = setEventHandler; exports.emitEvent = emitEvent; exports.hasEventHandler = hasEventHandler; const agent_js_1 = require("./agent.cjs"); class EventControllerImpl { eventHandler = null; setEventHandler(handler) { this.eventHandler = handler; if (handler) { console.log('[EventController] Event handler set'); } else { console.log('[EventController] Event handler cleared'); } } getEventHandler() { return this.eventHandler; } hasEventHandler() { return this.eventHandler !== null; } async emit(event) { if (this.eventHandler) { try { await Promise.resolve(this.eventHandler(event)); } catch (error) { console.error('[EventController] Error in event handler:', error); } } } } let eventControllerInstance = null; function getEventController() { if (!eventControllerInstance) { eventControllerInstance = new EventControllerImpl(); } return eventControllerInstance; } function setEventHandler(handler) { getEventController().setEventHandler(handler); } async function emitEvent(event, agent, model) { let eventToEmit = event; if (agent) { eventToEmit = { ...event, agent: (0, agent_js_1.exportAgent)(agent, model), }; } return getEventController().emit(eventToEmit); } function hasEventHandler() { return getEventController().hasEventHandler(); } //# sourceMappingURL=event_controller.js.map