UNPKG

cyber-mysql-openai

Version:

Intelligent natural language to SQL translator with self-correction capabilities using OpenAI and MySQL

62 lines 2.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_LOG_ENABLED = exports.DEFAULT_LOG_DIRECTORY = exports.DEFAULT_LOG_LEVEL = exports.DEFAULT_MAX_REFLECTIONS = exports.DEFAULT_DB_CONFIG = exports.DEFAULT_OPENAI_CONFIG = exports.VERSION = void 0; exports.validateConfig = validateConfig; // src/config/index.ts const dotenv_1 = __importDefault(require("dotenv")); // Cargar variables de entorno si existen dotenv_1.default.config(); // Versión de la librería exports.VERSION = "0.1.0"; // Configuración predeterminada de OpenAI exports.DEFAULT_OPENAI_CONFIG = { model: process.env.OPENAI_MODEL || "gpt-4", lightModel: process.env.OPENAI_LIGHT_MODEL || "gpt-4o-mini", apiKey: process.env.OPENAI_API_KEY || "", }; // Configuración predeterminada de la base de datos exports.DEFAULT_DB_CONFIG = { host: process.env.DB_HOST || "127.0.0.1", port: parseInt(process.env.DB_PORT || "3306", 10), user: process.env.DB_USER || "", password: process.env.DB_PASSWORD || "", database: process.env.DB_DATABASE || "", ssl: process.env.DB_SSL === "true", socketPath: process.env.DB_SOCKET_PATH, }; // Valores predeterminados para la configuración exports.DEFAULT_MAX_REFLECTIONS = 3; exports.DEFAULT_LOG_LEVEL = "info"; exports.DEFAULT_LOG_DIRECTORY = "./logs"; exports.DEFAULT_LOG_ENABLED = true; // Función para validar la configuración function validateConfig(config) { const errors = []; // Validar configuración de OpenAI if (!config.openai) { errors.push("Falta la configuración de OpenAI"); } else { if (!config.openai.apiKey) { errors.push("Falta la clave API de OpenAI (openai.apiKey)"); } } // Validar configuración de la base de datos if (!config.database) { errors.push("Falta la configuración de la base de datos"); } else { if (!config.database.user) { errors.push("Falta el usuario de la base de datos (database.user)"); } // La contraseña puede ser vacía en algunos casos, no validamos if (!(config.database.host || config.database.socketPath)) { errors.push("Debe especificar un host o socketPath para la base de datos"); } } return errors; } //# sourceMappingURL=index.js.map