Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -325,9 +325,9 @@ The pre-commit hooks do not currently enforce SPDX headers automatically, but re
Before making significant changes, read through the documentation in
[`docs/`](docs/), especially:

- [Architecture Overview](docs/about/architecture.mdx) -- runtime model and data flow
- [Scopes](docs/about/concepts/scopes.mdx) -- scopes, handles, events, and runtime ownership
- [Middleware](docs/about/concepts/middleware.mdx) -- execution ordering and middleware behavior
- [Architecture Overview](docs/about-nemo-relay/architecture.mdx) -- runtime model and data flow
- [Scopes](docs/about-nemo-relay/concepts/scopes.mdx) -- scopes, handles, events, and runtime ownership
- [Middleware](docs/about-nemo-relay/concepts/middleware.mdx) -- execution ordering and middleware behavior
- [API Reference](docs/reference/api/index.mdx) -- public surfaces across Rust, Python, and Node.js

The codebase follows a layered architecture: **Core (Rust)** provides the runtime, with bindings through **FFI (C, used by Go through CGo)**, **PyO3 (Python)**, **NAPI (Node.js)**, and **wasm-bindgen (WebAssembly)**. Each binding mirrors the full API surface.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,4 @@ Use these practices when applying the concept in application or integration code
- Use mark events to fill visibility gaps rather than to model full execution
spans.
- Keep binding-level API details in the [API Reference](/reference/api) and
deeper integration patterns in [Integrate into Frameworks](/integrate-frameworks/about).
deeper integration patterns in [Integrate into Frameworks](/integrate-into-frameworks/about).
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,9 @@ through the same component lifecycle as other plugins:
- Inspect the activation result if needed

Detailed adaptive configuration belongs in
[Adaptive Configuration](/plugins/adaptive/configuration),
[Adaptive Cache Governor (ACG)](/plugins/adaptive/acg), and
[Adaptive Hints](/plugins/adaptive/adaptive-hints).
[Adaptive Configuration](/adaptive-plugin/configuration),
[Adaptive Cache Governor (ACG)](/adaptive-plugin/acg), and
[Adaptive Hints](/adaptive-plugin/adaptive-hints).

### Observability

Expand All @@ -163,7 +163,7 @@ disabled unless its section sets `enabled: true`, and subscriber names are
inferred from the plugin namespace instead of exposed in public config.

Detailed observability plugin configuration belongs in
[Observability Configuration](/plugins/observability/configuration).
[Observability Configuration](/observability-plugin/configuration).

For the CLI gateway's `plugins.toml` discovery, precedence, merge, and editing
rules, see [Plugin Configuration Files](/build-plugins/plugin-configuration-files).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,13 +134,13 @@ of the canonical event stream.

### Agent Trajectory Interchange Format (ATIF) Exporter

The [Agent Trajectory Interchange Format (ATIF) exporter](/plugins/observability/atif)
The [Agent Trajectory Interchange Format (ATIF) exporter](/observability-plugin/atif)
collects lifecycle events and emits trajectory artifacts for offline analysis,
replay, or debugging.

### Agent Trajectory Observability Format (ATOF) JSONL Exporter

The [Agent Trajectory Observability Format (ATOF) JSONL exporter](/plugins/observability/atof)
The [Agent Trajectory Observability Format (ATOF) JSONL exporter](/observability-plugin/atof)
writes the canonical event stream to a native filesystem path as one raw ATOF
event per line.

Expand All @@ -155,9 +155,9 @@ The OpenInference subscriber maps runtime events into OTLP traces using
OpenInference semantics for model-centric observability.

Detailed setup, configuration, and API shape for these subscribers belongs in
[Observability](/plugins/observability/about).
[Observability](/observability-plugin/about).
For configuration-driven setup, use the built-in
[`observability` plugin](/plugins/observability/configuration)
[`observability` plugin](/observability-plugin/configuration)
to install ATOF, ATIF, OpenTelemetry, and OpenInference subscribers from one
plugin component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@ Use these links to continue into adjacent concepts and workflows.
- [NVIDIA NeMo documentation](https://docs.nvidia.com/nemo/index.html)
- [NVIDIA NeMo Agent Toolkit documentation](https://docs.nvidia.com/nemo/agent-toolkit/latest/)
- [NVIDIA NeMo Guardrails documentation](https://docs.nvidia.com/nemo-guardrails/index.html)
- [Integrate into Frameworks](/integrate-frameworks/about)
- [Adding Framework Scopes](/integrate-frameworks/adding-scopes)
- [Wrapping Tool Calls](/integrate-frameworks/wrap-tool-calls)
- [Wrapping LLM Calls](/integrate-frameworks/wrap-llm-calls)
- [Integrate into Frameworks](/integrate-into-frameworks/about)
- [Adding Framework Scopes](/integrate-into-frameworks/adding-scopes)
- [Wrapping Tool Calls](/integrate-into-frameworks/wrap-tool-calls)
- [Wrapping LLM Calls](/integrate-into-frameworks/wrap-llm-calls)
- [Plugin Model](/build-plugins/basic-guide)
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ Use the reading path that matches your task:
| Develop from source | [Development Setup](/contribute/development-setup) |
| Understand the runtime model | [Concepts](/about-nemo-relay/concepts) |
| Instrument an application | [Instrument Applications](/instrument-applications/about) |
| Use a maintained integration | [Supported Integrations](/integrations/about) |
| Integrate a framework | [Integrate into Frameworks](/integrate-frameworks/about) |
| Use a maintained integration | [Supported Integrations](/supported-integrations/about) |
| Integrate a framework | [Integrate into Frameworks](/integrate-into-frameworks/about) |
| Observe a local coding-agent CLI | [NeMo Relay CLI](/nemo-relay-cli/about) |
| Package reusable behavior | [Build Plugins](/build-plugins/about) |
| Export traces or trajectories | [Observability](/plugins/observability/about) |
| Export traces or trajectories | [Observability](/observability-plugin/about) |
| Debug trace incidents | [Trace Incident Runbook](/resources/troubleshooting/trace-incident-runbook) |
| Tune performance with adaptive behavior | [Adaptive](/plugins/adaptive/about) |
| Tune performance with adaptive behavior | [Adaptive](/adaptive-plugin/about) |
| Look up symbols | [APIs](/reference/api) |

## Conceptual Diagram
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,17 @@ Start here when you need to:

If instrumentation is not in place yet, start with
[Instrument Applications](/instrument-applications/about) or
[Integrate into Frameworks](/integrate-frameworks/about).
[Integrate into Frameworks](/integrate-into-frameworks/about).

## Pages

- [Adaptive Configuration](/plugins/adaptive/configuration) documents the full plugin
- [Adaptive Configuration](/adaptive-plugin/configuration) documents the full plugin
component shape, validation, activation, teardown, and whole-plugin settings.
- [ACG](/plugins/adaptive/acg) explains Adaptive Cache Governor configuration and what prompt
- [ACG](/adaptive-plugin/acg) explains Adaptive Cache Governor configuration and what prompt
cache planning accomplishes.
- [Adaptive Hints](/plugins/adaptive/adaptive-hints) explains request hint injection and how
- [Adaptive Hints](/adaptive-plugin/adaptive-hints) explains request hint injection and how
downstream model paths can consume the hints.

State, telemetry, tool parallelism, and policy are whole-plugin configuration
areas. They are documented on [Adaptive Configuration](/plugins/adaptive/configuration) rather
areas. They are documented on [Adaptive Configuration](/adaptive-plugin/configuration) rather
than as separate area pages.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ The top-level adaptive object contains:
| `acg` | Adaptive Cache Governor prompt-cache planning. |
| `policy` | Adaptive-local handling for unknown fields and unsupported values. |

The requested area pages cover [Adaptive Cache Governor (ACG)](/plugins/adaptive/acg) and
[Adaptive Hints](/plugins/adaptive/adaptive-hints). State, telemetry, tool parallelism, and
The requested area pages cover [Adaptive Cache Governor (ACG)](/adaptive-plugin/acg) and
[Adaptive Hints](/adaptive-plugin/adaptive-hints). State, telemetry, tool parallelism, and
policy remain whole-plugin settings:

- Use `state.backend.kind = "in_memory"` for local experiments.
Expand Down
8 changes: 4 additions & 4 deletions docs/build-plugins/plugin-configuration-files.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ Observability exporters through `plugins.toml`.

Use the component guides for field-level configuration:

- [Observability Configuration](/plugins/observability/configuration)
- [Adaptive Configuration](/plugins/adaptive/configuration)
- [Adaptive Cache Governor (ACG)](/plugins/adaptive/acg)
- [Adaptive Hints](/plugins/adaptive/adaptive-hints)
- [Observability Configuration](/observability-plugin/configuration)
- [Adaptive Configuration](/adaptive-plugin/configuration)
- [Adaptive Cache Governor (ACG)](/adaptive-plugin/acg)
- [Adaptive Hints](/adaptive-plugin/adaptive-hints)
6 changes: 3 additions & 3 deletions docs/getting-started/agent-runtime-primer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,12 @@ The following pages help you choose the next step for your integration.
- Use [Quick Start](/getting-started/quick-start) for the smallest binding-specific example.
- Use [Instrument Applications](/instrument-applications/about) when you
own the tool or LLM call site.
- Use [Integrate into Frameworks](/integrate-frameworks/about) when a
- Use [Integrate into Frameworks](/integrate-into-frameworks/about) when a
framework owns invocation, scheduling, retries, callbacks, or provider
payloads.
- Use [Build Plugins](/build-plugins/about) when behavior should be
reusable and activated from configuration.
- Use [Observability](/plugins/observability/about) when you need to export
- Use [Observability](/observability-plugin/about) when you need to export
runtime events to ATIF, OpenTelemetry, or OpenInference.
- Use [Adaptive](/plugins/adaptive/about) after baseline instrumentation is
- Use [Adaptive](/adaptive-plugin/about) after baseline instrumentation is
working and you want to tune behavior from observed runtime signals.
6 changes: 3 additions & 3 deletions docs/getting-started/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ Interchange Format (ATIF) exporters, OpenTelemetry subscribers, and
OpenInference subscribers can be configured directly through binding-native
config objects. Use the built-in `observability` plugin when you want one
plugin component to own standard exporter setup and teardown. See
[Observability Configuration](/plugins/observability/configuration)
and [Observability](/plugins/observability/about)
[Observability Configuration](/observability-plugin/configuration)
and [Observability](/observability-plugin/about)
for the supported export paths.

NeMo Relay does not require application-level environment variables for normal
Expand All @@ -58,4 +58,4 @@ deployment manifests.

## Adaptive Setup

Adaptive tuning is enabled through the adaptive plugin component and binding helper APIs. See [Adaptive Configuration](/plugins/adaptive/configuration).
Adaptive tuning is enabled through the adaptive plugin component and binding helper APIs. See [Adaptive Configuration](/adaptive-plugin/configuration).
4 changes: 2 additions & 2 deletions docs/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ openclaw gateway restart

Use the package name `nemo-relay-openclaw` for installation. Use the plugin ID
`nemo-relay` in OpenClaw configuration, inspection, and gateway status commands.
See the [OpenClaw Plugin Guide](/integrations/openclaw-plugin) for
See the [OpenClaw Plugin Guide](/supported-integrations/openclaw-plugin) for
configuration and verification steps.

### Python Framework Integrations
Expand All @@ -90,5 +90,5 @@ uv add "nemo-relay[langchain,langgraph,deepagents]@0.3.0"

The extras install the NeMo Relay Python package plus the dependencies needed by
the maintained public integrations. See
[Supported Integrations](/integrations/about) for guide links and support
[Supported Integrations](/supported-integrations/about) for guide links and support
levels.
2 changes: 1 addition & 1 deletion docs/getting-started/quick-start/nodejs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,4 @@ Use these links to continue from the quick start into the core runtime concepts.

- [Instrument Applications Code Examples](/instrument-applications/code-examples)
- [Subscribers](/about-nemo-relay/concepts/subscribers)
- [Using Codecs](/integrate-frameworks/using-codecs)
- [Using Codecs](/integrate-into-frameworks/using-codecs)
4 changes: 2 additions & 2 deletions docs/getting-started/quick-start/python.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ SPDX-License-Identifier: Apache-2.0 */}

This quick start shows the smallest Python workflow that emits scope, tool, and LLM events.

[LangChain](https://www.langchain.com/langchain), [LangGraph](https://www.langchain.com/langgraph), and [Deep Agents](https://www.langchain.com/deep-agents) users should start with the [LangChain integration](/integrations/langchain), [LangGraph integration](/integrations/langgraph), and [Deep Agents integration](/integrations/deepagents) guides for the best experience in those frameworks.
[LangChain](https://www.langchain.com/langchain), [LangGraph](https://www.langchain.com/langgraph), and [Deep Agents](https://www.langchain.com/deep-agents) users should start with the [LangChain integration](/supported-integrations/langchain), [LangGraph integration](/supported-integrations/langgraph), and [Deep Agents integration](/supported-integrations/deepagents) guides for the best experience in those frameworks.

## Choose an Install Path

Expand Down Expand Up @@ -123,7 +123,7 @@ These modules are the main Python APIs to use from applications and integrations

Use these links to continue from the quick start into the core runtime concepts.

- [Supported Integrations](/integrations/about)
- [Supported Integrations](/supported-integrations/about)
- [Scopes](/about-nemo-relay/concepts/scopes)
- [Middleware](/about-nemo-relay/concepts/middleware)
- [Plugins](/about-nemo-relay/concepts/plugins)
10 changes: 5 additions & 5 deletions docs/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0

navigation:
- folder: ./about
- folder: ./about-nemo-relay
title: "About NeMo Relay"
slug: about-nemo-relay
title-source: frontmatter
Expand All @@ -14,23 +14,23 @@ navigation:
title: "NeMo Relay CLI"
slug: nemo-relay-cli
title-source: frontmatter
- folder: ./integrations
- folder: ./supported-integrations
title: "Supported Integrations"
slug: supported-integrations
title-source: frontmatter
- folder: ./instrument-applications
title: "Instrument Applications"
slug: instrument-applications
title-source: frontmatter
- folder: ./plugins/observability
- folder: ./observability-plugin
title: "Observability Plugin"
slug: observability-plugin
title-source: frontmatter
- folder: ./plugins/adaptive
- folder: ./adaptive-plugin
title: "Adaptive Plugin"
slug: adaptive-plugin
title-source: frontmatter
- folder: ./integrate-frameworks
- folder: ./integrate-into-frameworks
title: "Integrate into Frameworks"
slug: integrate-into-frameworks
title-source: frontmatter
Expand Down
2 changes: 1 addition & 1 deletion docs/instrument-applications/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Use this guide when you need to:
- Wrap calls with timing, routing, retries, or fallback behavior
- Isolate request-specific middleware and subscribers

If the tool or LLM boundary is owned by a framework, use [Integrate into Frameworks](/integrate-frameworks/about) instead.
If the tool or LLM boundary is owned by a framework, use [Integrate into Frameworks](/integrate-into-frameworks/about) instead.

## Guides

Expand Down
2 changes: 1 addition & 1 deletion docs/instrument-applications/advanced-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -223,4 +223,4 @@ Use these links to continue from this workflow into the next related task.

- Use [Middleware](/about-nemo-relay/concepts/middleware) to review execution order.
- Use [Code Examples](/instrument-applications/code-examples) for direct registration and partial-execution examples.
- Use [Handle Non-Serializable Data](/integrate-frameworks/non-serializable-data) if middleware needs to work with framework objects.
- Use [Handle Non-Serializable Data](/integrate-into-frameworks/non-serializable-data) if middleware needs to work with framework objects.
4 changes: 2 additions & 2 deletions docs/instrument-applications/instrument-llm-call.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -241,5 +241,5 @@ Use these links to continue from this workflow into the next related task.

- Instrument tools with [Instrument a Tool Call](/instrument-applications/instrument-tool-call).
- Add policy or transformation with [Add Middleware](/instrument-applications/advanced-guide).
- Use [Provider Codecs](/integrate-frameworks/provider-codecs) when middleware needs normalized LLM request and response data.
- Export events with [Observability](/plugins/observability/about).
- Use [Provider Codecs](/integrate-into-frameworks/provider-codecs) when middleware needs normalized LLM request and response data.
- Export events with [Observability](/observability-plugin/about).
4 changes: 2 additions & 2 deletions docs/instrument-applications/instrument-tool-call.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Complete one binding Quick Start guide first:

Create a scope for the active request or agent run before adding tool instrumentation. If you have not done that yet, start with [Adding Scopes and Marks](/instrument-applications/adding-scopes-and-marks).

The tool arguments and result must be JSON-compatible. If your framework passes clients, sockets, streams, callbacks, or other opaque objects, use [Handle Non-Serializable Data](/integrate-frameworks/non-serializable-data) before you instrument the callback.
The tool arguments and result must be JSON-compatible. If your framework passes clients, sockets, streams, callbacks, or other opaque objects, use [Handle Non-Serializable Data](/integrate-into-frameworks/non-serializable-data) before you instrument the callback.

## Integration Pattern

Expand Down Expand Up @@ -219,5 +219,5 @@ Use these links to continue from this workflow into the next related task.

- Add model-provider instrumentation with [Instrument an LLM Call](/instrument-applications/instrument-llm-call).
- Add policy or transformation with [Add Middleware](/instrument-applications/advanced-guide).
- Export events with [Observability](/plugins/observability/about).
- Export events with [Observability](/observability-plugin/about).
- Use [Code Examples](/instrument-applications/code-examples) for manual lifecycle, streaming, scope, and partial middleware API examples.
Loading
Loading