> 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.

# Struct Plugin Runtime

> Cloneable high-level runtime handle for host APIs available to native plugins.

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`.

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

Cloneable high-level runtime handle for host APIs available to native plugins.

## Implementations

### `impl PluginRuntime`

<pre />

#### `new`

<pre />

Creates a runtime handle from the host ABI table.

#### `list_runtime_registrations`

<pre />

Lists global gateable runtime registrations.

#### `register_conditional_middleware_guardrail`

<pre />

Registers an activation-owned callback eligibility gate.

Return `Some(reason)` to disable the matching target or `None` to leave it enabled.

#### `deregister_conditional_middleware_guardrail`

<pre />

Deregisters an activation-owned eligibility gate.

#### `host_api`

<pre />

Returns the underlying host ABI table.

#### `current_scope`

<pre />

Retrieves the current scope handle.

#### `push_scope`

<pre />

Pushes a scope and emits its start event.

#### `pop_scope`

<pre />

Pops a scope and emits its end event.

#### `scope`

<pre />

Opens a scope that is popped automatically when the guard is closed or dropped.

#### `emit_mark`

<pre />

Emits a mark event under the current scope.

#### `emit_mark_with_options`

<pre />

Emits a mark event with an optional data schema and telemetry severity.

Hosts without the ABI-v4 mark extension accept this call only when both new options are absent, in which case the legacy function is used.

#### `emit_metric`

<pre />

Emits a validated Relay metric-measurement mark under the current scope.

#### `runtime_diagnostics`

<pre />

Return a bounded snapshot of active host runtime diagnostics.

#### `create_scope_stack`

<pre />

Creates a new independent scope stack.

#### `capture_scope_stack_thread`

<pre />

Captures the current thread-local scope-stack binding.

#### `scope_stack_active`

<pre />

Returns whether the current context has an explicitly active scope stack.

#### `bind_scope_stack_thread`

<pre />

Binds `stack` to the current OS thread until the returned guard is dropped.

## Trait Implementations

### `impl Clone for PluginRuntime`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Drop for PluginRuntime`

<pre />

#### `drop`

<pre />

### `impl Send for PluginRuntime`

<pre />

### `impl Sync for PluginRuntime`

<pre />