Trait Provider Plugin
Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi.
pub trait ProviderPlugin: Send + Sync {
// Required methods
fn plugin_id(&self) -> &str;
fn plugin_name(&self) -> &str;
fn translate(&self, input: &PluginInput<'_>) -> Result<PluginOutput>;
fn capabilities(&self) -> BackendCapabilities;
}
Provider plugin trait for backend-specific translation.
Plugins are stateless on the forward path. They translate provider-agnostic intents into backend-native API parameters.
Object Safety
This trait is object-safe and can be stored as Arc<dyn ProviderPlugin>.
Thread Safety
The Send + Sync bounds allow plugins to be shared across async tasks and threads.
Required Methods
plugin_id
fn plugin_id(&self) -> &str
Unique identifier for this plugin (e.g., “anthropic”, “openai”, “passthrough”).
plugin_name
fn plugin_name(&self) -> &str
Human-readable name for this plugin.
translate
fn translate(&self, input: &PluginInput<'_>) -> Result<PluginOutput>
Translate intents into backend-native API parameters.
capabilities
fn capabilities(&self) -> BackendCapabilities
Report the capabilities of the backend this plugin targets.
Implementors
impl ProviderPlugin for AnthropicCachePlugin
impl ProviderPlugin for AnthropicCachePlugin
impl ProviderPlugin for OpenAICachePlugin
impl ProviderPlugin for OpenAICachePlugin
impl ProviderPlugin for PassthroughPlugin
impl ProviderPlugin for PassthroughPlugin