Expand description
§MockForge Plugin SDK
Official SDK for developing MockForge plugins with ease.
This SDK provides:
- Helper macros for plugin creation
- Builder patterns for manifests
- Testing utilities
- Type-safe plugin development
§Quick Start
use mockforge_plugin_sdk::{export_plugin, prelude::*, Result as PluginCoreResult};
use std::collections::HashMap;
#[derive(Debug, Default)]
pub struct MyPlugin;
#[async_trait]
impl AuthPlugin for MyPlugin {
fn capabilities(&self) -> PluginCapabilities {
PluginCapabilities::default()
}
async fn initialize(&self, _config: &AuthPluginConfig) -> PluginCoreResult<()> {
Ok(())
}
async fn authenticate(
&self,
_context: &PluginContext,
_request: &AuthRequest,
_config: &AuthPluginConfig,
) -> PluginCoreResult<PluginResult<AuthResponse>> {
let identity = UserIdentity::new("user123");
let response = AuthResponse::success(identity, HashMap::new());
Ok(PluginResult::success(response, 0))
}
fn validate_config(&self, _config: &AuthPluginConfig) -> PluginCoreResult<()> {
Ok(())
}
fn supported_schemes(&self) -> Vec<String> {
vec!["basic".to_string()]
}
async fn cleanup(&self) -> PluginCoreResult<()> {
Ok(())
}
}
export_plugin!(MyPlugin);
Modules§
- async_
trait - Async Token Resolver Trait Definition
- auth
- Authentication plugin interface
- builders
- Builder patterns for plugin manifests and configurations
- datasource
- Data source plugin interface
- error
- Plugin error types and result handling
- macros
- Helper macros for plugin development
- manifest
- Plugin manifest and metadata handling
- prelude
- Prelude module for convenient imports
- response
- Response generator plugin interface
- runtime
- WebAssembly runtime for plugin execution
- template
- Template plugin interface
- testing
- Testing utilities for plugin development
- types
- Common types and interfaces used across all plugin types
Macros§
- assert_
plugin_ err - Assert that a plugin result is an error
- assert_
plugin_ ok - Assert that a plugin result is successful
- export_
plugin - Export a plugin with boilerplate
- mock_
context - Create a mock plugin context for testing
- plugin_
config - Generate a plugin configuration struct
- plugin_
test - Quick test macro for plugin functions
Structs§
- Auth
Plugin Config - Authentication plugin configuration
- Auth
Plugin Entry - Authentication plugin registry entry
- Auth
Request - Authentication request information
- Auth
Response - Authentication response
- Data
Connection - Data connection handle
- Data
Query - Data query specification
- Data
Result - Query result data
- Data
Source Plugin Config - Data source plugin configuration
- Filesystem
Permissions - File system access permissions
- Function
Parameter - Function parameter definition
- Network
Permissions - Network access permissions
- Plugin
Author - Plugin author information
- Plugin
Capabilities - Plugin capabilities (permissions and features)
- Plugin
Context - Plugin execution context
- Plugin
Health - Plugin health status
- Plugin
Id - Plugin identifier (unique across all plugins)
- Plugin
Info - Plugin information
- Plugin
Instance - Base plugin instance
- Plugin
Manifest - Plugin manifest
- Plugin
Metadata - Plugin metadata container
- Plugin
Metrics - Plugin performance metrics
- Plugin
Result - Plugin execution result
- Plugin
Version - Plugin version following semantic versioning
- Request
Metadata - Request metadata for token resolution
- Resolution
Context - Token resolution context
- Resource
Limits - Resource limits for plugin execution
- Response
Data - Response data structure
- Response
Modifier Config - Response modifier plugin configuration
- Response
Plugin Config - Response plugin configuration
- Response
Request - Response request information
- Template
Execution Context - Template execution context
- Template
Function - Template function metadata
- Template
Function Entry - Template function registry entry
- Template
Plugin Config - Template plugin configuration
- User
Identity - User identity information
Enums§
- Plugin
Error - Core plugin error types
- Plugin
State - Plugin lifecycle state
- SdkError
- SDK-specific errors
Constants§
- SDK_
VERSION - SDK version
- WASM_
TARGET - Recommended WASM target
Traits§
- Auth
Plugin - Authentication plugin trait
- Auth
Plugin Factory - Helper trait for creating authentication plugins
- Data
Source Plugin - Data source plugin trait
- Response
Modifier Plugin - Response modifier plugin trait
- Response
Plugin - Response generator plugin trait
- Template
Plugin - Template plugin trait
- Template
Plugin Factory - Helper trait for creating template plugins
- Token
Resolver - Async token resolver trait for plugins