Skip to main content

Crate nemo_flow

Crate nemo_flow 

Source
Expand description

§NeMo Flow Core

The core runtime library for the NeMo Flow multi-language agent framework. This crate provides execution scope management, lifecycle event tracking, and middleware pipelines (guardrails and intercepts) for tool and LLM calls.

§Architecture

The runtime is organized around a global context (api::runtime::NemoFlowContextState) that holds all registered middleware (guardrails, intercepts, subscribers) and a scope stack (api::runtime::ScopeStack) that tracks the hierarchical execution context via task-local or thread-local storage.

§Primary Entry Points

Most integrations start with the high-level lifecycle helpers in api:

§Modules

§Middleware Pipeline

Both tool and LLM calls flow through a configurable middleware pipeline:

  1. Request intercepts — transform the request before execution
  2. Sanitize request guardrails — sanitize/normalize the request
  3. Conditional execution guardrails — gate execution (reject if criteria not met)
  4. Execution intercepts — optionally replace the execution function entirely
  5. Sanitize response guardrails — sanitize/normalize the response

All middleware is priority-ordered (ascending) and registered by name for easy addition and removal at runtime.

Modules§

api
Public API for the NeMo Flow runtime.
codec
LLM codec types, traits, and built-in implementations.
error
Error types for the NeMo Flow runtime.
json
JSON utilities for the NeMo Flow runtime.
observability
Optional observability integrations for NeMo Flow Core.
plugin
Generic plugin infrastructure for NeMo Flow runtimes.
registry
Priority-sorted named registry.
stream
Streaming LLM response wrapper.