@nullplatform/llm-gateway
Version:
LLM Gateway Core - Main proxy server
40 lines • 1.7 kB
JavaScript
// packages/core/basic-apikey-auth/adapters/input/modelRegistry.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.PluginFactory = void 0;
const logger_js_1 = require("../utils/logger.js");
const regexHiderPlugin_js_1 = require("./bundled/regex-hider/regexHiderPlugin.js");
const basicApiKeyAuthPlugin_js_1 = require("./bundled/basic-apikey-auth/basicApiKeyAuthPlugin.js");
const modelRouterPlugin_js_1 = require("./bundled/model-router/modelRouterPlugin.js");
const promtManagerPlugin_1 = require("./bundled/promt-manager/promtManagerPlugin");
class PluginFactory {
plugins = new Map();
logger;
config;
constructor(plugins = new Map(), logger) {
this.logger = logger || new logger_js_1.Logger();
this.plugins = plugins;
}
async initializePlugins() {
await this.loadNativePlugins();
}
async loadNativePlugins() {
// Load built-in plugins here
// Example:
// this.plugins.set('openai', OpenAIApiAdapter);
this.plugins.set('model-router', modelRouterPlugin_js_1.ModelRouterPlugin);
this.plugins.set('basic-apikey-auth', basicApiKeyAuthPlugin_js_1.BasicApiKeyAuthPlugin);
this.plugins.set('regex-hider', regexHiderPlugin_js_1.RegexHiderPlugin);
this.plugins.set('prompt-manager', promtManagerPlugin_1.PromptManagerPlugin);
}
// Utility method to create plugin instances
createPlugin(type) {
const PluginConstructor = this.plugins.get(type);
if (PluginConstructor) {
return new PluginConstructor();
}
return null;
}
}
exports.PluginFactory = PluginFactory;
//# sourceMappingURL=factory.js.map
;