Public declaration syntax from harness-sdk/src/plugins/wasm.rs Original source SHA-256: 79fbf7dd46482d69dd057d339a9e3a6d4af1361bda1ceda26040408c8821b3aa Function bodies and constant values are omitted. This is not the complete implementation. Source line 40 pub const DEFAULT_MEMORY_LIMIT: usize; Source line 51 pub struct PluginData { /// Plugin name for scoping operations and error messages. pub name: String, /// Plugin state storage (key-value, scoped by plugin name). pub storage: HashMap>, /// Log buffer for captured plugin output. pub log_buffer: Vec, /// Permission manager reference for capability checks. pub permissions: Arc } Source line 78 pub struct PluginInstance { } Source line 95 pub fn create_engine() -> Result; Source line 110 pub fn compile_module(engine: &Engine, path: &str) -> Result; Source line 133 pub fn validate_exports(module: &Module, plugin_name: &str) -> Result<(), PluginError>; Source line 326 pub fn instantiate_plugin( engine: &Engine, module: &Module, name: &str, permissions: Arc, ) -> Result; Source line 360 #[must_use] pub fn plugin_name(&self) -> &str; Source line 450 pub fn call_init(&mut self) -> Result<(), PluginError>; Source line 469 pub fn call_name(&mut self) -> Result; Source line 490 pub fn call_command( &mut self, cmd_name: &str, args_json: &str, ) -> Result, PluginError>; Source line 536 pub fn call_tool( &mut self, tool_name: &str, input_json: &str, ) -> Result, PluginError>; Source line 574 pub fn drain_logs(&mut self) -> Vec;