Restore version 1.5 on develop after forward merge#1324
Restore version 1.5 on develop after forward merge#1324mnajafian-nv merged 2 commits intodevelopfrom
Conversation
Signed-off-by: mnajafian-nv <mnajafian@nvidia.com>
WalkthroughBumps the primary docs version from 1.4 → 1.5 in Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Pre-merge checks✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Fix all issues with AI Agents 🤖
In @docs/source/versions1.json:
- Line 27: Add a single newline character at the end of the file versions1.json
so the file ends with exactly one trailing newline; open the file, ensure the
final closing bracket is followed by a single '\n' (no extra blank lines) and
save the file to comply with the coding guideline requiring JSON files to end
with one newline.
- Around line 2-6: Add a final newline to the JSON file so it ends with a
newline character; open versions1.json and ensure the file that contains the
object with "version": "1.5", "preferred": true, "url": "../1.5/" has a trailing
newline at the end of the file.
🧹 Nitpick comments (1)
docs/source/versions1.json (1)
7-10: Consider explicitly setting"preferred": falsefor version 1.4.The PR description states that version 1.4 should be "marked as no longer preferred." Currently, the
"preferred"field is absent from the version 1.4 entry. While the absence likely defaults tofalse, explicitly including"preferred": falsewould improve clarity and make the intent more obvious.🔎 Proposed change for explicit clarity
{ "version": "1.4", + "preferred": false, "url": "https://docs.nvidia.com/nemo/agent-toolkit/1.4/" },
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/source/versions1.json
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{py,yaml,yml,md,json,toml}
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Indent with 4 spaces, never tabs, and ensure every file ends with a single newline
Files:
docs/source/versions1.json
**/*
⚙️ CodeRabbit configuration file
**/*: # Code Review Instructions
- Ensure the code follows best practices and coding standards. - For Python code, follow
PEP 20 and
PEP 8 for style guidelines.- Check for security vulnerabilities and potential issues. - Python methods should use type hints for all parameters and return values (except for return values of
None,
in that situation no return type hint is needed).
Example:def my_function(param1: int, param2: str) -> bool: pass- For Python exception handling, ensure proper stack trace preservation:
- When re-raising exceptions: use bare
raisestatements to maintain the original stack trace,
and uselogger.error()(notlogger.exception()) to avoid duplicate stack trace output.- When catching and logging exceptions without re-raising: always use
logger.exception()
to capture the full stack trace information.Documentation Review Instructions - Verify that documentation and comments are clear and comprehensive. - Verify that the documentation doesn't contain any TODOs, FIXMEs or placeholder text like "lorem ipsum". - Verify that the documentation doesn't contain any offensive or outdated terms. - Verify that documentation and comments are free of spelling mistakes, ensure the documentation doesn't contain any
words listed in the
ci/vale/styles/config/vocabularies/nat/reject.txtfile, words that might appear to be
spelling mistakes but are listed in theci/vale/styles/config/vocabularies/nat/accept.txtfile are OK.Misc. - All code (except .mdc files that contain Cursor rules) should be licensed under the Apache License 2.0,
and should contain an Apache License 2.0 header comment at the top of each file.
- Confirm that copyright years are up-to date whenever a file is changed.
Common Bugs to Look For - Pydantic models using one of the
SecretStr,SerializableSecretStr, or `OptionalSecretS...
Files:
docs/source/versions1.json
docs/source/**/*
⚙️ CodeRabbit configuration file
docs/source/**/*: This directory contains the source code for the documentation. All documentation should be written in Markdown format. Any image files should be placed in thedocs/source/_staticdirectory.Documentation Categories
Ensure documentation is placed in the correct category:
get-started/: Introductory documentation for new users
get-started/tutorials/: Step-by-step learning guidesbuild-workflows/: Workflow creation, configuration, adding remote MCP tools or A2A agents -run-workflows/: Execution, observability, serving workflows via MCP and A2A protocols -improve-workflows/: Evaluation and optimization guides -components/: Specific component implementations (agents, tools, connectors) -extend/: Custom component development and testing (not core library contributions) -reference/: Python and REST API documentation only -resources/: Project information (licensing, FAQs)
resources/contributing/: Development environment and contribution guidesPlacement rules:
- Component implementations always belong in
components/, notbuild-workflows/2. API documentation belongs only inreference/3. Using remote MCP tools or A2A agents should be placed inbuild-workflows/4. Serving workflows via MCP/A2A should be placed inrun-workflows/
Files:
docs/source/versions1.json
🧠 Learnings (1)
📚 Learning: 2025-12-19T19:52:32.242Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2025-12-19T19:52:32.242Z
Learning: Applies to docs/**/*.md : Use 'NVIDIA NeMo Agent toolkit' as the full name (first use) in document titles, webpage headers, and public descriptions; use 'NeMo Agent toolkit' or 'the toolkit' for subsequent references
Applied to files:
docs/source/versions1.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: CI Pipeline / Check
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1324 +/- ##
========================================
Coverage 75.51% 75.51%
========================================
Files 522 522
Lines 35656 35656
========================================
Hits 26927 26927
Misses 8729 8729
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:
|
Signed-off-by: mnajafian-nv <mnajafian@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 1
Fix all issues with AI Agents 🤖
In @examples/config_inheritance/pyproject.toml:
- Line 15: The dependency "nvidia-nat[langchain]~=1.5" is invalid because
version 1.5 is not on PyPI; update the entry to a real released version (e.g.,
change "nvidia-nat[langchain]~=1.5" to "nvidia-nat[langchain]~=1.3.1") or remove
the line so the workspace editable install (the local editable dependency
referenced later) is the single source of truth; ensure the pyproject.toml no
longer includes the non-existent version constraint.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
examples/front_ends/simple_auth/pyproject.toml (1)
1-3: Add the required SPDX Apache-2.0 header.This file is missing the mandatory SPDX Apache-2.0 header. All source files including
.tomlfiles must start with the standard SPDX Apache-2.0 header with an up-to-date copyright year (2026, since the file is being modified).As per coding guidelines, confirm that the SPDX header is added and copyright years are current.
🔎 Proposed fix: Add SPDX header
+# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [build-system] build-backend = "setuptools.build_meta" requires = ["setuptools >= 64", "setuptools-scm>=8"]examples/frameworks/adk_demo/pyproject.toml (1)
1-2: Update copyright year to include 2026.The file is being modified in 2026, but the copyright year still shows only 2025. Per coding guidelines, copyright years should be updated whenever a file is changed.
🔎 Proposed fix
-## SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +## SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.examples/custom_functions/automated_description_generation/pyproject.toml (1)
1-1: Add required SPDX Apache-2.0 header.This file is missing the required SPDX Apache-2.0 header. As per coding guidelines, all source files matching
**/*.tomlmust start with the standard SPDX Apache-2.0 header template, and copyright years should be confirmed up-to-date whenever a file is changed.🔎 Add SPDX header at the beginning of the file
+# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [build-system]examples/config_inheritance/pyproject.toml (1)
1-1: Missing SPDX Apache-2.0 header.Per coding guidelines, all .toml files must start with the standard SPDX Apache-2.0 header comment. This file is missing the required license header.
🔎 Proposed fix to add the SPDX header
+# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [build-system]As per coding guidelines, all source files including .toml must include the Apache-2.0 header.
🧹 Nitpick comments (2)
examples/evaluation_and_profiling/email_phishing_analyzer/pyproject.toml (1)
12-17: Pre-existing: Indentation uses 2 spaces instead of 4.As per coding guidelines, TOML files should use 4-space indentation. This is a pre-existing issue not introduced by this PR, so it can be addressed separately if desired.
🔎 Optional fix for indentation
dependencies = [ - "nvidia-nat[langchain,phoenix]~=1.5", - "beautifulsoup4~=4.13", - "networkx~=3.4", - "openinference-instrumentation-langchain==0.1.29", + "nvidia-nat[langchain,phoenix]~=1.5", + "beautifulsoup4~=4.13", + "networkx~=3.4", + "openinference-instrumentation-langchain==0.1.29", ]examples/MCP/simple_auth_mcp/pyproject.toml (1)
1-1: Add SPDX Apache-2.0 header for consistency.This example file is missing the SPDX license header that other example files include (e.g.,
examples/A2A/calculator_a2a/pyproject.tomllines 1-14). According to coding guidelines, all.tomlfiles should start with the standard SPDX Apache-2.0 header.🔎 Proposed fix to add SPDX header
+# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [build-system]
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (75)
docs/source/versions1.jsonexamples/A2A/calculator_a2a/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/config_inheritance/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlexamples/front_ends/simple_auth/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlexamples/object_store/user_report/pyproject.tomlexamples/observability/simple_calculator_observability/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.toml
✅ Files skipped from review due to trivial changes (1)
- examples/observability/simple_calculator_observability/pyproject.toml
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/source/versions1.json
🧰 Additional context used
📓 Path-based instructions (7)
**/*.{py,yaml,yml,json,toml}
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Indent with 4 spaces (never tabs) and ensure every file ends with a single newline
Files:
examples/front_ends/simple_auth/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
**/*.{py,js,ts,tsx,jsx,sh,yaml,yml,json,toml,md,mdx,rst}
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
**/*.{py,js,ts,tsx,jsx,sh,yaml,yml,json,toml,md,mdx,rst}: Every file must start with the standard SPDX Apache-2.0 header
Confirm that copyright years are up-to-date whenever a file is changed
All source files must include the SPDX Apache-2.0 header template
Files:
examples/front_ends/simple_auth/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
**/*
⚙️ CodeRabbit configuration file
**/*: # Code Review Instructions
- Ensure the code follows best practices and coding standards. - For Python code, follow
PEP 20 and
PEP 8 for style guidelines.- Check for security vulnerabilities and potential issues. - Python methods should use type hints for all parameters and return values (except for return values of
None,
in that situation no return type hint is needed).
Example:def my_function(param1: int, param2: str) -> bool: pass- For Python exception handling, ensure proper stack trace preservation:
- When re-raising exceptions: use bare
raisestatements to maintain the original stack trace,
and uselogger.error()(notlogger.exception()) to avoid duplicate stack trace output.- When catching and logging exceptions without re-raising: always use
logger.exception()
to capture the full stack trace information.Documentation Review Instructions - Verify that documentation and comments are clear and comprehensive. - Verify that the documentation doesn't contain any TODOs, FIXMEs or placeholder text like "lorem ipsum". - Verify that the documentation doesn't contain any offensive or outdated terms. - Verify that documentation and comments are free of spelling mistakes, ensure the documentation doesn't contain any
words listed in the
ci/vale/styles/config/vocabularies/nat/reject.txtfile, words that might appear to be
spelling mistakes but are listed in theci/vale/styles/config/vocabularies/nat/accept.txtfile are OK.Misc. - All code (except .mdc files that contain Cursor rules) should be licensed under the Apache License 2.0,
and should contain an Apache License 2.0 header comment at the top of each file.
- Confirm that copyright years are up-to date whenever a file is changed.
Common Bugs to Look For - Pydantic models using one of the
SecretStr,SerializableSecretStr, or `OptionalSecretS...
Files:
examples/front_ends/simple_auth/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
examples/**/*
⚙️ CodeRabbit configuration file
examples/**/*: - This directory contains example code and usage scenarios for the toolkit, at a minimum an example should
contain a README.md or file README.ipynb.
- If an example contains Python code, it should be placed in a subdirectory named
src/and should
contain apyproject.tomlfile. Optionally, it might also contain scripts in ascripts/directory.- If an example contains YAML files, they should be placed in a subdirectory named
configs/. - If an example contains sample data files, they should be placed in a subdirectory nameddata/, and should
be checked into git-lfs.
Files:
examples/front_ends/simple_auth/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlexamples/object_store/user_report/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
packages/*/pyproject.toml
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Each package in 'packages/' should contain a 'pyproject.toml' file with a dependency on 'nvidia-nat' or another package with name starting with 'nvidia-nat-'
Files:
packages/nvidia_nat_profiling/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.toml
{pyproject.toml,packages/*/pyproject.toml}
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Package dependencies should use '
=' format with two-digit versions (e.g., '=1.0')
Files:
packages/nvidia_nat_profiling/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.toml
packages/**/*
⚙️ CodeRabbit configuration file
packages/**/*: - This directory contains optional plugin packages for the toolkit, each should contain apyproject.tomlfile. - Thepyproject.tomlfile should declare a dependency onnvidia-nator another package with a name starting
withnvidia-nat-. This dependency should be declared using~=<version>, and the version should be a two
digit version (ex:~=1.0).
- Not all packages contain Python code, if they do they should also contain their own set of tests, in a
tests/directory at the same level as thepyproject.tomlfile.- When adding a new package, that new package name (as defined in the
pyproject.tomlfile) should
be added as a dependency to the nvidia-nat-all package inpackages/nvidia_nat_all/pyproject.toml
Files:
packages/nvidia_nat_profiling/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.toml
🧠 Learnings (16)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: Applies to packages/*/pyproject.toml : Each package in 'packages/' should contain a 'pyproject.toml' file with a dependency on 'nvidia-nat' or another package with name starting with 'nvidia-nat-'
📚 Learning: 2026-01-05T15:46:49.676Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: Applies to packages/*/pyproject.toml : Each package in 'packages/' should contain a 'pyproject.toml' file with a dependency on 'nvidia-nat' or another package with name starting with 'nvidia-nat-'
Applied to files:
examples/front_ends/simple_auth/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
📚 Learning: 2025-11-10T21:26:35.059Z
Learnt from: jiaxiangr
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 974
File: packages/nvidia_nat_all/pyproject.toml:39-39
Timestamp: 2025-11-10T21:26:35.059Z
Learning: In packages/nvidia_nat_all/pyproject.toml, workspace dependencies (nvidia-nat-* plugin packages) should NOT have version constraints because they are managed as workspace dependencies. Version constraints are only applied to the base nvidia-nat package and external dependencies, not to internal workspace packages.
Applied to files:
examples/front_ends/simple_auth/pyproject.tomlexamples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/custom_functions/automated_description_generation/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/compat/aiqtoolkit_zep_cloud/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlexamples/MCP/simple_calculator_mcp/pyproject.tomlexamples/MCP/simple_auth_mcp/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
📚 Learning: 2025-12-02T19:36:36.626Z
Learnt from: bbednarski9
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 1217
File: packages/nvidia_nat_adk/pyproject.toml:38-38
Timestamp: 2025-12-02T19:36:36.626Z
Learning: In pyproject.toml dependency declarations, while the general guideline is to use two-digit version format with ~= (e.g., ~=1.18), using three-digit format (e.g., ~=1.18.0) is appropriate when intentionally restricting to a specific minor version line to allow patch updates but exclude newer minor versions (e.g., allowing 1.18.1 but blocking 1.19.x).
Applied to files:
examples/front_ends/simple_auth/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/finetuning/dpo_tic_tac_toe/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/custom_functions/plot_charts/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlexamples/frameworks/semantic_kernel_demo/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
📚 Learning: 2025-12-03T18:42:23.494Z
Learnt from: AnuradhaKaruppiah
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 1147
File: packages/nvidia_nat_a2a/pyproject.toml:1-10
Timestamp: 2025-12-03T18:42:23.494Z
Learning: In the packages/ directory, pyproject.toml files typically do not include SPDX license headers. Out of 34 packages, only nvidia_nat_strands is an exception. This pattern differs from the requirement for SPDX headers in source code files (.py, .js, .ts, etc.).
Applied to files:
examples/evaluation_and_profiling/swe_bench/pyproject.tomlexamples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/evaluation_and_profiling/email_phishing_analyzer/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/evaluation_and_profiling/simple_calculator_eval/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlexamples/frameworks/haystack_deep_research_agent/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlexamples/HITL/simple_calculator_hitl/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlexamples/MCP/service_account_auth_mcp/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlpackages/compat/aiqtoolkit_weave/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlpackages/nvidia_nat_vanna/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlexamples/advanced_agents/alert_triage_agent/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.tomlexamples/MCP/kaggle_mcp/pyproject.toml
📚 Learning: 2026-01-05T15:46:49.676Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: Applies to {pyproject.toml,packages/*/pyproject.toml} : Package dependencies should use '~=<version>' format with two-digit versions (e.g., '~=1.0')
Applied to files:
examples/finetuning/rl_with_openpipe_art/pyproject.tomlpackages/nvidia_nat_profiling/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlpackages/nvidia_nat_ragaai/pyproject.tomlexamples/advanced_agents/profiler_agent/pyproject.tomlpackages/nvidia_nat_test/pyproject.tomlpackages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlexamples/frameworks/multi_frameworks/pyproject.tomlpackages/nvidia_nat_mem0ai/pyproject.tomlpackages/compat/aiqtoolkit_langchain/pyproject.tomlpackages/nvidia_nat_redis/pyproject.tomlexamples/A2A/calculator_a2a/pyproject.tomlexamples/config_inheritance/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/nvidia_nat_mysql/pyproject.tomlpackages/nvidia_nat_agno/pyproject.tomlpackages/nvidia_nat_langchain/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlexamples/front_ends/simple_calculator_custom_routes/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/evaluation_and_profiling/simple_web_query_eval/pyproject.tomlpackages/nvidia_nat_s3/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/frameworks/adk_demo/pyproject.tomlpackages/nvidia_nat_adk/pyproject.tomlpackages/nvidia_nat_openpipe_art/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_a2a/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlpackages/nvidia_nat_phoenix/pyproject.tomlpackages/nvidia_nat_zep_cloud/pyproject.tomlpackages/nvidia_nat_weave/pyproject.tomlpackages/nvidia_nat_mcp/pyproject.tomlpackages/nvidia_nat_all/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlpackages/nvidia_nat_strands/pyproject.tomlexamples/documentation_guides/workflows/text_file_ingest/pyproject.tomlpackages/nvidia_nat_crewai/pyproject.tomlpackages/nvidia_nat_nemo_customizer/pyproject.tomlpackages/nvidia_nat_llama_index/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.tomlpackages/nvidia_nat_opentelemetry/pyproject.toml
📚 Learning: 2026-01-05T15:46:49.676Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: Use technical identifiers: 'nat' for API namespace and CLI tool, 'nvidia-nat' for package name, 'NAT_' prefix for environment variables, 'NeMo-Agent-Toolkit' for URLs and directory names
Applied to files:
examples/finetuning/rl_with_openpipe_art/pyproject.tomlexamples/HITL/por_to_jiratickets/pyproject.tomlexamples/getting_started/simple_web_query/pyproject.tomlexamples/front_ends/per_user_workflow/pyproject.tomlexamples/control_flow/sequential_executor/pyproject.tomlexamples/A2A/currency_agent_a2a/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlexamples/object_store/user_report/pyproject.tomlpackages/nvidia_nat_data_flywheel/pyproject.tomlexamples/frameworks/agno_personal_finance/pyproject.tomlexamples/control_flow/router_agent/pyproject.tomlpackages/nvidia_nat_ingestion/pyproject.tomlexamples/getting_started/simple_calculator/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlexamples/A2A/math_assistant_a2a/pyproject.tomlexamples/RAG/simple_rag/pyproject.tomlexamples/frameworks/strands_demo/pyproject.toml
📚 Learning: 2026-01-05T15:46:49.677Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.677Z
Learning: Applies to {pyproject.toml,uv.lock} : New dependencies must be added to both 'pyproject.toml' (alphabetically) and 'uv.lock' via 'uv pip install <pkg> --sync'
Applied to files:
packages/nvidia_nat_test/pyproject.tomlpackages/nvidia_nat_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.toml
📚 Learning: 2026-01-05T15:46:49.676Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: The project follows semantic versioning (MAJOR.MINOR.PATCH); patch releases must remain backward-compatible
Applied to files:
packages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlexamples/frameworks/strands_demo/pyproject.toml
📚 Learning: 2026-01-05T15:46:49.676Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: Applies to **/*.{md,mdx} : Never use deprecated names: 'Agent Intelligence toolkit', 'aiqtoolkit', 'AgentIQ', 'AIQ', or 'aiq' in documentation; update any occurrences unless intentionally referring to deprecated versions or implementing compatibility layers
Applied to files:
packages/compat/aiqtoolkit_semantic_kernel/pyproject.tomlpackages/compat/aiqtoolkit_crewai/pyproject.tomlpackages/compat/aiqtoolkit_llama_index/pyproject.tomlpackages/compat/aiqtoolkit_mem0ai/pyproject.tomlpackages/compat/aiqtoolkit_agno/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.toml
📚 Learning: 2025-11-14T20:33:53.944Z
Learnt from: AnuradhaKaruppiah
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 1181
File: packages/nvidia_nat_test/tests/test_test_llm.py:419-484
Timestamp: 2025-11-14T20:33:53.944Z
Learning: The NVIDIA NeMo-Agent-Toolkit project uses pytest-asyncio in strict mode (the default), which requires pytest.mark.asyncio decorator on all async test functions. All async tests in packages/nvidia_nat_test/tests/test_test_llm.py consistently follow this pattern.
Applied to files:
packages/nvidia_nat_data_flywheel/pyproject.tomlexamples/dynamo_integration/react_benchmark_agent/pyproject.tomlpackages/compat/aiqtoolkit_test/pyproject.tomlexamples/frameworks/strands_demo/pyproject.toml
📚 Learning: 2025-09-17T05:34:04.696Z
Learnt from: AnuradhaKaruppiah
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 752
File: packages/nvidia_nat_mcp/src/nat/plugins/mcp/client_base.py:0-0
Timestamp: 2025-09-17T05:34:04.696Z
Learning: The user AnuradhaKaruppiah confirmed that request copying is not needed in the AuthAdapter.async_auth_flow method in packages/nvidia_nat_mcp/src/nat/plugins/mcp/client_base.py, suggesting that httpx handles request mutation safely or there are no concurrent usage concerns for this implementation.
Applied to files:
examples/MCP/simple_auth_mcp/pyproject.toml
📚 Learning: 2025-09-17T05:20:03.228Z
Learnt from: AnuradhaKaruppiah
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 752
File: packages/nvidia_nat_mcp/src/nat/plugins/mcp/client_base.py:99-121
Timestamp: 2025-09-17T05:20:03.228Z
Learning: The AuthAdapter class in packages/nvidia_nat_mcp/src/nat/plugins/mcp/client_base.py has a known concurrency race condition where `self.auth_provider.config.auth_request = auth_request` can be racy under concurrent requests. This should be addressed by either refactoring AuthProviderBase.authenticate() to accept AuthRequest as a parameter or using an asyncio.Lock to serialize access.
Applied to files:
examples/MCP/simple_auth_mcp/pyproject.toml
📚 Learning: 2026-01-05T15:46:49.676Z
Learnt from: CR
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 0
File: .cursor/rules/general.mdc:0-0
Timestamp: 2026-01-05T15:46:49.676Z
Learning: Source code in 'src/aiq/**/*' maintains backward compatibility with previous toolkit version and should almost never be modified
Applied to files:
packages/compat/aiqtoolkit_agno/pyproject.tomlpackages/compat/aiqtoolkit/pyproject.toml
📚 Learning: 2025-11-05T11:45:35.119Z
Learnt from: thepatrickchin
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 1152
File: examples/config_inheritance/pyproject.toml:1-25
Timestamp: 2025-11-05T11:45:35.119Z
Learning: In the examples/ directory, pyproject.toml files typically do not include SPDX license headers, with only one exception (adk_demo). This is an established pattern that differs from the general guideline requiring SPDX headers in all .toml files.
Applied to files:
examples/frameworks/adk_demo/pyproject.toml
📚 Learning: 2025-10-09T22:21:15.944Z
Learnt from: onkkul
Repo: NVIDIA/NeMo-Agent-Toolkit PR: 859
File: packages/nvidia_nat_autogen/src/nat/plugins/autogen/tool_wrapper.py:115-118
Timestamp: 2025-10-09T22:21:15.944Z
Learning: In `packages/nvidia_nat_autogen/src/nat/plugins/autogen/tool_wrapper.py`, when extracting parameters from input_schema at line 136, the code must handle both dataclasses (standard and Pydantic) and Pydantic BaseModels differently. Pydantic dataclasses have `__pydantic_fields__` (not `model_fields`), so use `dataclasses.fields()` for dataclasses and `model_fields` for BaseModels to properly extract function parameters.
Applied to files:
packages/nvidia_nat_adk/pyproject.toml
willkill07
left a comment
There was a problem hiding this comment.
Looks good to me! Compared to aed0b16
Description
The forward merge from release/1.4 into develop (#1302) overwrote the version in
docs/source/versions1.jsonfrom 1.5 back to 1.4.This PR restores the correct version (1.5) as the preferred version on develop.
Changes
docs/source/versions1.jsonBy Submitting this PR I confirm:
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.