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.
3.1 KiB
3.1 KiB
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
- Esquema de
response_queueextendido con columnametadata(migración ligera al inicio)
- Sincronización de Grupos
- Caché de grupos activos y validación en el servidor
- Sync periódico con Evolution API
- Webhooks
- Registro/verificación con Evolution API
- Manejo de eventos (MESSAGES_UPSERT) con normalización del nombre del evento
- Cola de Respuestas
- Persistencia en DB y envío real a Evolution API
- Workers en background activos
- Soporte de menciones: persistencia en
metadatay envío comomentioneden el payload
- Comandos
/tarea nuevaend-to-end: parseo de descripción y última fecha futura, extracción de asignados desde menciones y tokens@..., limpieza de la descripción, persistencia de tarea y asignaciones, y respuesta con menciones.
- Validaciones de Usuario
- Integración completa de normalización y
ensureUserExistsen el flujo principal de mensajes - Tests de integración para validaciones de usuarios
- Integración completa de normalización y
- Testing
- Suite de tests unitarios con DB en memoria para aislamiento
⚠️ Funcionalidades Pendientes
- Gestión de Tareas
- Listar (
/tarea mostrar) y completar (/tarea completar) tareas; eliminación opcional
- Listar (
- Cola de Respuestas
- Reintentos con backoff y jitter
- Recuperación de ítems en estado
processingtras caídas - Métricas/observabilidad y limpieza/retención
- Validaciones
- Permisos de usuario (roles) y pertenencia a grupos (si se requiere política estricta)
- Menciones y nombres
- Resolver nombres “amigables” desde Evolution API y/o cache local para reemplazar
@númeropor@Nombreen el texto (ya se envíamentionedpara resaltar)
- Resolver nombres “amigables” desde Evolution API y/o cache local para reemplazar
- Migraciones
- Sistema de migraciones de esquema
➡️ Próximos Pasos Prioritarios
- Implementar
/tarea mostrary/tarea completar. - Mejorar UX de menciones: resolver nombres y formateo de “asignados”.
- Extender soporte de entrada:
extendedTextMessagey captions de media. - Mejoras de fiabilidad de la cola: reintentos con backoff y recuperación de
processing. - Métricas/observabilidad básicas y plan de migraciones de DB.
🐞 Problemas conocidos
- Las menciones en WhatsApp no muestran todavía el nombre del contacto del usuario final; se envía
mentionedcorrectamente, pero el texto contiene@número. Pendiente integrar nombres “amigables”. - 1 test falla actualmente: “Database > Table Schemas > response_queue table should have required columns”.
🔧 Archivos Clave a Modificar
src/services/response-queue.tssrc/services/command.tssrc/tasks/service.tssrc/server.ts
Commit history and status
- Latest commit: One schema test failing and mentions UX pending; resto verde y funcionalidad principal de creación de tareas operativa.