-
Notifications
You must be signed in to change notification settings - Fork 376
Forward-merge release/1.3 into develop #895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
… match (#893) 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.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 * Clarified MCP transport configuration in client workflow docs: when using Server-Sent Events (SSE), start the MCP server with the --transport sse flag, and ensure the client and server transport types match. Documented that the default transport is streamable-http, requiring an explicit override for SSE to ensure compatibility. This guidance is now included in the MCP client documentation. Authors: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) Approvers: - Will Killian (https://github.com/willkill07) - David Gardner (https://github.com/dagardner-nv) URL: #893
FAILURE - Unable to forward-merge due to an error, manual merge is necessary. Do not use the IMPORTANT: When merging this PR, do not use the auto-merger (i.e. the |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #895 +/- ##
===========================================
+ Coverage 77.06% 77.52% +0.46%
===========================================
Files 444 447 +3
Lines 26635 27047 +412
===========================================
+ Hits 20526 20968 +442
+ Misses 6109 6079 -30
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
## 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 AIQ-1957 - Made the default workflow a react-based workflow - Used `python_safe_workflow_name` instead for the module name - Edited `workflow_commands.py` by replacing `workflow_name` with `package_name`, to ensure imports work (because `package_name` doesn't have `-`) ## 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.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** - Added an echo tool (configurable prefix) and a current_datetime tool to workflows. - Introduced a default NIM LLM using meta/llama-3.1-70b-instruct (temperature 0.0). - Workflows gain LangChain wrapper support and parse-agent response retry set to 3. - **Refactor** - Workflow templates now use a ReAct agent type and reference the NIM LLM and tools. - Generated workflow names/exports now use Python-safe naming conventions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Daniel Wang <[email protected]> Signed-off-by: Zhongxuan (Daniel) Wang <[email protected]> Signed-off-by: Zhongxuan (Daniel) Wang <[email protected]> Co-authored-by: Yuchen Zhang <[email protected]> Co-authored-by: Will Killian <[email protected]>
This PR significantly improves OpenAI Chat Completions API compatibility by fixing response format compliance, and removing unused code. The changes ensure that NAT's OpenAI-compatible endpoints fully adhere to the OpenAI specification for both streaming and non-streaming responses. Closes: #818 A follow-up issue has been created to address accurate calculation and passing of usage statistics from workflows to ChatResponse objects in OpenAI-compatible endpoints: [Issue: 891](#891). ## 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.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 - All responses — including error replies — now include usage statistics (prompt, completion, total tokens). - Refactor - OpenAI-compatible non‑streaming path simplified to return a single JSON response; Content-Type set explicitly for JSON and streaming. - Default model identifier standardized to "unknown-model" in responses. - Compatibility - Streaming chunk roles standardized to an enum-style role; response payloads and tests now include and expect usage metadata. Authors: - Eric Evans II (https://github.com/ericevans-nv) Approvers: - Will Killian (https://github.com/willkill07) URL: #889
Enable optional token storage for MCP OAuth2 with in-memory or external object-store backends (e.g., S3/MinIO), which are persistent and also more secure. Also enabled users to implement their own external object-store interface. Closes AIQ-1965 ## 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.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 - Secure token storage for MCP OAuth2: in-memory default with optional external object-store backing, persistent across restarts, multi-user isolation, automatic refresh, and graceful fallback. - Documentation - Added “Secure Token Storage” guide with examples and deployment guidance; MCP auth docs and index updated to reference it. - Tests - Extensive tests covering token storage backends, key hashing/serialization, provider integration, lazy object-store resolution, and persistence. Authors: - Yuchen Zhang (https://github.com/yczhang-nv) Approvers: - Eric Evans II (https://github.com/ericevans-nv) URL: #883
Cleans up the default configuration + workflow template a little more ## 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.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 - None - Refactor - Simplified generated workflow configuration by removing redundant logging and frontend blocks and a deprecated retry option. - Aligned workflow registration naming to a consistent convention. - Documentation - Added comprehensive docstrings to the workflow and helper to improve clarity and editor hints. - Chores - Cleaned up default config output to reduce noise and simplify generated templates. Authors: - Will Killian (https://github.com/willkill07) Approvers: - Eric Evans II (https://github.com/ericevans-nv) URL: #899
Update the CLI tree based on features since 1.2 release 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.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 CLI reference with new top-level groups: mcp (client, serve), object-store (mysql, redis, s3), and sizing (calc). * Reorganized structure: promoted sizing to top-level; removed nested serve/client subtree from Start workflow. * Adjusted Workflow ordering: “delete” now precedes “reinstall” under Reinstall/Delete. * Updated navigation and anchors for clarity and discoverability. * Content-only changes; no impact on command behavior. Authors: - Will Killian (https://github.com/willkill07) Approvers: - Eric Evans II (https://github.com/ericevans-nv) URL: #900
## 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 1897 **Added**: - `ContextState` fields: `workflow_run_id`, `workflow_trace_id` (`src/nat/builder/context.py`) - Non-zero ID generators & validators for OpenTelemetry-sized IDs (`src/nat/data_models/span.py`) - Workflow start/end event emission with metadata: `workflow_run_id`, `workflow_trace_id`, `conversation_id` (`src/nat/runtime/runner.py`) - Span attributes for correlation: `.workflow.run_id`, `.workflow.trace_id`, `.conversation.id` (`src/nat/observability/exporter/span_exporter.py`) - Tests: `tests/nat/opentelemetry/test_otel_span_ids.py`, `tests/nat/runtime/test_runner_trace_ids.py`, `tests/nat/runtime/test_session_traceparent.py`, updates to `tests/nat/runtime/test_runner.py` **Changed**: - Ensure non-zero 128-bit trace IDs and 64-bit span IDs in OTEL plugin (`packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/otel_span.py`) - Runner establishes workflow-scoped run/trace IDs and resets them on exit (`src/nat/runtime/runner.py`) - Exporter prefers parent/context trace ID; falls back to workflow trace ID and sets correlated attributes (`src/nat/observability/exporter/span_exporter.py`) - `SpanContext` defaults & field validators enforce size/range and non-zero invariants (`src/nat/data_models/span.py`) - Parse/propagate incoming W3C `traceparent` and workflow headers to session/runner (`src/nat/runtime/session.py`, `tests/nat/runtime/test_session_traceparent.py`) **Removed**: - None **Why it matters**: - Consistent cross-span correlation and easier log/trace joins across agents and sub-spans - Fewer broken traces: eliminates zero/invalid IDs, aligns with OpenTelemetry sizing - Improves debugging and fleet-wide reporting via explicit `.workflow.*` and `.conversation.id` attributes - Safer header handling for external callers; preserves upstream traces **Breaking changes / Migrations**: - None **Docs**: - None ## 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.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** * Workflow-level run and trace IDs are created, stored in context, propagated, and emitted with WORKFLOW_START/WORKFLOW_END events. * Incoming HTTP tracing headers (traceparent, workflow-trace-id, workflow-run-id) are parsed into context. * **Improvements** * Span metadata now includes workflow IDs and richer attributes (event type, function info, timestamps, conversation/run IDs). * ID generation and validation tightened to ensure non-zero, correctly sized trace and span IDs; span context ID generation approach updated. * **Tests** * Added tests validating span ID formats, runner trace/run ID behavior, and header parsing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Daniel Wang <[email protected]> Signed-off-by: Zhongxuan (Daniel) Wang <[email protected]>
In the last PR #885 I forgot to add this file to the commit, resulting in the bug still persisting. 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.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 demo module linting configuration to reduce false-positive warnings and streamline code maintenance. - Adjusted imports to align with available tool integrations, preparing the demo for time and weather-related capabilities. - No changes to existing user workflows or features; behavior remains unchanged. - Tests - No test impact identified. - Documentation - No user-facing documentation changes. Authors: - Will Killian (https://github.com/willkill07) Approvers: - Zhongxuan (Daniel) Wang (https://github.com/zhongxuanwang-nv) URL: #901
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.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 * Restructured and expanded the MCP section with clearer hierarchy. * Added a new MCP Client subsection with command usage, examples, and help summaries. * Enhanced Serve documentation with clearer defaults, updated examples, and a note on running workflows via the MCP front end. * Documented options and defaults consistently across client and serve commands, including authentication and JSON output. * Updated examples to reflect default host/port behavior and available endpoints. * Applied minor formatting tweaks for consistency and readability. Authors: - Yuchen Zhang (https://github.com/yczhang-nv) - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) - Zhongxuan (Daniel) Wang (https://github.com/zhongxuanwang-nv) - Eric Evans II (https://github.com/ericevans-nv) - Will Killian (https://github.com/willkill07) Approvers: - Will Killian (https://github.com/willkill07) URL: #903
Update CLI documentation with Optimize command ## 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.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 an “Optimize” section to the CLI reference covering the nat optimize command for hyperparameter and prompt optimization. * Documented key options: --config_file, --dataset, --result_json_path, --endpoint, and --endpoint_timeout. * Included usage examples, including a local configuration invocation. * Clarifies underlying approach and links to the reference guide, improving discoverability for tuning workflows. Authors: - Dhruv Nandakumar (https://github.com/dnandakumar-nv) - Will Killian (https://github.com/willkill07) Approvers: - Will Killian (https://github.com/willkill07) URL: #902
* Exports notebooks to markdown files in a temporary directory, and then runs vale on those * Remove out of date exclusion of the `nv_internal` directory ## 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.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 - Polished example notebooks: corrected wording/capitalization, standardized terminology (e.g., LlamaIndex, FastAPI), improved code/reference formatting, and clarified the GPU sizing notebook intro and notes. - Removed certain in-notebook execution snippets to streamline guidance. - Expanded documentation vocabulary to reduce linting false positives. - Chores - Documentation linting now includes converted notebooks for more comprehensive checks. - Improved robustness of docs checks with clearer error handling and temporary file management. - Added nbconvert to development dependencies to support notebook conversion. Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Will Killian (https://github.com/willkill07) - https://github.com/Salonijain27 URL: #896
Added a note in CONTRIBUTIONS.md mentioning that contributors may need to run `ulimit -n 4096` when building with uv to avoid "Too many open files (os error 24)" errors. ## Breaking Changes None - this is an addition. ## 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.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 an inline troubleshooting note to the setup instructions addressing the “Too many open files (os error 24)” issue and recommending increasing the file descriptor limit (example: ulimit -n 4096 on Linux/macOS) before building; the note is integrated into the primary setup flow. * **Bug Fixes** * Fixed a minor typo in the command example, changing “ulmit” to “ulimit.” Authors: - ノウラ | Flare (https://github.com/nouraellm) Approvers: - Will Killian (https://github.com/willkill07) URL: #897
1. Add a simple utility that provides a `deprecated` decorator 2. Add a deprecation notice for mcp_tool_wrapper - ``` 2025-10-02 23:25:05,415 - nat.utils.decorators - WARNING - mcp_tool_wrapper is deprecated and will be removed in a future release. Reason: This function is being replaced with the new mcp_client function group that supports additional MCP features. ``` ## 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.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 standardized deprecation utilities: a one-time warning helper and a decorator that supports sync/async/generator callables, plus a compatibility alias. - **Chores** - Marked the MCP tool registration path as deprecated and pointed callers to the replacement; existing behavior unchanged aside from advisory warnings. - **Tests** - Added tests ensuring single-warning behavior, message contents, sync/async/generator coverage, metadata validation, and the alias. Authors: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) Approvers: - Will Killian (https://github.com/willkill07) URL: #904
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.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 GPU Cluster Sizing section to the CLI reference covering the nat sizing calc command, modes (online/offline), options, and defaults. - Included detailed usage/help output and option descriptions (e.g., config file, latency/runtime targets, users, GPU count, concurrency, passes, output, endpoint, timeouts). - Provided three example workflows: online metrics collection, offline estimation, and combined runs. - Surfaced the sizing guidance in the Optimize section to highlight this capability. Authors: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) Approvers: - Will Killian (https://github.com/willkill07) URL: #908
* There is now a 1:1 of each package under `packages/` and the list in the doc. Closes #715 ## 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.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 installation options with four new optional extras in the NeMo Agent Toolkit docs: “all” (installs all optional dependencies), “ingestion” (data ingestion), “mcp” (Model Context Protocol), and “profiling” (performance profiling). - Clarified availability under Framework Integrations to help users choose appropriate install profiles. - No changes to functionality or public APIs. Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Will Killian (https://github.com/willkill07) URL: #906
**Session-Aware MCP Client Feature Summary** This PR Implements per-session isolation for MCP clients, allowing multiple users to interact with MCP tools simultaneously while maintaining complete session separation. Doing this: 1. Improves performance and prevents one user's traffic from impacting another user 2. Provides a cleaner AuthAdapter separation between users ``` Function Group (MCPFunctionGroup) ├── Base Client (MCPStreamableHTTPClient) │ └── AuthAdapter (user_id: default_user_id) │ └── Shared Auth Provider (MCPOAuth2Provider) │ └── Cache: {default_user_id: AuthResult} │ └── Session Clients (per session) ├── mcp_client_user_1 (MCPStreamableHTTPClient) │ └── AuthAdapter (user_id: session_1) │ └── Shared Auth Provider (MCPOAuth2Provider) │ └── Cache: {session_1: AuthResult} │ ├── mcp_client_user_2 (MCPStreamableHTTPClient) │ └── AuthAdapter (user_id: session_2) │ └── Shared Auth Provider (MCPOAuth2Provider) │ └── Cache: {session_2: AuthResult} │ └── mcp_client_user_N (MCPStreamableHTTPClient) └── AuthAdapter (user_id: session_N) └── Shared Auth Provider (MCPOAuth2Provider) └── Cache: {session_N: AuthResult} ``` **_Session Lifecycle:_** - Automatic session client creation on first tool call - Configurable maximum session limits to prevent resource exhaustion - Automatic cleanup of inactive sessions based on idle timeout - Session activity tracking for cleanup decisions **_Resource Management:_** - Session limits to prevent resource exhaustion - Configurable idle timeout for automatic cleanup - Cleanup triggers on new session creation when limits are reached - Reference counting to prevent cleanup of active sessions **_Configuration Options_** - max_sessions: Maximum number of concurrent sessions - session_idle_timeout: Time before inactive sessions are cleaned up **_Other Changes_** - MCP client config moved to a separate file - Add docs warnings to ensure the user set their own jira url instead of copy-pasting the sample it the README ## 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.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 - Session-aware MCP client: per-session routing, lifecycle management, and client-level user_id handling for authentication. - Configurable session limits and idle cleanup (max_sessions, session_idle_timeout). - Truncated session IDs in logs for clearer output. - Documentation - Warnings to set CORPORATE_MCP_JIRA_URL to your protected Jira MCP URL. - Added Session Management Configuration docs and updated README examples. - Refactor - MCP client configuration moved to a dedicated configuration module; imports updated. - Tests - Comprehensive session management tests and updated MCP client tests. - Chores - Added aiorwlock dependency. Authors: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) Approvers: - Will Killian (https://github.com/willkill07) - Yuchen Zhang (https://github.com/yczhang-nv) - David Gardner (https://github.com/dagardner-nv) URL: #898
Fixes a test failure in the Haystack Deep Researcher example Closes nvbugs-5557788 ## 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.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 * **Tests** * Updated test setup to reflect the new package namespace, ensuring tests run against the correct modules and configurations. No user-facing behavior changes. * **Chores** * Aligned internal references with the updated package naming for consistency across the project. Authors: - Will Killian (https://github.com/willkill07) Approvers: - Eric Evans II (https://github.com/ericevans-nv) URL: #910
When installing a preleased version of NAT through PyPi, it was impossible for `nat workflow create` to work because `pip` would never use `--pre`. Manually adding `--pre` also didn't work since the version specifier also requires the "patch". This PR properly accounts for prereleases by: - detecting a prerelease - emitting the prerelease version major.minor.patch if required - automatically injecting `--pre` into `pip install` 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.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** * Smarter dependency resolution aligns installed versions with workflow dependencies. * Automatically installs prerelease builds during workflow creation when applicable. * Clearer logs explaining version detection and dependency selection. * **Bug Fixes** * Reduced installation failures by correctly handling prerelease and unversioned dependencies. * **Tests** * Added tests for version detection and prerelease handling to ensure reliable install behavior. Authors: - Will Killian (https://github.com/willkill07) Approvers: - David Gardner (https://github.com/dagardner-nv) URL: #911
* Work around readthedocs/sphinx-autoapi#298 by copying the contents of plugin packages into the staged API tree. Also refactor this logic into a method. * Rename the `span_to_dfw_record` module to `span_to_dfw` this fixes an issue where the `span_to_dfw_record` contained a function of the same name, which was also imported into the package, making the rest of the module difficult to import. * Rename dataflyweel's `Request` class to `ESRequest` as this was conflicting with the `nat.data_models.api_server.Request` class * Fix Sphinx docstring parsing errors such as `**kwargs` in a parameter list is interpreted as a bold open, without a closing `**`. * Add missing `__init__.py` files * Since dataflywheel was not included in v1.2, I'm claiming this to be a non-breaking change. ## 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.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 - Streamlined docs build with dynamic API tree generation, improved path handling, and path logging. - Renamed Elasticsearch request model to ESRequest; updated related components accordingly. - OTLP span redaction exporter now accepts an otlp_kwargs dict instead of variadic kwargs. - Documentation - Standardized docstrings across plugins: kwargs naming, “Example::” formatting, and spacing; no behavioral changes. - Tests - Updated tests to new trace conversion module paths; coverage preserved. - Chores - Added licensing boilerplate to a utilities package initializer. Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Will Killian (https://github.com/willkill07) URL: #909
Add CLI documentation for `nat object-store` 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.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 new “Object Store Commands” section covering the CLI group and its subcommands (MySQL, Redis, S3). * Included usage examples, help outputs, and supported operations (e.g., upload, delete) to guide users through common workflows. * Note: The new documentation content appears twice on the page and will need consolidation in a follow-up. Authors: - Will Killian (https://github.com/willkill07) Approvers: - Yuchen Zhang (https://github.com/yczhang-nv) URL: #907
This PR rewrites most of the example notebooks and enhances the documentation. We also suggest running within Jupyter or Google Colab. 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.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 refreshed example notebooks: Getting Started with NAT, Bringing Your Own Agent, and Adding Tools and Agents (RAG, data visualization, multi-agent/HITL). - **Documentation** - Updated examples README with clearer walkthroughs, Colab/Brev/Jupyter guidance, and local install/run instructions. - **Chores** - Removed legacy/duplicated example packages, outdated notebooks, configs, sample data, and updated project example listings; CI path-ignore and vocabulary accept lists adjusted. - **Bug Fixes** - Fixed a typo in a user-facing error message. Authors: - Will Killian (https://github.com/willkill07) Approvers: - David Gardner (https://github.com/dagardner-nv) URL: #912
Forward-merge triggered by push to release/1.3 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.