ExoMonad Core: effect system, WASM hosting, MCP server, built-in handlers, shared types.
Architecture
WASM Guest (Haskell) - pure logic
│
│ yield_effect(EffectEnvelope)
▼
PluginManager (single host function: yield_effect)
│
│ EffectRegistry::dispatch by namespace
▼
EffectHandler implementations (git, github, agent, fs, ...)
Features
runtime(default): Full runtime with WASM hosting, effect handlers, MCP server, and all service integrations. This is what theexomonadbinary uses.- Without
runtime: Only lightweight UI protocol types (ui_protocolmodule). Used byexomonad-plugin(Zellij WASM target) which can't link heavy native deps.
Usage
use ;
use async_trait;
;
let runtime = new
.with_effect_handler
.with_wasm_bytes
.build
.await?;