For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • About NVIDIA NeMo Relay
    • Overview
    • Architecture
    • Ecosystem
    • Concepts
    • Release Notes
  • Getting Started
    • Agent Runtime Primer
    • Prerequisites
    • Installation
    • Configuration / Setup
    • Quick Start
  • NVIDIA NeMo Relay CLI
    • About
    • Basic Usage
    • Claude Code
    • Codex
    • Cursor
    • Hermes Agent
  • Supported Integrations
    • About
    • OpenClaw Plugin Guide
    • LangChain Integration Guide
    • LangGraph Integration Guide
    • Deep Agents Integration Guide
  • Instrument Applications
    • About
    • Adding Scopes and Marks
    • Instrument a Tool Call
    • Instrument an LLM Call
    • Add Middleware
    • Code Examples
  • Observability Plugin
    • About
    • Configuration
    • Agent Trajectory Interchange Format (ATIF)
    • Agent Trajectory Observability Format (ATOF)
    • OpenTelemetry
    • OpenInference
  • Adaptive Plugin
    • About
    • Configuration
    • Adaptive Cache Governor (ACG)
    • Adaptive Hints
  • NeMo Guardrails Plugin
    • About
    • Configuration
  • Integrate into Frameworks
    • About
    • Adding Scopes
    • Wrap Tool Calls
    • Wrap LLM Calls
    • Handle Non-Serializable Data
    • Using Codecs
    • Provider Codecs
    • Provider Response Codecs
    • Code Examples
  • Build Plugins
    • About
    • Define a Plugin
    • Validate Plugin Configuration
    • Plugin Configuration Files
    • Register Plugin Behavior
    • Design Plugin Configuration
    • NeMo Guardrails Example Plugin
    • Code Examples
  • Contribute
    • About
    • Development Setup
    • Workflow and Reviews
    • Testing and Documentation
  • Reference
    • APIs
      • Python Library Reference
      • Node.js Library Reference
      • Rust Library Reference
        • nemo-relay
        • nemo-relay-adaptive
          • acg
            • anthropic_plugin
            • canonicalize
            • capability
            • ir_builder
            • openai_plugin
            • passthrough
            • plugin
              • PluginInput
              • PluginOutput
              • ProviderPlugin
            • plugin_registry
            • policy
            • profile
            • prompt_ir
            • retention
            • stability
            • telemetry
            • types
            • variable_extractor
            • error
            • MIN_ACG_OBSERVATIONS
          • acg_component
          • acg_learner
          • acg_profile
          • adaptive_hints_intercept
          • cache_diagnostics
          • config
          • context_helpers
          • drain
          • error
          • intercepts
          • learner
          • plugin_component
          • redis
          • storage
          • subscriber
          • tool_parallelism_learner
          • trie
          • types
          • AdaptiveRuntime
        • nemo-relay-ffi
    • Performance
  • Resources
    • Support and FAQs
    • Glossary
    • Troubleshooting Guide
    • Community
    • Legal
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogo
On this page
  • Object Safety
  • Thread Safety
  • Required Methods
  • plugin_id
  • plugin_name
  • translate
  • capabilities
  • Implementors
  • impl ProviderPlugin for AnthropicCachePlugin
  • impl ProviderPlugin for OpenAICachePlugin
  • impl ProviderPlugin for PassthroughPlugin
ReferenceAPIsRust Library Referencenemo-relay-adaptiveacgplugin

Trait Provider Plugin

||View as Markdown|
Previous

Struct Plugin Output

Next

Module plugin_registry

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