> This page is for NeMo Relay, version v0.9.4.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.0) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.0: https://docs.nvidia.com/nemo/relay/v0.10.0/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt
> - v0.6.0: https://docs.nvidia.com/nemo/relay/v0.6.0/llms.txt
> - v0.5.0: https://docs.nvidia.com/nemo/relay/v0.5.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Module plugin

> Generic plugin infrastructure for NeMo Relay runtimes.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

Generic plugin infrastructure for NeMo Relay runtimes.

This module owns:

* config diagnostics and policy enums used by plugin systems
* a global plugin registry
* plugin registration contexts for middleware/subscriber installation
* rollback bookkeeping for registrations created during plugin setup

## Re-exports

* `pub use dynamic::*;`

## Modules

* [dynamic](/reference/api/rust-library-reference/nemo-relay/plugin/dynamic): Dynamic plugin control-plane and registry model.

## Structs

* [ConfigDiagnostic](/reference/api/rust-library-reference/nemo-relay/plugin/struct-configdiagnostic): Structured validation diagnostic for plugin validation.
* [ConfigPolicy](/reference/api/rust-library-reference/nemo-relay/plugin/struct-configpolicy): Policy for how unsupported plugin/runtime config is handled.
* [ConfigReport](/reference/api/rust-library-reference/nemo-relay/plugin/struct-configreport): Structured validation report.
* [PluginComponentSpec](/reference/api/rust-library-reference/nemo-relay/plugin/struct-plugincomponentspec): One configured plugin component.
* [PluginConfig](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginconfig): Canonical plugin configuration document.
* [PluginRegistration](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginregistration): Bookkeeping for one middleware/subscriber registration.
* [PluginRegistrationContext](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginregistrationcontext): Context provided to plugin handlers during runtime registration.
* [PluginRollbackOutcome](/reference/api/rust-library-reference/nemo-relay/plugin/struct-pluginrollbackoutcome): Result of rolling back a set of plugin registrations.
* [RuntimeDiagnostic](/reference/api/rust-library-reference/nemo-relay/plugin/struct-runtimediagnostic): Bounded aggregate for a runtime failure observed by an active plugin.

## Enums

* [DiagnosticLevel](/reference/api/rust-library-reference/nemo-relay/plugin/enum-diagnosticlevel): Diagnostic severity returned by plugin validation.
* [PluginError](/reference/api/rust-library-reference/nemo-relay/plugin/enum-pluginerror): Error type for generic plugin operations.
* [UnsupportedBehavior](/reference/api/rust-library-reference/nemo-relay/plugin/enum-unsupportedbehavior): Per-policy behavior for unsupported configuration.

## Traits

* [Plugin](/reference/api/rust-library-reference/nemo-relay/plugin/trait-plugin): Implemented by custom plugins that register runtime middleware.

## Functions

* [apply\_global\_config\_policy](/reference/api/rust-library-reference/nemo-relay/plugin/fn-apply-global-config-policy): Applies non-default global policy fields to a component policy.
* [deregister\_plugin](/reference/api/rust-library-reference/nemo-relay/plugin/fn-deregister-plugin): Removes a previously registered plugin.
* [ensure\_builtin\_plugins\_registered](/reference/api/rust-library-reference/nemo-relay/plugin/fn-ensure-builtin-plugins-registered): Registers core-provided plugin kinds.
* [list\_plugin\_kinds](/reference/api/rust-library-reference/nemo-relay/plugin/fn-list-plugin-kinds): Lists registered plugin kinds in sorted order.
* [lookup\_plugin](/reference/api/rust-library-reference/nemo-relay/plugin/fn-lookup-plugin): Looks up a registered plugin by kind.
* [record\_active\_plugin\_runtime\_diagnostic](/reference/api/rust-library-reference/nemo-relay/plugin/fn-record-active-plugin-runtime-diagnostic): Record a bounded runtime diagnostic against the active plugin report.
* [register\_plugin](/reference/api/rust-library-reference/nemo-relay/plugin/fn-register-plugin): Registers a plugin by kind.
* [rollback\_registrations](/reference/api/rust-library-reference/nemo-relay/plugin/fn-rollback-registrations): Rolls back registrations in reverse order.

## Type Aliases

* [Result](/reference/api/rust-library-reference/nemo-relay/plugin/type-result): Specialized [`Result`](https://doc.rust-lang.org/1.96.1/core/result/enum.Result.html) type for plugin operations.