You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
| # Estado del Proyecto - Task Manager para WhatsApp
 | |
| 
 | |
| ## ✅ Funcionalidades Completadas
 | |
| - **Infraestructura Principal**
 | |
|   - Servidor webhook con health checks
 | |
|   - Dockerización y despliegue CapRover
 | |
|   - Gestión de dependencias con Bun
 | |
| - **Base de Datos**
 | |
|   - Modelo de tareas y asignaciones
 | |
|   - Normalización de IDs de WhatsApp
 | |
|   - Transacciones atómicas
 | |
| - **Sincronización de Grupos**
 | |
|   - Cache de grupos activos
 | |
|   - Sync periódico con Evolution API
 | |
| - **Webhooks**
 | |
|   - Registro/verificación con Evolution API
 | |
|   - Manejo básico de eventos (MESSAGES_UPSERT)
 | |
|   - Normalización del nombre del evento del webhook (soporta MESSAGES_UPSERT/messages.upsert)
 | |
| - **Cola de Respuestas**
 | |
|   - Persistencia en DB y envío real a Evolution API
 | |
|   - Workers en background activos
 | |
| - **Comandos**
 | |
|   - Detección de /tarea
 | |
|   - Parser básico de acciones/fechas
 | |
| - **Validaciones de Usuario**
 | |
|   - Integración completa de normalización y `ensureUserExists` en el flujo principal de mensajes
 | |
|   - Tests de integración para validaciones de usuarios
 | |
| - **Testing**
 | |
|   - Suite completa de tests unitarios
 | |
|   - Todos los tests pasan (97 pass, 0 fail)
 | |
| - **Aislamiento de Base de Datos en Pruebas**
 | |
|   - Uso de instancias en memoria para evitar conflictos entre tests
 | |
| 
 | |
| ## ⚠️ Funcionalidades Pendientes
 | |
| - **Gestión de Tareas**
 | |
|   - Completar persistencia de creación (añadir `created_by` y asignaciones)
 | |
|   - Listar/completar/eliminar tareas
 | |
| - **Cola de Respuestas**
 | |
|   - Reintentos con backoff y jitter
 | |
|   - Recuperación de ítems en estado `processing` tras caídas
 | |
|   - Métricas/observabilidad y limpieza/retención
 | |
| - **Validaciones**
 | |
|   - Permisos de usuario no implementados
 | |
|   - Verificación de pertenencia a grupos (si se requiere política estricta)
 | |
| - **Comandos**
 | |
|   - Implementar `/tarea mostrar` y `/tarea completar`
 | |
| - **Migraciones**
 | |
|   - Sistema de migraciones de esquema
 | |
| 
 | |
| ## ➡️ Próximos Pasos Prioritarios
 | |
| 1. Completar persistencia de tareas: `created_by` y asignaciones con `ensureUserExists`.
 | |
| 2. Implementar comandos: `/tarea mostrar` y `/tarea completar`.
 | |
| 3. Extender soporte de entrada: `extendedTextMessage` y captions de media.
 | |
| 4. Mejoras de fiabilidad de la cola: reintentos con backoff y recuperación de `processing`.
 | |
| 5. Métricas/observabilidad básicas y plan de migraciones de DB.
 | |
| 
 | |
| ## 🔧 Archivos Clave a Modificar
 | |
| - `src/services/response-queue.ts`
 | |
| - `src/services/command.ts`
 | |
| - `src/tasks/service.ts`
 | |
| - `src/server.ts`
 | |
| 
 | |
| ## Commit history and status
 | |
| - Latest commit: All tests passing, infrastructure solid, ready for core logic implementation.
 |