"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.config = void 0;
exports.loadConfig = loadConfig;
exports.validateConfig = validateConfig;
exports.validateConfigWarnings = validateConfigWarnings;
const dotenv_1 = __importDefault(require("dotenv"));
const path_1 = require("path");
dotenv_1.default.config({ path: (0, path_1.resolve)(process.cwd(), '.env') });
function loadConfig() {
    return {
        port: parseInt(process.env.PORT || '3001', 10),
        nodeEnv: process.env.NODE_ENV || 'development',
        openrouterApiKey: process.env.OPENROUTER_API_KEY || '',
        kieApiKey: process.env.KIE_API_KEY || '',
        geminiApiKey: process.env.GEMINI_API_KEY || '',
        encryptionKey: process.env.ENCRYPTION_KEY || '',
        dataDir: (0, path_1.resolve)(process.cwd(), 'data'),
        webhookBaseUrl: process.env.WEBHOOK_BASE_URL || '',
        telegramApiId: parseInt(process.env.TELEGRAM_API_ID || '0', 10),
        telegramApiHash: process.env.TELEGRAM_API_HASH || '',
    };
}
function validateConfig(config) {
    const errors = [];
    if (!config.encryptionKey) {
        errors.push('ENCRYPTION_KEY is required for secure storage');
    }
    if (config.port < 1 || config.port > 65535) {
        errors.push('PORT must be between 1 and 65535');
    }
    return errors;
}
function validateConfigWarnings(config) {
    const warnings = [];
    if (!config.webhookBaseUrl) {
        warnings.push('WEBHOOK_BASE_URL yapılandırılmamış — KIE görsel üretim webhook\'ları çalışmayacak');
    }
    if (!config.openrouterApiKey) {
        warnings.push('OPENROUTER_API_KEY yapılandırılmamış — AI yanıt üretimi çalışmayacak');
    }
    if (!config.kieApiKey && !config.geminiApiKey) {
        warnings.push('KIE_API_KEY veya GEMINI_API_KEY yapılandırılmamış — görsel üretim çalışmayacak');
    }
    return warnings;
}
exports.config = loadConfig();
//# sourceMappingURL=config.js.map