UNPKG

@just-every/ensemble

Version:

LLM provider abstraction layer with unified streaming interface

74 lines 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setEnsembleLogger = setEnsembleLogger; exports.addEnsembleLogger = addEnsembleLogger; exports.removeEnsembleLogger = removeEnsembleLogger; exports.getEnsembleLogger = getEnsembleLogger; exports.getAllEnsembleLoggers = getAllEnsembleLoggers; exports.log_llm_request = log_llm_request; exports.log_llm_response = log_llm_response; exports.log_llm_error = log_llm_error; let globalLoggers = []; function setEnsembleLogger(logger) { if (logger === null) { globalLoggers = []; } else { if (!globalLoggers.includes(logger)) { globalLoggers.push(logger); } } } function addEnsembleLogger(logger) { if (!globalLoggers.includes(logger)) { globalLoggers.push(logger); } } function removeEnsembleLogger(logger) { const index = globalLoggers.indexOf(logger); if (index > -1) { globalLoggers.splice(index, 1); } } function getEnsembleLogger() { return globalLoggers[0] || null; } function getAllEnsembleLoggers() { return [...globalLoggers]; } function log_llm_request(agentId, providerName, model, requestData, timestamp) { const requestIds = []; for (const logger of globalLoggers) { try { const requestId = logger.log_llm_request(agentId, providerName, model, requestData, timestamp); if (requestId) { requestIds.push(requestId); } } catch (error) { console.error('Error in logger.log_llm_request:', error); } } return requestIds[0] || ''; } function log_llm_response(requestId, responseData, timestamp) { for (const logger of globalLoggers) { try { logger.log_llm_response(requestId, responseData, timestamp); } catch (error) { console.error('Error in logger.log_llm_response:', error); } } } function log_llm_error(requestId, errorData, timestamp) { for (const logger of globalLoggers) { try { logger.log_llm_error(requestId, errorData, timestamp); } catch (error) { console.error('Error in logger.log_llm_error:', error); } } } //# sourceMappingURL=llm_logger.js.map