> This page is for NeMo Relay, version v0.11.1.
> 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.1: https://docs.nvidia.com/nemo/relay/v0.11.1/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.

# nemo-relay-worker-proto

> Versioned gRPC protocol for NeMo Relay out-of-process worker 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`.

Versioned gRPC protocol for NeMo Relay out-of-process worker plugins.

The protobuf schema owns transport control flow and the tool-result wrapper structure. Open application payloads remain lossless JSON values, while other Relay data transfer objects are carried in JSON envelopes.

## Modules

* [v1](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/v1): Generated protobuf and gRPC service definitions.

## Structs

* [CallbackMessageLimitService](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/struct-callbackmessagelimitservice): Select a generated tonic server's codec limits before decoding each RPC body.
* [WorkerCallbackMessageLimits](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/struct-workercallbackmessagelimits): Resolved worker transport limits shared by the host and maintained SDKs.
* [WorkerCallbackMetadata](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/struct-workercallbackmetadata): Metadata interceptor for callback-scoped worker-to-host runtime calls.

## Constants

* [DEFAULT_WORKER_MAX_MESSAGE_BYTES](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-default-worker-max-message-bytes): Preserve the gRPC libraries' default receive limit unless explicitly configured.
* [DIAGNOSTIC_NOT_CONSUMED_METADATA](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-diagnostic-not-consumed-metadata): Metadata set to `1` on a diagnostic admission rejection before execution. This certifies only that attempt; an earlier lost reply can still be uncertain.
* [DOWNSTREAM_CONTINUATION_METADATA](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-downstream-continuation-metadata): Continuation provenance for an error returned as gRPC status metadata. Used for stream-opening failures, where no `WorkerError` envelope is returned.
* [WORKER_CALLBACK_METADATA](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-worker-callback-metadata): Binary metadata preserves exact UTF-8 registration names before body decoding.
* [WORKER_MAX_MESSAGE_BYTES_BY_NAME_ENV](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-worker-max-message-bytes-by-name-env): Host overrides keyed by exact callback registration name, as a JSON byte-limit map.
* [WORKER_MAX_MESSAGE_BYTES_ENV](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-worker-max-message-bytes-env): Host-owned limit for a complete worker execution gRPC message, in bytes.
* [WORKER_PROTOCOL_GRPC_V1](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/constant-worker-protocol-grpc-v1): Stable worker protocol identifier accepted by `compat.worker_protocol`.

## Functions

* [callback_name](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-callback-name): Read callback identity independently of an RPC method name.
* [callback_request](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-callback-request): Attach an invocation's registered callback name to a request.
* [decode_json_envelope](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-decode-json-envelope): Decodes a JSON envelope into the requested DTO type.
* [decode_json_value](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-decode-json-value): Decodes a lossless protocol JSON value into the requested type.
* [json_envelope](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-json-envelope): Creates a JSON envelope from a serializable DTO.
* [json_value](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-json-value): Creates a lossless protocol JSON value from a serializable value.
* [parse_worker_max_message_bytes](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-parse-worker-max-message-bytes): Parses the positive decimal byte limit shared by Rust and Python workers.
* [validate_callback_request](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-validate-callback-request): Reject mismatched callback metadata; named limits require the updated host.
* [worker_max_message_bytes_from_env](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-worker-max-message-bytes-from-env): Reads the worker message limit once when creating a host activation or worker.
* [worker_max_message_bytes_from_env_with_default](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay-worker-proto/fn-worker-max-message-bytes-from-env-with-default): Reads the host override, falling back to a plugin's execution-message default.