wasm-filters), estás escribiendo la lógica exacta que un Agente inyectará en los Nodos de Datos remotos.
Debido a que esta lógica debe ser completamente agnóstica al SO y estar estrictamente aislada (sandboxed), no puedes compilarla apuntando a arquitecturas estándar como x86_64 o arm64. Debe ser compilada a WebAssembly, apuntando explícitamente al estándar WASI (WebAssembly System Interface).
Configuración del Target del Compilador
Asegúrate de que tu toolchain de Rust tenga instalada la librería estándar de WASI.LIOP actualmente apunta a WASI Preview 1 (
wasm32-wasip1). Estamos monitoreando activamente wasm32-wasip2 (El Modelo de Componentes) y migraremos el motor Wasmtime para soportar objetos complejos fuertemente tipados cruzando el límite del motor en nuestro próximo lanzamiento.Estructura de un Filtro Rust
Un Filtro LIOP típico es código estándar de Rust, con la salvedad de que las operaciones de red y de hilos (threading) fallarán (panic) si son invocadas, debido a las restricciones de Sandboxing en el servidor de destino.src/main.rs
Compilación
Para compilar tu lógica en el payload de inyección.wasm, ejecuta Cargo apuntando a la arquitectura WASI:
liop-client carga en memoria el módulo compilado resultante (ej., target/wasm32-wasip1/release/filter.wasm) y lo transmite al nodo destino mediante gRPC.