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.
		
		
		
		
		
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			44 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
| # Visión general
 | |
| 
 | |
| Qué hace el sistema
 | |
| - Ingesta de webhooks de WhatsApp (Evolution API) y ruteo de eventos.
 | |
| - Parsing de comandos de texto y operaciones sobre tareas.
 | |
| - Sincronización periódica de grupos y miembros.
 | |
| - Control de acceso por grupos (allowed_groups) con modos off/discover/enforce y comandos /admin.
 | |
| - Recordatorios a usuarios según preferencias.
 | |
| - Cola de respuestas con reintentos/backoff.
 | |
| - Métricas y health para operación.
 | |
| 
 | |
| Flujos principales
 | |
| 1) Mensaje entrante
 | |
|    - src/server.ts recibe webhook → extrae texto → delega en src/services/command.ts (CommandService).
 | |
|    - CommandService puede interactuar con src/tasks/service.ts (crear/actualizar/consultar tareas) y encolar respuestas en src/services/response-queue.ts.
 | |
| 2) Schedulers
 | |
|    - src/services/group-sync.ts sincroniza grupos activos y sus miembros.
 | |
|    - src/services/reminders.ts consulta preferencias y encola recordatorios.
 | |
|    - src/services/maintenance.ts aplica retención de miembros inactivos.
 | |
| 3) Persistencia
 | |
|    - src/db.ts abre SQLite (data/tasks.db por defecto), aplica PRAGMAs (WAL, FK, etc.) y migraciones (src/db/migrations).
 | |
| 4) Observabilidad
 | |
|    - src/services/metrics.ts expone contadores/gauges; /metrics en src/server.ts.
 | |
| 
 | |
| Glosario
 | |
| - JID: identificador completo de WhatsApp (p.ej., 12345@s.whatsapp.net, 999@g.us).
 | |
| - user_id: número normalizado (solo dígitos) sin dominio.
 | |
| - groupId: JID de grupo, termina en @g.us.
 | |
| - Alias: identificador alternativo que mapea a user_id real (src/services/identity.ts).
 | |
| 
 | |
| Mapa rápido
 | |
| - Entrada HTTP: src/server.ts
 | |
| - DB y migraciones: src/db.ts, src/db/migrations/index.ts
 | |
| - Servicios: src/services/*.ts (command, contacts, group-sync, identity, maintenance, metrics, rate-limit, reminders, response-queue, webhook-manager)
 | |
| - Utilidades: src/utils/*.ts (whatsapp, formatting, etc.)
 | |
| - Tareas: src/tasks/*.ts (modelo y servicio)
 | |
| - Tests: tests/unit/**/*.test.ts
 | |
| 
 | |
| Siguientes lecturas
 | |
| - architecture.md para responsabilidades por módulo.
 | |
| - database.md para entender tablas y PRAGMAs.
 | |
| - operations.md para variables de entorno, métricas y schedulers.
 | |
| - tests-map.md para ver qué se valida y dónde extender cobertura.
 |