3.2 KiB
3.2 KiB
ALFRED
Flujos predefinidos lite - Sistema TZZR
Rol
Flujos predefinidos para DECK (servidor personal). Cadenas de pasos conocidos donde el usuario solo completa datos variables.
Posicion en el Flujo
ALFRED
|
Salida esperada?
|
+------+------+
| |
SI NO
| (incidencia)
| |
| v
| MASON
| |
v v
FELDMAN
Endpoints
| Metodo | Ruta | Descripcion |
|---|---|---|
| GET | /health |
Estado del servicio |
| GET | /flujos |
Listar flujos predefinidos |
| POST | /flujos |
Crear nuevo flujo |
| GET | /flujos/<id> |
Detalle de un flujo |
| PUT | /flujos/<id> |
Actualizar flujo |
| DELETE | /flujos/<id> |
Desactivar flujo (soft delete) |
| POST | /ejecutar/<id> |
Ejecutar un flujo |
| GET | /ejecuciones |
Listar ejecuciones |
| GET | /ejecuciones/<hash> |
Detalle de ejecucion |
| GET | /stats |
Estadisticas |
Autenticacion
Todas las rutas (excepto /health) requieren:
X-Auth-Key: {h_instancia}
Crear un Flujo
curl -X POST http://localhost:5052/flujos \
-H "Content-Type: application/json" \
-H "X-Auth-Key: {h_instancia}" \
-d '{
"nombre": "Rutina Pecho",
"descripcion": "Entrenamiento de pecho - Martes",
"pasos": [
{"ejercicio": "Press banca", "series": 4},
{"ejercicio": "Press inclinado", "series": 3}
],
"campos_variables": ["kg", "reps", "notas"]
}'
Ejecutar un Flujo
# Ejecucion OK -> destino FELDMAN
curl -X POST http://localhost:5052/ejecutar/{flujo_id} \
-H "Content-Type: application/json" \
-H "X-Auth-Key: {h_instancia}" \
-d '{
"datos": {"press_banca": {"kg": 80, "reps": 10}}
}'
# Ejecucion con incidencia -> destino MASON
curl -X POST http://localhost:5052/ejecutar/{flujo_id} \
-H "Content-Type: application/json" \
-H "X-Auth-Key: {h_instancia}" \
-d '{
"datos": {"press_banca": {"kg": 0, "reps": 0}},
"incidencia": true,
"notas": "Lesion en hombro"
}'
Estados de Salida
| Estado | Descripcion | Destino |
|---|---|---|
| ok | Todo segun lo previsto | FELDMAN |
| incidencia | Algo no coincide | MASON |
Despliegue
cd /opt/alfred
cp .env.example .env
# Editar .env con credenciales
docker compose up -d
Configuracion
Ver .env.example para variables requeridas:
H_INSTANCIA: Hash unico de DECKDB_*: Credenciales PostgreSQL
Base de Datos
Ejecutar init.sql en PostgreSQL o las tablas se crean automaticamente:
flujos_predefinidos: Definicion de flujosflujo_ejecuciones: Historial de ejecuciones
Comparacion
| Componente | Servidor | Tipo | Destino si OK |
|---|---|---|---|
| CLARA | DECK | Input suelto | MASON |
| MARGARET | CORP | Input suelto | MASON |
| ALFRED | DECK | Flujo predefinido | FELDMAN (directo) |
| JARED | CORP | Flujo predefinido | FELDMAN (directo) |
Componente del sistema TZZR - Implementado 2025-12-24