#!/usr/bin/env node /** * Configuration Validation Script * Run with: npm run validate */ import { validateConfig, getPublicConfig, printConfig } from '../config.js'; console.log('═══════════════════════════════════════════════════'); console.log(' Memento MCP Server - Configuration Validation'); console.log('═══════════════════════════════════════════════════\n'); const errors = validateConfig(); if (errors.length === 0) { console.log('✅ Configuration is valid!\n'); console.log('Public config:'); console.log(JSON.stringify(getPublicConfig(), null, 2)); process.exit(0); } const critical = errors.filter((e) => e.critical); const warnings = errors.filter((e) => !e.critical); if (critical.length > 0) { console.error('❌ CRITICAL ERRORS:\n'); critical.forEach((e) => { console.error(` ${e.key}: ${e.message}`); }); console.error(''); } if (warnings.length > 0) { console.warn('⚠️ WARNINGS:\n'); warnings.forEach((e) => { console.warn(` ${e.key}: ${e.message}`); }); console.warn(''); } if (critical.length > 0) { process.exit(1); } else { console.log('⚠️ Configuration has warnings but is usable.'); process.exit(0); }