@nekzus/liop coordina la detección de la topología de red, el enrutamiento dinámico a través de transportes heterogéneos, los pools de cómputo fuera del hilo principal y el ciclo de vida de autenticación de máquina a máquina (M2M).
Garantiza que, independientemente de si un agente opera en un entorno de desarrollo local, en un proxy perimetral inverso o en una malla distribuida de alta seguridad, las peticiones transiten por el canal más rápido y seguro disponible.
Descubrimiento Adaptativo de Red (TopologyProbe)
En lugar de requerir que los operadores configuren manualmente direcciones de red, multiaddrs y URLs de proveedores OIDC, TopologyProbe implementa autodescubrimiento mediante una única URL conforme a RFC 9728 (Metadatos de Recursos Protegidos OAuth 2.0), RFC 8414 y las directrices de arquitectura Zero Trust de NIST SP 800-207.
Opciones de Inspección de Topología
TopologyProbeOptions
requerido
Descriptores de endpoints y credenciales para el análisis de red.
Matriz de Resolución de Modalidad
Enrutamiento Híbrido por Herramienta (RoutingTable)
En infraestructuras empresariales, distintas capacidades presentan requisitos dispares de latencia y cumplimiento normativo. RoutingTable administra la asignación de transporte para cada herramienta, registra la telemetría de latencia y aplica aislamiento automático mediante disyuntores (circuit breakers).
Invariantes del Disyuntor (Circuit Breaker)
Para evitar caídas en cascada a través de la malla,RoutingTable monitoriza la salud operativa de cada ruta registrada:
recordSuccess(toolName, latencyMs): Restablece el contador de fallos consecutivos a0y actualiza las medias móviles de latencia.recordFailure(toolName): Incrementa el contador de fallos consecutivos.- Condición de Disparo (
MAX_FAILURES = 5): Cuando una ruta acumula 5 fallos consecutivos, el disyuntor se abre. El runtime emite una advertencia y notifica al despachador para probar rutas de respaldo o retornar un errorErrorCode.CIRCUIT_BREAKER_OPEN. getAllToolDefinitions(): Retorna la lista de herramientas activas ordenadas alfabéticamente según exige la especificacióntools/listdel protocolo MCP.
Concurrencia Fuera del Hilo Principal (Pool de Workers con Piscina)
Las operaciones criptográficas (intercambio de claves ML-KEM-768, descifrado AES-256-GCM) y el análisis de sintaxis AST mediante Acorn exigen un uso intensivo de CPU. Su ejecución directa en el hilo principal de Node.js provocaría retrasos en el Event Loop y pérdida de paquetes de red en tiempo real.
LIOP incorpora un pool de workers optimizado con Piscina que aísla este cómputo intensivo fuera del ciclo de eventos:
Propiedades del Pool de Workers
Ciclo de Vida de Tokens M2M (TokenManager)
La clase TokenManager administra el ciclo de vida de los tokens Bearer para comunicación entre máquinas conforme a los estándares OAuth 2.1 (RFC 6749, Indicadores de Recursos RFC 8707 y Perfil JWT RFC 9068).
Renovación Preemptiva y Deduplicación Concurrente
Para tolerar ráfagas de peticiones sin experimentar errores transitorios de autorización (HTTP 401),TokenManager implementa dos mecanismos principales:
- Margen de Renovación Preemptiva (
REFRESH_BUFFER_MS = 30_000): Si a un token de acceso le quedan menos de 30 segundos de vigencia,TokenManagersolicita uno nuevo antes de despachar la petición de red. Esto evita condiciones de carrera durante ejecuciones extensas de módulos WASI. - Coalescencia de Solicitudes en Vuelo: Cuando múltiples llamadas concurrentes solicitan
getToken()con la caché vacía o expirada,TokenManageragrupa todas las peticiones en una única promesa HTTP POST (pendingPromise). Todos los invocadores resuelven con la misma respuesta de red para prevenir la saturación de cuota del servidor OIDC.