cyber-mysql-openai
Version:
Intelligent natural language to SQL translator with self-correction capabilities using OpenAI and MySQL
62 lines • 2.46 kB
JavaScript
;
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