> 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 full documentation content, see https://docs.nvidia.com/nemo/relay/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Plugin Registry

> Registry for storing and retrieving provider plugins.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi`.

```rust
pub struct PluginRegistry { /* private fields */ }
```

Registry for storing and retrieving provider plugins.

Instance-scoped (not a global static) for testability. Stores plugins as `Arc<dyn ProviderPlugin>` keyed by plugin ID.

## Implementations

### `impl PluginRegistry`

<pre />

#### `new`

<pre />

Create a new empty plugin registry.

#### `register`

<pre />

Register a plugin in the registry.

Returns `Err(AcgError::PluginAlreadyRegistered)` if a plugin with the same ID is already registered.

#### `get`

<pre />

Retrieve a plugin by ID, returning an `Arc` clone.

#### `list_plugin_ids`

<pre />

Return a sorted list of all registered plugin IDs.

#### `deregister`

<pre />

Remove a plugin from the registry, returning `true` if it was present.

#### `len`

<pre />

Return the number of registered plugins.

#### `is_empty`

<pre />

Return `true` if the registry contains no plugins.

## Trait Implementations

### `impl Debug for PluginRegistry`

<pre />

#### `fmt`

<pre />

### `impl Default for PluginRegistry`

<pre />

#### `default`

<pre />