Expand description
§WASM Plugin System
Extends RavenClaws with WebAssembly plugins — load .wasm binaries at
runtime and register their exported tools into the agent’s ToolRegistry.
§Plugin ABI (v1)
Every WASM plugin must export the following functions:
| Export | Signature | Description |
|---|---|---|
plugin_name | () -> i32 | Pointer to null-terminated UTF-8 name string in linear memory |
plugin_version | () -> i32 | Pointer to null-terminated version string |
plugin_description | () -> i32 | Pointer to null-terminated description string |
plugin_tools_count | () -> i32 | Number of tools this plugin exposes |
plugin_tool_name | (i32) -> i32 | Given tool index, returns pointer to name string |
plugin_tool_description | (i32) -> i32 | Given tool index, returns pointer to description string |
plugin_tool_execute | (i32, i32) -> i32 | Given tool index + input pointer, returns pointer to output string |
Strings are communicated via pointer into the plugin’s exported linear memory. The host reads them by inspecting the memory at the returned offset.
Structs§
- Plugin
Tool - A single tool exposed by a WASM plugin.
- Wasm
Plugin - A loaded WASM plugin with its store, instance, and exported tools.
- Wasm
Plugin Manager - Manages a collection of loaded WASM plugins.
Enums§
- Plugin
Error - Errors that can occur during plugin loading, inspection, or execution.