nvidia-nat 1.3.0a20250922__py3-none-any.whl → 1.3.0a20250924__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.
Files changed (35) hide show
  1. nat/agent/react_agent/register.py +12 -1
  2. nat/agent/reasoning_agent/reasoning_agent.py +2 -2
  3. nat/agent/rewoo_agent/register.py +12 -1
  4. nat/agent/tool_calling_agent/register.py +28 -8
  5. nat/builder/builder.py +33 -24
  6. nat/builder/eval_builder.py +14 -9
  7. nat/builder/function.py +108 -52
  8. nat/builder/workflow_builder.py +89 -79
  9. nat/cli/commands/info/info.py +16 -6
  10. nat/cli/commands/mcp/__init__.py +14 -0
  11. nat/cli/commands/mcp/mcp.py +786 -0
  12. nat/cli/entrypoint.py +2 -1
  13. nat/control_flow/router_agent/register.py +1 -1
  14. nat/control_flow/sequential_executor.py +6 -7
  15. nat/eval/evaluate.py +2 -1
  16. nat/eval/trajectory_evaluator/register.py +1 -1
  17. nat/experimental/decorators/experimental_warning_decorator.py +26 -5
  18. nat/experimental/test_time_compute/functions/plan_select_execute_function.py +2 -2
  19. nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py +1 -1
  20. nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py +1 -1
  21. nat/experimental/test_time_compute/models/strategy_base.py +2 -2
  22. nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py +3 -3
  23. nat/front_ends/mcp/mcp_front_end_plugin_worker.py +4 -4
  24. nat/front_ends/simple_base/simple_front_end_plugin_base.py +1 -1
  25. nat/profiler/decorators/function_tracking.py +33 -1
  26. nat/profiler/parameter_optimization/prompt_optimizer.py +2 -2
  27. nat/runtime/loader.py +1 -1
  28. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/METADATA +1 -1
  29. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/RECORD +34 -33
  30. nat/cli/commands/info/list_mcp.py +0 -461
  31. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/WHEEL +0 -0
  32. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/entry_points.txt +0 -0
  33. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
  34. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/licenses/LICENSE.md +0 -0
  35. {nvidia_nat-1.3.0a20250922.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/top_level.txt +0 -0
nat/cli/entrypoint.py CHANGED
@@ -35,6 +35,7 @@ from nat.utils.log_levels import LOG_LEVELS
35
35
  from .commands.configure.configure import configure_command
36
36
  from .commands.evaluate import eval_command
37
37
  from .commands.info.info import info_command
38
+ from .commands.mcp.mcp import mcp_command
38
39
  from .commands.object_store.object_store import object_store_command
39
40
  from .commands.optimize import optimizer_command
40
41
  from .commands.registry.registry import registry_command
@@ -104,11 +105,11 @@ cli.add_command(workflow_command, name="workflow")
104
105
  cli.add_command(sizing, name="sizing")
105
106
  cli.add_command(optimizer_command, name="optimize")
106
107
  cli.add_command(object_store_command, name="object-store")
108
+ cli.add_command(mcp_command, name="mcp")
107
109
 
108
110
  # Aliases
109
111
  cli.add_command(start_command.get_command(None, "console"), name="run") # type: ignore
110
112
  cli.add_command(start_command.get_command(None, "fastapi"), name="serve") # type: ignore
111
- cli.add_command(start_command.get_command(None, "mcp"), name="mcp") # type: ignore
112
113
 
113
114
 
114
115
  @cli.result_callback()
@@ -53,7 +53,7 @@ async def router_agent_workflow(config: RouterAgentWorkflowConfig, builder: Buil
53
53
 
54
54
  prompt = create_router_agent_prompt(config)
55
55
  llm = await builder.get_llm(config.llm_name, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
56
- branches = builder.get_tools(tool_names=config.branches, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
56
+ branches = await builder.get_tools(tool_names=config.branches, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
57
57
  if not branches:
58
58
  raise ValueError(f"No branches specified for Router Agent '{config.llm_name}'")
59
59
 
@@ -80,14 +80,12 @@ def _validate_function_type_compatibility(src_fn: Function,
80
80
  f"the input type of the {target_fn.instance_name} function, which is {str(target_input_type)}")
81
81
 
82
82
 
83
- def _validate_tool_list_type_compatibility(sequential_executor_config: SequentialExecutorConfig,
84
- builder: Builder) -> tuple[type, type]:
83
+ async def _validate_tool_list_type_compatibility(sequential_executor_config: SequentialExecutorConfig,
84
+ builder: Builder) -> tuple[type, type]:
85
85
  tool_list = sequential_executor_config.tool_list
86
86
  tool_execution_config = sequential_executor_config.tool_execution_config
87
87
 
88
- function_list: list[Function] = []
89
- for function_ref in tool_list:
90
- function_list.append(builder.get_function(function_ref))
88
+ function_list = await builder.get_functions(tool_list)
91
89
  if not function_list:
92
90
  raise RuntimeError("The function list is empty")
93
91
  input_type = function_list[0].input_type
@@ -110,11 +108,12 @@ def _validate_tool_list_type_compatibility(sequential_executor_config: Sequentia
110
108
  async def sequential_execution(config: SequentialExecutorConfig, builder: Builder):
111
109
  logger.debug(f"Initializing sequential executor with tool list: {config.tool_list}")
112
110
 
113
- tools: list[BaseTool] = builder.get_tools(tool_names=config.tool_list, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
111
+ tools: list[BaseTool] = await builder.get_tools(tool_names=config.tool_list,
112
+ wrapper_type=LLMFrameworkEnum.LANGCHAIN)
114
113
  tools_dict: dict[str, BaseTool] = {tool.name: tool for tool in tools}
115
114
 
116
115
  try:
117
- input_type, output_type = _validate_tool_list_type_compatibility(config, builder)
116
+ input_type, output_type = await _validate_tool_list_type_compatibility(config, builder)
118
117
  except ValueError as e:
119
118
  if config.raise_type_incompatibility:
120
119
  logger.error(f"The sequential executor tool list has incompatible types: {e}")
nat/eval/evaluate.py CHANGED
@@ -520,7 +520,8 @@ class EvaluationRun:
520
520
  await self.run_workflow_remote()
521
521
  elif not self.config.skip_workflow:
522
522
  if session_manager is None:
523
- session_manager = SessionManager(eval_workflow.build(),
523
+ workflow = await eval_workflow.build()
524
+ session_manager = SessionManager(workflow,
524
525
  max_concurrency=self.eval_config.general.max_concurrency)
525
526
  await self.run_workflow_local(session_manager)
526
527
 
@@ -33,7 +33,7 @@ async def register_trajectory_evaluator(config: TrajectoryEvaluatorConfig, build
33
33
 
34
34
  from .evaluate import TrajectoryEvaluator
35
35
  llm = await builder.get_llm(config.llm_name, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
36
- tools = builder.get_all_tools(wrapper_type=LLMFrameworkEnum.LANGCHAIN)
36
+ tools = await builder.get_all_tools(wrapper_type=LLMFrameworkEnum.LANGCHAIN)
37
37
 
38
38
  _evaluator = TrajectoryEvaluator(llm, tools, builder.get_max_concurrency())
39
39
 
@@ -16,7 +16,12 @@
16
16
  import functools
17
17
  import inspect
18
18
  import logging
19
+ from collections.abc import AsyncGenerator
20
+ from collections.abc import Callable
21
+ from collections.abc import Generator
19
22
  from typing import Any
23
+ from typing import TypeVar
24
+ from typing import overload
20
25
 
21
26
  logger = logging.getLogger(__name__)
22
27
 
@@ -25,6 +30,9 @@ BASE_WARNING_MESSAGE = ("is experimental and the API may change in future releas
25
30
 
26
31
  _warning_issued = set()
27
32
 
33
+ # Type variables for overloads
34
+ F = TypeVar('F', bound=Callable[..., Any])
35
+
28
36
 
29
37
  def issue_experimental_warning(function_name: str,
30
38
  feature_name: str | None = None,
@@ -53,7 +61,20 @@ def issue_experimental_warning(function_name: str,
53
61
  _warning_issued.add(function_name)
54
62
 
55
63
 
56
- def experimental(func: Any = None, *, feature_name: str | None = None, metadata: dict[str, Any] | None = None):
64
+ # Overloads for different function types
65
+ @overload
66
+ def experimental(func: F, *, feature_name: str | None = None, metadata: dict[str, Any] | None = None) -> F:
67
+ """Overload for when a function is passed directly."""
68
+ ...
69
+
70
+
71
+ @overload
72
+ def experimental(*, feature_name: str | None = None, metadata: dict[str, Any] | None = None) -> Callable[[F], F]:
73
+ """Overload for decorator factory usage (when called with parentheses)."""
74
+ ...
75
+
76
+
77
+ def experimental(func: Any = None, *, feature_name: str | None = None, metadata: dict[str, Any] | None = None) -> Any:
57
78
  """
58
79
  Decorator that can wrap any type of function (sync, async, generator,
59
80
  async generator) and logs a warning that the function is experimental.
@@ -90,7 +111,7 @@ def experimental(func: Any = None, *, feature_name: str | None = None, metadata:
90
111
  # ---------------------
91
112
 
92
113
  @functools.wraps(func)
93
- async def async_gen_wrapper(*args, **kwargs):
114
+ async def async_gen_wrapper(*args, **kwargs) -> AsyncGenerator[Any, Any]:
94
115
  issue_experimental_warning(function_name, feature_name, metadata)
95
116
  async for item in func(*args, **kwargs):
96
117
  yield item # yield the original item
@@ -102,7 +123,7 @@ def experimental(func: Any = None, *, feature_name: str | None = None, metadata:
102
123
  # ASYNC FUNCTION
103
124
  # ---------------------
104
125
  @functools.wraps(func)
105
- async def async_wrapper(*args, **kwargs):
126
+ async def async_wrapper(*args, **kwargs) -> Any:
106
127
  issue_experimental_warning(function_name, feature_name, metadata)
107
128
  result = await func(*args, **kwargs)
108
129
  return result
@@ -114,7 +135,7 @@ def experimental(func: Any = None, *, feature_name: str | None = None, metadata:
114
135
  # SYNC GENERATOR
115
136
  # ---------------------
116
137
  @functools.wraps(func)
117
- def sync_gen_wrapper(*args, **kwargs):
138
+ def sync_gen_wrapper(*args, **kwargs) -> Generator[Any, Any, Any]:
118
139
  issue_experimental_warning(function_name, feature_name, metadata)
119
140
  for item in func(*args, **kwargs):
120
141
  yield item # yield the original item
@@ -122,7 +143,7 @@ def experimental(func: Any = None, *, feature_name: str | None = None, metadata:
122
143
  return sync_gen_wrapper
123
144
 
124
145
  @functools.wraps(func)
125
- def sync_wrapper(*args, **kwargs):
146
+ def sync_wrapper(*args, **kwargs) -> Any:
126
147
  issue_experimental_warning(function_name, feature_name, metadata)
127
148
  result = func(*args, **kwargs)
128
149
  return result
@@ -86,7 +86,7 @@ async def plan_select_execute_function(config: PlanSelectExecuteFunctionConfig,
86
86
  "This error can be resolved by installing nvidia-nat-langchain.")
87
87
 
88
88
  # Get the augmented function's description
89
- augmented_function = builder.get_function(config.augmented_fn)
89
+ augmented_function = await builder.get_function(config.augmented_fn)
90
90
 
91
91
  # For now, we rely on runtime checking for type conversion
92
92
 
@@ -105,7 +105,7 @@ async def plan_select_execute_function(config: PlanSelectExecuteFunctionConfig,
105
105
  tool_list = "Tool: Description\n"
106
106
 
107
107
  for tool in function_used_tools:
108
- tool_impl = builder.get_function(tool)
108
+ tool_impl = await builder.get_function(tool)
109
109
  tool_list += f"- {tool}: {tool_impl.description if hasattr(tool_impl, 'description') else ''}\n"
110
110
 
111
111
  # Draft the reasoning prompt for the augmented function
@@ -82,7 +82,7 @@ async def register_ttc_tool_orchestration_function(
82
82
  function_map = {}
83
83
  for fn_ref in config.augmented_fns:
84
84
  # Retrieve the actual function from the builder
85
- fn_obj = builder.get_function(fn_ref)
85
+ fn_obj = await builder.get_function(fn_ref)
86
86
  function_map[fn_ref] = fn_obj
87
87
 
88
88
  # 2) Instantiate search, editing, scoring, selection strategies (if any)
@@ -80,7 +80,7 @@ async def register_ttc_tool_wrapper_function(
80
80
  raise ImportError("langchain-core is not installed. Please install it to use SingleShotMultiPlanPlanner.\n"
81
81
  "This error can be resolved by installing nvidia-nat-langchain.")
82
82
 
83
- augmented_function: Function = builder.get_function(config.augmented_fn)
83
+ augmented_function: Function = await builder.get_function(config.augmented_fn)
84
84
  input_llm: BaseChatModel = await builder.get_llm(config.input_llm, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
85
85
 
86
86
  if not augmented_function.has_single_output:
@@ -46,11 +46,11 @@ class StrategyBase(ABC):
46
46
  items: list[TTCItem],
47
47
  original_prompt: str | None = None,
48
48
  agent_context: str | None = None,
49
- **kwargs) -> [TTCItem]:
49
+ **kwargs) -> list[TTCItem]:
50
50
  pass
51
51
 
52
52
  @abstractmethod
53
- def supported_pipeline_types(self) -> [PipelineTypeEnum]:
53
+ def supported_pipeline_types(self) -> list[PipelineTypeEnum]:
54
54
  """Return the stage types supported by this selector."""
55
55
  pass
56
56
 
@@ -237,14 +237,14 @@ class FastApiFrontEndPluginWorker(FastApiFrontEndPluginWorkerBase):
237
237
 
238
238
  async def add_routes(self, app: FastAPI, builder: WorkflowBuilder):
239
239
 
240
- await self.add_default_route(app, SessionManager(builder.build()))
241
- await self.add_evaluate_route(app, SessionManager(builder.build()))
240
+ await self.add_default_route(app, SessionManager(await builder.build()))
241
+ await self.add_evaluate_route(app, SessionManager(await builder.build()))
242
242
  await self.add_static_files_route(app, builder)
243
243
  await self.add_authorization_route(app)
244
244
 
245
245
  for ep in self.front_end_config.endpoints:
246
246
 
247
- entry_workflow = builder.build(entry_function=ep.function_name)
247
+ entry_workflow = await builder.build(entry_function=ep.function_name)
248
248
 
249
249
  await self.add_route(app, endpoint=ep, session_manager=SessionManager(entry_workflow))
250
250
 
@@ -86,7 +86,7 @@ class MCPFrontEndPluginWorkerBase(ABC):
86
86
  """
87
87
  pass
88
88
 
89
- def _get_all_functions(self, workflow: Workflow) -> dict[str, Function]:
89
+ async def _get_all_functions(self, workflow: Workflow) -> dict[str, Function]:
90
90
  """Get all functions from the workflow.
91
91
 
92
92
  Args:
@@ -100,7 +100,7 @@ class MCPFrontEndPluginWorkerBase(ABC):
100
100
  # Extract all functions from the workflow
101
101
  functions.update(workflow.functions)
102
102
  for function_group in workflow.function_groups.values():
103
- functions.update(function_group.get_accessible_functions())
103
+ functions.update(await function_group.get_accessible_functions())
104
104
 
105
105
  if workflow.config.workflow.workflow_alias:
106
106
  functions[workflow.config.workflow.workflow_alias] = workflow
@@ -223,10 +223,10 @@ class MCPFrontEndPluginWorker(MCPFrontEndPluginWorkerBase):
223
223
  self._setup_health_endpoint(mcp)
224
224
 
225
225
  # Build the workflow and register all functions with MCP
226
- workflow = builder.build()
226
+ workflow = await builder.build()
227
227
 
228
228
  # Get all functions from the workflow
229
- functions = self._get_all_functions(workflow)
229
+ functions = await self._get_all_functions(workflow)
230
230
 
231
231
  # Filter functions based on tool_names if provided
232
232
  if self.front_end_config.tool_names:
@@ -45,7 +45,7 @@ class SimpleFrontEndPluginBase(FrontEndBase[FrontEndConfigT], ABC):
45
45
 
46
46
  click.echo(stream.getvalue())
47
47
 
48
- workflow = builder.build()
48
+ workflow = await builder.build()
49
49
  session_manager = SessionManager(workflow)
50
50
  await self.run_workflow(session_manager)
51
51
 
@@ -18,7 +18,9 @@ import inspect
18
18
  import uuid
19
19
  from collections.abc import Callable
20
20
  from typing import Any
21
+ from typing import TypeVar
21
22
  from typing import cast
23
+ from typing import overload
22
24
 
23
25
  from pydantic import BaseModel
24
26
 
@@ -77,7 +79,24 @@ def push_intermediate_step(step_manager: IntermediateStepManager,
77
79
  step_manager.push_intermediate_step(payload)
78
80
 
79
81
 
80
- def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None):
82
+ # Type variable for overloads
83
+ F = TypeVar('F', bound=Callable[..., Any])
84
+
85
+
86
+ # Overloads for different function types
87
+ @overload
88
+ def track_function(func: F, *, metadata: dict[str, Any] | None = None) -> F:
89
+ """Overload for when a function is passed directly."""
90
+ ...
91
+
92
+
93
+ @overload
94
+ def track_function(*, metadata: dict[str, Any] | None = None) -> Callable[[F], F]:
95
+ """Overload for decorator factory usage (when called with parentheses)."""
96
+ ...
97
+
98
+
99
+ def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None) -> Any:
81
100
  """
82
101
  Decorator that can wrap any type of function (sync, async, generator,
83
102
  async generator) and executes "tracking logic" around it.
@@ -256,6 +275,19 @@ def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None):
256
275
  return sync_wrapper
257
276
 
258
277
 
278
+ # Overloads for track_unregistered_function
279
+ @overload
280
+ def track_unregistered_function(func: F, *, name: str | None = None, metadata: dict[str, Any] | None = None) -> F:
281
+ """Overload for when a function is passed directly."""
282
+ ...
283
+
284
+
285
+ @overload
286
+ def track_unregistered_function(*, name: str | None = None, metadata: dict[str, Any] | None = None) -> Callable[[F], F]:
287
+ """Overload for decorator factory usage (when called with parentheses)."""
288
+ ...
289
+
290
+
259
291
  def track_unregistered_function(func: Callable[..., Any] | None = None,
260
292
  *,
261
293
  name: str | None = None,
@@ -151,11 +151,11 @@ async def optimize_prompts(
151
151
  if not init_fn_name:
152
152
  raise ValueError(
153
153
  "No prompt optimization function configured. Set optimizer.prompt_population_init_function")
154
- init_fn = builder.get_function(init_fn_name)
154
+ init_fn = await builder.get_function(init_fn_name)
155
155
 
156
156
  recombine_fn = None
157
157
  if optimizer_config.prompt.prompt_recombination_function:
158
- recombine_fn = builder.get_function(optimizer_config.prompt.prompt_recombination_function)
158
+ recombine_fn = await builder.get_function(optimizer_config.prompt.prompt_recombination_function)
159
159
 
160
160
  logger.info(
161
161
  "GA Prompt optimization ready: init_fn=%s, recombine_fn=%s",
nat/runtime/loader.py CHANGED
@@ -114,7 +114,7 @@ async def load_workflow(config_file: StrPath, max_concurrency: int = -1):
114
114
  # Must yield the workflow function otherwise it cleans up
115
115
  async with WorkflowBuilder.from_config(config=config) as workflow:
116
116
 
117
- yield SessionManager(workflow.build(), max_concurrency=max_concurrency)
117
+ yield SessionManager(await workflow.build(), max_concurrency=max_concurrency)
118
118
 
119
119
 
120
120
  @lru_cache
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nvidia-nat
3
- Version: 1.3.0a20250922
3
+ Version: 1.3.0a20250924
4
4
  Summary: NVIDIA NeMo Agent toolkit
5
5
  Author: NVIDIA Corporation
6
6
  Maintainer: NVIDIA Corporation
@@ -10,16 +10,16 @@ nat/agent/react_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
10
10
  nat/agent/react_agent/agent.py,sha256=zz1rmXdx53QG-07KGJffLZCpI3ULvYEWyCdufD42CB4,21261
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=l2Enc2m3GaijrTRm9yQanVe_mWrA_ekA6SwnfLBGKDA,8663
13
+ nat/agent/react_agent/register.py,sha256=IYd6VAsgK8lwT78ScmSrGv2QOyB5d_bh-L3MwlHVN1A,9004
14
14
  nat/agent/reasoning_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- nat/agent/reasoning_agent/reasoning_agent.py,sha256=049irI9FuqqIPDoX8Vf0GMU8w2nej7infugGG8NUjt8,9563
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=ogTtUsNqbAjEprBKp2ZEoYfuHvgxnjV7NgygvSgMz7M,19264
18
18
  nat/agent/rewoo_agent/prompt.py,sha256=nFMav3Zl_vmKPLzAIhbQHlldWnurPJb1GlwnekUuxDs,3720
19
- nat/agent/rewoo_agent/register.py,sha256=BkYXTOXMFp_KXrzF7R49R6nWbQkiuHsOhBkVs6VWPGQ,8807
19
+ nat/agent/rewoo_agent/register.py,sha256=C1dUBg53QVhdniiURyWGzbi5y4GvzCIOtErH2Q0zSbQ,9148
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
- nat/agent/tool_calling_agent/register.py,sha256=_zSknu-rdF6BRgPq4ccs0f8ki74C--a_HkY802A7pUI,5921
22
+ nat/agent/tool_calling_agent/register.py,sha256=Jll3Trb4rF7yYxNbZhkcRbW1sEsZ6tZkBdGN-Qw0Hb8,6905
23
23
  nat/authentication/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
24
24
  nat/authentication/interfaces.py,sha256=FAYM-QXVUn3a_8bmAZ7kP-lmN_BrLW8mo6krZJ3e0ME,3314
25
25
  nat/authentication/register.py,sha256=lFhswYUk9iZ53mq33fClR9UfjJPdjGIivGGNHQeWiYo,915
@@ -40,15 +40,15 @@ nat/authentication/oauth2/oauth2_auth_code_flow_provider_config.py,sha256=e165ys
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
- nat/builder/builder.py,sha256=odUw-s1jgrLWTgX4baXcAfKLeIcz8NY8cbv0LlEjK7E,10874
43
+ nat/builder/builder.py,sha256=vf5Vv5kq0gJ8D5bWw0bA64pDaszUWL19QHDiLuSP-Fs,11610
44
44
  nat/builder/component_utils.py,sha256=rbKjs-Yo2uJ4xgEfTWbRWnSsJRrvalOb7TTOBljQZig,13839
45
45
  nat/builder/context.py,sha256=6mpk7H_gZ5_gVOKbWp8BrToqJraP1GEh9-uKX4vRrpA,12462
46
46
  nat/builder/embedder.py,sha256=NPkOEcxt_-wc53QRijCQQDLretRUYHRYaKoYmarmrBk,965
47
- nat/builder/eval_builder.py,sha256=6Raia6VgQwfFTQGbjnwAL8p4MXQhl_n5UIVuQ-l9_GQ,6575
47
+ nat/builder/eval_builder.py,sha256=I-ScvupmorClYoVBIs_PhSsB7Xf9e2nGWe0rCZp3txo,6857
48
48
  nat/builder/evaluator.py,sha256=xWHMND2vcAUkdFP7FU3jnVki1rUHeTa0-9saFh2hWKs,1162
49
49
  nat/builder/framework_enum.py,sha256=eYwHQifZ86dx-OTubVA3qhCLRqhB4ElMBYBGA0gYtic,885
50
50
  nat/builder/front_end.py,sha256=mHooS1M7mVo1swSgbYoqbzQENXkuG7_Es9q4gFiuL8E,2175
51
- nat/builder/function.py,sha256=Jl1SkeEJR_oOr44m_t6Zytca9gwlC1HimS-FnJA6iG4,26307
51
+ nat/builder/function.py,sha256=udq0pUpaQss8Fr-EzPnJ4aahvCK298xXNYyf4jceFfg,27698
52
52
  nat/builder/function_base.py,sha256=0Eg8RtjWhEU3Yme0CVxcRutobA0Qo8-YHZLI6L2qAgM,13116
53
53
  nat/builder/function_info.py,sha256=7Rmrn-gOFrT2TIJklJwA_O-ycx_oimwZ0-qMYpbuZrU,25161
54
54
  nat/builder/intermediate_step_manager.py,sha256=iOuMLWTaES0J0XzaLxhTUqFvuoCAChJu3V69T43K0k0,7599
@@ -56,9 +56,9 @@ nat/builder/llm.py,sha256=DW-2q64A06VChsXNEL5PfBjH3DcsnTKVoCEWDuP7MF4,951
56
56
  nat/builder/retriever.py,sha256=ZyEqc7pFK31t_yr6Jaxa34c-tRas2edKqJZCNiVh9-0,970
57
57
  nat/builder/user_interaction_manager.py,sha256=-Z2qbQes7a2cuXgT7KEbWeuok0HcCnRdw9WB8Ghyl9k,3081
58
58
  nat/builder/workflow.py,sha256=bHrxK-VFsxUTw2wZgkWcCttpCMDeWNGPfmIGEW_bjZo,6908
59
- nat/builder/workflow_builder.py,sha256=5cUu0WdQAfj3uwzgyjeP9HYTdxEoAigT8e7lHUaIn3A,55209
59
+ nat/builder/workflow_builder.py,sha256=Fdf2eIYrRg1ovLkySzzgh5C2PNLV7QzQIN7pLHSr6zI,56339
60
60
  nat/cli/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
61
- nat/cli/entrypoint.py,sha256=YSXGpSAEt2mwEbJUJNsgx7txq7zaZRrf7H63mdYn-FY,4929
61
+ nat/cli/entrypoint.py,sha256=7NHq3Grb_qzpJzzbb0YtTsWd4YhA6y9ljHwsOQPQAIs,4928
62
62
  nat/cli/main.py,sha256=KzUSDB1TGzHRP_Fnq5XJRopx-i9S2oycgQrXrf2vDkE,2164
63
63
  nat/cli/register_workflow.py,sha256=DOQQgUWB_NO9k7nlkP4cAx_RX03Cndk032K-kqyuvEs,23285
64
64
  nat/cli/type_registry.py,sha256=R301m91ar2vDorJvN8oqqGB9PhsoyNvToiYL3x2Q1io,48838
@@ -79,10 +79,11 @@ nat/cli/commands/configure/channel/channel.py,sha256=RUA3ajmiYL1muhO71uwSR9jb7hK
79
79
  nat/cli/commands/configure/channel/remove.py,sha256=GgLudl7SWyvhqLUuRLijXn2SdugsiOiZkkR-vLlKCcw,1096
80
80
  nat/cli/commands/configure/channel/update.py,sha256=hcuAWJFhac3x3jurQRySsX_T-SA3S2308EjRhWBJOO8,1091
81
81
  nat/cli/commands/info/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
82
- nat/cli/commands/info/info.py,sha256=5_s2_MMYn6ZLQpADdZ3aVRg4uvyXvF-4xVJclXxN15U,1317
82
+ nat/cli/commands/info/info.py,sha256=BGqshIEDpNRH9hM-06k-Gq-QX-qNddPICSWCN-ReC-g,1627
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
- nat/cli/commands/info/list_mcp.py,sha256=lPp_6h_QPLblsJIeWROYr6Nx30BD-3JOtIbpxr8n39E,18985
85
+ nat/cli/commands/mcp/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
86
+ nat/cli/commands/mcp/mcp.py,sha256=CrpOOZZGq1nSsuFU_6h_VBL5ZE92Yr30WV9c5iirtzY,33332
86
87
  nat/cli/commands/object_store/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
87
88
  nat/cli/commands/object_store/object_store.py,sha256=_ivB-R30a-66fNy-fUzi58HQ0Ay0gYsGz7T1xXoRa3Y,8576
88
89
  nat/cli/commands/registry/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
@@ -104,11 +105,11 @@ nat/cli/commands/workflow/templates/register.py.j2,sha256=txA-qBpWhxRc0GUcVRCIqV
104
105
  nat/cli/commands/workflow/templates/workflow.py.j2,sha256=Z4uZPG9rtf1nxF74dF4DqDtrF3uYmYUmWowDFbQBjao,1241
105
106
  nat/control_flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
107
  nat/control_flow/register.py,sha256=YBB73ecHpvUN_RivkeMWwu645gpC8OCPVOYgr_5aEOA,845
107
- nat/control_flow/sequential_executor.py,sha256=CvGK8MdAzWwQeBuYArjnmNXjREhBLo3tmFsZq3u0XCc,8331
108
+ nat/control_flow/sequential_executor.py,sha256=iFbnyVxOsbltLfNhukH7yv0rGYpva4z-AhyEo-3QiRI,8327
108
109
  nat/control_flow/router_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
110
  nat/control_flow/router_agent/agent.py,sha256=IvMqQuJTwsdARbgPdtfGVTwKO4XZfVLNDui_Kl843Pw,13695
110
111
  nat/control_flow/router_agent/prompt.py,sha256=fIAiNsAs1zXRAatButR76zSpHJNxSkXXKKmCL86a58A,1720
111
- nat/control_flow/router_agent/register.py,sha256=A0N9-9nUW9CLOPGOh2MzxLb3oBWvgGcGK5ssPU_D-W0,4140
112
+ nat/control_flow/router_agent/register.py,sha256=p15Jy05PjJhXRrjqWiEgy47zmc-CFCuXd7FhInMoqIE,4146
112
113
  nat/data_models/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
113
114
  nat/data_models/agent.py,sha256=IwDyb9Zc3R4Zd5rFeqt7q0EQswczAl5focxV9KozIzs,1625
114
115
  nat/data_models/api_server.py,sha256=Zl0eAd-yV9PD8vUH8eWRvXFcUBdY2tENKe73q-Uxxgg,25699
@@ -155,7 +156,7 @@ nat/embedder/openai_embedder.py,sha256=uASGh8KEmJg6_km8YNaenpPC92v-WbFpsvq-l4R38
155
156
  nat/embedder/register.py,sha256=TM_LKuSlJr3tEceNVuHfAx_yrCzf1sryD5Ycep5rNGo,883
156
157
  nat/eval/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
157
158
  nat/eval/config.py,sha256=G0LE4JpZaQy3PvERldVATFpQCiDQcVJGUFChgorqzNo,2377
158
- nat/eval/evaluate.py,sha256=gYlKht-vBseRuD_LdV1BBcoyx-Gx5Q3jz2f44VRTO7Q,26683
159
+ nat/eval/evaluate.py,sha256=PGsVTF6Xgxygu29bbV879gfCuDjEZj5-Df9_uOQT2FY,26733
159
160
  nat/eval/intermediate_step_adapter.py,sha256=mquQfPbq4-Owid2GzSyxtGNXoZ0i8crB6sA49rxnyrU,4483
160
161
  nat/eval/register.py,sha256=Vce8HGsu6KDj7MA_5W2ziQtss1F180ndMjuqGiHxTe8,1358
161
162
  nat/eval/remote_workflow.py,sha256=JAAbD0s753AOjo9baT4OqcB5dVEDmN34jPe0Uk13LcU,6024
@@ -182,7 +183,7 @@ nat/eval/swe_bench_evaluator/evaluate.py,sha256=SkP8spu351UBgzjdG8ox6uHpiTAWxe2C
182
183
  nat/eval/swe_bench_evaluator/register.py,sha256=5mzvBTUBdqahBZNU4KjB1go81cObo9F4iA3y_eOJ86g,1537
183
184
  nat/eval/trajectory_evaluator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
185
  nat/eval/trajectory_evaluator/evaluate.py,sha256=wtbKyVs-jE0xjkDLOYHVwoa3J1yaWyO0FvZpxajVRE0,3242
185
- nat/eval/trajectory_evaluator/register.py,sha256=Zv6XOJP8oHt6EVur2XfiH2HoNSa5CWdM159lizcEoHM,1709
186
+ nat/eval/trajectory_evaluator/register.py,sha256=QijI0Lf_9OxQUgOlNIbSG5H60QNy6dKjpt7Cz4p_IWk,1715
186
187
  nat/eval/tunable_rag_evaluator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
188
  nat/eval/tunable_rag_evaluator/evaluate.py,sha256=qpZqdJs8IW9tI-59gNhX7HQhmCMC3kX1PMKsKHZgEPY,13012
188
189
  nat/eval/tunable_rag_evaluator/register.py,sha256=jYhPz8Xwsxyb7E0xpkAcQFT20xjSoYd_4qOJ7ltvUzU,2558
@@ -193,7 +194,7 @@ nat/eval/utils/tqdm_position_registry.py,sha256=9CtpCk1wtYCSyieHPaSp8nlZu6EcNUOa
193
194
  nat/eval/utils/weave_eval.py,sha256=fma5x9JbWpWrfQbfMHcjMovlRVR0v35yfNt1Avt6Vro,7719
194
195
  nat/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
196
  nat/experimental/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
- nat/experimental/decorators/experimental_warning_decorator.py,sha256=ji9fITsDF5N5ps5Y9jwb1sqc1e_3TvkUUUBBiJC76CE,5020
197
+ nat/experimental/decorators/experimental_warning_decorator.py,sha256=zB_wEATyNT_9QcR2KIMzzHAZpYcU4EykiZ64nkw3qJY,5786
197
198
  nat/experimental/test_time_compute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
199
  nat/experimental/test_time_compute/register.py,sha256=7atPs0bUk8isVKwOpbG-3bTEjfPMDO3dU-TCjJui4bs,1568
199
200
  nat/experimental/test_time_compute/editing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -202,16 +203,16 @@ nat/experimental/test_time_compute/editing/llm_as_a_judge_editor.py,sha256=QAu46
202
203
  nat/experimental/test_time_compute/editing/motivation_aware_summarization.py,sha256=S7s_BigZ1ru-3lP7c58Zpt5Nxavi8Ko-A1cmH7KkX3s,4503
203
204
  nat/experimental/test_time_compute/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
205
  nat/experimental/test_time_compute/functions/execute_score_select_function.py,sha256=OHiQ01a6g3OEd-K1WZynuQspmrvBpgKKxxqO-UbM4z0,4550
205
- nat/experimental/test_time_compute/functions/plan_select_execute_function.py,sha256=2j8m2VuoMmjKMoMlre0VcYxtu3saDf81lxXg6kzaPsE,10055
206
- nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py,sha256=ZzDGHg7xDdXgubF6o7Mih-5SHStWKjxB1PiDzGdPFew,8440
207
- nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py,sha256=H4LmatlubHGTUBXAp-8LIK8Z6bUid0W_8EuigaGU89Q,6907
206
+ nat/experimental/test_time_compute/functions/plan_select_execute_function.py,sha256=ZkxFwF8SF6y88qa9ZqBsie--bnbsHpWC72ky-ttBzV0,10067
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=TMHLz31RgPG3rt5ilfkES-xqJSl-f8qc_-ZU9bYFQyk,6913
208
209
  nat/experimental/test_time_compute/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
210
  nat/experimental/test_time_compute/models/editor_config.py,sha256=wFHcd4GjWy4fxuXrYnC0gJ0ZszsAjziohK8vS7cc8EA,7153
210
211
  nat/experimental/test_time_compute/models/scoring_config.py,sha256=zi93HQrtY1FiRuZgDOdlDZql6T-1W6SteybSUMXjr8U,5500
211
212
  nat/experimental/test_time_compute/models/search_config.py,sha256=yqkwMuMs4LlEFhc8c2vZwCSmQlG4F-O4usxy-zomcZg,6487
212
213
  nat/experimental/test_time_compute/models/selection_config.py,sha256=vcPvtE7Ya7IvvKIEBMmPYnfJgBnl5WOu1v7r95WHQK4,7867
213
214
  nat/experimental/test_time_compute/models/stage_enums.py,sha256=UNQwUqRFoRe5pgasUbBRkRil7zs_NAsJlgFbWhcAU_Y,1284
214
- nat/experimental/test_time_compute/models/strategy_base.py,sha256=TcAiOCEMVOqxVWFoEd6vgXASM2M_-Ybxttv64ERQpjk,2588
215
+ nat/experimental/test_time_compute/models/strategy_base.py,sha256=N0s_SrxpUP9Sg32P1V1dm9C2uRH5JCdWvZGFngAU45U,2596
215
216
  nat/experimental/test_time_compute/models/tool_use_config.py,sha256=WX6Z2ODGElDA7Io8wBxtDkk3jUQGtHLukS6a-ivSZnE,1617
216
217
  nat/experimental/test_time_compute/models/ttc_item.py,sha256=E7WEYBmLKo5fth8oljnGF32lojkz31LZIZWNVnk_B3U,2387
217
218
  nat/experimental/test_time_compute/scoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -241,7 +242,7 @@ nat/front_ends/fastapi/dask_client_mixin.py,sha256=N_tw4yxA7EKIFTKp5_C2ZksIZucWx
241
242
  nat/front_ends/fastapi/fastapi_front_end_config.py,sha256=BcuzrVlA5b7yYyQKNvQgEanDBtKEHdpC8TAd-O7lfF0,11992
242
243
  nat/front_ends/fastapi/fastapi_front_end_controller.py,sha256=ei-34KCMpyaeAgeAN4gVvSGFjewjjRhHZPN0FqAfhDY,2548
243
244
  nat/front_ends/fastapi/fastapi_front_end_plugin.py,sha256=e33YkMcLzvm4OUG34bhl-WYiBTqkR-_wJYKG4GODkGM,11169
244
- nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py,sha256=F-A6KQRqO0JOVj90rGewFzzSlrSIAMxAeq8L1OFQClE,52989
245
+ nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py,sha256=-141jmq4nYQLa0XJmRoefq4Mv7svr6J7MhDKa199WWU,53007
245
246
  nat/front_ends/fastapi/intermediate_steps_subscriber.py,sha256=kbyWlBVpyvyQQjeUnFG9nsR4RaqqNkx567ZSVwwl2RU,3104
246
247
  nat/front_ends/fastapi/job_store.py,sha256=S0ab_MyJvr3z28l1UY5rhORt6eiEls9_xcQDrNrBJm8,22746
247
248
  nat/front_ends/fastapi/main.py,sha256=s8gXCy61rJjK1aywMRpgPvzlkMGsCS-kI_0EIy4JjBM,2445
@@ -260,11 +261,11 @@ nat/front_ends/mcp/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7
260
261
  nat/front_ends/mcp/introspection_token_verifier.py,sha256=s7Q4Q6rWZJ0ZVujSxxpvVI6Bnhkg1LJQ3RLkvhzFIGE,2836
261
262
  nat/front_ends/mcp/mcp_front_end_config.py,sha256=fFbg800FDJfwv-nXc0jEPaNVtW4ApESmVRexr-werks,2313
262
263
  nat/front_ends/mcp/mcp_front_end_plugin.py,sha256=NiIIgApk1X2yAEwtG9tHaY6SexQMbZrd6Drs7uIJix8,5055
263
- nat/front_ends/mcp/mcp_front_end_plugin_worker.py,sha256=TnrxwNfkphOp6a2itbJQKonjrJCK3nDXynUOe79HP2Q,10176
264
+ nat/front_ends/mcp/mcp_front_end_plugin_worker.py,sha256=jMclC0qEd910oTGCqd1kQ8WjP3WPdQKTl854-2bU_KI,10200
264
265
  nat/front_ends/mcp/register.py,sha256=3aJtgG5VaiqujoeU1-Eq7Hl5pWslIlIwGFU2ASLTXgM,1173
265
266
  nat/front_ends/mcp/tool_converter.py,sha256=J0GS85qs2rVO2ZyGfxQcbtlWevoMJCEiEfa83PK10Ew,11548
266
267
  nat/front_ends/simple_base/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
267
- nat/front_ends/simple_base/simple_front_end_plugin_base.py,sha256=3kevZVhvzj_Wvu8HYhRz-CRrO2OldW6wcmtcsIQCELk,1765
268
+ nat/front_ends/simple_base/simple_front_end_plugin_base.py,sha256=ctD92Wrn0SI23cCSNcvYtfhk6sBnkX1nf_4wzb-jluM,1771
268
269
  nat/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
269
270
  nat/llm/aws_bedrock_llm.py,sha256=-P6OltFz8CPHmKmgUipFaIpROLGdnnRmd-q5BfjY7lM,3219
270
271
  nat/llm/azure_openai_llm.py,sha256=30JWbNyscHhuRjFdWF2yLAEcKurY0q2BSMVFTdtSv9g,2649
@@ -342,7 +343,7 @@ nat/profiler/callbacks/semantic_kernel_callback_handler.py,sha256=BknzhQNB-MDMhR
342
343
  nat/profiler/callbacks/token_usage_base_model.py,sha256=X0b_AbBgVQAAbgbDMim-3S3XdQ7PaPs9qMUACvMAe5o,1104
343
344
  nat/profiler/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
344
345
  nat/profiler/decorators/framework_wrapper.py,sha256=r-ysp4IRZhsfuUzeEukMwvLqD-hIVbF4yfJQ5PXr_5A,5517
345
- nat/profiler/decorators/function_tracking.py,sha256=aZWPOsWKwFCFZSoxXz3SpHmbVB39W3hC0cVND7Tby4I,15795
346
+ nat/profiler/decorators/function_tracking.py,sha256=ro4KdkoS9Y2cF36wxbY-XCQHGpL6o-JNU0MC0uP4jFg,16769
346
347
  nat/profiler/forecasting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
347
348
  nat/profiler/forecasting/config.py,sha256=5BhMa8csuPCjEnTaNQjo_2IoO7esh1ch02MoSWkvwPw,791
348
349
  nat/profiler/forecasting/model_trainer.py,sha256=6Ci2KN4sNj1V3yduHXlA0tn50yHUmM2VcbRRS2L96OA,2456
@@ -368,7 +369,7 @@ nat/profiler/parameter_optimization/optimizer_runtime.py,sha256=rXmCOq81o7ZorQOU
368
369
  nat/profiler/parameter_optimization/parameter_optimizer.py,sha256=CxRFSnl0w0JQvijsY-gszUNxvSrihQ0Jl9ySYClsNFI,6544
369
370
  nat/profiler/parameter_optimization/parameter_selection.py,sha256=-cKhoEgwC2K-brHOiLmgLnxk23bRMDefDCZSwvCqqJM,4007
370
371
  nat/profiler/parameter_optimization/pareto_visualizer.py,sha256=06SqR6b50dI4emJiGPLV0en19utf3jrrwLUYf_LwNDs,15904
371
- nat/profiler/parameter_optimization/prompt_optimizer.py,sha256=foO-IQWBzCsFRDxAwucIq1kQOO-XwFeULBWyoGc33Zo,17646
372
+ nat/profiler/parameter_optimization/prompt_optimizer.py,sha256=_AmdeB1jRamd93qR5UqRy5LweYR3bjnD7zoLxzXYE0k,17658
372
373
  nat/profiler/parameter_optimization/update_helpers.py,sha256=NxWhrGVchbjws85pPd-jS-C14_l70QvVSvEfENndVcY,2339
373
374
  nat/registry_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
374
375
  nat/registry_handlers/metadata_factory.py,sha256=MTbXa7pifVPpmLJs86jVCS1wHk5drRykNPpJuv2A_0U,2769
@@ -403,7 +404,7 @@ nat/retriever/nemo_retriever/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W
403
404
  nat/retriever/nemo_retriever/register.py,sha256=3XdrvEJzX2Zc8wpdm__4YYlEWBW-FK3tl_BwOWtn-4w,2893
404
405
  nat/retriever/nemo_retriever/retriever.py,sha256=gi3_qJFqE-iqRh3of_cmJg-SwzaQ3z24zA9LwY_MSLY,6930
405
406
  nat/runtime/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
406
- nat/runtime/loader.py,sha256=igx-nI48JjGDaFFoNctdR249Dl1ymRS5MQCTvZFqOFM,7947
407
+ nat/runtime/loader.py,sha256=obUdAgZVYCPGC0R8u3wcoKFJzzSPQgJvrbU4OWygtog,7953
407
408
  nat/runtime/runner.py,sha256=CVC8F6D3cm4kNCzFSzl36G9F6rWgmGGMcMoN5IlFeTo,6388
408
409
  nat/runtime/session.py,sha256=U3UHQpdCBkCiJetsWdq9r6wUEVDBa2gv1VQedE64kY8,6959
409
410
  nat/runtime/user_metadata.py,sha256=ce37NRYJWnMOWk6A7VAQ1GQztjMmkhMOq-uYf2gNCwo,3692
@@ -467,10 +468,10 @@ nat/utils/reactive/base/observer_base.py,sha256=6BiQfx26EMumotJ3KoVcdmFBYR_fnAss
467
468
  nat/utils/reactive/base/subject_base.py,sha256=UQOxlkZTIeeyYmG5qLtDpNf_63Y7p-doEeUA08_R8ME,2521
468
469
  nat/utils/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
469
470
  nat/utils/settings/global_settings.py,sha256=9JaO6pxKT_Pjw6rxJRsRlFCXdVKCl_xUKU2QHZQWWNM,7294
470
- nvidia_nat-1.3.0a20250922.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
471
- nvidia_nat-1.3.0a20250922.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
472
- nvidia_nat-1.3.0a20250922.dist-info/METADATA,sha256=oRhemXV7FuDWWz4Aw7e3q5JW7s9wWfZHjrwAfhq7MsU,22605
473
- nvidia_nat-1.3.0a20250922.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
474
- nvidia_nat-1.3.0a20250922.dist-info/entry_points.txt,sha256=4jCqjyETMpyoWbCBf4GalZU8I_wbstpzwQNezdAVbbo,698
475
- nvidia_nat-1.3.0a20250922.dist-info/top_level.txt,sha256=lgJWLkigiVZuZ_O1nxVnD_ziYBwgpE2OStdaCduMEGc,8
476
- nvidia_nat-1.3.0a20250922.dist-info/RECORD,,
471
+ nvidia_nat-1.3.0a20250924.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
472
+ nvidia_nat-1.3.0a20250924.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
473
+ nvidia_nat-1.3.0a20250924.dist-info/METADATA,sha256=o7QdYxrPASsVZT2v_EipTYj5aCzuFUfYnW6pAgVn7m4,22605
474
+ nvidia_nat-1.3.0a20250924.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
475
+ nvidia_nat-1.3.0a20250924.dist-info/entry_points.txt,sha256=4jCqjyETMpyoWbCBf4GalZU8I_wbstpzwQNezdAVbbo,698
476
+ nvidia_nat-1.3.0a20250924.dist-info/top_level.txt,sha256=lgJWLkigiVZuZ_O1nxVnD_ziYBwgpE2OStdaCduMEGc,8
477
+ nvidia_nat-1.3.0a20250924.dist-info/RECORD,,