nvidia-nat 1.3.0a20250923__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.
- nat/agent/react_agent/register.py +12 -1
- nat/agent/reasoning_agent/reasoning_agent.py +2 -2
- nat/agent/rewoo_agent/register.py +12 -1
- nat/agent/tool_calling_agent/register.py +28 -8
- nat/builder/builder.py +33 -24
- nat/builder/eval_builder.py +14 -9
- nat/builder/function.py +108 -52
- nat/builder/workflow_builder.py +89 -79
- nat/cli/commands/info/info.py +16 -6
- nat/cli/commands/mcp/__init__.py +14 -0
- nat/cli/commands/mcp/mcp.py +786 -0
- nat/cli/entrypoint.py +2 -1
- nat/control_flow/router_agent/register.py +1 -1
- nat/control_flow/sequential_executor.py +6 -7
- nat/eval/evaluate.py +2 -1
- nat/eval/trajectory_evaluator/register.py +1 -1
- nat/experimental/decorators/experimental_warning_decorator.py +26 -5
- nat/experimental/test_time_compute/functions/plan_select_execute_function.py +2 -2
- nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py +1 -1
- nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py +1 -1
- nat/experimental/test_time_compute/models/strategy_base.py +2 -2
- nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py +3 -3
- nat/front_ends/mcp/mcp_front_end_plugin_worker.py +4 -4
- nat/front_ends/simple_base/simple_front_end_plugin_base.py +1 -1
- nat/profiler/decorators/function_tracking.py +33 -1
- nat/profiler/parameter_optimization/prompt_optimizer.py +2 -2
- nat/runtime/loader.py +1 -1
- {nvidia_nat-1.3.0a20250923.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/METADATA +1 -1
- {nvidia_nat-1.3.0a20250923.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/RECORD +34 -33
- nat/cli/commands/info/list_mcp.py +0 -461
- {nvidia_nat-1.3.0a20250923.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/WHEEL +0 -0
- {nvidia_nat-1.3.0a20250923.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/entry_points.txt +0 -0
- {nvidia_nat-1.3.0a20250923.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
- {nvidia_nat-1.3.0a20250923.dist-info → nvidia_nat-1.3.0a20250924.dist-info}/licenses/LICENSE.md +0 -0
- {nvidia_nat-1.3.0a20250923.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
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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/
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
206
|
-
nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py,sha256=
|
|
207
|
-
nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py,sha256=
|
|
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=
|
|
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
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
471
|
-
nvidia_nat-1.3.
|
|
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.
|
|
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,,
|