@deinossrl/dgp-agent 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/index.mjs +30 -6
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog - DGP Agent
2
2
 
3
+ ## [1.5.2] - 2026-01-12
4
+
5
+ ### Fixed
6
+ - Ahora verifica que los 3 ejecutables existan (pg_dump, pg_restore, psql)
7
+ - Si falta psql.exe, reinstala PostgreSQL automáticamente
8
+ - Resuelve "psql no disponible" en upgrades desde versiones anteriores
9
+
10
+ ## [1.5.1] - 2026-01-12
11
+
12
+ ### Changed
13
+ - Actualizada ayuda (`dgp-agent help`) con documentación completa de backup/restore
14
+ - Agregada sección detallada explicando auto-creación de schemas
15
+ - Mejor descripción de capacidades del agente
16
+
3
17
  ## [1.5.0] - 2026-01-12
4
18
 
5
19
  ### Added
package/index.mjs CHANGED
@@ -1430,20 +1430,26 @@ async function findOrInstallPgDump() {
1430
1430
  const isWindows = process.platform === 'win32';
1431
1431
  const executableName = isWindows ? 'pg_dump.exe' : 'pg_dump';
1432
1432
  const restoreExecutableName = isWindows ? 'pg_restore.exe' : 'pg_restore';
1433
+ const psqlExecutableName = isWindows ? 'psql.exe' : 'psql';
1433
1434
 
1434
- // 1. Verificar si ya están AMBOS en nuestro BIN_DIR
1435
+ // 1. Verificar si ya están LOS 3 ejecutables en nuestro BIN_DIR
1435
1436
  const localPgDump = join(BIN_DIR, executableName);
1436
1437
  const localPgRestore = join(BIN_DIR, restoreExecutableName);
1438
+ const localPsql = join(BIN_DIR, psqlExecutableName);
1437
1439
 
1438
- if (existsSync(localPgDump) && existsSync(localPgRestore)) {
1440
+ if (existsSync(localPgDump) && existsSync(localPgRestore) && existsSync(localPsql)) {
1439
1441
  return localPgDump;
1440
1442
  }
1441
1443
 
1442
1444
  // Si falta alguno, avisar y continuar con la instalación
1443
- if (existsSync(localPgDump) && !existsSync(localPgRestore)) {
1444
- logInfo('pg_dump existe pero falta pg_restore, reinstalando...');
1445
- } else if (!existsSync(localPgDump) && existsSync(localPgRestore)) {
1446
- logInfo('pg_restore existe pero falta pg_dump, reinstalando...');
1445
+ if (!existsSync(localPgDump)) {
1446
+ logInfo('pg_dump no encontrado, instalando PostgreSQL...');
1447
+ }
1448
+ if (!existsSync(localPgRestore)) {
1449
+ logInfo('pg_restore no encontrado, instalando PostgreSQL...');
1450
+ }
1451
+ if (!existsSync(localPsql)) {
1452
+ logInfo('psql no encontrado, instalando PostgreSQL...');
1447
1453
  }
1448
1454
 
1449
1455
  // 2. Buscar en PATH
@@ -3064,6 +3070,24 @@ ${colors.bold}¿QUÉ HACE EL AGENTE?${colors.reset}
3064
3070
  ${colors.green}✓${colors.reset} Ejecuta comandos git (commit, push, pull, etc)
3065
3071
  ${colors.green}✓${colors.reset} Usa IA para interpretar tareas en lenguaje natural
3066
3072
  ${colors.green}✓${colors.reset} Mejora mensajes de commit automáticamente
3073
+ ${colors.green}✓${colors.reset} ${colors.bold}Backup y restore de bases de datos PostgreSQL${colors.reset}
3074
+ ${colors.green}✓${colors.reset} Auto-creación de schemas en restauraciones
3075
+
3076
+ ${colors.bold}BACKUP Y RESTORE DE BASES DE DATOS${colors.reset}
3077
+ El agente puede crear backups y restaurar bases de datos PostgreSQL/Supabase:
3078
+
3079
+ ${colors.yellow}Backup:${colors.reset}
3080
+ • Descarga PostgreSQL 17.2 automáticamente (primera vez)
3081
+ • Crea backups con pg_dump (formato custom, tar o SQL)
3082
+ • Sube a Supabase Storage automáticamente
3083
+ • Soporta backups completos, por schema o por tabla
3084
+
3085
+ ${colors.yellow}Restore:${colors.reset}
3086
+ • Descarga backup desde Storage
3087
+ • ${colors.bold}Detecta y crea schemas automáticamente${colors.reset} (v1.5.0+)
3088
+ • Ejecuta pg_restore con progreso en tiempo real
3089
+ • Maneja warnings de DROP gracefully
3090
+ • Continúa aunque objetos no existan previamente
3067
3091
 
3068
3092
  ${colors.bold}CONFIGURACIÓN${colors.reset}
3069
3093
  La API key de Claude se configura desde:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deinossrl/dgp-agent",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "Agente local para Despliegue-GPT - Reporta el estado del repositorio Git a la plataforma TenMinute IA",
5
5
  "main": "index.mjs",
6
6
  "bin": {