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

> Global and scope-local middleware registration helpers. Middleware registry helpers for global and scope-local guardrails, intercepts, and subscribers.

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

Global and scope-local middleware registration helpers. Middleware registry helpers for global and scope-local guardrails, intercepts, and subscribers.

## Functions

* [deregister\_llm\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-llm-conditional-execution-guardrail): Deregister a global LLM conditional-execution guardrail.
* [deregister\_llm\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-llm-execution-intercept): Deregister a global LLM execution intercept.
* [deregister\_llm\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-llm-request-intercept): Deregister a global LLM request intercept.
* [deregister\_llm\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-llm-sanitize-request-guardrail): Deregister a global LLM sanitize-request guardrail.
* [deregister\_llm\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-llm-sanitize-response-guardrail): Deregister a global LLM sanitize-response guardrail.
* [deregister\_llm\_stream\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-llm-stream-execution-intercept): Deregister a global streaming LLM execution intercept.
* [deregister\_tool\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-tool-conditional-execution-guardrail): Deregister a global tool conditional-execution guardrail.
* [deregister\_tool\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-tool-execution-intercept): Deregister a global tool execution intercept.
* [deregister\_tool\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-tool-request-intercept): Deregister a global tool request intercept.
* [deregister\_tool\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-tool-sanitize-request-guardrail): Deregister a global tool sanitize-request guardrail.
* [deregister\_tool\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-deregister-tool-sanitize-response-guardrail): Deregister a global tool sanitize-response guardrail.
* [register\_llm\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-llm-conditional-execution-guardrail): Register a global LLM conditional-execution guardrail. The guardrail can block LLM execution before intercepts or the provider callback run.
* [register\_llm\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-llm-execution-intercept): Register a global LLM execution intercept. Execution intercepts can wrap or replace the non-streaming provider callback.
* [register\_llm\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-llm-request-intercept): Register a global LLM request intercept. Request intercepts can rewrite or annotate the outgoing LLM request.
* [register\_llm\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-llm-sanitize-request-guardrail): Register a global LLM sanitize-request guardrail. The guardrail rewrites only the request payload recorded on emitted start events.
* [register\_llm\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-llm-sanitize-response-guardrail): Register a global LLM sanitize-response guardrail. The guardrail rewrites only the response payload recorded on emitted end events.
* [register\_llm\_stream\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-llm-stream-execution-intercept): Register a global streaming LLM execution intercept. Execution intercepts can wrap or replace the streaming provider callback.
* [register\_tool\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-tool-conditional-execution-guardrail): Register a global tool conditional-execution guardrail. The guardrail can block tool execution before intercepts or the tool callback run.
* [register\_tool\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-tool-execution-intercept): Register a global tool execution intercept. Execution intercepts can wrap or replace the tool callback.
* [register\_tool\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-tool-request-intercept): Register a global tool request intercept. Request intercepts can rewrite tool arguments before execution.
* [register\_tool\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-tool-sanitize-request-guardrail): Register a global tool sanitize-request guardrail. The guardrail rewrites only the tool input recorded on emitted start events.
* [register\_tool\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-register-tool-sanitize-response-guardrail): Register a global tool sanitize-response guardrail. The guardrail rewrites only the tool output recorded on emitted end events.
* [scope\_deregister\_llm\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-llm-conditional-execution-guardrail): Deregister a scope-local LLM conditional-execution guardrail.
* [scope\_deregister\_llm\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-llm-execution-intercept): Deregister a scope-local LLM execution intercept.
* [scope\_deregister\_llm\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-llm-request-intercept): Deregister a scope-local LLM request intercept.
* [scope\_deregister\_llm\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-llm-sanitize-request-guardrail): Deregister a scope-local LLM sanitize-request guardrail.
* [scope\_deregister\_llm\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-llm-sanitize-response-guardrail): Deregister a scope-local LLM sanitize-response guardrail.
* [scope\_deregister\_llm\_stream\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-llm-stream-execution-intercept): Deregister a scope-local streaming LLM execution intercept.
* [scope\_deregister\_tool\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-tool-conditional-execution-guardrail): Deregister a scope-local tool conditional-execution guardrail.
* [scope\_deregister\_tool\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-tool-execution-intercept): Deregister a scope-local tool execution intercept.
* [scope\_deregister\_tool\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-tool-request-intercept): Deregister a scope-local tool request intercept.
* [scope\_deregister\_tool\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-tool-sanitize-request-guardrail): Deregister a scope-local tool sanitize-request guardrail.
* [scope\_deregister\_tool\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-deregister-tool-sanitize-response-guardrail): Deregister a scope-local tool sanitize-response guardrail.
* [scope\_register\_llm\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-llm-conditional-execution-guardrail): Register a scope-local LLM conditional-execution guardrail. The guardrail can block LLM execution inside the owning scope.
* [scope\_register\_llm\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-llm-execution-intercept): Register a scope-local LLM execution intercept. Execution intercepts can wrap or replace the non-streaming provider callback inside the owning scope.
* [scope\_register\_llm\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-llm-request-intercept): Register a scope-local LLM request intercept. Request intercepts can rewrite or annotate LLM requests inside the owning scope.
* [scope\_register\_llm\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-llm-sanitize-request-guardrail): Register a scope-local LLM sanitize-request guardrail. The guardrail rewrites only request payloads emitted under the owning scope.
* [scope\_register\_llm\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-llm-sanitize-response-guardrail): Register a scope-local LLM sanitize-response guardrail. The guardrail rewrites only response payloads emitted under the owning scope.
* [scope\_register\_llm\_stream\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-llm-stream-execution-intercept): Register a scope-local streaming LLM execution intercept. Execution intercepts can wrap or replace the streaming provider callback inside the owning scope.
* [scope\_register\_tool\_conditional\_execution\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-tool-conditional-execution-guardrail): Register a scope-local tool conditional-execution guardrail. The guardrail can block tool execution inside the owning scope.
* [scope\_register\_tool\_execution\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-tool-execution-intercept): Register a scope-local tool execution intercept. Execution intercepts can wrap or replace the tool callback inside the owning scope.
* [scope\_register\_tool\_request\_intercept](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-tool-request-intercept): Register a scope-local tool request intercept. Request intercepts can rewrite tool arguments inside the owning scope.
* [scope\_register\_tool\_sanitize\_request\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-tool-sanitize-request-guardrail): Register a scope-local tool sanitize-request guardrail. The guardrail rewrites only tool input emitted under the owning scope.
* [scope\_register\_tool\_sanitize\_response\_guardrail](/reference/api/rust-library-reference/nemo-relay/api/registry/fn-scope-register-tool-sanitize-response-guardrail): Register a scope-local tool sanitize-response guardrail. The guardrail rewrites only tool output emitted under the owning scope.