/**
 * Centralized configuration module
 * Exports all configuration loading and path resolution
 */
const paths = require('./paths');
const site = require('./site');
const { APP, LIMITS, TIMEOUTS, RETRIES, CADDY } = require('../utilities/constants');

// Load logging level
const LOG_LEVELS = { debug: 0, info: 1, warn: 2, error: 3 };
const LOG_LEVEL = LOG_LEVELS[process.env.LOG_LEVEL || 'info'] || 1;

const PORT = APP.PORT;
const MAX_ERROR_LOG_SIZE = LIMITS.ERROR_LOG_SIZE;

module.exports = {
  // Paths
  ...paths,
  
  // Site configuration
  siteConfig: site.siteConfig,
  loadSiteConfig: site.loadSiteConfig,
  buildDomain: site.buildDomain,
  buildServiceUrl: site.buildServiceUrl,
  
  // App constants
  PORT,
  LOG_LEVELS,
  LOG_LEVEL,
  MAX_ERROR_LOG_SIZE,
  
  // Re-export constants for convenience
  APP,
  LIMITS,
  TIMEOUTS,
  RETRIES,
  CADDY,
};
