OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add nvidia/nemo-relay --skill nemo-relay-instrument-typed-wrappers
Use this skill when adding NeMo Relay typed wrappers, domain types, or provider codecs while preserving JSON middleware semantics and caller-visible behavior.
npx skills add nvidia/nemo-relay --skill nemo-relay-instrument-typed-wrappers
Use this skill when an application wants stronger domain types than raw JSON for tool or LLM integration. Keep typed boundaries explicit so middleware still sees predictable JSON.
JsonPassthrough, DataclassCodec, PydanticCodec, and
BestEffortAnyCodec. Node.js exposes JsonPassthrough plus custom
Codec<T> implementations.BestEffortAnyCodec only at boundaries where strict schemas are not
available. Prefer dataclass, Pydantic, or explicit Node.js codecs when the
framework owns a stable schema.OpenAIChatCodec, OpenAIResponsesCodec,
and AnthropicMessagesCodec in Python, Node.js, and Rust. Choose the
codec that matches the actual provider payload shape.id, model,
message, tool_calls, finish_reason, usage, provider-specific data, and
extra unmodeled fields. They do not rewrite the caller-visible response.LLMRequest and optional annotated request; encode merges annotated
edits back before execution intercepts and the provider callback run.instructions, portable messages and components, and the tagged
api_specific request surface for normalized edits. Provider-only union
members use explicit { provider, kind, value } native components. Reserve
top-level extra for unknown future fields.nemo-relay gateway always supplies matching request codecs on Anthropic
Messages, OpenAI Chat Completions, and OpenAI Responses generation routes.
On those routes, treat raw request.content as read-only and return body
edits through the annotated request. Header edits still use the raw request.JsonPassthrough for JSON-native valuesDataclassCodec or PydanticCodec in Python when the models already existBestEffortAnyCodec only when broad flexibility is worth the looser contracttoJson/fromJson or decode/encodeencode preserves original provider fields unless an
intercept intentionally changes themrequest.contentnemo-relay-instrument-callsnemo-relay-plugin-observabilitynemo-relay-debug-runtime-integration