> This page is for NeMo Relay, version v0.11.0.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.4) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.0: https://docs.nvidia.com/nemo/relay/v0.11.0/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/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

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

> Generated protobuf and gRPC service definitions.

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

Generated protobuf and gRPC service definitions.

## Modules

* [diagnostic_code_definition](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/diagnostic_code_definition): Nested message and enum types in `DiagnosticCodeDefinition`.
* [diagnostic_submission](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/diagnostic_submission): Nested message and enum types in `DiagnosticSubmission`.
* [invoke_request](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/invoke_request): Nested message and enum types in `InvokeRequest`.
* [invoke_response](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/invoke_response): Nested message and enum types in `InvokeResponse`.
* [llm_invocation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/llm_invocation): Nested message and enum types in `LlmInvocation`.
* [plugin_worker_client](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/plugin_worker_client): Generated client implementations.
* [plugin_worker_server](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/plugin_worker_server): Generated server implementations.
* [relay_diagnostics_client](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/relay_diagnostics_client): Generated client implementations.
* [relay_diagnostics_server](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/relay_diagnostics_server): Generated server implementations.
* [relay_host_runtime_client](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/relay_host_runtime_client): Generated client implementations.
* [relay_host_runtime_server](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/relay_host_runtime_server): Generated server implementations.
* [stream_chunk](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/stream_chunk): Nested message and enum types in `StreamChunk`.

## Structs

* [CancelInvocationRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-cancelinvocationrequest)
* [ConditionalMiddlewareGuardrailRegistration](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-conditionalmiddlewareguardrailregistration)
* [ConditionalMiddlewareInvocation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-conditionalmiddlewareinvocation)
* [CreateScopeStackRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-createscopestackrequest)
* [CreateScopeStackResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-createscopestackresponse)
* [DeregisterConditionalMiddlewareGuardrailRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-deregisterconditionalmiddlewareguardrailrequest)
* [DeregisterConditionalMiddlewareGuardrailResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-deregisterconditionalmiddlewareguardrailresponse)
* [DiagnosticCapabilities](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticcapabilities)
* [DiagnosticCodeDefinition](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticcodedefinition)
* [DiagnosticComponentClose](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticcomponentclose)
* [DiagnosticComponentRegistration](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticcomponentregistration)
* [DiagnosticCredentials](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticcredentials)
* [DiagnosticExtensionDefinition](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticextensiondefinition)
* [DiagnosticObservation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticobservation)
* [DiagnosticOpenRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticopenrequest)
* [DiagnosticReadRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticreadrequest)
* [DiagnosticReadResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticreadresponse)
* [DiagnosticReceipt](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticreceipt)
* [DiagnosticSession](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticsession)
* [DiagnosticSessionClose](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticsessionclose)
* [DiagnosticSubmission](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-diagnosticsubmission): A single ordered stream serializes registration, recording, and closure. Identical retries reuse sequence and payload. No execution error is retried.
* [DropScopeStackRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-dropscopestackrequest)
* [EmitMarkRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-emitmarkrequest)
* [EmptyResult](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-emptyresult)
* [GetCurrentScopeStackSnapshotRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-getcurrentscopestacksnapshotrequest)
* [GetCurrentScopeStackSnapshotResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-getcurrentscopestacksnapshotresponse)
* [GetRuntimeDiagnosticsRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-getruntimediagnosticsrequest)
* [GetRuntimeDiagnosticsResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-getruntimediagnosticsresponse)
* [GuardrailResult](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-guardrailresult)
* [HandshakeRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-handshakerequest)
* [HandshakeResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-handshakeresponse)
* [HealthRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-healthrequest)
* [HealthResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-healthresponse)
* [HostAck](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-hostack)
* [InvokeRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-invokerequest)
* [InvokeResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-invokeresponse)
* [JsonEnvelope](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-jsonenvelope)
* [JsonResult](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-jsonresult)
* [JsonValue](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-jsonvalue): A lossless JSON value. The bytes MUST contain exactly one JSON value.
* [ListRuntimeRegistrationsRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-listruntimeregistrationsrequest)
* [ListRuntimeRegistrationsResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-listruntimeregistrationsresponse)
* [LlmCodecDecodeRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmcodecdecoderequest)
* [LlmCodecDecodeResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmcodecdecoderesponse)
* [LlmCodecEncodeRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmcodecencoderequest)
* [LlmCodecIdentity](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmcodecidentity)
* [LlmExecutionCodecContext](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmexecutioncodeccontext)
* [LlmInvocation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llminvocation)
* [LlmNextRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmnextrequest)
* [LlmRequestInterceptResult](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmrequestinterceptresult)
* [LlmSanitizeRequestContext](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmsanitizerequestcontext)
* [LlmSanitizeResponseContext](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmsanitizeresponsecontext)
* [LlmStreamNextRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-llmstreamnextrequest)
* [LogRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-logrequest)
* [PopScopeRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-popscoperequest)
* [PushScopeRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-pushscoperequest)
* [PushScopeResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-pushscoperesponse)
* [RegisterConditionalMiddlewareGuardrailRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-registerconditionalmiddlewareguardrailrequest)
* [RegisterConditionalMiddlewareGuardrailResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-registerconditionalmiddlewareguardrailresponse)
* [RegisterRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-registerrequest)
* [RegisterResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-registerresponse)
* [Registration](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-registration)
* [RuntimeDiagnostic](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-runtimediagnostic)
* [RuntimeRegistrationIdentity](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-runtimeregistrationidentity)
* [RuntimeRegistrationOwner](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-runtimeregistrationowner)
* [ScopeContext](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-scopecontext)
* [ScopeStackEntry](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-scopestackentry): Owned root-to-top identities; never opaque binding or invocation IDs.
* [ScopeStackSnapshot](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-scopestacksnapshot)
* [ShutdownRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-shutdownrequest)
* [StreamChunk](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-streamchunk)
* [ToolExecutionInterceptOutcome](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-toolexecutioninterceptoutcome)
* [ToolExecutionInterceptResult](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-toolexecutioninterceptresult)
* [ToolExecutionResult](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-toolexecutionresult)
* [ToolExecutionResultResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-toolexecutionresultresponse)
* [ToolInvocation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-toolinvocation)
* [ToolNextRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-toolnextrequest)
* [ValidateRequest](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-validaterequest)
* [ValidateResponse](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-validateresponse)
* [WorkerAck](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-workerack)
* [WorkerError](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/struct-workererror)

## Enums

* [DiagnosticEvidenceRetention](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-diagnosticevidenceretention)
* [DiagnosticObservationOutcome](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-diagnosticobservationoutcome)
* [DiagnosticObservationSeverity](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-diagnosticobservationseverity)
* [DiagnosticReceiptStatus](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-diagnosticreceiptstatus)
* [LlmCodecKind](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-llmcodeckind)
* [LogLevel](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-loglevel): Process-log levels accepted from an authenticated plugin. The host owns the final sink configuration and filters records with its configured threshold.
* [RegistrationSurface](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-registrationsurface)
* [RuntimeRegistrationOwnerKind](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-runtimeregistrationownerkind)
* [ScopeType](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-worker-proto/v1/enum-scopetype)