Skip to content

Forward-merge release/1.4 into develop#1325

Merged
mnajafian-nv merged 63 commits intodevelopfrom
release/1.4
Jan 12, 2026
Merged

Forward-merge release/1.4 into develop#1325
mnajafian-nv merged 63 commits intodevelopfrom
release/1.4

Conversation

@rapids-bot
Copy link

@rapids-bot rapids-bot bot commented Jan 5, 2026

Forward-merge triggered by push to release/1.4 that creates a PR to keep develop up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge. See forward-merger docs for more info.

Upgraded the openpipe-art dependency from 0.5.1 to 0.5.4 across the relevant files. This ensures compatibility with the latest updates and improvements in the package. Adjusted version constraints to use the new release.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Chores**
  * Relaxed a dependency constraint to improve compatibility and allow newer package releases.

* **Documentation**
  * Updated example README: removed an explicit plugin install command and now instructs running the example from a source installation and consulting the installation guide.
  * Simplified another example's install instructions by removing uv-based steps and keeping the standard editable install.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1323
@rapids-bot rapids-bot bot requested review from a team as code owners January 5, 2026 15:45
@rapids-bot
Copy link
Author

rapids-bot bot commented Jan 5, 2026

FAILURE - Unable to forward-merge due to an error, manual merge is necessary. Do not use the Resolve conflicts option in this PR, follow these instructions https://docs.rapids.ai/maintainers/forward-merger/

IMPORTANT: When merging this PR, do not use the auto-merger (i.e. the /merge comment). Instead, an admin must manually merge by changing the merging strategy to Create a Merge Commit. Otherwise, history will be lost and the branches become incompatible.

@coderabbitai
Copy link

coderabbitai bot commented Jan 5, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Jan 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.95%. Comparing base (eb203ce) to head (7dc3350).
⚠️ Report is 72 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1325      +/-   ##
===========================================
- Coverage    75.51%   74.95%   -0.57%     
===========================================
  Files          522      553      +31     
  Lines        35656    38834    +3178     
===========================================
+ Hits         26927    29108    +2181     
- Misses        8729     9726     +997     
Flag Coverage Δ
unittests 74.95% <ø> (-0.57%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

AnuradhaKaruppiah and others added 23 commits January 5, 2026 16:50
Closes nvbug-5762226

This protected a2a server is dependent on  the base `getting_started/simple_calculator`  example. The source path for the base example was needed to allow editable install.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated project dependencies configuration to reference a local source.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1326
Adds framework support matrix in RL docs 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Added a "Supported Agent Frameworks" section showing integration status for LangChain/LangGraph, Google ADK, and LlamaIndex.

* **Chores**
  * Updated accepted vocabulary to include "LlamaIndex" in validation/configuration lists.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

Approvers:
  - David Gardner (https://github.com/dagardner-nv)

URL: #1327
…#1329)

Closes: nvbug-5762296

Added clearer instructions for multi-user testing to prevent users from forgetting to start the required Calculator A2A server before testing.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Documentation**
  * Enhanced setup instructions with explicit multi-user configuration steps for the math assistant example
  * Added verification commands to confirm proper server initialization
  * Updated user interaction examples demonstrating isolated per-user sessions with independent state

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Eric Evans II (https://github.com/ericevans-nv)

URL: #1329
This PR introduces **NASSE (NeMo Agent Safety and Security Engine)** and a full **Retail Agent** example that demonstrates how to proactively assess and improve an agent’s safety/security posture via configurable **red teaming** and **defense middleware**, thus realizing the first implementation  of the framework proposed in A Safety and Security Framework for Real World Agentic Systems https://www.arxiv.org/abs/2511.21990.


## What This PR Adds

### NASSE Red Teaming Framework
End-to-end tooling to **instrument agent workflows**, execute **attack scenarios**, and automatically **evaluate + report** risk:
- **Attack injection** into registered function inputs/outputs (including nested fields via JSONPath)
- **Scenario-based testing** to isolate and understand “weak links” across workflow steps (not just final output)
- **Large-scale evaluation runs** driven by YAML and datasets, with configurable repetitions to account for non-determinism
- **Portable HTML reporting** with overall risk score, attack success rate, per-scenario breakdown, and filtering by safety categories /groups
- **Integrated defenses and mitigations** support for securing the agentic system.

### RedTeamingMiddleware
Workflow interceptor to inject adversarial payloads during execution:
- Target specific **functions or function groups** (or `<workflow>`)
- Inject at **input or output** with configurable placement (replace / append variants)
- Modify specific schema fields using **JSONPath**
- Control delivery via **call limits** and field-resolution strategies

### RedTeamingEvaluator
LLM-judge based evaluation of attack success:
- Configurable **judge prompt** and **scenario-specific instructions**
- Evaluate at **specific workflow points** (e.g., overall workflow output or intermediate function outputs)
- Returns **0.0–1.0 score** with reasoning with support for reduction strategies when multiple steps match

### RedTeamingRunner
YAML-driven orchestration of scenario suites:
- Runs all scenarios (middleware + evaluator + metadata)
- Produces a detailed **HTML report** summarizing quantitative findings for analysis

### Defense Middleware
Pluggable mitigation layer to harden agent workflows by intercepting inputs/outputs/steps:
- **PII Defense**: detect and redact/sanitize sensitive entities (optional third party dependencies)
- **Content Safety Guard**: guard-model checks (NIM or Hugging Face) to block/sanitize/log unsafe content
- **Rule-based / LLM Output Verifier**: policy enforcement  and verification using tool descriptions/inputs/outputs
- Supports action modes: **redirection**, **refusal**, **partial_refusal**
- Can be applied at **workflow**, **function group**, or **specific function** scope

### Retail Agent Example
A realistic ReAct-style customer service agent (“GreenThumb Gardening Equipment”) used to demonstrate NASSE:
- Mocked email/database operations for safe sandbox execution
- Includes runnable configs for:
  - base workflow execution
  - red teaming runs and report generation
  - defended workflow configuration
  - red teaming against the defended workflow for before/after comparison

### Optional Dependencies
- Hugging Face content safety guard model support (`.[huggingface]`)
- NVIDIA NIM content safety guard model support 
- PII defense support via Presidio (`.[pii-defense]`)

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Red-team CLI and multi-scenario runner with HTML reporting; new red‑teaming evaluator and configurable defense middlewares (PII, content safety, output verifier, red‑teaming attacks); local HuggingFace LLM provider with LangChain support; retail agent example with tools, configs, and integration tests.

* **Documentation**
  * Comprehensive retail agent README detailing red‑teaming, defenses, and reporting.

* **Tests**
  * Extensive new test suites covering evaluators, filters, runners, middleware, LLM providers, and retail agent integration.

* **Bug Fixes**
  * Minor config/format cleanup and typo corrections.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Eric Evans II (https://github.com/ericevans-nv)
  - https://github.com/zterek
  - https://github.com/kshiarl1
  - Soumili Nandi (https://github.com/soumilinandi)
  - https://github.com/lvojtku
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)
  - Matthew Penn (https://github.com/mpenn)
  - David Gardner (https://github.com/dagardner-nv)
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)
  - Yuchen Zhang (https://github.com/yczhang-nv)
  - Stephanie Jarmak (https://github.com/sjarmak)
  - https://github.com/shaonag

Approvers:
  - Bryan Bednarski (https://github.com/bbednarski9)
  - https://github.com/Salonijain27

URL: #1262
Closes #1292 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added a configurable "description" option for the sequential executor (defaults to "Sequential Executor Workflow"), exposed as a public configuration field.

* **Documentation**
  * Updated sequential executor docs and example README to document the new description configuration option.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Patrick Chin (https://github.com/thepatrickchin)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1293
This PR adds two error handling mechanisms to the sequential executor:
1. **return_error_on_exception config option** - When enabled, catches exceptions and returns the error message as the workflow output instead of re-raising, allowing the error to be displayed in the UI.
1. **SequentialExecutorExit exception** - A special exception that tools can raise to explicitly exit the chain early with a custom message. This is always handled regardless of the `return_error_on_exception` setting.

Closes #1288 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added return_error_on_exception configuration to control whether tool errors return an error message or raise an exception.
  * Added SequentialExecutorExit to allow tools to trigger intentional early termination with a custom message.

* **Documentation**
  * Updated docs and examples to include the new option, defaults, usage guidance, and an Exceptions section describing early-exit semantics.

* **Tests**
  * Added tests covering error-return behavior and early-exit flows.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Patrick Chin (https://github.com/thepatrickchin)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1289
…1331)

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated project dependencies to enable optional additional features through enhanced dependency configuration.
  * Applied minor formatting improvements to project manifest.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1331
**This is a breaking change to NeMo Agent Toolkit.**

Changes the function group namespace separator from `.` to `__`.

This was done primarily to resolve any conflicts with external libraries only supporting a subset of characters for tool calls regardless of how they were exposed (MCP, A2A, Tools).

This PR also strengthens the validation of Functions and Function Groups naming, as well as strengthening name collision detection for shared and per-user function groups.

To aid review:
- `docs` -- changing `.` to `__`
- `examples` -- changing `.` to `__`
- `tests` -- changing `.` to `__`
- `src/nat/middleware/dynamic/dynamic_function_middleware.py` -- changing `.` to `__`
- `src/nat/builder` -- improvements to builder, requires more extensive review
- `packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/front_end_plugin_worker.py` -- changing skill name string replacement

Closes #1129 
Closes #1215 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Function naming changed from dot (.) to double-underscore (__) across the product; legacy names resolved with deprecation warnings for compatibility.

* **Documentation**
  * All docs, examples, notebooks, CLI samples, and diagrams updated to the new naming convention.

* **Tests**
  * Test fixtures and expectations adjusted to reflect the new names.

* **Bug Fixes**
  * Stricter validation added to prevent name collisions between functions and function groups.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

URL: #1328
**Summary**
Refactored MCP frontend/server code from the core nvidia-nat package to the nvidia-nat-mcp package, following the same structure as the nvidia-nat-a2a package. 

**Dependencies**
This change removes the MCP SDK dependency from core and upgrades from MCP 1.13/1.14 to 1.25.

**New Directory structure**
```
packages/nvidia_nat_mcp/src/nat/plugins/mcp/
├── client/              # Client code (moved from top level)
│   ├── client_base.py
│   ├── client_config.py
│   └── client_impl.py
├── server/              # Frontend/server code (moved from src/nat/front_ends/mcp/)
│   ├── front_end_config.py
│   ├── front_end_plugin.py
│   ├── front_end_plugin_worker.py
│   ├── introspection_token_verifier.py
│   ├── memory_profiler.py
│   ├── register_frontend.py
│   └── tool_converter.py
├── auth/                # Auth code (unchanged)
├── tool.py              # MCP tool wrapper (unchanged)
└── utils.py             # Shared utilities (unchanged)

tests/nat/mcp/  
├── client/              # Client tests 
└── server/              # Server/frontend tests 
```

**Breaking changes**
1. This PR also drops the mcp_tool_wrapper function. I had put out a deprecation notice in the previous release recommending migration to mcp_client. Since then additional enhancements/fixes have been done to mcp_client which are not available in the depreceated mcp_tool_wrapper.
2. Folks using a custom MCP frontend worker will need to change the import path to `nat.plugins.mcp.server.front_end_plugin_worker.MCPFrontEndPluginWorker` from the previous `nat.front_ends.mcp.mcp_front_end_plugin_worker.MCPFrontEndPluginWorker`

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added MCP server registration entry point for plugin integration.

* **Chores**
  * Bumped MCP dependency to a newer compatible version and removed an older root dependency.
  * Added plugin entry point for server frontend.
  * Internal package/module reorganization and import relocations (non-functional).

* **Documentation**
  * Consolidated MCP docs to emphasize mcp_client usage; removed mcp_tool_wrapper examples and updated examples/notebooks.

* **Tests**
  * Updated tests to align with relocated modules and imports.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - https://github.com/Salonijain27
  - David Gardner (https://github.com/dagardner-nv)

URL: #1332
Update GitHub Actions version from v4 to v6

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated continuous integration workflow dependencies.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/mnajafian-nv

URL: #1334
Integration with the Microsoft AutoGen python SDK via a new framework integration (packages/nvidia_nat_autogen) and a new multi-agent example (examples/frameworks/nat_autogen_demo). Framework integration supports llm, callback_handler, and tool_wrapper integration. Integration tests for NIM and OpenAI. Unit tests for all. Simple example can be extended upon in the future.
Closes
Closes: #419, #122 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * AutoGen integration enabling multi-agent workflows and multiple LLM providers
  * Built-in weather/time tool and an example multi-agent demo app
  * Runtime observability hooks for AutoGen telemetry

* **Documentation**
  * Comprehensive AutoGen example docs and configuration samples

* **Tests**
  * Extensive unit and integration tests covering AutoGen instrumentation, LLM wrappers, and tool invocation

* **Chores**
  * Packaging and manifest updates to include AutoGen components and workspace entries

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Bryan Bednarski (https://github.com/bbednarski9)
  - Onkar Kulkarni (Old) (https://github.com/onkark-snps)
  - Sangharsh Aglave (https://github.com/saglave)
  - https://github.com/bbhargava

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1330
As the Per-user function feature ([PR-1206](#1206)) becomes available, the `MCPClient` component can be initialized per-user so every user gets their own separate instance. Thus the `MCPClient` implementation can be significantly simplified (`PerUserMCPClient` in this PR) by removing the session management and `default_user_id` (since users will get themselves authenticated lazily upon the first request).

Note that the `PerUserMCPClient` only works with per-user workflow. This requires updating any existing workflow that's not per-user to be registered with `@register_per_user_function`. To making it a smooth migration, the previous implementation was kept in this PR and a migration guide is provided.

This PR needs to be merged after [PR-1206](#1206).

Closes AIQ-2507

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

## Release Notes

* **New Features**
  * Added support for per-user MCP authentication, enabling multi-user isolation and per-user workflow execution.

* **Documentation**
  * Added comprehensive guidance for running per-user workflows with MCP authentication, including setup instructions and environment configuration steps.

* **Examples**
  * Added per-user configuration examples for Kaggle and Jira integrations with multi-user server support and OAuth authentication.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Yuchen Zhang (https://github.com/yczhang-nv)

Approvers:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

URL: #1253
This PR implements a `FastAPI` endpoint for monitoring resource usage of multiple users when using the per-user mode of workflow initialization.

Closes AIQ-2547

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added a /monitor/users endpoint for real-time per-user workflow monitoring (disabled by default via new config flag).

* **Documentation**
  * Added Per-User Workflow Monitoring docs with enablement steps, config sample, endpoint details, query params, and response examples.
  * Updated sample request examples to use a chat-style messages array (role + content).

* **Tests**
  * Added integration tests for endpoint availability, response shape, filtering, active-user metrics, and error tracking.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Yuchen Zhang (https://github.com/yczhang-nv)
  - https://github.com/mnajafian-nv
  - Bryan Bednarski (https://github.com/bbednarski9)
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)
  - David Gardner (https://github.com/dagardner-nv)
  - Patrick Chin (https://github.com/thepatrickchin)
  - Matthew Penn (https://github.com/mpenn)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1280
Adds new function types and capability to automatically wrap langgraph code.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Run existing LangGraph agents via a new wrapper workflow; configurable LLMs, telemetry, and evaluation.
  * Synchronous Builder API and sync accessors on builders for synchronous usage.

* **Bug Fixes**
  * Conditional dataset deduplication when ID absent.
  * Improved profiling to capture more tool-call formats.
  * Callback handler serialization support.

* **Documentation**
  * New guides, examples, and reorganized workflow docs (including a notebook).

* **Chores**
  * Added external submodule, enabled recursive CI submodule checkout, and workspace/allowlist/vocab updates.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Michael Demoret (https://github.com/mdemoret-nv)
  - Will Killian (https://github.com/willkill07)
  - Bryan Bednarski (https://github.com/bbednarski9)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)
  - https://github.com/mnajafian-nv

URL: #1322
Closes #1297 

**Summary**
Saves the complete evaluation configuration (including command-line overrides) to the output directory for reproducibility and debugging purposes.

**What's New**
Running nat eval now automatically saves three configuration files to the output directory:
- config_original.yml - The original configuration file before any modifications
- config_effective.yml - The final configuration with all --override flags applied
- config_metadata.json - Metadata including all CLI arguments (--dataset, --reps, --endpoint, etc.) and timestamp

**Notes**

- Configuration files are saved automatically during evaluation (no action required)
- For remote workflow evaluation (--endpoint), configs capture evaluation settings but not the remote workflow configuration

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Evaluation runs now save three configuration outputs: original configuration, effective configuration, and a metadata file for improved reproducibility and post-run visibility.

* **Documentation**
  * Evaluation artifacts docs updated to list four output categories — workflow, configuration, evaluator, and profiler observability outputs — with notes on reproducibility and endpoint-specific considerations.

* **Tests**
  * Added tests verifying configuration files, metadata contents, and related logging across scenarios.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Bryan Bednarski (https://github.com/bbednarski9)
  - https://github.com/mnajafian-nv

URL: #1336
* `tzdata` is needed for the `current_datetime` tool
* Remove echo statement which directed users to non-existent documentation 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated Docker image build to include timezone data support.
  * Simplified build notification messaging.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1337
Refined paths to config files, added navigation guidance, and clarified assumptions about the execution environment. These changes ensure a smoother setup and execution flow for users running the examples.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Updated finetuning example guides with clearer installation and setup instructions.
  * Switched examples to be runnable from the repository root (no directory changes required).
  * Replaced local directory install/run steps with direct invocation commands.
  * Updated evaluation and finetune command examples to reference example-specific config locations.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - https://github.com/mnajafian-nv

URL: #1338
Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated LangChain ecosystem dependencies to latest compatible versions for improved stability and compatibility.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/Salonijain27
  - David Gardner (https://github.com/dagardner-nv)

URL: #1333
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Michael Demoret (https://github.com/mdemoret-nv)

URL: #1339
To prevent package conflicts, update the `nvidia-nat-all` and `nvidia-nat[all]` packages.

Also updates documentation.

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added support for Microsoft AutoGen, Amazon Bedrock Strands, A2A (Agent2Agent) and initial NVIDIA Dynamo integration.

* **Documentation**
  * Expanded AutoGen framework docs and Framework Capabilities matrix.
  * Clarified installation notes for optional extras and explicit conflict guidance.
  * Updated roadmap, acknowledgements, and external projects to reflect new integrations.

* **Chores**
  * Removed/commented conflicting optional packages from the meta-package and corrected AutoGen naming.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - David Gardner (https://github.com/dagardner-nv)
  - Michael Demoret (https://github.com/mdemoret-nv)

URL: #1340
…erate endpoints (#1291)

Closes #1290 

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added per-user workflow monitoring (GET /monitor/users) and a new enable_per_user_monitoring option.
  * Added return_error_on_exception option for sequential executor behavior and documented a new SequentialExecutorExit for intentional early termination.

* **Documentation**
  * Updated docs and examples to use double-underscore tool names (e.g., calculator__add).
  * Multiple guides and examples updated for per-user/multi-user workflows and configuration.

* **Chores**
  * Expanded accepted vocabulary and updated path allowlist entries in tooling checks.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Patrick Chin (https://github.com/thepatrickchin)
  - Will Killian (https://github.com/willkill07)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1291
Closes #1229 

This PR implements a CLI plugin discovery system using Python entry points that allows plugin packages to register their own CLI commands. This removes plugin-specific commands from the core nvidia-nat package and moves them to their respective plugin packages (nvidia-nat-mcp and nvidia-nat-a2a).

- Created plugin discovery system (src/nat/cli/plugin_loader.py) that discovers CLI commands from the nat.cli entry point group
- Moved MCP commands to packages/nvidia_nat_mcp/src/nat/plugins/mcp/cli/
- Moved A2A commands to packages/nvidia_nat_a2a/src/nat/plugins/a2a/cli/
- Registered commands via entry points in each plugin's pyproject.toml
- Updated core entrypoint to use plugin discovery instead of explicit imports
- Added comprehensive tests for the plugin discovery mechanism
- Updated documentation with CLI plugin development guide

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * CLI now auto-discovers and loads plugin-provided commands so additional commands (e.g., A2A, MCP) appear at runtime when plugins are installed.

* **Documentation**
  * Added a CLI Command Plugins guide covering creation, registration, installation, discovery, troubleshooting, and best practices (duplicate content consolidated).

* **Tests**
  * Added tests covering plugin discovery, successful loads, error handling, and integration checks for plugin commands.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - https://github.com/mnajafian-nv
  - Elvin (https://github.com/elvinagam)

URL: #1341
This PR updates the Safety and Security Engine README to avoid possessive forms on inanimate objects. Also removes outdated entries from the Vale vocabulary accept list to enforce proper usage of `args`/`kwargs` in documentation.
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Updated retail agent README: wording normalized for consistent references, minor phrasing tweaks, and inline code formatting applied to JSONPath mentions for clarity.

* **Chores**
  * Cleaned internal style vocabulary by removing obsolete accepted terms; no functional or behavioral changes for users.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Eric Evans II (https://github.com/ericevans-nv)

Approvers:
  - https://github.com/mnajafian-nv

URL: #1344
dagardner-nv and others added 24 commits January 8, 2026 16:16
* While investigating #1294 and #1300 I noticed Weave was emitting a warning about being unable to import it's own plugin for autogen. Bumping the weave version resolves this issue along with #1300.

Closes #1300

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated a project dependency to a newer stable version.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - https://github.com/Salonijain27

URL: #1363
… to remote datasets (#1361)

This PR simplifies the SWE-bench example by removing unused code and improving the dataset loading approach.

**Changes**
1. Remove unmaintained predict_full predictor
- Deleted the predict_full predictor directory and all associated tools (git_tool.py, ast_tool.py, etc.)
- Removed SweBenchPredictorFullConfig from config schema
- Updated documentation to reflect available predictors (gold and skeleton)
- Cleaned up unused tool registrations

2. Migrate to HuggingFace remote datasets
- Updated config_gold.yml and config_skeleton.yml to use parquet datasets from HuggingFace
- Removed locally stored JSON dataset files from the repository
- Updated README with examples for loading datasets directly from hf://datasets/princeton-nlp/SWE-bench_Lite/
- Users now get the latest dataset versions automatically without manual downloads

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Updated SWE-Bench docs and examples to use HuggingFace Parquet datasets (hf://) instead of local JSON; adjusted config examples and wording.

* **Bug Fixes**
  * Removed stale Git LFS pointer metadata from dataset files.

* **Chores**
  * Removed the deprecated "full" predictor and its associated tooling; retained "skeleton" and "gold" predictors and simplified tool registrations.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - David Gardner (https://github.com/dagardner-nv)

URL: #1361
Follow-up PR of [PR-1353](#1353). Function names changed from using dots (.) to double underscores (__) as separators. (e.g. `mcp_client.<tool>` -> `mcp_client__<tool>`)

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Bug Fixes**
  * Tool not-found errors now include available tool keys for easier troubleshooting.
  * Tool schema retrieval is more resilient, falling back gracefully when primary schema access fails.

* **Refactor**
  * Unified tool-name formatting and lookup to use a single separator for consistent identification.

* **Tests**
  * Updated tests to align with the new separator-based naming and lookup behavior.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Yuchen Zhang (https://github.com/yczhang-nv)

Approvers:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

URL: #1359
…1369)

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated langchain and langchain-nvidia-ai-endpoints dependencies to latest compatible versions
  * Updated semantic-kernel dependency to latest compatible version
  * Refreshed transitive dependencies for improved compatibility

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/Salonijain27
  - David Gardner (https://github.com/dagardner-nv)

URL: #1369
**Summary**
Consolidates the three A2A examples into a clearer structure that separates examples by authentication requirements, addressing user confusion about which examples work together.

**Changes**
Before:
- calculator_a2a - Protected server (NOT standalone, requires separate setup)
- currency_agent_a2a - Standalone workflow
- math_assistant_a2a - Standalone workflow with two config options (auth and no-auth)

After:
- currency_agent_a2a - Standalone workflow (no auth)
- math_assistant_a2a - Standalone workflow (no auth)
- math_assistant_a2a_protected - Complete (Standalone)  OAuth2 example (server + client)

Consolidated OAuth2 Example: Combined calculator_a2a protected server and math_assistant_a2a OAuth2 client into a single math_assistant_a2a_protected example with comprehensive documentation

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added an OAuth2-protected Math Assistant A2A example demonstrating protected server-client flows, per-user isolation, and JWT-based access.

* **Documentation**
  * Reorganized and expanded A2A docs: clearer overview, setup, troubleshooting, multi-user flow, and updated cross-links to the protected example.
  * Removed an outdated calculator README and consolidated OAuth2 guidance into the protected example.

* **Chores**
  * Registered the new protected example in project packaging and examples list.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - Eric Evans II (https://github.com/ericevans-nv)
  - David Gardner (https://github.com/dagardner-nv)

URL: #1368
…nagers (#1371)

The PR fixes a bug that causes an error when defining a langgraph agent as an async context manager. 




Closes #1370


## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Enhanced workflow to support graphs that are async context managers during invocation and streaming operations.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - https://github.com/gfreeman-nvidia

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1371
## Description

Closes: nvbugs-5789819

### Fix: Fail-fast on training cancellation and validate LLM endpoints
before eval

Adds fail-fast error handling when training jobs are canceled/failed and
validates LLM endpoints before starting evaluation to prevent cryptic
404 errors.

When a finetuning job gets canceled (e.g., timeout at 93.3% progress),
the current behavior:
- Logs cancellation as status update but doesn't raise error
- Attempts to deploy a non-existent model
- Evaluation starts and fails with "404 page not found" mid-run

This wastes user time debugging unclear errors.

1. Fail-fast on training failure: Raise `RuntimeError` immediately when
training status is `CANCELED` or `FAILED` with actionable error messages
2. Pre-validation: Check LLM endpoints are reachable before starting
eval workflow
3. Better error messages: Include troubleshooting steps in error output

### Changes
- `trainer_adapter.py` - Added explicit error handling for
canceled/failed training jobs
- `evaluate.py` - Integrated LLM validation before workflow execution  
- `llm_validator.py` (new) - Validates OpenAI-compatible endpoints and
catches 404s early
- `test_llm_validator.py` (new) - 11 tests covering validation scenarios

### Testing
-  All new tests pass (11/11)
-  No linter errors
-  Tested scenario: canceled training → immediate error with guidance

### Notes
- Related: PR #1350 (merged) improved status logging; this adds
fail-fast behavior
- Target: `release/1.4`
- No breaking changes


## By Submitting this PR I confirm:
- I am familiar with the [Contributing
Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This
certifies that the contribution is your original work, or you have
rights to submit it under the same license, or a compatible license.
- Any contribution which contains commits that are not Signed-Off will
not be accepted.
- When the PR is ready for review, new or existing tests cover these
changes.
- When the PR is ready for review, the documentation is up to date with
these changes.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Opt-in LLM endpoint validation before evaluations via a new config
flag (defaults off). Batched async checks with actionable messages;
fatal on unreachable endpoints.

* **Bug Fixes**
* Improved training terminal-state handling: explicit errors for
FAILED/CANCELED when deployment expected, clearer deployment logs, and
safer non-deploy paths.

* **Tests**
* Comprehensive tests for endpoint validation across providers, 404 vs
other errors, timeouts, parallel execution, and messaging.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: mnajafian-nv <mnajafian@nvidia.com>
Co-authored-by: Will Killian <2007799+willkill07@users.noreply.github.com>
…ct.toml` (#1373)

I wanted to make sure that we had all examples in the root pyproject.toml. This PR ensures it.

It also fixes a bug with the config_inheritance example.

Additionally, the examples README has been restructured to reflect the composition of the toolkit with grouped sections.

This is the command I ran to give the names:
```bash
find examples -name pyproject.toml -exec dirname {} \; | \
  grep -v documentation_guides | \
  xargs -n1 -I{} bash -c 'echo "nat_`basename {}` = { path = \"{}\", editable = true }"' | \
  sed 's/^nat_nat_/nat_/' | \
  sort
```

I then got the examples list with a similar command:
```bash
find examples -name pyproject.toml -exec dirname {} \; | \
  grep -v documentation_guides | \
  xargs -n1 -I{} bash -c 'echo "  \"nat_`basename {}`\","' | \
  sed 's/^nat_nat_/nat_/' | \
  sort
```

I also added `.coderabbit.yaml` rules so we should not get out-of-sync in the future.




Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Expanded catalog of example applications with many new "nat_" variants.

* **Documentation**
  * Major reorganization and expansion of the examples README for clearer navigation and new topical sections.
  * Added Auto Memory Wrapper Agent example and links to its component docs.

* **Chores**
  * Packaging metadata updated to register and reorder the expanded example set; several example names standardized and paths adjusted.

* **Issues**
  * Duplicate instruction entries were accidentally introduced.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/mnajafian-nv
  - David Gardner (https://github.com/dagardner-nv)

URL: #1373
)

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Chores**
  * Bumped werkzeug from 3.1.4 to 3.1.5 to keep compatibility and security patches up to date.
  * Added/updated urllib3 entry to ensure networking stability.
  * Upgraded langchain from 1.2.2 to 1.2.3 for improved library fixes and reliability.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/Salonijain27
  - https://github.com/mnajafian-nv

URL: #1375
- Add a configurable time for `WebSocketAuthenticationFlowHandler`
- Add monkeypatch timeout for `test_llm_validator.py:TestTimeoutAndParallelValidation`
- Reduce recompute logic for `test_semantic_kernel_handler_tool_call`
- Reduce sleep times intelligently in several tests

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Configurable WebSocket authentication timeout.
  * PKCE parameters in OAuth2 flows are now optional.

* **API Changes**
  * OpenID Connect scheme field renamed to open_id_connect_url.
  * Credential kind exposed as a typed enum for credential declarations.

* **Tests & Chores**
  * Test suite timing reduced and stabilized (shorter sleeps, timeout tweaks); some slow tests marked.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - David Gardner (https://github.com/dagardner-nv)

URL: #1378
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Chores**
  * Use the release/tag value as the canonical version for nightly and tagged CI runs to simplify versioning.
  * Export and propagate the resolved version consistently through the release workflow.
  * Improved error handling and reporting in automated version resolution for clearer diagnostics.
  * Increased CI Test job timeout from 30 to 60 minutes to accommodate longer-running tests.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1376
This PR addresses a bug in the /external/dynamo startup scripts for unified and disaggregated serving that was preventing the router from starting up. Router used deprecated python methods from a previous version of NVIDIA dynamo that are not supported in Dynamo 0.6.1 (docker image nvcr.io/nvidia/ai-dynamo/sglang-runtime:0.6.1). Removing these deprecated pycls from the dynamo components allows startup.

We also extend the timeout period for API model cold start from 1.5 to 15 minutes to account for potential increased API cold start latency (early exit when /health GET endpoint is up). We have also bumped up the max timeout period for worker initialization from 2 to 5 minutes with early exit.

I have also added polling with exponential backoff to the startup of generalized/router.py, updated copywrite/license years, and the demo instructions.
Closes


## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Expanded setup and download docs with a Python venv workflow, new model-download steps, metrics CSV appendix, KV-overlap routing guidance, and clearer startup paths.

* **Bug Fixes**
  * Improved startup readiness and validation with ETCD-backed worker registration, model-directory checks, endpoint probing, and extended timeouts for large models.

* **New Features**
  * Frontend accepts configurable model-path mappings; router adds KV-overlap fallbacks and tolerates missing metrics while preserving CSV tracing.

* **Chores**
  * Activated example GPU device list, added router metrics CSV setting, and bumped runtime image versions.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Bryan Bednarski (https://github.com/bbednarski9)

Approvers:
  - https://github.com/mnajafian-nv

URL: #1357
This PR removes the hard LangChain dependency from the core Hugging Face LLM provider, allowing it to load and operate without requiring LangChain to be installed. LangChain-specific functionality has been moved into the nvidia_nat_langchain plugin, while the core provider now exposes a lightweight interface for accessing cached model data, improving modularity and keeping the provider framework-agnostic. Optional Hugging Face dependencies have been updated accordingly, documentation has been refreshed to reflect the new structure, and the change is fully backward compatible.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * HuggingFace added as a supported LLM provider across the product.

* **Documentation**
  * New HuggingFace setup and configuration guides, updated install notes for a HuggingFace extras pack, and revised example README with runtime and reporting guidance.

* **Improvements**
  * Model loading optimized with caching and reuse for better performance and resource handling.

* **Chores**
  * Updated project dependency declarations to enable HuggingFace integrations.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Eric Evans II (https://github.com/ericevans-nv)
  - Will Killian (https://github.com/willkill07)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - https://github.com/Salonijain27

URL: #1367
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Updated internal code ownership assignments for dataset files.

---

**Note:** This release contains internal governance updates with no user-visible changes.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1379
Fixes incorrect path parsing for editable package installations on Windows. The find_package_root() function was using Path(urlparse(url).path) to extract paths from file:// URLs in direct_url.json, but on Windows this produces malformed drive-relative paths. This change uses urllib.request.url2pathname() instead, which is the stdlib function designed for this exact conversion and correctly handles all platforms.
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed handling of file paths with URL-encoded characters to ensure correct filesystem path resolution.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Eric Evans II (https://github.com/ericevans-nv)

Approvers:
  - David Gardner (https://github.com/dagardner-nv)

URL: #1380
This PR closes a bug caught by QA, that the arm64 build support for the bedrock aws strands demo docker build understandably breaks when run on amd64 machines (excluding Apple silicon multi-architecture support). This PR addresses the bug by adding parallel instruction sets for building to both target architectures with the same Dockerfile.
Closes
NVBug 5792934

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added multi-architecture support for ARM64 and AMD64 in the demo framework
  * Introduced a new environment variable to propagate demo component versioning
  * Improved package installation flow for more reliable local editable installs

* **Documentation**
  * Updated build, run, test, and deploy instructions with architecture-specific guidance and example commands

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Bryan Bednarski (https://github.com/bbednarski9)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1377
…1372)

Closes: nvbugs-5792154

This PR adds documentation and configuration support for using openai models with the LangGraph currency agent.

Additionally the summary of the three a2a examples have been updated to highlight the difference between them:
1. currency_agent_a2a: The toolkit is an a2a client and the example demonstrates interop with a 3rd party a2a server
2. math_assistant_a2a: The toolkit is both a2a client and a2a server
3. math_assistant_a2a_protected: Same as (2) but with oauth2-protected secure communication between the a2a client and a2a server

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Documentation**
  * Rewrote A2A example READMEs to center NVIDIA NeMo Agent Toolkit roles (client/server) and clearer A2A workflows, including OAuth2-protected scenarios.
  * Added API key setup guidance (NVIDIA_API_KEY, OPENAI_API_KEY) with .env examples; removed Google Gemini key instructions.
  * Expanded step-by-step usage, architecture, OAuth2 configuration, per-user flows, and runtime expectations.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1372
The nightly CI ran with this error:
```
tests.nat.llm_providers.test_langchain_agents::test_huggingface_langchain_agent
ValueError: The model has been loaded with `accelerate` and therefore cannot be moved to a specific device. Please discard the `device` argument when creating your pipeline object.
```

This PR resolves that error in addition to the following changes:
- Renaming HuggingFace config field to `dtype` (from deprecated `torch_dtype`) and uses it when loading models.
- Updating LangChain HuggingFace client to avoid passing `device` when accelerate sharding is present, passes `dtype` to pipelines, and wraps `ChatHuggingFace` with an async `_agenerate` using `asyncio.to_thread`.
- Fixing test to now use TinyLlama (newer, small model) for the HuggingFace agent test, and assert response contains “3” instead of just non-empty content.

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

## Release Notes

* **Breaking Changes**
  * Updated HuggingFace LLM configuration parameter name; users may need to update their configuration.

* **Improvements**
  * Enhanced HuggingFace model compatibility with distributed architectures to prevent errors.
  * Added async execution support for HuggingFace LLMs.

* **Documentation**
  * Updated HuggingFace LLM configuration documentation.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/mnajafian-nv

URL: #1382
Explicitly bump `fickling` dependency to 0.1.7

Also bumps `uv.lock` version of numpy to 2.4.1 due to 2.4.0 being yanked

Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Added new project dependency to improve system capabilities.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/mnajafian-nv
  - https://github.com/Salonijain27

URL: #1386
* Move Dask task functions to their own module and update them to be self-contained.
* Be a bit aggressive about deleting variables in the `run_generation` method.
* Ensure that SQLAlchemy's `Session.remove()` is called in the event of an error
* Move `nat.cli.entrypoint.setup_logging` to `nat.utils.log_utils` to be used outside of the CLI.
* Configure logging in Dask tasks when using subprocesses
* Configure uvicorn logging to match NAT
* Log Dask details a bit more verbosely


## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Added asynchronous job generation and a periodic cleanup task runnable via the distributed execution layer.

* **Improvements**
  * Centralized logging setup with consistent timestamp format and propagated log level to server and workers.
  * Exposed configurable worker threading mode (thread vs process) via runtime environment.
  * Server startup now applies effective log settings and enhanced log formatting.

* **Bug Fixes**
  * More robust job lifecycle cleanup with guaranteed resource handling and explicit reporting of expired-job counts.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1374
## Description
Fixes the flaky `test_get_event_loop_called` test that's failing on
arm64 architectures.

The test was expecting `get_running_loop()` to be called exactly once,
but on arm64 it gets called 3 times (vs 1 on amd64). This is due to
pydantic-core's C extensions behaving differently across architectures
during function introspection.

Changed the assertion to check for known values `[1, 3]` instead of
`assert_called_once()`. Added inline comments explaining the
architecture differences so future maintainers understand this is
expected behavior.

**Fixes:** CI Pipeline / Test (arm64, 3.12) failure in #1349

## By Submitting this PR I confirm:
- I am familiar with the [Contributing
Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This
certifies that the contribution is your original work, or you have
rights to submit it under the same license, or a compatible license.
- Any contribution which contains commits that are not Signed-Off will
not be accepted.
- When the PR is ready for review, new or existing tests cover these
changes.
- When the PR is ready for review, the documentation is up to date with
these changes.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Made test validations architecture- and Python-version-aware to reduce
flaky failures across ARM64 and x86_64 hosts.
* Replaced a rigid single-call assertion with configurable call-count
checks per environment and a safer fallback for unknown combos.
* Improved failure messages to clearly explain mismatches and guide
updates when CI behavior changes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: mnajafian-nv <mnajafian@nvidia.com>
The config inheritance example was missing the installation of a required dependent example (simple_calculator). This PR updates the README accordingly.

Additionally, we remove the "project" files for this example, as nothing actually needs installed to demonstrate configuration inheritance. The `uv.lock` file is only updated to remove the now non-existent project.




Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **Chores**
  * Removed the config_inheritance example from the workspace and packaging.
  * Updated internal references and CI allowlist to point to the getting_started/simple_calculator example.
* **Documentation**
  * Updated example README: renamed installation heading to “Install Dependent Workflow,” noted the calculator dependency, and adjusted the install command to use getting_started/simple_calculator.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - https://github.com/mnajafian-nv
  - David Gardner (https://github.com/dagardner-nv)

URL: #1384
- Fix tool wrapping for MCP serve
- Replace mcp_tool_wrapper with mcp_client in autogen example
- Minor updates to autogen example (thanks Bryan!)

Closes nvbugs-5801941

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.



## Summary by CodeRabbit

* **New Features**
  * Updated LLM backend to a newer model for improved responses.
  * Time retrieval now uses a unified MCP-backed time service; workflows aggregate time and weather results.

* **Refactor**
  * Reorganized tool usage into a grouped MCP client for cleaner tool management and metadata handling.
  * Final response agent no longer calls tools and instead formats collected data for users.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - Will Killian (https://github.com/willkill07)
  - Bryan Bednarski (https://github.com/bbednarski9)

Approvers:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

URL: #1387
…analyzer Docker build (#1389)

## Summary
Fixes Docker build failures for the email_phishing_analyzer example on
both MacOS and Linux.

## Issues Fixed
1. **MacOS**: `SSLCertVerificationError` during Docker build when
downloading packages
2. **Linux**: "Too many open files" error during `uv sync
--compile-bytecode`

## Changes
- Install `ca-certificates` package and set
`REQUESTS_CA_BUNDLE`/`SSL_CERT_FILE` environment variables
- Remove `--compile-bytecode` flag from `uv sync` command to prevent
file descriptor exhaustion
- Add troubleshooting section to README documenting these fixes

## Testing
-  Successfully built Docker image on MacOS
-  Container starts and API responds correctly
- All CI checks expected to pass (no Python code changes, only
Dockerfile and README)

## Description
<!-- Note: The pull request title will be included in the CHANGELOG. -->
<!-- Provide a standalone description of changes in this PR. -->
<!-- Reference any issues closed by this PR with "closes #1234". All PRs
should have an issue they close-->
Closes

## By Submitting this PR I confirm:
- I am familiar with the [Contributing
Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This
certifies that the contribution is your original work, or you have
rights to submit it under the same license, or a compatible license.
- Any contribution which contains commits that are not Signed-Off will
not be accepted.
- When the PR is ready for review, new or existing tests cover these
changes.
- When the PR is ready for review, the documentation is up to date with
these changes.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Documentation**
* Added comprehensive troubleshooting section to the email phishing
analyzer guide covering SSL certificate verification, Docker build
failures, and common runtime issues.

* **Bug Fixes**
* Improved SSL certificate configuration in deployment setup to ensure
proper verification during runtime.
  * Fixed Docker build configuration to resolve file descriptor issues.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: mnajafian-nv <mnajafian@nvidia.com>
@mnajafian-nv mnajafian-nv reopened this Jan 12, 2026
…ed (#1381)

* When running a notebook the result of code cells is saved in the notebook this creates two problems:

  1. Bloats the size of the notebook
  2. Potentially leak sensitive user date

This PR aims to prevent output data from being checked into git.
  
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Chores**
  * Added automated clearing of Jupyter notebook output cells through a new pre-commit hook that executes when notebooks are committed
  * Updated notebook cell metadata configuration to adjust display behavior and rendering settings

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #1381
* Replaces older AIQ-era `sample_document.txt`, which appears to be a converted copy of the top-level `README.md` file, with the current contents.
* Fix a bug where the Haystack `DocumentCleaner` cannot accept multiple inputs, by adding a joiner node.
* Fix a bug where the pipeline would fail if there were either no text files or no PDF files in the `data` directory.
* Fix the path to the `data` directory in the YAML file.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing/index.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.




## Summary by CodeRabbit

* **Refactor**
  * Document indexing pipeline now consolidates processing of documents from multiple source types into a unified workflow, reducing the number of separate processing runs required.

* **Chores**
  * Updated example project configuration to use relative file paths for improved portability.
  * Updated sample document assets.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)
  - https://github.com/Salonijain27

URL: #1388
Copy link
Contributor

@bbednarski9 bbednarski9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@mnajafian-nv mnajafian-nv merged commit 6bdf7b2 into develop Jan 12, 2026
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.