WASM Component Model loader for the uni-db plugin framework.
uni-plugin-wasm provides the host-side machinery to load WASM
plugins built against the uni:plugin WIT worlds. The boundary uses:
- WIT-typed contracts for each plugin kind (scalar, aggregate, procedure, locy-agg, hook, storage, …) — typed exports + capability- gated host imports.
- Arrow IPC over linear memory for
RecordBatchexchange — host calls plugin'salloc(len), copies IPC bytes in, calls the work export, reads IPC bytes back at the returned(ptr, len). - Pre-warmed instance pools to amortize the 10–100 ms wasmtime instantiation cost across hot-path UDF invocations.
Crate status
[WasmLoader::load] is fully wired behind the wasmtime-runtime
feature (default-on): it instantiates a component, negotiates
capabilities against the host grants, and registers the plugin's
scalar / aggregate / procedure adapters end-to-end through the
respective WIT worlds.