@tehreet/conduit
Version:
LLM API gateway with intelligent routing, robust process management, and health monitoring
151 lines • 6.81 kB
JavaScript
;
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