import { generateKeyPairSync } from 'node:crypto';
import { writeFileSync, mkdirSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import { dirname, join } from 'node:path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const projectRoot = join(__dirname, '..');
console.log('🔐 Generando claves RSA para desarrollo local...');
// Generar par de claves RSA
const { publicKey, privateKey } = generateKeyPairSync('rsa', {
modulusLength: 2048,
publicKeyEncoding: {
type: 'spki',
format: 'pem'
},
privateKeyEncoding: {
type: 'pkcs8',
format: 'pem'
}
});
// Crear contenido del archivo .env.local
const envContent = `# Claves MCP para desarrollo local
# ⚠️ NO COMMITEAR ESTE ARCHIVO - Ya está en .gitignore
# Generado automáticamente por scripts/generate-keys.js
MCP_PRIVATE_KEY="${privateKey.replace(/\n/g, '\\n')}"
MCP_PUBLIC_KEY="${publicKey.replace(/\n/g, '\\n')}"
MCP_SERVER_ID="cv-brayan-cordova-local"
`;
// Escribir archivo .env.local
const envPath = join(projectRoot, '.env.local');
writeFileSync(envPath, envContent);
console.log('✅ Claves generadas exitosamente!');
console.log(`📁 Archivo creado: ${envPath}`);
console.log('');
console.log('Para usar en desarrollo local:');
console.log(' npm run dev');
console.log('');
console.log('Para configurar producción (ejecutar una sola vez):');
console.log(' wrangler secret put MCP_PRIVATE_KEY');
console.log(' wrangler secret put MCP_PUBLIC_KEY');
console.log(' wrangler secret put MCP_SERVER_ID');
console.log('');
console.log('Luego para deployar a producción:');
console.log(' npm run deploy');