# Arquitectura de TERIUS Automate

## Componentes

### Panel web

Administra usuarios, robots, definiciones de automatización y ejecuciones. No ejecuta acciones de escritorio.

### API central

Registra agentes, recibe latidos, asigna trabajos y almacena resultados. Los equipos Windows inician todas las conexiones; el servidor no necesita acceder directamente a ellos.

### TERIUS Robot Agent

Aplicación WPF ejecutada dentro de la sesión del usuario. Consulta trabajos cada cinco segundos y envía un latido cada treinta segundos.

### Base de datos

Contiene usuarios, robots, códigos de registro, automatizaciones, trabajos y logs. Los secretos de los agentes se guardan en el servidor mediante SHA-256; el valor original se entrega solo durante el registro.

## Protocolo Build 4

1. El administrador genera un código temporal de un solo uso.
2. El agente intercambia el código por una credencial aleatoria de 256 bits.
3. El agente autentica sus consultas con `Authorization: Bearer`.
4. La API asigna un trabajo usando una transacción y bloqueo de fila.
5. El agente confirma inicio, registra actividad y devuelve el resultado.

## Actualizaciones mediante TERIUS Server

TERIUS Server seguirá siendo el repositorio central de versiones. Se ampliará con un manifiesto para productos Windows que incluya:

- producto;
- versión y build;
- canal estable o beta;
- URL del paquete;
- SHA-256;
- firma digital;
- versión mínima compatible;
- notas de publicación.

La implementación del descargador, verificación de firma, instalación cuando el robot esté inactivo y recuperación automática corresponde a una build posterior. Build 4 deja el versionado del agente y del panel preparado.

## Límites conscientes de Build 4

- El agente funciona con el usuario conectado; aún no es servicio de Windows.
- La credencial local se guarda en el perfil del usuario. Se migrará al almacén seguro de Windows antes de producción.
- Solo se exponen en el editor web acciones seguras `open_url`; el motor también reconoce `wait`.
- Todavía no hay diseñador visual, programaciones, Excel, Playwright ni UI Automation.
