nvidia-nat 1.3.0a20251006__py3-none-any.whl → 1.3.0a20251007__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nat/agent/react_agent/register.py +9 -1
- nat/agent/rewoo_agent/register.py +8 -1
- nat/authentication/oauth2/oauth2_auth_code_flow_provider.py +31 -18
- nat/builder/context.py +22 -6
- nat/cli/commands/mcp/mcp.py +5 -5
- nat/cli/commands/workflow/templates/config.yml.j2 +14 -12
- nat/cli/commands/workflow/templates/register.py.j2 +2 -2
- nat/cli/commands/workflow/templates/workflow.py.j2 +35 -21
- nat/cli/commands/workflow/workflow_commands.py +54 -10
- nat/data_models/api_server.py +65 -57
- nat/data_models/span.py +41 -3
- nat/experimental/test_time_compute/functions/execute_score_select_function.py +1 -1
- nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py +2 -2
- nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py +5 -35
- nat/front_ends/fastapi/message_validator.py +3 -1
- nat/observability/exporter/span_exporter.py +34 -14
- nat/runtime/runner.py +103 -6
- nat/runtime/session.py +26 -0
- nat/tool/memory_tools/get_memory_tool.py +1 -1
- nat/utils/decorators.py +210 -0
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/METADATA +1 -3
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/RECORD +27 -26
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/WHEEL +0 -0
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/entry_points.txt +0 -0
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/licenses/LICENSE.md +0 -0
- {nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/top_level.txt +0 -0
nat/runtime/session.py
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
import asyncio
|
|
17
17
|
import contextvars
|
|
18
18
|
import typing
|
|
19
|
+
import uuid
|
|
19
20
|
from collections.abc import Awaitable
|
|
20
21
|
from collections.abc import Callable
|
|
21
22
|
from contextlib import asynccontextmanager
|
|
@@ -161,6 +162,31 @@ class SessionManager:
|
|
|
161
162
|
if request.headers.get("user-message-id"):
|
|
162
163
|
self._context_state.user_message_id.set(request.headers["user-message-id"])
|
|
163
164
|
|
|
165
|
+
# W3C Trace Context header: traceparent: 00-<trace-id>-<span-id>-<flags>
|
|
166
|
+
traceparent = request.headers.get("traceparent")
|
|
167
|
+
if traceparent:
|
|
168
|
+
try:
|
|
169
|
+
parts = traceparent.split("-")
|
|
170
|
+
if len(parts) >= 4:
|
|
171
|
+
trace_id_hex = parts[1]
|
|
172
|
+
if len(trace_id_hex) == 32:
|
|
173
|
+
trace_id_int = uuid.UUID(trace_id_hex).int
|
|
174
|
+
self._context_state.workflow_trace_id.set(trace_id_int)
|
|
175
|
+
except Exception:
|
|
176
|
+
pass
|
|
177
|
+
|
|
178
|
+
if not self._context_state.workflow_trace_id.get():
|
|
179
|
+
workflow_trace_id = request.headers.get("workflow-trace-id")
|
|
180
|
+
if workflow_trace_id:
|
|
181
|
+
try:
|
|
182
|
+
self._context_state.workflow_trace_id.set(uuid.UUID(workflow_trace_id).int)
|
|
183
|
+
except Exception:
|
|
184
|
+
pass
|
|
185
|
+
|
|
186
|
+
workflow_run_id = request.headers.get("workflow-run-id")
|
|
187
|
+
if workflow_run_id:
|
|
188
|
+
self._context_state.workflow_run_id.set(workflow_run_id)
|
|
189
|
+
|
|
164
190
|
def set_metadata_from_websocket(self,
|
|
165
191
|
websocket: WebSocket,
|
|
166
192
|
user_message_id: str | None,
|
|
@@ -67,6 +67,6 @@ async def get_memory_tool(config: GetToolConfig, builder: Builder):
|
|
|
67
67
|
|
|
68
68
|
except Exception as e:
|
|
69
69
|
|
|
70
|
-
raise ToolException(f"Error
|
|
70
|
+
raise ToolException(f"Error retrieving memory: {e}") from e
|
|
71
71
|
|
|
72
72
|
yield FunctionInfo.from_fn(_arun, description=config.description)
|
nat/utils/decorators.py
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
"""Deprecation utilities.
|
|
16
|
+
|
|
17
|
+
This module provides helpers to standardize deprecation signaling across the
|
|
18
|
+
codebase:
|
|
19
|
+
|
|
20
|
+
- ``issue_deprecation_warning``: Builds and emits a single deprecation message
|
|
21
|
+
per function using the standard logging pipeline.
|
|
22
|
+
- ``deprecated``: A decorator that wraps sync/async functions and generators to
|
|
23
|
+
log a one-time deprecation message upon first use. It supports optional
|
|
24
|
+
metadata, a planned removal version, a suggested replacement, and an
|
|
25
|
+
optional feature name label.
|
|
26
|
+
|
|
27
|
+
Messages are emitted via ``logging.getLogger(__name__).warning`` (not
|
|
28
|
+
``warnings.warn``) so they appear in normal application logs and respect global
|
|
29
|
+
logging configuration. Each unique function logs at most once per process.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
import functools
|
|
33
|
+
import inspect
|
|
34
|
+
import logging
|
|
35
|
+
from collections.abc import AsyncGenerator
|
|
36
|
+
from collections.abc import Callable
|
|
37
|
+
from collections.abc import Generator
|
|
38
|
+
from typing import Any
|
|
39
|
+
from typing import TypeVar
|
|
40
|
+
from typing import overload
|
|
41
|
+
|
|
42
|
+
logger = logging.getLogger(__name__)
|
|
43
|
+
|
|
44
|
+
_warning_issued = set()
|
|
45
|
+
|
|
46
|
+
# Type variables for overloads
|
|
47
|
+
F = TypeVar('F', bound=Callable[..., Any])
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def issue_deprecation_warning(function_name: str,
|
|
51
|
+
removal_version: str | None = None,
|
|
52
|
+
replacement: str | None = None,
|
|
53
|
+
reason: str | None = None,
|
|
54
|
+
feature_name: str | None = None,
|
|
55
|
+
metadata: dict[str, Any] | None = None) -> None:
|
|
56
|
+
"""
|
|
57
|
+
Log a deprecation warning message for the function.
|
|
58
|
+
|
|
59
|
+
A warning is emitted only once per function. When a ``metadata`` dict
|
|
60
|
+
is supplied, it is appended to the log entry to provide extra context
|
|
61
|
+
(e.g., version, author, feature flag).
|
|
62
|
+
|
|
63
|
+
Args:
|
|
64
|
+
function_name: The name of the deprecated function
|
|
65
|
+
removal_version: The version when the function will be removed
|
|
66
|
+
replacement: What to use instead of this function
|
|
67
|
+
reason: Why the function is being deprecated
|
|
68
|
+
feature_name: Optional name of the feature that is deprecated
|
|
69
|
+
metadata: Optional dictionary of metadata to log with the warning
|
|
70
|
+
"""
|
|
71
|
+
if function_name not in _warning_issued:
|
|
72
|
+
# Build the deprecation message
|
|
73
|
+
if feature_name:
|
|
74
|
+
warning_message = f"{feature_name} is deprecated"
|
|
75
|
+
else:
|
|
76
|
+
warning_message = f"Function {function_name} is deprecated"
|
|
77
|
+
|
|
78
|
+
if removal_version:
|
|
79
|
+
warning_message += f" and will be removed in version {removal_version}"
|
|
80
|
+
else:
|
|
81
|
+
warning_message += " and will be removed in a future release"
|
|
82
|
+
|
|
83
|
+
warning_message += "."
|
|
84
|
+
|
|
85
|
+
if reason:
|
|
86
|
+
warning_message += f" Reason: {reason}."
|
|
87
|
+
|
|
88
|
+
if replacement:
|
|
89
|
+
warning_message += f" Use '{replacement}' instead."
|
|
90
|
+
|
|
91
|
+
if metadata:
|
|
92
|
+
warning_message += f" | Metadata: {metadata}"
|
|
93
|
+
|
|
94
|
+
# Issue warning and save function name to avoid duplicate warnings
|
|
95
|
+
logger.warning(warning_message)
|
|
96
|
+
_warning_issued.add(function_name)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
# Overloads for different function types
|
|
100
|
+
@overload
|
|
101
|
+
def deprecated(func: F,
|
|
102
|
+
*,
|
|
103
|
+
removal_version: str | None = None,
|
|
104
|
+
replacement: str | None = None,
|
|
105
|
+
reason: str | None = None,
|
|
106
|
+
feature_name: str | None = None,
|
|
107
|
+
metadata: dict[str, Any] | None = None) -> F:
|
|
108
|
+
"""Overload for direct decorator usage (when called without parentheses)."""
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@overload
|
|
113
|
+
def deprecated(*,
|
|
114
|
+
removal_version: str | None = None,
|
|
115
|
+
replacement: str | None = None,
|
|
116
|
+
reason: str | None = None,
|
|
117
|
+
feature_name: str | None = None,
|
|
118
|
+
metadata: dict[str, Any] | None = None) -> Callable[[F], F]:
|
|
119
|
+
"""Overload for decorator factory usage (when called with parentheses)."""
|
|
120
|
+
...
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def deprecated(func: Any = None,
|
|
124
|
+
*,
|
|
125
|
+
removal_version: str | None = None,
|
|
126
|
+
replacement: str | None = None,
|
|
127
|
+
reason: str | None = None,
|
|
128
|
+
feature_name: str | None = None,
|
|
129
|
+
metadata: dict[str, Any] | None = None) -> Any:
|
|
130
|
+
"""
|
|
131
|
+
Decorator that can wrap any type of function (sync, async, generator,
|
|
132
|
+
async generator) and logs a deprecation warning.
|
|
133
|
+
|
|
134
|
+
Args:
|
|
135
|
+
func: The function to be decorated.
|
|
136
|
+
removal_version: The version when the function will be removed
|
|
137
|
+
replacement: What to use instead of this function
|
|
138
|
+
reason: Why the function is being deprecated
|
|
139
|
+
feature_name: Optional name of the feature that is deprecated. If provided, the warning will be
|
|
140
|
+
prefixed with "The <feature_name> feature is deprecated".
|
|
141
|
+
metadata: Optional dictionary of metadata to log with the warning. This can include information
|
|
142
|
+
like version, author, etc. If provided, the metadata will be
|
|
143
|
+
logged alongside the deprecation warning.
|
|
144
|
+
"""
|
|
145
|
+
function_name: str = f"{func.__module__}.{func.__qualname__}" if func else "<unknown_function>"
|
|
146
|
+
|
|
147
|
+
# If called as @deprecated(...) but not immediately passed a function
|
|
148
|
+
if func is None:
|
|
149
|
+
|
|
150
|
+
def decorator_wrapper(actual_func):
|
|
151
|
+
return deprecated(actual_func,
|
|
152
|
+
removal_version=removal_version,
|
|
153
|
+
replacement=replacement,
|
|
154
|
+
reason=reason,
|
|
155
|
+
feature_name=feature_name,
|
|
156
|
+
metadata=metadata)
|
|
157
|
+
|
|
158
|
+
return decorator_wrapper
|
|
159
|
+
|
|
160
|
+
# --- Validate metadata ---
|
|
161
|
+
if metadata is not None:
|
|
162
|
+
if not isinstance(metadata, dict):
|
|
163
|
+
raise TypeError("metadata must be a dict[str, Any].")
|
|
164
|
+
if any(not isinstance(k, str) for k in metadata.keys()):
|
|
165
|
+
raise TypeError("All metadata keys must be strings.")
|
|
166
|
+
|
|
167
|
+
# --- Now detect the function type and wrap accordingly ---
|
|
168
|
+
if inspect.isasyncgenfunction(func):
|
|
169
|
+
# ---------------------
|
|
170
|
+
# ASYNC GENERATOR
|
|
171
|
+
# ---------------------
|
|
172
|
+
|
|
173
|
+
@functools.wraps(func)
|
|
174
|
+
async def async_gen_wrapper(*args, **kwargs) -> AsyncGenerator[Any, Any]:
|
|
175
|
+
issue_deprecation_warning(function_name, removal_version, replacement, reason, feature_name, metadata)
|
|
176
|
+
async for item in func(*args, **kwargs):
|
|
177
|
+
yield item # yield the original item
|
|
178
|
+
|
|
179
|
+
return async_gen_wrapper
|
|
180
|
+
|
|
181
|
+
if inspect.iscoroutinefunction(func):
|
|
182
|
+
# ---------------------
|
|
183
|
+
# ASYNC FUNCTION
|
|
184
|
+
# ---------------------
|
|
185
|
+
@functools.wraps(func)
|
|
186
|
+
async def async_wrapper(*args, **kwargs) -> Any:
|
|
187
|
+
issue_deprecation_warning(function_name, removal_version, replacement, reason, feature_name, metadata)
|
|
188
|
+
result = await func(*args, **kwargs)
|
|
189
|
+
return result
|
|
190
|
+
|
|
191
|
+
return async_wrapper
|
|
192
|
+
|
|
193
|
+
if inspect.isgeneratorfunction(func):
|
|
194
|
+
# ---------------------
|
|
195
|
+
# SYNC GENERATOR
|
|
196
|
+
# ---------------------
|
|
197
|
+
@functools.wraps(func)
|
|
198
|
+
def sync_gen_wrapper(*args, **kwargs) -> Generator[Any, Any, Any]:
|
|
199
|
+
issue_deprecation_warning(function_name, removal_version, replacement, reason, feature_name, metadata)
|
|
200
|
+
yield from func(*args, **kwargs) # yield the original item
|
|
201
|
+
|
|
202
|
+
return sync_gen_wrapper
|
|
203
|
+
|
|
204
|
+
@functools.wraps(func)
|
|
205
|
+
def sync_wrapper(*args, **kwargs) -> Any:
|
|
206
|
+
issue_deprecation_warning(function_name, removal_version, replacement, reason, feature_name, metadata)
|
|
207
|
+
result = func(*args, **kwargs)
|
|
208
|
+
return result
|
|
209
|
+
|
|
210
|
+
return sync_wrapper
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nvidia-nat
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.0a20251007
|
|
4
4
|
Summary: NVIDIA NeMo Agent toolkit
|
|
5
5
|
Author: NVIDIA Corporation
|
|
6
6
|
Maintainer: NVIDIA Corporation
|
|
@@ -296,12 +296,10 @@ Requires-Dist: nat_alert_triage_agent; extra == "examples"
|
|
|
296
296
|
Requires-Dist: nat_automated_description_generation; extra == "examples"
|
|
297
297
|
Requires-Dist: nat_email_phishing_analyzer; extra == "examples"
|
|
298
298
|
Requires-Dist: nat_multi_frameworks; extra == "examples"
|
|
299
|
-
Requires-Dist: nat_first_search_agent; extra == "examples"
|
|
300
299
|
Requires-Dist: nat_plot_charts; extra == "examples"
|
|
301
300
|
Requires-Dist: nat_por_to_jiratickets; extra == "examples"
|
|
302
301
|
Requires-Dist: nat_profiler_agent; extra == "examples"
|
|
303
302
|
Requires-Dist: nat_redact_pii; extra == "examples"
|
|
304
|
-
Requires-Dist: nat_retail_sales_agent; extra == "examples"
|
|
305
303
|
Requires-Dist: nat_router_agent; extra == "examples"
|
|
306
304
|
Requires-Dist: nat_semantic_kernel_demo; extra == "examples"
|
|
307
305
|
Requires-Dist: nat_sequential_executor; extra == "examples"
|
|
@@ -10,13 +10,13 @@ nat/agent/react_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
|
10
10
|
nat/agent/react_agent/agent.py,sha256=sWrg9WrglTKQQyG3EcjNm2JTEchCPEo9li-Po7TJKss,21294
|
|
11
11
|
nat/agent/react_agent/output_parser.py,sha256=m7K6wRwtckBBpAHqOf3BZ9mqZLwrP13Kxz5fvNxbyZE,4219
|
|
12
12
|
nat/agent/react_agent/prompt.py,sha256=N47JJrT6xwYQCv1jedHhlul2AE7EfKsSYfAbgJwWRew,1758
|
|
13
|
-
nat/agent/react_agent/register.py,sha256=
|
|
13
|
+
nat/agent/react_agent/register.py,sha256=wAoPkly7dE8bb5x8XFf5-C1qJQausLKQwQcFCby_dwU,9307
|
|
14
14
|
nat/agent/reasoning_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
nat/agent/reasoning_agent/reasoning_agent.py,sha256=k_0wEDqACQn1Rn1MAKxoXyqOKsthHCQ1gt990YYUqHU,9575
|
|
16
16
|
nat/agent/rewoo_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
nat/agent/rewoo_agent/agent.py,sha256=XXgVXY9xwkyxnr093KXUtfgyNxAQbyGAecoGqN5mMLY,26199
|
|
18
18
|
nat/agent/rewoo_agent/prompt.py,sha256=B0JeL1xDX4VKcShlkkviEcAsOKAwzSlX8NcAQdmUUPw,3645
|
|
19
|
-
nat/agent/rewoo_agent/register.py,sha256=
|
|
19
|
+
nat/agent/rewoo_agent/register.py,sha256=GfJRQgpFWl-LQ-pPaG7EUeBH5u7pDZZNVP5cSweZJdM,9599
|
|
20
20
|
nat/agent/tool_calling_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
nat/agent/tool_calling_agent/agent.py,sha256=4SIp29I56oznPRQu7B3HCoX53Ri3_o3BRRYNJjeBkF8,11006
|
|
22
22
|
nat/agent/tool_calling_agent/register.py,sha256=ijiRfgDVtt2p7_q1YbIQZmUVV8-jf3yT18HwtKyReUI,6822
|
|
@@ -35,14 +35,14 @@ nat/authentication/http_basic_auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
|
35
35
|
nat/authentication/http_basic_auth/http_basic_auth_provider.py,sha256=OXr5TV87SiZtzSK9i_E6WXWyVhWq2MfqO_SS1aZ3p6U,3452
|
|
36
36
|
nat/authentication/http_basic_auth/register.py,sha256=N2VD0vw7cYABsLxsGXl5yw0htc8adkrB0Y_EMxKwFfk,1235
|
|
37
37
|
nat/authentication/oauth2/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
|
|
38
|
-
nat/authentication/oauth2/oauth2_auth_code_flow_provider.py,sha256=
|
|
38
|
+
nat/authentication/oauth2/oauth2_auth_code_flow_provider.py,sha256=NXsVATFxQ10Gg_nrW7Ljft2VXlAj460TeoXL-ww4WZc,5804
|
|
39
39
|
nat/authentication/oauth2/oauth2_auth_code_flow_provider_config.py,sha256=e165ysd2pX2WTbV3_FQKEjEaa4TAXkJ7B98WUGbqnGE,2204
|
|
40
40
|
nat/authentication/oauth2/oauth2_resource_server_config.py,sha256=ltcNp8Dwb2Q4tlwMN5Cl0B5pouTLtXRoV-QopfqV45M,5314
|
|
41
41
|
nat/authentication/oauth2/register.py,sha256=7rXhf-ilgSS_bUJsd9pOOCotL1FM8dKUt3ke1TllKkQ,1228
|
|
42
42
|
nat/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
nat/builder/builder.py,sha256=okI3Y101hwF63AwazzxiahQx-W9eFZ_SNdFXzDuoftU,11608
|
|
44
44
|
nat/builder/component_utils.py,sha256=-5vEWLwj9ch-1B9vbkBjCIkXB9SL8Tj9yl6zFwhV6wU,13832
|
|
45
|
-
nat/builder/context.py,sha256=
|
|
45
|
+
nat/builder/context.py,sha256=6NQmHfJS0gY4eLU7Xg84olmrgUdtVJcS3gmxc-OADiw,13093
|
|
46
46
|
nat/builder/embedder.py,sha256=NPkOEcxt_-wc53QRijCQQDLretRUYHRYaKoYmarmrBk,965
|
|
47
47
|
nat/builder/eval_builder.py,sha256=I-ScvupmorClYoVBIs_PhSsB7Xf9e2nGWe0rCZp3txo,6857
|
|
48
48
|
nat/builder/evaluator.py,sha256=xWHMND2vcAUkdFP7FU3jnVki1rUHeTa0-9saFh2hWKs,1162
|
|
@@ -83,7 +83,7 @@ nat/cli/commands/info/info.py,sha256=BGqshIEDpNRH9hM-06k-Gq-QX-qNddPICSWCN-ReC-g
|
|
|
83
83
|
nat/cli/commands/info/list_channels.py,sha256=K97TE6wtikgImY-wAbFNi0HHUGtkvIFd2woaG06VkT0,1277
|
|
84
84
|
nat/cli/commands/info/list_components.py,sha256=QlAJVONBA77xW8Lx6Autw5NTAZNy_VrJGr1GL9MfnHM,4532
|
|
85
85
|
nat/cli/commands/mcp/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
|
|
86
|
-
nat/cli/commands/mcp/mcp.py,sha256=
|
|
86
|
+
nat/cli/commands/mcp/mcp.py,sha256=IiLPu2nxOlp3uBON-e6ANNpzPZQGkmiFLX8-qgGJ9cg,43862
|
|
87
87
|
nat/cli/commands/object_store/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
|
|
88
88
|
nat/cli/commands/object_store/object_store.py,sha256=_ivB-R30a-66fNy-fUzi58HQ0Ay0gYsGz7T1xXoRa3Y,8576
|
|
89
89
|
nat/cli/commands/registry/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
|
|
@@ -97,12 +97,12 @@ nat/cli/commands/sizing/calc.py,sha256=3cJHKCbzvV7EwYfLcpfk3_Ki7soAjOaiBcLK-Q6hP
|
|
|
97
97
|
nat/cli/commands/sizing/sizing.py,sha256=-Hr9mz_ScEMtBbn6ijvmmWVk0WybLeX0Ryi4qhDiYQU,902
|
|
98
98
|
nat/cli/commands/workflow/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
|
|
99
99
|
nat/cli/commands/workflow/workflow.py,sha256=40nIOehOX-4xI-qJqJraBX3XVz3l2VtFsZkMQYd897w,1342
|
|
100
|
-
nat/cli/commands/workflow/workflow_commands.py,sha256=
|
|
100
|
+
nat/cli/commands/workflow/workflow_commands.py,sha256=hJXsy0vDhL6ITCJaM_xPepXwEom2E6_beTqr0HBldaU,14256
|
|
101
101
|
nat/cli/commands/workflow/templates/__init__.py.j2,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
-
nat/cli/commands/workflow/templates/config.yml.j2,sha256=
|
|
102
|
+
nat/cli/commands/workflow/templates/config.yml.j2,sha256=KORGAFt1TW524YxXD2jpm_uTESihUKV5fnSoXQrH1PI,368
|
|
103
103
|
nat/cli/commands/workflow/templates/pyproject.toml.j2,sha256=lDBC4exHYutXa_skuJj176yMEuZr-DsdzrqQHPZoKpk,1035
|
|
104
|
-
nat/cli/commands/workflow/templates/register.py.j2,sha256=
|
|
105
|
-
nat/cli/commands/workflow/templates/workflow.py.j2,sha256=
|
|
104
|
+
nat/cli/commands/workflow/templates/register.py.j2,sha256=OuS8T6ZZ2hb0jOIvT1RojS8CuiL93n223K6Drs_MrBo,152
|
|
105
|
+
nat/cli/commands/workflow/templates/workflow.py.j2,sha256=xN2n0HfVP6f4wRSXQ6y4v5-1eZt3cWLPEPKSVh8wDC8,1785
|
|
106
106
|
nat/control_flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
107
|
nat/control_flow/register.py,sha256=YBB73ecHpvUN_RivkeMWwu645gpC8OCPVOYgr_5aEOA,845
|
|
108
108
|
nat/control_flow/sequential_executor.py,sha256=iFbnyVxOsbltLfNhukH7yv0rGYpva4z-AhyEo-3QiRI,8327
|
|
@@ -112,7 +112,7 @@ nat/control_flow/router_agent/prompt.py,sha256=fIAiNsAs1zXRAatButR76zSpHJNxSkXXK
|
|
|
112
112
|
nat/control_flow/router_agent/register.py,sha256=4RGmS9sy-QtIMmvh8mfMcR1VqxFPLpG4RckWCIExh40,4144
|
|
113
113
|
nat/data_models/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
|
|
114
114
|
nat/data_models/agent.py,sha256=IwDyb9Zc3R4Zd5rFeqt7q0EQswczAl5focxV9KozIzs,1625
|
|
115
|
-
nat/data_models/api_server.py,sha256=
|
|
115
|
+
nat/data_models/api_server.py,sha256=V8y1v9-5p4kmaQmmDU2N6m_V_CFJeozDzJEoIHOSV8w,26177
|
|
116
116
|
nat/data_models/authentication.py,sha256=XPu9W8nh4XRSuxPv3HxO-FMQ_JtTEoK6Y02JwnzDwTg,8457
|
|
117
117
|
nat/data_models/common.py,sha256=nXXfGrjpxebzBUa55mLdmzePLt7VFHvTAc6Znj3yEv0,5875
|
|
118
118
|
nat/data_models/component.py,sha256=b_hXOA8Gm5UNvlFkAhsR6kEvf33ST50MKtr5kWf75Ao,1894
|
|
@@ -140,7 +140,7 @@ nat/data_models/profiler.py,sha256=z3IlEhj-veB4Yz85271bTkScSUkVwK50tR3dwlDRgcE,1
|
|
|
140
140
|
nat/data_models/registry_handler.py,sha256=g1rFaz4uSydMJn7qpdX-DNHJd_rNf8tXYN49dLDYHPo,968
|
|
141
141
|
nat/data_models/retriever.py,sha256=IJAIaeEXM8zj_towrvZ30Uoxt8e4WvOXrQwqGloS1qI,1202
|
|
142
142
|
nat/data_models/retry_mixin.py,sha256=s7UAhAHhlwTJ3uz6POVaSD8Y5DwKnU8mmo7OkRzeaW8,1863
|
|
143
|
-
nat/data_models/span.py,sha256=
|
|
143
|
+
nat/data_models/span.py,sha256=1ylpLf0UKwJSpKbwuFian9ut40GnF-AXsWYep1n2Y_0,8056
|
|
144
144
|
nat/data_models/step_adaptor.py,sha256=1qn56wB_nIYBM5IjN4ftsltCAkqaJd3Sqe5v0TRR4K8,2615
|
|
145
145
|
nat/data_models/streaming.py,sha256=sSqJqLqb70qyw69_4R9QC2RMbRw7UjTLPdo3FYBUGxE,1159
|
|
146
146
|
nat/data_models/swe_bench_model.py,sha256=uZs-hLFuT1B5CiPFwFg1PHinDW8PHne8TBzu7tHFv_k,1718
|
|
@@ -202,10 +202,10 @@ nat/experimental/test_time_compute/editing/iterative_plan_refinement_editor.py,s
|
|
|
202
202
|
nat/experimental/test_time_compute/editing/llm_as_a_judge_editor.py,sha256=QAu46omTvXJOqWzN_Xeeuhf25R0WxHqMjAdXcB9IxqQ,8539
|
|
203
203
|
nat/experimental/test_time_compute/editing/motivation_aware_summarization.py,sha256=S7s_BigZ1ru-3lP7c58Zpt5Nxavi8Ko-A1cmH7KkX3s,4503
|
|
204
204
|
nat/experimental/test_time_compute/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
|
-
nat/experimental/test_time_compute/functions/execute_score_select_function.py,sha256=
|
|
205
|
+
nat/experimental/test_time_compute/functions/execute_score_select_function.py,sha256=K1sQPkhvGyWIJxJXJ_ZGH1LqQK2v8cCKUpx0RvG22PA,4556
|
|
206
206
|
nat/experimental/test_time_compute/functions/plan_select_execute_function.py,sha256=ZkxFwF8SF6y88qa9ZqBsie--bnbsHpWC72ky-ttBzV0,10067
|
|
207
207
|
nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py,sha256=GMPibwNI6o2ljQkDUsD7C-wFm8qRYTx_B7PA6IBFrFI,8446
|
|
208
|
-
nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py,sha256=
|
|
208
|
+
nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py,sha256=Iahv7-IznuuKdjlJre6aKYPf2tZEnuwWswe2yYyDYWg,6938
|
|
209
209
|
nat/experimental/test_time_compute/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
210
|
nat/experimental/test_time_compute/models/editor_config.py,sha256=wFHcd4GjWy4fxuXrYnC0gJ0ZszsAjziohK8vS7cc8EA,7153
|
|
211
211
|
nat/experimental/test_time_compute/models/scoring_config.py,sha256=zi93HQrtY1FiRuZgDOdlDZql6T-1W6SteybSUMXjr8U,5500
|
|
@@ -242,12 +242,12 @@ nat/front_ends/fastapi/dask_client_mixin.py,sha256=N_tw4yxA7EKIFTKp5_C2ZksIZucWx
|
|
|
242
242
|
nat/front_ends/fastapi/fastapi_front_end_config.py,sha256=BcuzrVlA5b7yYyQKNvQgEanDBtKEHdpC8TAd-O7lfF0,11992
|
|
243
243
|
nat/front_ends/fastapi/fastapi_front_end_controller.py,sha256=ei-34KCMpyaeAgeAN4gVvSGFjewjjRhHZPN0FqAfhDY,2548
|
|
244
244
|
nat/front_ends/fastapi/fastapi_front_end_plugin.py,sha256=e33YkMcLzvm4OUG34bhl-WYiBTqkR-_wJYKG4GODkGM,11169
|
|
245
|
-
nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py,sha256=
|
|
245
|
+
nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py,sha256=yrUSjbo9ge7yZi4fcFOsVFhLL5zxSh8ftZtHAExfm_s,60342
|
|
246
246
|
nat/front_ends/fastapi/intermediate_steps_subscriber.py,sha256=kbyWlBVpyvyQQjeUnFG9nsR4RaqqNkx567ZSVwwl2RU,3104
|
|
247
247
|
nat/front_ends/fastapi/job_store.py,sha256=cWIBnIgRdkGL7qbBunEKzTYzdPp3l3QCDHMP-qTZJpc,22743
|
|
248
248
|
nat/front_ends/fastapi/main.py,sha256=s8gXCy61rJjK1aywMRpgPvzlkMGsCS-kI_0EIy4JjBM,2445
|
|
249
249
|
nat/front_ends/fastapi/message_handler.py,sha256=8pdA3K8hLCcR-ohHXYtLUgX1U2sYFzqgeslIszlQbRo,15181
|
|
250
|
-
nat/front_ends/fastapi/message_validator.py,sha256=
|
|
250
|
+
nat/front_ends/fastapi/message_validator.py,sha256=Opx9ZjaNUfS3MS6w25bq_h_XASY_i2prmQRlY_sn5xM,17614
|
|
251
251
|
nat/front_ends/fastapi/register.py,sha256=rA12NPFgV9ZNHOEIgB7_SB6NytjRxgBTLo7fJ-73_HM,1153
|
|
252
252
|
nat/front_ends/fastapi/response_helpers.py,sha256=MGE9E73sQSCYjsR5YXRga2qbl44hrTAPW2N5Ui3vXX0,9028
|
|
253
253
|
nat/front_ends/fastapi/step_adaptor.py,sha256=J6UtoXL9De8bgAg93nE0ASLUHZbidWOfRiuFo-tyZgY,12412
|
|
@@ -295,7 +295,7 @@ nat/observability/exporter/exporter.py,sha256=fqF0GYuhZRQEq0skq_FK2nlnsaUAzLpQi-
|
|
|
295
295
|
nat/observability/exporter/file_exporter.py,sha256=XYsFjF8ob4Ag-SyGtKEh6wRU9lBx3lbdu7Uo85NvVyo,1465
|
|
296
296
|
nat/observability/exporter/processing_exporter.py,sha256=U_VE1VZZ2giGE-OUGH4pnHTYW2Nwcwfx4bFLL7_iu9M,25044
|
|
297
297
|
nat/observability/exporter/raw_exporter.py,sha256=0ROEd-DlLP6pIxl4u2zJ6PMVrDrQa0DMHFDRsdGQMIk,1859
|
|
298
|
-
nat/observability/exporter/span_exporter.py,sha256=
|
|
298
|
+
nat/observability/exporter/span_exporter.py,sha256=FIZgc_eTdfKr0pCSEC94PecsGGOelag1R-K76FMvI-0,14094
|
|
299
299
|
nat/observability/mixin/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
|
|
300
300
|
nat/observability/mixin/batch_config_mixin.py,sha256=DixQq-jRhBFJvpOX-gq7GvPmZCPOXQdacylyEuhZ6y0,1399
|
|
301
301
|
nat/observability/mixin/collector_config_mixin.py,sha256=3iptkRH9N6JgcsPq7GyjjJVAoxjd-l42UKE7iSF4Hq8,1087
|
|
@@ -406,8 +406,8 @@ nat/retriever/nemo_retriever/register.py,sha256=3XdrvEJzX2Zc8wpdm__4YYlEWBW-FK3t
|
|
|
406
406
|
nat/retriever/nemo_retriever/retriever.py,sha256=gi3_qJFqE-iqRh3of_cmJg-SwzaQ3z24zA9LwY_MSLY,6930
|
|
407
407
|
nat/runtime/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
|
|
408
408
|
nat/runtime/loader.py,sha256=obUdAgZVYCPGC0R8u3wcoKFJzzSPQgJvrbU4OWygtog,7953
|
|
409
|
-
nat/runtime/runner.py,sha256=
|
|
410
|
-
nat/runtime/session.py,sha256=
|
|
409
|
+
nat/runtime/runner.py,sha256=sUF-zJMgqcFq4xRx8y5bxct2EzgiKbmFkvWkYxlDsQg,11798
|
|
410
|
+
nat/runtime/session.py,sha256=yOlZg3myau4c06M8v23KEojQpmMwDsr5P6GnXiVMg94,9101
|
|
411
411
|
nat/runtime/user_metadata.py,sha256=ce37NRYJWnMOWk6A7VAQ1GQztjMmkhMOq-uYf2gNCwo,3692
|
|
412
412
|
nat/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
413
413
|
nat/settings/global_settings.py,sha256=dEw9nkyx7pEEufmLS1o3mWhcXy7-ZpES4BZx1OWfg5M,12467
|
|
@@ -436,10 +436,11 @@ nat/tool/code_execution/local_sandbox/start_local_sandbox.sh,sha256=gnPuzbneKZ61
|
|
|
436
436
|
nat/tool/memory_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
437
437
|
nat/tool/memory_tools/add_memory_tool.py,sha256=DYaYkVlH2myRshJpzmULfzdF0wFoPCAkTBokFVmhfzU,3349
|
|
438
438
|
nat/tool/memory_tools/delete_memory_tool.py,sha256=EWJVgzIzLDqktY5domXph-N2U9FmybdWl4J7KM7uK4g,2532
|
|
439
|
-
nat/tool/memory_tools/get_memory_tool.py,sha256=
|
|
439
|
+
nat/tool/memory_tools/get_memory_tool.py,sha256=F0P7OkWQJZ1W6vCBWhAuYitBLnRXpAxnGyNmbkcTpAk,2749
|
|
440
440
|
nat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
441
441
|
nat/utils/callable_utils.py,sha256=EIao6NhHRFEoBqYRC7aWoFqhlr2LeFT0XK-ac0coF9E,2475
|
|
442
442
|
nat/utils/debugging_utils.py,sha256=6M4JhbHDNDnfmSRGmHvT5IgEeWSHBore3VngdE_PMqc,1332
|
|
443
|
+
nat/utils/decorators.py,sha256=AoMip9zmqrZm5wovZQytNvzFfIlS3PQxSYcgYeoLhxA,8240
|
|
443
444
|
nat/utils/dump_distro_mapping.py,sha256=ptRVwrzhZplEWZUwwHOzyeuLj-ykkxn96t4oxUmRG28,1147
|
|
444
445
|
nat/utils/log_levels.py,sha256=2hHWgOSuvuISdKN82BQgBh2yk9V5324jYMki8-1rAYs,888
|
|
445
446
|
nat/utils/log_utils.py,sha256=dZLHt7qFqLlpPqMMFO9UVtSkOpMjFwz9tkmbAfOiNlg,1355
|
|
@@ -469,10 +470,10 @@ nat/utils/reactive/base/observer_base.py,sha256=6BiQfx26EMumotJ3KoVcdmFBYR_fnAss
|
|
|
469
470
|
nat/utils/reactive/base/subject_base.py,sha256=UQOxlkZTIeeyYmG5qLtDpNf_63Y7p-doEeUA08_R8ME,2521
|
|
470
471
|
nat/utils/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
471
472
|
nat/utils/settings/global_settings.py,sha256=9JaO6pxKT_Pjw6rxJRsRlFCXdVKCl_xUKU2QHZQWWNM,7294
|
|
472
|
-
nvidia_nat-1.3.
|
|
473
|
-
nvidia_nat-1.3.
|
|
474
|
-
nvidia_nat-1.3.
|
|
475
|
-
nvidia_nat-1.3.
|
|
476
|
-
nvidia_nat-1.3.
|
|
477
|
-
nvidia_nat-1.3.
|
|
478
|
-
nvidia_nat-1.3.
|
|
473
|
+
nvidia_nat-1.3.0a20251007.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
|
|
474
|
+
nvidia_nat-1.3.0a20251007.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
475
|
+
nvidia_nat-1.3.0a20251007.dist-info/METADATA,sha256=npj1LMjo8rdFdcWKuhMjy_dmmHahvdCnR4VA5TnfCQs,22827
|
|
476
|
+
nvidia_nat-1.3.0a20251007.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
477
|
+
nvidia_nat-1.3.0a20251007.dist-info/entry_points.txt,sha256=4jCqjyETMpyoWbCBf4GalZU8I_wbstpzwQNezdAVbbo,698
|
|
478
|
+
nvidia_nat-1.3.0a20251007.dist-info/top_level.txt,sha256=lgJWLkigiVZuZ_O1nxVnD_ziYBwgpE2OStdaCduMEGc,8
|
|
479
|
+
nvidia_nat-1.3.0a20251007.dist-info/RECORD,,
|
|
File without changes
|
{nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{nvidia_nat-1.3.0a20251006.dist-info → nvidia_nat-1.3.0a20251007.dist-info}/licenses/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|