LiopServer es el corazón del Nodo de Datos. Representa la infraestructura host que orquesta de manera segura las intenciones entrantes de Logic-Injection-on-Origin provenientes de Agentes remotos.
En lugar de escribir entornos de ejecución personalizados para gestionar WebAssembly, aislamiento y redes, tú defines funciones sencillas en JavaScript/TypeScript. El SDK abstrae el complejo sandboxing automáticamente.
Inicialización y Configuración
Creas un Nodo de Datos indicándole a la red P2P quién eres y proporcionando las propiedades de configuración, como controles de seguridad de datos.Opciones de Configuración
Al instanciar unLiopServer, el segundo parámetro permite definir características avanzadas del nodo:
tokenSlug(Resolución Determinista de Tokens): Cadena canónica (ej."BANK") que permite a los agentes remotos resolver de forma segura el token de acceso PQC desde su entorno host (LIOP_TOKEN_<tokenSlug>). Debe cumplir con la expresión regular/^[A-Z][A-Z0-9_]*$/.workerPool.maxHeapMb(Defensa Heap): Tamaño máximo del heap V8 en megabytes por thread worker (por defecto:64). También configurable vía la variable de entornoLIOP_WORKER_MAX_HEAP_MB. Previene ataques DoS de tipo Heap Bomb terminando workers que excedan el límite de memoria.security.forbiddenKeys(Egress Filter): Un array de strings. Si el modelo intenta devolver un JSON que contiene cualquiera de estas llaves (ej.,"password"), el Egress Filter destruirá la respuesta antes de que abandone el servidor.security.piiPatterns(Sanitización): Arrays dePiiRule. Puedes usar presets (PII_PRESETS.GLOBAL_STRICT,EU_GDPR,US_COMPLIANT) y combinarlos con regex personalizadas. El motor intercepta cualquier salida que coincida con patrones sensibles.security.enableNerScanning(Detección NLP): Cuando estrue, activa el escaneo de Reconocimiento de Entidades Nombradas vía la librería NLPcompromisepara detectar nombres de personas, ubicaciones y organizaciones en los valores de salida. Añade ~10ms de latencia. Por defecto:false.security.rateLimit(Ventana Deslizante): Configura el limitador de tasa por herramienta para prevenir ataques de micro-exfiltración.maxPerWindow(por defecto:30) andwindowMs(por defecto:60000) definen los parámetros de la ventana deslizante.taxonomy(Clasificación de Dominio): Metadatos opcionales que clasifican el dominio de datos del servidor (domain), el nivel de autorización de seguridad expresado como unnumber(clearanceTier), y los tipos de ejecución soportados (executionTypes). Estos metadatos se anuncian en la DHT y se usan para enrutamiento inteligente.- Estructura Dinámica de Retorno (Auto-i18n) [PLANIFICADO]: Esta funcionalidad está en el roadmap. Cuando se implemente, el
LiopServerinyectará automáticamente directivas Dynamic Return Structure en los payloads, obligando a la IA a respetar y devolver las llaves JSON exactamente en el mismo idioma nativo que utilizó el cliente al hacer la solicitud, eliminando la necesidad de librerías de internacionalización (i18n) en tu frontend.
Creando Capacidades (Tools)
En MCP, estas se llaman Tools (Herramientas). En LIOP, nos referimos a ellas como Capacidades (Capabilities). Para el desarrollador, definir una Capacidad en LIOP se ve virtualmente idéntico a definir una Tool de MCP. Proporcionas un nombre, una descripción, un esquema Zod para seguridad de tipos y un manejador (handler) de ejecución.En qué se diferencia de MCP
Si el código se ve exactamente igual, ¿qué lo hace LIOP?- Sin Polling: El Nodo de Datos anuncia el esquema de
analyze_employee_datacriptográficamente sobre la DHT de Kademlia. El Agente sabe instantáneamente que el esquema existe sin desperdiciar una petición de red preguntando porlistTools(). - Transporte Binario: Cuando el Agente invoca esta herramienta, los parámetros (ej.,
department: "HR") son comprimidos en bytes puros de Protobuf, omitiendo JSON por completo.
Exponiendo Esquemas de Datos (Resources)
Los Servidores LIOP también pueden exponer Recursos (datos estáticos, esquemas o descripciones) que los Agentes pueden descubrir para entender la forma y estructura de los datos que van a analizar antes de inyectar su lógica. Esto permite una verdadera autonomía Zero-Shot.resources/list y resources/read.
Planificación de IA Avanzada (Prompts y Autonomía)
Al igual que MCP, LIOP soporta nativamente Prompts—instrucciones conversacionales con plantillas que ayudan a los Agentes a funcionar antes de inyectar su Logic-Injection-on-Origin.Autonomía Zero-Shot (El Analista Ciego)
LIOP incluye de fábrica un System Prompt Maestro de grado industrial diseñado para enseñar y adiestrar a LLMs genéricos (como Claude o GPT-4) sobre cómo generar lógica.wasm o JavaScript dinámicamente sin alucinar y respetando estrictamente los límites del Sandbox del Nodo.
Puedes activar este adiestramiento estructural explícitamente:
liop_blind_analyst en la Malla, inyectando tu Data Dictionary directamente en el contexto del modelo.
Seguridad y Gestión de Memoria
Cuando un Nodo de Datos recibe un payload.wasm o .js, el módulo GuardianTS somete su Árbol de Sintaxis Abstracta (AST) a una Inspección Heurística de Tiempo-Cero para garantizar seguridad absoluta.
Antes de que cualquier módulo WebAssembly sea siquiera instanciado o ejecutado, GuardianTS escanea todas sus importaciones. Rechaza estrictamente cualquier payload que intente enlazarse a APIs no autorizadas del host. Solamente las APIs estándar de WASI (wasi_snapshot_preview1) y las funciones nativas en sandbox de LIOP son permitidas, previniendo categóricamente escapes de la sandbox.
Esta pesada evaluación de AST se cachea agresivamente en memoria O(1) para permitir ejecuciones subsiguientes ultra veloces de exactamente la misma lógica.
Si te encuentras desplegando parches de seguridad Zero-Day en el host de ejecución o necesitas invalidar forzosamente la memoria del Nodo, puedes purgar el almacenamiento en caché del AST de forma manual y síncrona:
Conectando Servidores MCP Heredados (Legacy)
El objetivo principal de LIOP es una rápida adopción por parte de la industria. Si has pasado meses construyendo un servidor estándar del Protocolo de Contexto de Modelos (MCP), no necesitas reescribirlo para unirte a la red. El@nekzus/liop incluye el LiopMcpBridge.
Este poderoso adaptador intercepta las peticiones binarias entrantes de la malla LIOP, las traduce a estándar JSON-RPC 2.0 localmente, las reenvía a tu Servidor MCP sin modificar vía stdio o SSE, y empaqueta la respuesta estándar de MCP de vuelta hacia la red P2P ultra rápida.
API de Runtime y Ciclo de Vida
Además deconnect(), LiopServer expone métodos de bajo nivel para ciclo de vida e inspección de malla: