Protocol buffer generated types for ExoMonad FFI boundary.
This crate provides the single source of truth for types that cross the Rust/Haskell WASM boundary.
Proto files
Core types (exomonad/)
Core FFI types use JSON wire format (serde derives).
ffi.proto- Core FFI types (ErrorCode, FfiError, FfiResult)common.proto- Shared primitives (SessionId, Role, etc.)hook.proto- Claude Code hook typesagent.proto- Agent management typespopup.proto- UI popup types
Effect types (effects/)
Effect types use protobuf binary encoding (prost Message).
Modules are auto-generated from proto/effects/*.proto at build time.
Each .proto file with a service definition gets its own module.