Memory extensions are WASM-only modules. Native third-party memory drivers are not loaded into root.
Required module exports:
handle_upserthandle_queryhandle_readhandle_deletehandle_health
Host imports (memory_host):
kv_get,kv_putblob_get,blob_putemit_metric,logclock_now_ms
Explicitly not available in MVP:
- host network fetch
- shell/command execution
WIT contract: crates/kelvin-memory-module-sdk/wit/memory-module.wit
Modules declare MemoryModuleManifest:
module_id,version,api_versioncapabilitiesrequired_host_featuresentrypoint,publisher,signature
Controller enforces intersection:
- module manifest capabilities
- JWT delegated capabilities/operations
- platform enabled provider features
Reference module artifacts:
crates/kelvin-memory-module-sdk/examples/memory_echo/memory_echo.watcrates/kelvin-memory-module-sdk/examples/memory_echo/manifest.json
- Keep module handlers side-effect minimal and deterministic.
- Assume host limits may terminate execution at any time.
- Avoid unbounded loops/allocations.
- Fail with explicit non-zero result codes only for module-local errors.