> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/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 conversions > Typed domain conversions for the namespaced worker contract. Typed conversions between shared domain values and protobuf values. Generated from `cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -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`. Typed domain conversions for the namespaced worker contract. Typed conversions between shared domain values and protobuf values. The host and Rust worker use the same [`WireValue`](/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/trait-wirevalue) implementations so native and worker callbacks retain the types from `nemo_relay_types`. Generated protobuf types describe transport presence and alternatives separately. `dto.rs` declares struct fields, enum mappings, and collection wrappers. Matching field names use `field: mode`; renames use `source => target: mode`. Both directions construct every struct field, making omitted mappings a compile-time error. `variants.rs` handles enums and structural differences explicitly. Shared helpers here check required values, integer widths, timestamps, and JSON syntax while preserving native null semantics. See the crate's `CONTRACT.md`, "Rust domain conversions", for field modes, representation differences, and the maintenance workflow. ## Structs * [ConversionError](/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/struct-conversionerror): A malformed or unsupported value at the worker protocol boundary. ## Traits * [WireValue](/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/trait-wirevalue): Bidirectional conversion without exposing transport representation to callbacks. ## Functions * [decode](/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/fn-decode): Decode a protobuf value into its shared domain representation. * [encode](/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/fn-encode): Encode a domain value into its protobuf representation. ## Type Aliases * [Result](/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/type-result): Result of a domain/protobuf conversion. > Typed domain conversions for the namespaced worker contract. Typed conversions between shared domain values and protobuf values. ## Docs - [Struct Conversion Error](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/struct-conversionerror.md): A malformed or unsupported value at the worker protocol boundary. - [Trait Wire Value](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/trait-wirevalue.md): Bidirectional conversion without exposing transport representation to callbacks. - [Function decode](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/fn-decode.md): Decode a protobuf value into its shared domain representation. - [Function encode](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/fn-encode.md): Encode a domain value into its protobuf representation. - [Type Alias Result](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-worker-proto/conversions/type-result.md): Result of a domain/protobuf conversion.