UNPKG

@tehreet/conduit

Version:

LLM API gateway with intelligent routing, robust process management, and health monitoring

151 lines 6.81 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateConfig = exports.mergeConfigs = exports.createPlugin = exports.createConduitRouter = exports.createConduitClient = exports.run = exports.ConfigPresetManager = exports.createConduitServer = exports.SynapseIntegration = exports.MetricsCollector = exports.UsageStorage = exports.UsageTracker = exports.HealthMonitor = exports.ConduitRouter = exports.ConduitServer = void 0; // Export all types __exportStar(require("./types"), exports); // Export core functionality __exportStar(require("./core"), exports); __exportStar(require("./features"), exports); __exportStar(require("./plugins"), exports); // Export enhanced server and router __exportStar(require("./server"), exports); __exportStar(require("./router"), exports); __exportStar(require("./monitoring"), exports); __exportStar(require("./integrations"), exports); // Explicit exports to ensure they're available var ConduitServer_1 = require("./server/ConduitServer"); Object.defineProperty(exports, "ConduitServer", { enumerable: true, get: function () { return ConduitServer_1.ConduitServer; } }); var ConduitRouter_1 = require("./router/ConduitRouter"); Object.defineProperty(exports, "ConduitRouter", { enumerable: true, get: function () { return ConduitRouter_1.ConduitRouter; } }); var HealthMonitor_1 = require("./monitoring/HealthMonitor"); Object.defineProperty(exports, "HealthMonitor", { enumerable: true, get: function () { return HealthMonitor_1.HealthMonitor; } }); var UsageTracker_1 = require("./monitoring/UsageTracker"); Object.defineProperty(exports, "UsageTracker", { enumerable: true, get: function () { return UsageTracker_1.UsageTracker; } }); var UsageStorage_1 = require("./monitoring/UsageStorage"); Object.defineProperty(exports, "UsageStorage", { enumerable: true, get: function () { return UsageStorage_1.UsageStorage; } }); var MetricsCollector_1 = require("./monitoring/MetricsCollector"); Object.defineProperty(exports, "MetricsCollector", { enumerable: true, get: function () { return MetricsCollector_1.MetricsCollector; } }); var synapse_1 = require("./integrations/synapse"); Object.defineProperty(exports, "SynapseIntegration", { enumerable: true, get: function () { return synapse_1.SynapseIntegration; } }); // Export utility functions __exportStar(require("./utils/context-extractor"), exports); __exportStar(require("./utils/token-counter"), exports); __exportStar(require("./utils/router"), exports); __exportStar(require("./utils/log"), exports); // Export server functionality var serverWrapper_1 = require("./serverWrapper"); Object.defineProperty(exports, "createConduitServer", { enumerable: true, get: function () { return serverWrapper_1.createConduitServer; } }); // Export config presets (avoiding conflicts) var config_presets_1 = require("./utils/config-presets"); Object.defineProperty(exports, "ConfigPresetManager", { enumerable: true, get: function () { return config_presets_1.ConfigPresetManager; } }); // Export the main run function for backward compatibility var index_1 = require("./index"); Object.defineProperty(exports, "run", { enumerable: true, get: function () { return index_1.run; } }); const ConduitServer_2 = require("./server/ConduitServer"); const ConduitRouter_2 = require("./router/ConduitRouter"); // Convenience factory functions const createConduitClient = (config) => { return new ConduitServer_2.ConduitServer(config); }; exports.createConduitClient = createConduitClient; const createConduitRouter = (config) => { return new ConduitRouter_2.ConduitRouter(config); }; exports.createConduitRouter = createConduitRouter; // Plugin utilities const createPlugin = (plugin) => { return { ...plugin, name: plugin.name, version: plugin.version, description: plugin.description }; }; exports.createPlugin = createPlugin; // Configuration utilities const mergeConfigs = (base, ...updates) => { return updates.reduce((acc, update) => ({ ...acc, ...update, Router: { ...acc.Router, ...update.Router }, server: { ...acc.server, ...update.server }, plugins: update.plugins || acc.plugins, Providers: update.Providers || acc.Providers }), base); }; exports.mergeConfigs = mergeConfigs; // Validation utilities const validateConfig = (config) => { try { // Basic validation if (!config) return false; // Validate server config if (config.server) { if (config.server.port && (config.server.port < 1 || config.server.port > 65535)) { return false; } } // Validate router config if (config.Router) { // Basic router validation if (config.Router.customRules) { for (const rule of config.Router.customRules) { if (!rule.id || !rule.name || !rule.condition || !rule.model) { return false; } } } } // Validate providers if (config.Providers) { for (const provider of config.Providers) { if (!provider.name || !provider.api_base_url || !provider.models || provider.models.length === 0) { return false; } } } // Validate plugins if (config.plugins) { for (const plugin of config.plugins) { if (!plugin.name || typeof plugin.enabled !== 'boolean') { return false; } } } return true; } catch (error) { return false; } }; exports.validateConfig = validateConfig; // Default export for convenience exports.default = { createConduitClient: exports.createConduitClient, createConduitRouter: exports.createConduitRouter, createPlugin: exports.createPlugin, mergeConfigs: exports.mergeConfigs, validateConfig: exports.validateConfig }; //# sourceMappingURL=lib.js.map