Crate nemo_flow#

crate nemo_flow#

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