nemo_relay.integrations.deepagents#

NeMo Relay integrations for Deep Agents.

Submodules#

Classes#

NemoRelayDeepAgentsCallbackHandler

Bridge Deep Agents LangGraph lifecycle events to NeMo Relay marks.

NemoRelayDeepAgentsMiddleware

Route Deep Agents model/tool calls through NeMo Relay and emit semantic events.

Functions#

add_nemo_relay_integration([kwargs, instrument_subagents])

Receives the keyword arguments for create_deep_agent and returns them with NeMo Relay observability attached.

Package Contents#

class nemo_relay.integrations.deepagents.NemoRelayDeepAgentsCallbackHandler(*args: Any, **kwargs: Any)#

Bases: nemo_relay.integrations.langgraph.callbacks.NemoRelayCallbackHandler

Bridge Deep Agents LangGraph lifecycle events to NeMo Relay marks.

class nemo_relay.integrations.deepagents.NemoRelayDeepAgentsMiddleware(
*,
name: str = 'NemoRelayDeepAgentsMiddleware',
agent_name: str | None = None,
skills: collections.abc.Sequence[str] | None = None,
subagents: collections.abc.Sequence[collections.abc.Mapping[str, Any]] | None = None,
backend_name: str | None = None,
)#

Bases: nemo_relay.integrations.langchain.middleware.NemoRelayMiddleware

Route Deep Agents model/tool calls through NeMo Relay and emit semantic events.

Deep Agents is built on LangChain AgentMiddleware and LangGraph. This middleware keeps the existing NeMo Relay LangChain wrapping behavior, then emits Deep Agents configuration marks.

before_agent(state: Any, runtime: Any) None#

Emit run configuration metadata for sync Deep Agents runs.

async abefore_agent(state: Any, runtime: Any) None#

Emit run configuration metadata for async Deep Agents runs.

nemo_relay.integrations.deepagents.add_nemo_relay_integration(
kwargs: collections.abc.Mapping[str, Any] | None = None,
*,
instrument_subagents: bool = True,
**overrides: Any,
) dict[str, Any]#

Receives the keyword arguments for create_deep_agent and returns them with NeMo Relay observability attached.

Use this helper as create_deep_agent(**add_nemo_relay_integration(...)). It injects Deep Agents-aware middleware at the top level, adds the same middleware to dictionary-style custom subagents that do not inherit parent middleware, and leaves any provided backend unchanged.