Skip to main content
La clase LiopClient es el orquestador para los Nodos Agentes. Conecta tu aplicación de Node.js o edge a la red P2P descentralizada, valida identidades criptográficas y despacha cargas de lógica WebAssembly directamente a los Nodos de Datos (Servidores) remotos. A diferencia de los clientes REST tradicionales que solo hacen un <fetch> a endpoints JSON estáticos, un LiopClient literalmente empuja sus funciones de lógica a través de internet para ser ejecutadas de manera nativa en el servidor.

Inicialización y Configuración

El cliente acepta configuración TLS opcional para comunicación gRPC segura.

Opciones de Configuración

Al crear un LiopClient, puedes proporcionar:
  • tls? (LiopTlsOptions): Credenciales TLS opcionales para comunicación gRPC segura. Si se omite, se usa transporte inseguro (adecuado para desarrollo local).

Conexión a la Malla (Mesh)

A diferencia de MCP, que requiere una tubería stdio directa o una URL de SSE preconfigurada, LIOP utiliza ruteo peer-to-peer descentralizado. El SDK se encarga de atravesar NATs automáticamente.

Llamando a una Capacidad del Servidor (Tool)

Usa resolveCapability() para descubrir servidores en la DHT, luego invoca herramientas con callTool() mediante un objeto CallToolRequest:
Para control fino sobre el payload WASM enviado al servidor, usa el segundo parámetro de callTool() para pasar un Buffer binario.

Creando Watchdogs (Suscripciones Push) [PLANIFICADO]

Esta funcionalidad está en el roadmap pero aún no está implementada en la versión actual del SDK.
Los Watchdogs permiten suscripciones push persistentes. En lugar de hacer polling manual con callTool(), podrás desplegar un módulo watcher persistente que empuje eventos asíncronos a través de canales QUIC multiplexados de vuelta al agente. Sigue el progreso en el repositorio de GitHub.

Validación Criptográfica (El Escudo ZK)

Aunque la capa de red está cifrada usando AES-256-GCM simétrico, el LiopClient por diseño duda del origen de la ejecución. Cuando callTool retorna desde el Nodo de Datos remoto, el cliente realiza la verificación ZK internamente mediante su LiopVerifier integrado cuando existen recibos en el flujo de ejecución. El resultado expuesto de callTool se mantiene compatible con MCP (content/isError). También puedes verificar manualmente cuando dispones de artefactos de prueba crudos:
Nota: El adaptador LiopMcpBridge ejecuta automáticamente esta validación de forma nativa.

Gestión del Ciclo de Vida

Siempre cierra el cliente de forma ordenada para liberar recursos de malla:

Manejo de Errores y Rechazos Zero-Trust

Debido a que el Servidor impone un sandbox WASI estricto y utiliza el Guardian Cero-Tiempo para inspeccionar tu carga .wasm ANTES de la ejecución, tu cliente debe estar preparado para manejar rechazos del sandbox.
LiopError y ErrorCode están exportados por el SDK y pueden usarse en aplicaciones que normalizan o reenvuelven errores del protocolo. En runtime actual, algunos caminos siguen arrojando instancias nativas de Error según el contexto.