> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/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 abi > Append-only native diagnostic ABI. All input spans are borrowed for one call. Nonempty spans and output pointers must be valid for their stated size; arrays must be aligned. No callback retains plugin memory. Integer tags are validated. 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`. Append-only native diagnostic ABI. All input spans are borrowed for one call. Nonempty spans and output pointers must be valid for their stated size; arrays must be aligned. No callback retains plugin memory. Integer tags are validated. ## Structs * [Bytes](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-bytes): Borrowed bytes. A null pointer is permitted only for an empty span. * [Capabilities](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-capabilities): Non-sensitive recording capabilities; no source-wide diagnostic content. * [Code](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-code): One declaration. Kind 0 selects a built-in; kind 1 declares an extension. * [NativeDiagnosticsApiV1](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-nativediagnosticsapiv1): Frozen diagnostics callback table. Status 0 means success; other values are defined by `DiagnosticError::from_status`. Read kinds: 0 discovery, 1 snapshot, 2 memory. Read output is caller-owned; `written` is zero on any failure. * [NativeHostApiV8WithDiagnostics](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-nativehostapiv8withdiagnostics): Size-discovered tail of the unchanged ABI-8 execution table. * [Observation](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-observation): Borrowed observation. Empty optional strings mean absent values. * [Receipt](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-receipt): Allocation-free receipt written only after acceptance. * [Registration](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-registration): Borrowed registration, whose complete vocabulary is admitted together. ## Constants * [CONTRACT_VERSION](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-contract-version): Independent diagnostic transport version; execution ABI remains 8. * [MAX_CALLS](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-calls): Maximum concurrent native data calls per host process. * [MAX_CLASSES](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-classes): Maximum classes per extension. * [MAX_CODES](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-codes): Maximum declared codes per component. * [MAX_COMPONENTS](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-components): Maximum simultaneously live component registrations per activation. * [MAX_EXTENSIONS](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-extensions): Maximum cumulative extension declarations per activation. * [MAX_REQUEST_BYTES](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-request-bytes): Maximum total text bytes in a native request. * [MAX_SESSIONS](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-sessions): Maximum concurrently admitted authoring sessions per host process. > Append-only native diagnostic ABI. All input spans are borrowed for one call. Nonempty spans and output pointers must be valid for their stated size; arrays must be aligned. No callback retains plugin memory. Integer tags are validated. ## Docs - [Struct Bytes](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-bytes.md): Borrowed bytes. A null pointer is permitted only for an empty span. - [Struct Capabilities](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-capabilities.md): Non-sensitive recording capabilities; no source-wide diagnostic content. - [Struct Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-code.md): One declaration. Kind 0 selects a built-in; kind 1 declares an extension. - [Struct Native Diagnostics ApiV1](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-nativediagnosticsapiv1.md): Frozen diagnostics callback table. Status 0 means success; other values are defined by `DiagnosticError::from_status`. Read kinds: 0 discovery, 1 snapshot, 2 memory. Read output is caller-owned; `written` is zero on any failure. - [Struct Native Host ApiV8 With Diagnostics](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-nativehostapiv8withdiagnostics.md): Size-discovered tail of the unchanged ABI-8 execution table. - [Struct Observation](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-observation.md): Borrowed observation. Empty optional strings mean absent values. - [Struct Receipt](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-receipt.md): Allocation-free receipt written only after acceptance. - [Struct Registration](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-registration.md): Borrowed registration, whose complete vocabulary is admitted together. - [Constant CONTRACT_VERSION](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-contract-version.md): Independent diagnostic transport version; execution ABI remains 8. - [Constant MAX_CALLS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-calls.md): Maximum concurrent native data calls per host process. - [Constant MAX_CLASSES](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-classes.md): Maximum classes per extension. - [Constant MAX_CODES](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-codes.md): Maximum declared codes per component. - [Constant MAX_COMPONENTS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-components.md): Maximum simultaneously live component registrations per activation. - [Constant MAX_EXTENSIONS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-extensions.md): Maximum cumulative extension declarations per activation. - [Constant MAX_REQUEST_BYTES](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-request-bytes.md): Maximum total text bytes in a native request. - [Constant MAX_SESSIONS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-sessions.md): Maximum concurrently admitted authoring sessions per host process.