nvidia-nat 1.3.0a20250910__py3-none-any.whl → 1.3.0a20250922__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 (114) hide show
  1. nat/agent/base.py +9 -4
  2. nat/agent/prompt_optimizer/prompt.py +68 -0
  3. nat/agent/prompt_optimizer/register.py +149 -0
  4. nat/agent/react_agent/agent.py +1 -1
  5. nat/agent/react_agent/register.py +17 -14
  6. nat/agent/reasoning_agent/reasoning_agent.py +9 -7
  7. nat/agent/register.py +1 -0
  8. nat/agent/rewoo_agent/agent.py +9 -2
  9. nat/agent/rewoo_agent/register.py +16 -12
  10. nat/agent/tool_calling_agent/agent.py +69 -7
  11. nat/agent/tool_calling_agent/register.py +14 -13
  12. nat/authentication/credential_validator/__init__.py +14 -0
  13. nat/authentication/credential_validator/bearer_token_validator.py +557 -0
  14. nat/authentication/oauth2/oauth2_resource_server_config.py +124 -0
  15. nat/builder/builder.py +27 -4
  16. nat/builder/component_utils.py +7 -3
  17. nat/builder/context.py +28 -6
  18. nat/builder/function.py +313 -0
  19. nat/builder/function_info.py +1 -1
  20. nat/builder/workflow.py +5 -0
  21. nat/builder/workflow_builder.py +215 -16
  22. nat/cli/commands/optimize.py +90 -0
  23. nat/cli/commands/workflow/templates/config.yml.j2 +0 -1
  24. nat/cli/commands/workflow/workflow_commands.py +4 -7
  25. nat/cli/entrypoint.py +4 -9
  26. nat/cli/register_workflow.py +38 -4
  27. nat/cli/type_registry.py +71 -0
  28. nat/control_flow/__init__.py +0 -0
  29. nat/control_flow/register.py +20 -0
  30. nat/control_flow/router_agent/__init__.py +0 -0
  31. nat/control_flow/router_agent/agent.py +329 -0
  32. nat/control_flow/router_agent/prompt.py +48 -0
  33. nat/control_flow/router_agent/register.py +91 -0
  34. nat/control_flow/sequential_executor.py +167 -0
  35. nat/data_models/agent.py +34 -0
  36. nat/data_models/authentication.py +38 -0
  37. nat/data_models/component.py +2 -0
  38. nat/data_models/component_ref.py +11 -0
  39. nat/data_models/config.py +40 -16
  40. nat/data_models/function.py +34 -0
  41. nat/data_models/function_dependencies.py +8 -0
  42. nat/data_models/optimizable.py +119 -0
  43. nat/data_models/optimizer.py +149 -0
  44. nat/data_models/temperature_mixin.py +4 -3
  45. nat/data_models/top_p_mixin.py +4 -3
  46. nat/embedder/nim_embedder.py +1 -1
  47. nat/embedder/openai_embedder.py +1 -1
  48. nat/eval/config.py +1 -1
  49. nat/eval/evaluate.py +5 -1
  50. nat/eval/register.py +4 -0
  51. nat/eval/runtime_evaluator/__init__.py +14 -0
  52. nat/eval/runtime_evaluator/evaluate.py +123 -0
  53. nat/eval/runtime_evaluator/register.py +100 -0
  54. nat/experimental/test_time_compute/functions/plan_select_execute_function.py +5 -1
  55. nat/front_ends/fastapi/dask_client_mixin.py +65 -0
  56. nat/front_ends/fastapi/fastapi_front_end_config.py +18 -3
  57. nat/front_ends/fastapi/fastapi_front_end_plugin.py +134 -3
  58. nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py +243 -228
  59. nat/front_ends/fastapi/job_store.py +518 -99
  60. nat/front_ends/fastapi/main.py +11 -19
  61. nat/front_ends/fastapi/utils.py +57 -0
  62. nat/front_ends/mcp/introspection_token_verifier.py +73 -0
  63. nat/front_ends/mcp/mcp_front_end_config.py +5 -1
  64. nat/front_ends/mcp/mcp_front_end_plugin.py +37 -11
  65. nat/front_ends/mcp/mcp_front_end_plugin_worker.py +111 -3
  66. nat/front_ends/mcp/tool_converter.py +3 -0
  67. nat/llm/aws_bedrock_llm.py +14 -3
  68. nat/llm/nim_llm.py +14 -3
  69. nat/llm/openai_llm.py +8 -1
  70. nat/observability/exporter/processing_exporter.py +29 -55
  71. nat/observability/mixin/redaction_config_mixin.py +5 -4
  72. nat/observability/mixin/tagging_config_mixin.py +26 -14
  73. nat/observability/mixin/type_introspection_mixin.py +420 -107
  74. nat/observability/processor/processor.py +3 -0
  75. nat/observability/processor/redaction/__init__.py +24 -0
  76. nat/observability/processor/redaction/contextual_redaction_processor.py +125 -0
  77. nat/observability/processor/redaction/contextual_span_redaction_processor.py +66 -0
  78. nat/observability/processor/redaction/redaction_processor.py +177 -0
  79. nat/observability/processor/redaction/span_header_redaction_processor.py +92 -0
  80. nat/observability/processor/span_tagging_processor.py +21 -14
  81. nat/profiler/decorators/framework_wrapper.py +9 -6
  82. nat/profiler/parameter_optimization/__init__.py +0 -0
  83. nat/profiler/parameter_optimization/optimizable_utils.py +93 -0
  84. nat/profiler/parameter_optimization/optimizer_runtime.py +67 -0
  85. nat/profiler/parameter_optimization/parameter_optimizer.py +153 -0
  86. nat/profiler/parameter_optimization/parameter_selection.py +108 -0
  87. nat/profiler/parameter_optimization/pareto_visualizer.py +380 -0
  88. nat/profiler/parameter_optimization/prompt_optimizer.py +384 -0
  89. nat/profiler/parameter_optimization/update_helpers.py +66 -0
  90. nat/profiler/utils.py +3 -1
  91. nat/tool/chat_completion.py +4 -1
  92. nat/tool/github_tools.py +450 -0
  93. nat/tool/register.py +2 -7
  94. nat/utils/callable_utils.py +70 -0
  95. nat/utils/exception_handlers/automatic_retries.py +103 -48
  96. nat/utils/log_levels.py +25 -0
  97. nat/utils/type_utils.py +4 -0
  98. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/METADATA +10 -1
  99. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/RECORD +105 -76
  100. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/entry_points.txt +1 -0
  101. nat/observability/processor/header_redaction_processor.py +0 -123
  102. nat/observability/processor/redaction_processor.py +0 -77
  103. nat/tool/github_tools/create_github_commit.py +0 -133
  104. nat/tool/github_tools/create_github_issue.py +0 -87
  105. nat/tool/github_tools/create_github_pr.py +0 -106
  106. nat/tool/github_tools/get_github_file.py +0 -106
  107. nat/tool/github_tools/get_github_issue.py +0 -166
  108. nat/tool/github_tools/get_github_pr.py +0 -256
  109. nat/tool/github_tools/update_github_issue.py +0 -100
  110. /nat/{tool/github_tools → agent/prompt_optimizer}/__init__.py +0 -0
  111. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/WHEEL +0 -0
  112. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
  113. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/licenses/LICENSE.md +0 -0
  114. {nvidia_nat-1.3.0a20250910.dist-info → nvidia_nat-1.3.0a20250922.dist-info}/top_level.txt +0 -0
@@ -1,22 +1,25 @@
1
1
  aiq/__init__.py,sha256=qte-NlwgM990yEeyaRUxA4IBQq3PaEkQUCK3i95iwPw,2341
2
2
  nat/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- nat/agent/base.py,sha256=4yV1ePzgxHE13GVFyY6XipP7Buo-dIhKCfg8khfJivA,9866
3
+ nat/agent/base.py,sha256=6u0z7NjrtCBxvByijQz4vrRNPb4yX9FqEyJixuBRQV4,10157
4
4
  nat/agent/dual_node.py,sha256=pfvXa1iLKtrNBHsh-tM5RWRmVe7QkyYhQNanOfWdJJs,2569
5
- nat/agent/register.py,sha256=1utq5-6GxtEh2kIEj521q1R17GyxKlWOLBFwuSd0BNs,973
5
+ nat/agent/register.py,sha256=rPhHDyqRBIKyon3HqhOmpAjqPP18Or6wDQb0wRUBIjQ,1032
6
+ nat/agent/prompt_optimizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ nat/agent/prompt_optimizer/prompt.py,sha256=2I1cGZH73Q1pwxA_V-9b1sFCdQ1PLFxliaRtrIkVVVU,3042
8
+ nat/agent/prompt_optimizer/register.py,sha256=qV9Qkd4XDfwVYSzZOyI9RlRzK26jukaB51RriYgWd6k,6790
6
9
  nat/agent/react_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- nat/agent/react_agent/agent.py,sha256=ead5hwZ9AdklAyem85pbfj5gq6lcpaGMW2YpFBtH4JA,21277
10
+ nat/agent/react_agent/agent.py,sha256=zz1rmXdx53QG-07KGJffLZCpI3ULvYEWyCdufD42CB4,21261
8
11
  nat/agent/react_agent/output_parser.py,sha256=m7K6wRwtckBBpAHqOf3BZ9mqZLwrP13Kxz5fvNxbyZE,4219
9
12
  nat/agent/react_agent/prompt.py,sha256=N47JJrT6xwYQCv1jedHhlul2AE7EfKsSYfAbgJwWRew,1758
10
- nat/agent/react_agent/register.py,sha256=6_Ybj9fi7Rr2yIBw0ac4uLk1lPQHLcdmli19uMsDxgk,8635
13
+ nat/agent/react_agent/register.py,sha256=l2Enc2m3GaijrTRm9yQanVe_mWrA_ekA6SwnfLBGKDA,8663
11
14
  nat/agent/reasoning_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- nat/agent/reasoning_agent/reasoning_agent.py,sha256=2NDDHeesM2s2PnJfRsv2OTYjeajR1rYUVDvJZLzWGAQ,9434
15
+ nat/agent/reasoning_agent/reasoning_agent.py,sha256=049irI9FuqqIPDoX8Vf0GMU8w2nej7infugGG8NUjt8,9563
13
16
  nat/agent/rewoo_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- nat/agent/rewoo_agent/agent.py,sha256=lH1oXePyhNVavzAaN4ahjeDo3IH7O7v8jBs5d3bOYkU,18858
17
+ nat/agent/rewoo_agent/agent.py,sha256=ogTtUsNqbAjEprBKp2ZEoYfuHvgxnjV7NgygvSgMz7M,19264
15
18
  nat/agent/rewoo_agent/prompt.py,sha256=nFMav3Zl_vmKPLzAIhbQHlldWnurPJb1GlwnekUuxDs,3720
16
- nat/agent/rewoo_agent/register.py,sha256=PkKF4QjHfbc-QcQQ2S7YAubNMGLpwqfUzTIT1H6pDj0,8458
19
+ nat/agent/rewoo_agent/register.py,sha256=BkYXTOXMFp_KXrzF7R49R6nWbQkiuHsOhBkVs6VWPGQ,8807
17
20
  nat/agent/tool_calling_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- nat/agent/tool_calling_agent/agent.py,sha256=FhGL7yV-gwbviZsP5RZ95TDWHdhHRuB_UcXPW22qypE,7655
19
- nat/agent/tool_calling_agent/register.py,sha256=eFHiu1_t2knZOlLfeWmw1JFH5y84cIxuZTy8gl8IIa8,5808
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
20
23
  nat/authentication/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
21
24
  nat/authentication/interfaces.py,sha256=FAYM-QXVUn3a_8bmAZ7kP-lmN_BrLW8mo6krZJ3e0ME,3314
22
25
  nat/authentication/register.py,sha256=lFhswYUk9iZ53mq33fClR9UfjJPdjGIivGGNHQeWiYo,915
@@ -24,6 +27,8 @@ nat/authentication/api_key/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-i
24
27
  nat/authentication/api_key/api_key_auth_provider.py,sha256=DoN1MoeB_uOWQMHUz2OiyhwbFxQkj0FOifN2TFr4sds,4022
25
28
  nat/authentication/api_key/api_key_auth_provider_config.py,sha256=zfkxH3yvUSKKldRf1K4PPm0rJLXGH0GDH8xj7anPYGQ,5472
26
29
  nat/authentication/api_key/register.py,sha256=Mhv3WyZ9H7C2JN8VuPvwlsJEZrwXJCLXCIokkN9RrP0,1147
30
+ nat/authentication/credential_validator/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
31
+ nat/authentication/credential_validator/bearer_token_validator.py,sha256=cwGENd_bp-u2Y_JCRbEPxFkulk_vREpLog5c83h1nRU,21250
27
32
  nat/authentication/exceptions/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
28
33
  nat/authentication/exceptions/api_key_exceptions.py,sha256=6wnz951BI77rFYuHxoHOthz-y5oE08uxsuM6G5EvOyM,1545
29
34
  nat/authentication/http_basic_auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -32,35 +37,37 @@ nat/authentication/http_basic_auth/register.py,sha256=N2VD0vw7cYABsLxsGXl5yw0htc
32
37
  nat/authentication/oauth2/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
33
38
  nat/authentication/oauth2/oauth2_auth_code_flow_provider.py,sha256=iFp_kImFwDrweFHGTg4n9RGybH3-wRSJkyh-FPOxwDA,4538
34
39
  nat/authentication/oauth2/oauth2_auth_code_flow_provider_config.py,sha256=e165ysd2pX2WTbV3_FQKEjEaa4TAXkJ7B98WUGbqnGE,2204
40
+ nat/authentication/oauth2/oauth2_resource_server_config.py,sha256=ltcNp8Dwb2Q4tlwMN5Cl0B5pouTLtXRoV-QopfqV45M,5314
35
41
  nat/authentication/oauth2/register.py,sha256=7rXhf-ilgSS_bUJsd9pOOCotL1FM8dKUt3ke1TllKkQ,1228
36
42
  nat/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- nat/builder/builder.py,sha256=kLqfg69IOtKb4-_iK8Vht0USbmf9dZry5YQgbfDJOzI,10016
38
- nat/builder/component_utils.py,sha256=aVVLW468v0nbX1RxS5jBPaCvlnTRiHqwbmHuRyVh-2E,13581
39
- nat/builder/context.py,sha256=LLyMNwgF5h5Sx1qGdNz3rp4CaJfDn_ytd7T_qv6itb0,11618
43
+ nat/builder/builder.py,sha256=odUw-s1jgrLWTgX4baXcAfKLeIcz8NY8cbv0LlEjK7E,10874
44
+ nat/builder/component_utils.py,sha256=rbKjs-Yo2uJ4xgEfTWbRWnSsJRrvalOb7TTOBljQZig,13839
45
+ nat/builder/context.py,sha256=6mpk7H_gZ5_gVOKbWp8BrToqJraP1GEh9-uKX4vRrpA,12462
40
46
  nat/builder/embedder.py,sha256=NPkOEcxt_-wc53QRijCQQDLretRUYHRYaKoYmarmrBk,965
41
47
  nat/builder/eval_builder.py,sha256=6Raia6VgQwfFTQGbjnwAL8p4MXQhl_n5UIVuQ-l9_GQ,6575
42
48
  nat/builder/evaluator.py,sha256=xWHMND2vcAUkdFP7FU3jnVki1rUHeTa0-9saFh2hWKs,1162
43
49
  nat/builder/framework_enum.py,sha256=eYwHQifZ86dx-OTubVA3qhCLRqhB4ElMBYBGA0gYtic,885
44
50
  nat/builder/front_end.py,sha256=mHooS1M7mVo1swSgbYoqbzQENXkuG7_Es9q4gFiuL8E,2175
45
- nat/builder/function.py,sha256=gxCq4H2_gR0x7rfqQ8053MJ7UTzhS1GJd1SyFhJQdm4,13151
51
+ nat/builder/function.py,sha256=Jl1SkeEJR_oOr44m_t6Zytca9gwlC1HimS-FnJA6iG4,26307
46
52
  nat/builder/function_base.py,sha256=0Eg8RtjWhEU3Yme0CVxcRutobA0Qo8-YHZLI6L2qAgM,13116
47
- nat/builder/function_info.py,sha256=jWeN_9YrZkfi9mJCAg-HTN6Vukh36IwWc5uWNrEoFO0,25183
53
+ nat/builder/function_info.py,sha256=7Rmrn-gOFrT2TIJklJwA_O-ycx_oimwZ0-qMYpbuZrU,25161
48
54
  nat/builder/intermediate_step_manager.py,sha256=iOuMLWTaES0J0XzaLxhTUqFvuoCAChJu3V69T43K0k0,7599
49
55
  nat/builder/llm.py,sha256=DW-2q64A06VChsXNEL5PfBjH3DcsnTKVoCEWDuP7MF4,951
50
56
  nat/builder/retriever.py,sha256=ZyEqc7pFK31t_yr6Jaxa34c-tRas2edKqJZCNiVh9-0,970
51
57
  nat/builder/user_interaction_manager.py,sha256=-Z2qbQes7a2cuXgT7KEbWeuok0HcCnRdw9WB8Ghyl9k,3081
52
- nat/builder/workflow.py,sha256=t2rnXyNreW-0UN1ZT67X_Bp7yDNov6IwhBi66QNUVGU,6594
53
- nat/builder/workflow_builder.py,sha256=dXSP-b3160qEX2_NC2J_3iGfXfTlFqEaRhB8KYjzfws,46084
58
+ nat/builder/workflow.py,sha256=bHrxK-VFsxUTw2wZgkWcCttpCMDeWNGPfmIGEW_bjZo,6908
59
+ nat/builder/workflow_builder.py,sha256=5cUu0WdQAfj3uwzgyjeP9HYTdxEoAigT8e7lHUaIn3A,55209
54
60
  nat/cli/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
55
- nat/cli/entrypoint.py,sha256=lKx3aRjEEaP6mBaO7Hn28dtRN-vA-ooIJG93ZkchmOo,4975
61
+ nat/cli/entrypoint.py,sha256=YSXGpSAEt2mwEbJUJNsgx7txq7zaZRrf7H63mdYn-FY,4929
56
62
  nat/cli/main.py,sha256=KzUSDB1TGzHRP_Fnq5XJRopx-i9S2oycgQrXrf2vDkE,2164
57
- nat/cli/register_workflow.py,sha256=AUTPSNo5xXRIOR8u91HEMHJZ_W0pQKak9KR7mvi1Brc,21804
58
- nat/cli/type_registry.py,sha256=ZG6xpbEZkK918PORYObim6YAjirJGWmDWsTJkqiBNzA,45722
63
+ nat/cli/register_workflow.py,sha256=DOQQgUWB_NO9k7nlkP4cAx_RX03Cndk032K-kqyuvEs,23285
64
+ nat/cli/type_registry.py,sha256=R301m91ar2vDorJvN8oqqGB9PhsoyNvToiYL3x2Q1io,48838
59
65
  nat/cli/cli_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
66
  nat/cli/cli_utils/config_override.py,sha256=hLhJDjkLTLkUSYXMjK1qT7USy7ds1ddEDxcEFETxK98,8900
61
67
  nat/cli/cli_utils/validation.py,sha256=KVZvAkWZx-QVVBuCFTcH2muLzMB7ONQA1GE2TzEVN78,1288
62
68
  nat/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
69
  nat/cli/commands/evaluate.py,sha256=_gSK9km6DQNxFcOZnOpzYuXtM0MG3-ng6S-1UNccG80,4748
70
+ nat/cli/commands/optimize.py,sha256=07b8B6vPDljUgZtcnpaGFi4E10mqK4IwLMV1Y0ZzvQA,2954
64
71
  nat/cli/commands/start.py,sha256=kYXLWj-jNQZLyC1JjM4UEvqSK9vP7As6C9pzhNwHQsg,10431
65
72
  nat/cli/commands/uninstall.py,sha256=KJDe-BCUD5ws_lTpCNPj3Ac26TQO8kys0AZqjZsljfs,3180
66
73
  nat/cli/commands/validate.py,sha256=mseAUfwRP8RL2Jc_a7MA9_0j9CRQFojEFPTPSuLiFGI,1669
@@ -89,27 +96,35 @@ nat/cli/commands/sizing/calc.py,sha256=3cJHKCbzvV7EwYfLcpfk3_Ki7soAjOaiBcLK-Q6hP
89
96
  nat/cli/commands/sizing/sizing.py,sha256=-Hr9mz_ScEMtBbn6ijvmmWVk0WybLeX0Ryi4qhDiYQU,902
90
97
  nat/cli/commands/workflow/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
91
98
  nat/cli/commands/workflow/workflow.py,sha256=40nIOehOX-4xI-qJqJraBX3XVz3l2VtFsZkMQYd897w,1342
92
- nat/cli/commands/workflow/workflow_commands.py,sha256=uLZ_IIW9jaVpu8iWcTHh2G7UvxycnrfTslVoNYo-4-Q,13042
99
+ nat/cli/commands/workflow/workflow_commands.py,sha256=_krSHCU9q-rI-0mc2ieiELu9n2Ovch4F4klXNza-eXk,13055
93
100
  nat/cli/commands/workflow/templates/__init__.py.j2,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- nat/cli/commands/workflow/templates/config.yml.j2,sha256=KkZl1fOMVQVFBW-BD_d0Lu8kQgNBtjNpfojhSCPu4uA,222
101
+ nat/cli/commands/workflow/templates/config.yml.j2,sha256=PriLJehyb5HIiVCy5NkU6lJ3znwZjtT2SQpNVp6zC64,203
95
102
  nat/cli/commands/workflow/templates/pyproject.toml.j2,sha256=lDBC4exHYutXa_skuJj176yMEuZr-DsdzrqQHPZoKpk,1035
96
103
  nat/cli/commands/workflow/templates/register.py.j2,sha256=txA-qBpWhxRc0GUcVRCIqVI6gGSh-TJijemrUqnb38s,138
97
104
  nat/cli/commands/workflow/templates/workflow.py.j2,sha256=Z4uZPG9rtf1nxF74dF4DqDtrF3uYmYUmWowDFbQBjao,1241
105
+ nat/control_flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ nat/control_flow/register.py,sha256=YBB73ecHpvUN_RivkeMWwu645gpC8OCPVOYgr_5aEOA,845
107
+ nat/control_flow/sequential_executor.py,sha256=CvGK8MdAzWwQeBuYArjnmNXjREhBLo3tmFsZq3u0XCc,8331
108
+ nat/control_flow/router_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
+ nat/control_flow/router_agent/agent.py,sha256=IvMqQuJTwsdARbgPdtfGVTwKO4XZfVLNDui_Kl843Pw,13695
110
+ nat/control_flow/router_agent/prompt.py,sha256=fIAiNsAs1zXRAatButR76zSpHJNxSkXXKKmCL86a58A,1720
111
+ nat/control_flow/router_agent/register.py,sha256=A0N9-9nUW9CLOPGOh2MzxLb3oBWvgGcGK5ssPU_D-W0,4140
98
112
  nat/data_models/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
113
+ nat/data_models/agent.py,sha256=IwDyb9Zc3R4Zd5rFeqt7q0EQswczAl5focxV9KozIzs,1625
99
114
  nat/data_models/api_server.py,sha256=Zl0eAd-yV9PD8vUH8eWRvXFcUBdY2tENKe73q-Uxxgg,25699
100
- nat/data_models/authentication.py,sha256=kF-eTOiKuEsvHFAPy-WQxumeSIhtjny59Wci1uh84qo,7349
115
+ nat/data_models/authentication.py,sha256=t9-2CQaIfk74DM3CLaJU5NAYGs7m6BjdFFm1hj8WwtY,9064
101
116
  nat/data_models/common.py,sha256=nXXfGrjpxebzBUa55mLdmzePLt7VFHvTAc6Znj3yEv0,5875
102
- nat/data_models/component.py,sha256=YURCaCPnaa6ZPVzSMHHm3iFkqnxGhUHvxUWY8bRKlnI,1816
103
- nat/data_models/component_ref.py,sha256=mVkaVv55xfTYXUxl28gGWHlKFT73IqUGwFkKaBLVVuw,4518
104
- nat/data_models/config.py,sha256=VBin3qeWxX8DUkw5lJ6RD7dStR7qPp52XIsy0cJkUP4,17156
117
+ nat/data_models/component.py,sha256=b_hXOA8Gm5UNvlFkAhsR6kEvf33ST50MKtr5kWf75Ao,1894
118
+ nat/data_models/component_ref.py,sha256=KFDWFVCcvJCfBBcXTh9f3R802EVHBtHXh9OdbRqFmdM,4747
119
+ nat/data_models/config.py,sha256=pWy-rHI7lfn1-_Vtl6HAmVZs2rC7GZF54ZojoEp0ZbQ,18817
105
120
  nat/data_models/dataset_handler.py,sha256=UDQLpStUwLEMm0e6BvuOFEsHYSopWu5DhinxEv2U6og,5523
106
121
  nat/data_models/discovery_metadata.py,sha256=_l97iQsqp_ihba8CbMBQ73mH1sipTQ19GiJDdzQYQGY,13432
107
122
  nat/data_models/embedder.py,sha256=nPhthEQDtzAMGd8gFRB1ZfJpN5M9DJvv0h28ohHnTmI,1002
108
123
  nat/data_models/evaluate.py,sha256=L0GdNh_c8jii-MiK8oHW9sUUsGO3l1FMsprr-UazT5c,4836
109
124
  nat/data_models/evaluator.py,sha256=bd2njsyQB2t6ClJ66gJiCjYHsQpWZwPD7rsU0J109TI,939
110
125
  nat/data_models/front_end.py,sha256=z8k6lSWjt1vMOYFbjWQxodpwAqPeuGS0hRBjsriDW2s,932
111
- nat/data_models/function.py,sha256=M_duXVXL5MvYe0WVLvqEgEzXs0UAYNSMfy9ZTpxuKPA,1013
112
- nat/data_models/function_dependencies.py,sha256=pMTSZH2vFfW8DEmz60SAUZUeJtWsjRKtN5elx0ACtY0,2558
126
+ nat/data_models/function.py,sha256=CuhV-fIjVVTsOJmTbvZ5Q9V370uKZJ0bJLyU2gEe35E,2265
127
+ nat/data_models/function_dependencies.py,sha256=soDGXU4IwEn-3w3fGDm6vNLOR6jS6me-Ml_g7B6giBw,2901
113
128
  nat/data_models/gated_field_mixin.py,sha256=1xycSpXc_fq8CucLp3khE1w0-JYfcbr__EJkbvxTD0w,9817
114
129
  nat/data_models/interactive.py,sha256=qOkxyYPQYEBIBMDAA1rjfYcdvf6-iCM4qPV8Awc4VGw,8794
115
130
  nat/data_models/intermediate_step.py,sha256=OhdGAtSBiMiCfT1R-BjihUvcVoQsRsxHDQcJ1gMDVXA,11585
@@ -118,6 +133,8 @@ nat/data_models/llm.py,sha256=PCTeCPg2YnYk5tvSu7XOEVr2Cg_wSkjAdVsoiTg8Joo,968
118
133
  nat/data_models/logging.py,sha256=1QtVjIQ99PgMYUuzw4h1FAoPRteZY7uf3oFTqV3ONgA,940
119
134
  nat/data_models/memory.py,sha256=IKwe7CflCto30j4yI5yQtq8DXfMilAJ17S5NcsSDrOQ,1052
120
135
  nat/data_models/object_store.py,sha256=S8YY6i8ALgRPuggUI1FCG-xbvwPWuaCg1lJnZOx5scM,1515
136
+ nat/data_models/optimizable.py,sha256=VTu9RlS102bsU6G_uhrxFkMATextuVQozfWsfoktqRc,4861
137
+ nat/data_models/optimizer.py,sha256=Zs4-w_Ek08iSLulsbb-4c1gK8zQB67UeRK1gHoqS1X4,5291
121
138
  nat/data_models/profiler.py,sha256=z3IlEhj-veB4Yz85271bTkScSUkVwK50tR3dwlDRgcE,1781
122
139
  nat/data_models/registry_handler.py,sha256=g1rFaz4uSydMJn7qpdX-DNHJd_rNf8tXYN49dLDYHPo,968
123
140
  nat/data_models/retriever.py,sha256=IJAIaeEXM8zj_towrvZ30Uoxt8e4WvOXrQwqGloS1qI,1202
@@ -127,20 +144,20 @@ nat/data_models/step_adaptor.py,sha256=1qn56wB_nIYBM5IjN4ftsltCAkqaJd3Sqe5v0TRR4
127
144
  nat/data_models/streaming.py,sha256=sSqJqLqb70qyw69_4R9QC2RMbRw7UjTLPdo3FYBUGxE,1159
128
145
  nat/data_models/swe_bench_model.py,sha256=uZs-hLFuT1B5CiPFwFg1PHinDW8PHne8TBzu7tHFv_k,1718
129
146
  nat/data_models/telemetry_exporter.py,sha256=P7kqxIQnFVuvo_UFpH9QSB8fACy_0U2Uzkw_IfWXagE,998
130
- nat/data_models/temperature_mixin.py,sha256=nUvA_tvjMfILGpBx52RLmJrApJzuswQqlNpS6netkxM,1485
147
+ nat/data_models/temperature_mixin.py,sha256=LlpfWrWtDrPJfSKfNx5E0P3p5SNGZli7ACRRpmO0QqA,1628
131
148
  nat/data_models/thinking_mixin.py,sha256=lzAnUk5vyv1nTYG9ho4BD3U2NTVZ50gBysN62iGj2KM,3303
132
- nat/data_models/top_p_mixin.py,sha256=33cRWjgT0lctucSl8rzioMVeabw3977aGRRWupD9ZaY,1456
149
+ nat/data_models/top_p_mixin.py,sha256=mu0DLnCAiwNzpSFR8FOW4kQBUpodSrvUR4MsLrNtbgA,1599
133
150
  nat/data_models/ttc_strategy.py,sha256=tAkKWcyEBmBOOYtHMtQTgeCbHxFTk5SEkmFunNVnfyE,1114
134
151
  nat/embedder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
152
  nat/embedder/azure_openai_embedder.py,sha256=8OM54DCVCmWuQ8eZ5lXxsKYQktRmHMoIelRHZmKurUk,2381
136
- nat/embedder/nim_embedder.py,sha256=cB2ttl2FwKW_OcIzIHswu8twcBYlc9tM9D0wAWjKc1A,2517
137
- nat/embedder/openai_embedder.py,sha256=uxyEe_2R02RPvEDGdzO9HUNaekm0MVRxJPCPB5-CS2A,1922
153
+ nat/embedder/nim_embedder.py,sha256=4DLcweOajXi67ZpLq_QvK0ZihFsntpsSF27FEvhF1ZQ,2532
154
+ nat/embedder/openai_embedder.py,sha256=uASGh8KEmJg6_km8YNaenpPC92v-WbFpsvq-l4R38pY,1937
138
155
  nat/embedder/register.py,sha256=TM_LKuSlJr3tEceNVuHfAx_yrCzf1sryD5Ycep5rNGo,883
139
156
  nat/eval/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
140
- nat/eval/config.py,sha256=de_DrLalzobILLJDTevGhbY_zjaoMyzMqVhDjbtpjk8,2365
141
- nat/eval/evaluate.py,sha256=sNa5ckIILLByiipWI_u3j0p5RfCVFWoss6czgkIjxsU,26554
157
+ nat/eval/config.py,sha256=G0LE4JpZaQy3PvERldVATFpQCiDQcVJGUFChgorqzNo,2377
158
+ nat/eval/evaluate.py,sha256=gYlKht-vBseRuD_LdV1BBcoyx-Gx5Q3jz2f44VRTO7Q,26683
142
159
  nat/eval/intermediate_step_adapter.py,sha256=mquQfPbq4-Owid2GzSyxtGNXoZ0i8crB6sA49rxnyrU,4483
143
- nat/eval/register.py,sha256=p8nM_P9yLWrglwZtTKAVjonAXfqzgBEwvYk1zlg4uw0,1044
160
+ nat/eval/register.py,sha256=Vce8HGsu6KDj7MA_5W2ziQtss1F180ndMjuqGiHxTe8,1358
144
161
  nat/eval/remote_workflow.py,sha256=JAAbD0s753AOjo9baT4OqcB5dVEDmN34jPe0Uk13LcU,6024
145
162
  nat/eval/runtime_event_subscriber.py,sha256=9MVgZLKvpnThHINaPbszPYDWnJ61sntS09YZtDhIRE4,1900
146
163
  nat/eval/usage_stats.py,sha256=_d_ErIvSKDN8wuvOyPn01kqM7zlFpwVxqOonaCV5XtY,1319
@@ -157,6 +174,9 @@ nat/eval/rag_evaluator/register.py,sha256=AzT5uICDU5dEo7scvStmOWC7ac-S0Tx4UY87id
157
174
  nat/eval/runners/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
158
175
  nat/eval/runners/config.py,sha256=bRPai_th02OJrFepbbY6w-t7A18TBXozQUnnnH9iWIU,1403
159
176
  nat/eval/runners/multi_eval_runner.py,sha256=3YSHOHjGFSlMxVEkuphUsCW5H5w73k3xD-W2rFNRWqE,1986
177
+ nat/eval/runtime_evaluator/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
178
+ nat/eval/runtime_evaluator/evaluate.py,sha256=HTUDWrUD6G8ggkofDCRhwuXWdQTb3V7o9FJ2_vc_LyQ,5379
179
+ nat/eval/runtime_evaluator/register.py,sha256=eOqokSisoaYzCANzyLXmGGCGUp0rLXdcqHXtDW_bZ5s,4509
160
180
  nat/eval/swe_bench_evaluator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
181
  nat/eval/swe_bench_evaluator/evaluate.py,sha256=SkP8spu351UBgzjdG8ox6uHpiTAWxe2CCIMRxvOIMfg,9832
162
182
  nat/eval/swe_bench_evaluator/register.py,sha256=5mzvBTUBdqahBZNU4KjB1go81cObo9F4iA3y_eOJ86g,1537
@@ -182,7 +202,7 @@ nat/experimental/test_time_compute/editing/llm_as_a_judge_editor.py,sha256=QAu46
182
202
  nat/experimental/test_time_compute/editing/motivation_aware_summarization.py,sha256=S7s_BigZ1ru-3lP7c58Zpt5Nxavi8Ko-A1cmH7KkX3s,4503
183
203
  nat/experimental/test_time_compute/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
204
  nat/experimental/test_time_compute/functions/execute_score_select_function.py,sha256=OHiQ01a6g3OEd-K1WZynuQspmrvBpgKKxxqO-UbM4z0,4550
185
- nat/experimental/test_time_compute/functions/plan_select_execute_function.py,sha256=kR3VA3BYSngI0F8xzkKX36yw8CADaToGqXBzoO02kQQ,9832
205
+ nat/experimental/test_time_compute/functions/plan_select_execute_function.py,sha256=2j8m2VuoMmjKMoMlre0VcYxtu3saDf81lxXg6kzaPsE,10055
186
206
  nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py,sha256=ZzDGHg7xDdXgubF6o7Mih-5SHStWKjxB1PiDzGdPFew,8440
187
207
  nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py,sha256=H4LmatlubHGTUBXAp-8LIK8Z6bUid0W_8EuigaGU89Q,6907
188
208
  nat/experimental/test_time_compute/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -217,36 +237,39 @@ nat/front_ends/console/console_front_end_plugin.py,sha256=BJ1o2IflZeFKC2gGfL_gI2
217
237
  nat/front_ends/console/register.py,sha256=2Kf6Mthx6jzWzU8YdhYIR1iABmZDvs1UXM_20npXWXs,1153
218
238
  nat/front_ends/cron/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
219
239
  nat/front_ends/fastapi/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
220
- nat/front_ends/fastapi/fastapi_front_end_config.py,sha256=AV0yY86MjCGrB9VIcvykWvfu5WcnMcrti6rXxUdk9co,11292
240
+ nat/front_ends/fastapi/dask_client_mixin.py,sha256=N_tw4yxA7EKIFTKp5_C2ZksIZucWxRYkFjmZszkAkXc,2072
241
+ nat/front_ends/fastapi/fastapi_front_end_config.py,sha256=BcuzrVlA5b7yYyQKNvQgEanDBtKEHdpC8TAd-O7lfF0,11992
221
242
  nat/front_ends/fastapi/fastapi_front_end_controller.py,sha256=ei-34KCMpyaeAgeAN4gVvSGFjewjjRhHZPN0FqAfhDY,2548
222
- nat/front_ends/fastapi/fastapi_front_end_plugin.py,sha256=t_kpMG6S9SIdBKz4Igy0rzrZ9xFz9DUbCBc0eowaixk,4432
223
- nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py,sha256=1FS1GC_lsQEMP64cPuXrF5MW4B8dMEyBxudJWz9XqPw,51852
243
+ 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
224
245
  nat/front_ends/fastapi/intermediate_steps_subscriber.py,sha256=kbyWlBVpyvyQQjeUnFG9nsR4RaqqNkx567ZSVwwl2RU,3104
225
- nat/front_ends/fastapi/job_store.py,sha256=AZC0a8miKqSI9YbW19-AA_GPITVY9bYHXn9H8saNrfQ,6389
226
- nat/front_ends/fastapi/main.py,sha256=QQuwvgYsNuvcRzWmo3FVz1BZBm-DynaC5IJloloheBs,2917
246
+ nat/front_ends/fastapi/job_store.py,sha256=S0ab_MyJvr3z28l1UY5rhORt6eiEls9_xcQDrNrBJm8,22746
247
+ nat/front_ends/fastapi/main.py,sha256=s8gXCy61rJjK1aywMRpgPvzlkMGsCS-kI_0EIy4JjBM,2445
227
248
  nat/front_ends/fastapi/message_handler.py,sha256=mMgw1B3zCzLBiOWRzDD55--K-J4lZ94zrug3xh87ijg,15206
228
249
  nat/front_ends/fastapi/message_validator.py,sha256=g4pfyQ0Yhv8Ec_Pi0Ps7TGLIzFwys3SCwsjVZEEFBHw,17496
229
250
  nat/front_ends/fastapi/register.py,sha256=rA12NPFgV9ZNHOEIgB7_SB6NytjRxgBTLo7fJ-73_HM,1153
230
251
  nat/front_ends/fastapi/response_helpers.py,sha256=MGE9E73sQSCYjsR5YXRga2qbl44hrTAPW2N5Ui3vXX0,9028
231
252
  nat/front_ends/fastapi/step_adaptor.py,sha256=J6UtoXL9De8bgAg93nE0ASLUHZbidWOfRiuFo-tyZgY,12412
253
+ nat/front_ends/fastapi/utils.py,sha256=oYuuLsugx-fpy6u4xd9gL7g9kfwsyKOnwH5YOwH633w,1998
232
254
  nat/front_ends/fastapi/auth_flow_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
255
  nat/front_ends/fastapi/auth_flow_handlers/http_flow_handler.py,sha256=69ye-nJ81jAoD1cVYv86-AUYu2-Uk8ZqU_m8AVO9vT8,1280
234
256
  nat/front_ends/fastapi/auth_flow_handlers/websocket_flow_handler.py,sha256=5HX6mpKPmErkhwIAwFIGONYj_CkPrhCG7L56-79o7Yw,4862
235
257
  nat/front_ends/fastapi/html_snippets/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
236
258
  nat/front_ends/fastapi/html_snippets/auth_code_grant_success.py,sha256=BNpWwzmA58UM0GK4kZXG4PHJy_5K9ihaVHu8SgCs5JA,1131
237
259
  nat/front_ends/mcp/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
238
- nat/front_ends/mcp/mcp_front_end_config.py,sha256=ivj8xWzE-Z1675jS7KB4LgpI3A7Atq-zJ6FgFQxdQuU,2062
239
- nat/front_ends/mcp/mcp_front_end_plugin.py,sha256=CerJGbuPaHVcpnMFtjs8IKeQaa3blHzX90VKptUM_3g,3674
240
- nat/front_ends/mcp/mcp_front_end_plugin_worker.py,sha256=OvNXRMsp9k9MEwBJ6J27Sa-EfMs07qP1ikTJ8amVcmU,5303
260
+ nat/front_ends/mcp/introspection_token_verifier.py,sha256=s7Q4Q6rWZJ0ZVujSxxpvVI6Bnhkg1LJQ3RLkvhzFIGE,2836
261
+ nat/front_ends/mcp/mcp_front_end_config.py,sha256=fFbg800FDJfwv-nXc0jEPaNVtW4ApESmVRexr-werks,2313
262
+ 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
241
264
  nat/front_ends/mcp/register.py,sha256=3aJtgG5VaiqujoeU1-Eq7Hl5pWslIlIwGFU2ASLTXgM,1173
242
- nat/front_ends/mcp/tool_converter.py,sha256=vNPaTckcqjKakwdjkqET_T4-ChjlLkMfdw0_H-x6eVc,11309
265
+ nat/front_ends/mcp/tool_converter.py,sha256=J0GS85qs2rVO2ZyGfxQcbtlWevoMJCEiEfa83PK10Ew,11548
243
266
  nat/front_ends/simple_base/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
244
267
  nat/front_ends/simple_base/simple_front_end_plugin_base.py,sha256=3kevZVhvzj_Wvu8HYhRz-CRrO2OldW6wcmtcsIQCELk,1765
245
268
  nat/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
- nat/llm/aws_bedrock_llm.py,sha256=oGsb0R7Km42yJNEP8Gvu40oRlUMfSdyHeHumoejgsE4,2728
269
+ nat/llm/aws_bedrock_llm.py,sha256=-P6OltFz8CPHmKmgUipFaIpROLGdnnRmd-q5BfjY7lM,3219
247
270
  nat/llm/azure_openai_llm.py,sha256=30JWbNyscHhuRjFdWF2yLAEcKurY0q2BSMVFTdtSv9g,2649
248
- nat/llm/nim_llm.py,sha256=ZQw-q6huSu2FhHjd2GTHfN8Vss_1FDqL1n-z-yJ9_3M,2217
249
- nat/llm/openai_llm.py,sha256=IO8F5FXvg-VENaAUhayYIVH0bbOjakINtGFNJCMs9r4,2268
271
+ nat/llm/nim_llm.py,sha256=9sU3FUOedx5jY3He3qiN0T-AC48F5maIpz87NxP7Q0Q,2696
272
+ nat/llm/openai_llm.py,sha256=AMf8Xxzo3kYVi7XfyqatuU1-CH0-8QGmshDbSHHREXY,2487
250
273
  nat/llm/register.py,sha256=DAM4rKfdwArZiKrhx_XhWVKik9ubUIrnPHE1Gy0pH1Q,898
251
274
  nat/llm/utils/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
252
275
  nat/llm/utils/env_config_value.py,sha256=kBVsv0pEokIAfDQx5omR7_FevFv_5fTPswcbnvhVT2c,3548
@@ -268,7 +291,7 @@ nat/observability/exporter/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48j
268
291
  nat/observability/exporter/base_exporter.py,sha256=tP7c5O-gQnHB_1TwIJJUib1xmtUhX4f4Mf_bmpejtkI,16612
269
292
  nat/observability/exporter/exporter.py,sha256=fqF0GYuhZRQEq0skq_FK2nlnsaUAzLpQi-OciaOkRno,2391
270
293
  nat/observability/exporter/file_exporter.py,sha256=XYsFjF8ob4Ag-SyGtKEh6wRU9lBx3lbdu7Uo85NvVyo,1465
271
- nat/observability/exporter/processing_exporter.py,sha256=lfSURNc03kkAYFFnzcStSgC2EEYoFY0JgnvOvh05n3E,26212
294
+ nat/observability/exporter/processing_exporter.py,sha256=U_VE1VZZ2giGE-OUGH4pnHTYW2Nwcwfx4bFLL7_iu9M,25044
272
295
  nat/observability/exporter/raw_exporter.py,sha256=0ROEd-DlLP6pIxl4u2zJ6PMVrDrQa0DMHFDRsdGQMIk,1859
273
296
  nat/observability/exporter/span_exporter.py,sha256=p2rugOIyubBk_Frg1c-x-THzvFZt8q8HhYssKUp8Hdg,13250
274
297
  nat/observability/mixin/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
@@ -276,21 +299,24 @@ nat/observability/mixin/batch_config_mixin.py,sha256=DixQq-jRhBFJvpOX-gq7GvPmZCP
276
299
  nat/observability/mixin/collector_config_mixin.py,sha256=3iptkRH9N6JgcsPq7GyjjJVAoxjd-l42UKE7iSF4Hq8,1087
277
300
  nat/observability/mixin/file_mixin.py,sha256=J5kC70O3hoU86IDOoQtdk7caRD28nlIZL3igXcRSNBE,12306
278
301
  nat/observability/mixin/file_mode.py,sha256=Rq7l8UegECub5QCyCAYwhyL_Jul386gW-ANmtMmv2G4,837
279
- nat/observability/mixin/redaction_config_mixin.py,sha256=aizfK6nI8_bAJF2lrxSzcxjz8Er9o7itGNa-hDyRhr0,2028
302
+ nat/observability/mixin/redaction_config_mixin.py,sha256=yzLsgt1iaU0z7q1HvVT39kwhVVV6jBtWuP0SKG3jkMI,2141
280
303
  nat/observability/mixin/resource_conflict_mixin.py,sha256=mcUp3Qinmhiepq3DyRvp9IaKGYtJfDgQVB-MuyVkWvk,5243
281
304
  nat/observability/mixin/serialize_mixin.py,sha256=DgRHJpXCz9qHFYzhlTTx8Dkj297EylCKK3ydGrH5zOw,2478
282
- nat/observability/mixin/tagging_config_mixin.py,sha256=_LLC2fZYM3CzMr2E1Kcy_-UXbjRb8fP1Yd8kcgTNozk,1731
283
- nat/observability/mixin/type_introspection_mixin.py,sha256=VCb68SY_hitWrWLaK2UHQLkjn2jsgxSn9593T2N3zC0,6637
305
+ nat/observability/mixin/tagging_config_mixin.py,sha256=m-AUeLsiiKPMdMv_0TKAFL18BvVJ4tRzPoRCVpzyfN8,1777
306
+ nat/observability/mixin/type_introspection_mixin.py,sha256=ZHMRmp38R2KypnPBJyenf6rW8jVoz0cWnFlG8rHLtpA,20327
284
307
  nat/observability/processor/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
285
308
  nat/observability/processor/batching_processor.py,sha256=R0Qy3bHmf-QBM6FJmjmccdsf60JuvYLU-tV4kvy2hBA,13762
286
309
  nat/observability/processor/callback_processor.py,sha256=T5DsEm4HCUOi1VL29XCpaK04sYQvJ75KZLH-mlJGQgk,1547
287
310
  nat/observability/processor/falsy_batch_filter_processor.py,sha256=CInyZ1eIjtD1W6imPbuqwUeoWOMQ_0J0M9nPL6XwhTo,1778
288
- nat/observability/processor/header_redaction_processor.py,sha256=cUmsVjHepddFHZu80zvdugG2eOUaGQr6cqxKyVS8fi4,4284
289
311
  nat/observability/processor/intermediate_step_serializer.py,sha256=aHeCmixyop7uxNnKmrUZ8SIFeBNS05gYohKLepqbrcQ,1249
290
- nat/observability/processor/processor.py,sha256=kTqOsus5Ycu5aFnxCTH1EkCP23uRBZ4xNhXmj3DP5OE,2593
312
+ nat/observability/processor/processor.py,sha256=NhcRKkXcfRDgHfn8Bw0XSnb8S9h5cdI4HnEO2BubLfo,2695
291
313
  nat/observability/processor/processor_factory.py,sha256=1Ak4OWwmbimc5PKWwqPYq4fJqJifFm6MiI8vcafeErY,2408
292
- nat/observability/processor/redaction_processor.py,sha256=Mg4zIShjQwX3GCKgXgrx7VaHhoGG3JrFY_QkoDUNtEk,2401
293
- nat/observability/processor/span_tagging_processor.py,sha256=w5DqWrNU0US1afjVifMAq1_wCjNobwzxo9wAovDMKos,2298
314
+ nat/observability/processor/span_tagging_processor.py,sha256=9Zqr-IvnZYOddTw-n0pVzigcJB6hNVc9TyZma9z8Ozw,2553
315
+ nat/observability/processor/redaction/__init__.py,sha256=fctoXoEfCotEJphUS7rqtT7jHw2MPRA795D77xjSKfU,964
316
+ nat/observability/processor/redaction/contextual_redaction_processor.py,sha256=HFsuOsFgUinTUWJ3GEsqvLBfV08So2A2rf9LGZyzc34,4953
317
+ nat/observability/processor/redaction/contextual_span_redaction_processor.py,sha256=wmliaoeKwzQQX8kaeC-Jifq6YvSgeO_H5ri6sWhX7t4,2575
318
+ nat/observability/processor/redaction/redaction_processor.py,sha256=9WZACuFcR8f41VyOYWwXHxpHuxR2sQ3QC-Ta3TNJ2wk,6164
319
+ nat/observability/processor/redaction/span_header_redaction_processor.py,sha256=NA3M8Ex4J5QqMfAIOiI-I_TUgO3511FY7xZmglRg3xU,3764
294
320
  nat/observability/utils/__init__.py,sha256=Xs1JQ16L9btwreh4pdGKwskffAw1YFO48jKrU4ib_7c,685
295
321
  nat/observability/utils/dict_utils.py,sha256=DcNhZ0mgcJ-QQfsCl9QSGL-m_jTuHhr1N-v43ZCAMik,7371
296
322
  nat/observability/utils/time_utils.py,sha256=V8m-e3ldUgwv031B17y29yLXIowdlTH4QW8xDw9WKvk,1071
@@ -301,7 +327,7 @@ nat/profiler/data_models.py,sha256=UAuTy9_l623JUNdIKIHPxoNEwZ7Qj-Vv93rfjxyf5Ak,1
301
327
  nat/profiler/inference_metrics_model.py,sha256=Thz3OHBDzGrpPYaOm8m8_pNeEA_q0yDlUUDHFkQ3U90,1481
302
328
  nat/profiler/intermediate_property_adapter.py,sha256=cCxyldN052meVJ4Ul-vbmguum0mLdaz3syFoidkIDsg,3537
303
329
  nat/profiler/profile_runner.py,sha256=mVYfonKyP-KwxG9aACicP7m0eeGovmK8a_WUsq-RGkA,22541
304
- nat/profiler/utils.py,sha256=Om7-r0EtpzD7929cY7W6JvfRXIRDHq3Q8lvDYOZ2NrQ,8165
330
+ nat/profiler/utils.py,sha256=XAMq_0nYMf0blD8ffoRj4xSQgwz8KagsqlM7VmnDI44,8266
305
331
  nat/profiler/calc/__init__.py,sha256=GUJrgGtpvyMUCjUBvR3faAdv-tZzbU9W-izgx9aMEQg,680
306
332
  nat/profiler/calc/calc_runner.py,sha256=1xvLvVF4QOX_p1-Ps1wqNGWZ9zX49JZxjqo0KiDDn-g,30624
307
333
  nat/profiler/calc/calculations.py,sha256=K_r1OvEOEF5ffoadS4mAzTNHguVLMkNkrxrdtKvJJSs,12327
@@ -315,7 +341,7 @@ nat/profiler/callbacks/llama_index_callback_handler.py,sha256=xzYve07uMlSTDjj929
315
341
  nat/profiler/callbacks/semantic_kernel_callback_handler.py,sha256=BknzhQNB-MDMhR4QC9JScCp-zXq7KZ33SFb7X0MiTaI,11087
316
342
  nat/profiler/callbacks/token_usage_base_model.py,sha256=X0b_AbBgVQAAbgbDMim-3S3XdQ7PaPs9qMUACvMAe5o,1104
317
343
  nat/profiler/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
- nat/profiler/decorators/framework_wrapper.py,sha256=t-Z4d9Ul9L4gekFfkrwihXisrkY0K3e59cYzdyRGzzY,5326
344
+ nat/profiler/decorators/framework_wrapper.py,sha256=r-ysp4IRZhsfuUzeEukMwvLqD-hIVbF4yfJQ5PXr_5A,5517
319
345
  nat/profiler/decorators/function_tracking.py,sha256=aZWPOsWKwFCFZSoxXz3SpHmbVB39W3hC0cVND7Tby4I,15795
320
346
  nat/profiler/forecasting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
347
  nat/profiler/forecasting/config.py,sha256=5BhMa8csuPCjEnTaNQjo_2IoO7esh1ch02MoSWkvwPw,791
@@ -336,6 +362,14 @@ nat/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py
336
362
  nat/profiler/inference_optimization/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
363
  nat/profiler/inference_optimization/experimental/concurrency_spike_analysis.py,sha256=3hFMDbfW7MKxFIhO7y35qtP5wPtLAA2ZqltlnI-OsVc,16953
338
364
  nat/profiler/inference_optimization/experimental/prefix_span_analysis.py,sha256=-e5pEW4CQXYm0c5JrI-d0p-yZzvHlUzZYM8GOYA4hEU,16662
365
+ nat/profiler/parameter_optimization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
+ nat/profiler/parameter_optimization/optimizable_utils.py,sha256=93Pl8A14Zq_f3XsxSH-yFnEJ6B7W5hp7doPnPoLlRB4,3714
367
+ nat/profiler/parameter_optimization/optimizer_runtime.py,sha256=rXmCOq81o7ZorQOUYociVjuO3NO9CIjFBbwql2u_4H4,2715
368
+ nat/profiler/parameter_optimization/parameter_optimizer.py,sha256=CxRFSnl0w0JQvijsY-gszUNxvSrihQ0Jl9ySYClsNFI,6544
369
+ nat/profiler/parameter_optimization/parameter_selection.py,sha256=-cKhoEgwC2K-brHOiLmgLnxk23bRMDefDCZSwvCqqJM,4007
370
+ 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/update_helpers.py,sha256=NxWhrGVchbjws85pPd-jS-C14_l70QvVSvEfENndVcY,2339
339
373
  nat/registry_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
340
374
  nat/registry_handlers/metadata_factory.py,sha256=MTbXa7pifVPpmLJs86jVCS1wHk5drRykNPpJuv2A_0U,2769
341
375
  nat/registry_handlers/package_utils.py,sha256=2xX3IHr5aK-xx8asULFw0VDgZb3MT-o7F-pTWJYgtp4,22517
@@ -377,11 +411,12 @@ nat/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
411
  nat/settings/global_settings.py,sha256=JSlYnW3CeGJYGxlaXLz5F9xXf72I5TUz-w6qngG5di0,12476
378
412
  nat/test/.namespace,sha256=Gace0pOC3ETEJf-TBVuNw0TQV6J_KtOPpEiSzMH-odo,215
379
413
  nat/tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
380
- nat/tool/chat_completion.py,sha256=SdRFoS-ZgksN-ldLJGx0tTN99VxQrp8iw24F8lJNIJM,3169
414
+ nat/tool/chat_completion.py,sha256=u9i39TuIPrCSWrNOw57QYD3i6pPbxV-7Gox8GRx9Vz0,3251
381
415
  nat/tool/datetime_tools.py,sha256=yZV5lE3FsQuIZE3B36gg38hxfavxgaG04eVFbL0UBTI,3239
382
416
  nat/tool/document_search.py,sha256=pLXWNfrddwu45Qa7z3pxfCUQEpTgGekvE-2WzM-CTP4,6751
417
+ nat/tool/github_tools.py,sha256=Pn6p6ebLClNUy6MJIWf-Pl5NguMUT-IJ-bhmpJmvBrg,21900
383
418
  nat/tool/nvidia_rag.py,sha256=cEHSc3CZwpd71YcOQngya-Ca_B6ZOb87Dmsoza0VhFY,4163
384
- nat/tool/register.py,sha256=7w_yQp4Z1ELX7RqcGME36fL5DlYaCqeD2ZW1bLwSooE,1433
419
+ nat/tool/register.py,sha256=F1mQs9gI3Ee0EESFyBiTFZeqscY173ENQlfKcWZup0c,1208
385
420
  nat/tool/retriever.py,sha256=FP5JL1vCQNrqaKz4F1up-osjxEPhxPFOyaScrgByc34,3877
386
421
  nat/tool/server_tools.py,sha256=rQLipwRv8lAyU-gohky2JoVDxWQTUTSttNWjhu7lcHU,3194
387
422
  nat/tool/code_execution/README.md,sha256=sl3YX4As95HX61XqTXOGnUcHBV1lla-OeuTnLI4qgng,4019
@@ -396,33 +431,27 @@ nat/tool/code_execution/local_sandbox/__init__.py,sha256=k25Kqr_PrH4s0YCfzVzC9va
396
431
  nat/tool/code_execution/local_sandbox/local_sandbox_server.py,sha256=j8R7YwRyKrCsfqykUaCvbW2fhCAOkLXEwirnNQNXu08,6928
397
432
  nat/tool/code_execution/local_sandbox/sandbox.requirements.txt,sha256=R86yJ6mcUhfD9_ZU-rSMdaojR6MU41hcH4pE3vAGmcE,43
398
433
  nat/tool/code_execution/local_sandbox/start_local_sandbox.sh,sha256=gnPuzbneKZ61YvzaGIYSUdcyKMLuchYPti3zGLaNCZY,2055
399
- nat/tool/github_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
400
- nat/tool/github_tools/create_github_commit.py,sha256=O4EmNk_QQlflOpY5gT6oWlnY4wbzA7BnTk49D-2FbT8,6604
401
- nat/tool/github_tools/create_github_issue.py,sha256=9jAHtKgZFGCJV4OE0Pj8sZDKr25pf7cbJ8Czt5hTaj0,3428
402
- nat/tool/github_tools/create_github_pr.py,sha256=9nuJq9bAbqVXOyLhjO_3tS70eI_72mhNE6KRtN7PSCQ,4945
403
- nat/tool/github_tools/get_github_file.py,sha256=tGMzrE-v16rjDoG-IbOkaS5hXe4SCb-onkTZdA-6eSg,4486
404
- nat/tool/github_tools/get_github_issue.py,sha256=fFJFYt3mWR6CK46r6k3-3eVbAKLNh1yHRMmZU0c-4jA,6532
405
- nat/tool/github_tools/get_github_pr.py,sha256=p4Xu-YA6L1dQ8O0e5LDzphrn5DknjttDhLeudgk7Iys,9716
406
- nat/tool/github_tools/update_github_issue.py,sha256=fj_OAp5bSmSyj-wPAUvzfCGRBuwPyoK1kJ95Fn8XDg8,4103
407
434
  nat/tool/memory_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
408
435
  nat/tool/memory_tools/add_memory_tool.py,sha256=DYaYkVlH2myRshJpzmULfzdF0wFoPCAkTBokFVmhfzU,3349
409
436
  nat/tool/memory_tools/delete_memory_tool.py,sha256=EWJVgzIzLDqktY5domXph-N2U9FmybdWl4J7KM7uK4g,2532
410
437
  nat/tool/memory_tools/get_memory_tool.py,sha256=pJw6Lu2wukCW3mUGx5TtBNfdmdr-wqf7DQn2yNKxJ_4,2749
411
438
  nat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
+ nat/utils/callable_utils.py,sha256=EIao6NhHRFEoBqYRC7aWoFqhlr2LeFT0XK-ac0coF9E,2475
412
440
  nat/utils/debugging_utils.py,sha256=6M4JhbHDNDnfmSRGmHvT5IgEeWSHBore3VngdE_PMqc,1332
413
441
  nat/utils/dump_distro_mapping.py,sha256=ptRVwrzhZplEWZUwwHOzyeuLj-ykkxn96t4oxUmRG28,1147
442
+ nat/utils/log_levels.py,sha256=2hHWgOSuvuISdKN82BQgBh2yk9V5324jYMki8-1rAYs,888
414
443
  nat/utils/log_utils.py,sha256=dZLHt7qFqLlpPqMMFO9UVtSkOpMjFwz9tkmbAfOiNlg,1355
415
444
  nat/utils/metadata_utils.py,sha256=BSsiB6jIWd8oEuEynJi55qCG762UuTYFaiUH0OT9HdY,2897
416
445
  nat/utils/optional_imports.py,sha256=jQSVBc2fBSRw-2d6r8cEwvh5-di2EUUPakuuo9QbbwA,4039
417
446
  nat/utils/producer_consumer_queue.py,sha256=AcSYkAMBxLx06A5Xdy960PP3AJ7YaSPGJ7rbN_hJsjI,6599
418
447
  nat/utils/string_utils.py,sha256=71HuIzGx7rF8ocTmeoUBpnCi1Qf1yynYlNLLIKP4BVs,1415
419
448
  nat/utils/type_converter.py,sha256=tO5XPbr5MPhBqbseEM2hROAk_CTcnlzibTGdOPT3MfQ,10640
420
- nat/utils/type_utils.py,sha256=B8juK4IFgYbYEXPspENGXtViO5DkcgFiomUjYwhbB_Q,14680
449
+ nat/utils/type_utils.py,sha256=bOsRUaMnGRH3R8xPYKJc40ddSV_QYTErVPiCqKyB_rg,14819
421
450
  nat/utils/url_utils.py,sha256=UzDP_xaS6brWTu7vAws0B4jZyrITIK9Si3U6pZBZqDE,1028
422
451
  nat/utils/data_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
423
452
  nat/utils/data_models/schema_validator.py,sha256=pmGr5KuRX5tbVsymG1NxaSnGrKIfzxXEJNd58wIQ9SM,1532
424
453
  nat/utils/exception_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
425
- nat/utils/exception_handlers/automatic_retries.py,sha256=uje36i6tcZ7gX5tMF2mmAB6c2uhkgYjUErs6VL2rCeA,11913
454
+ nat/utils/exception_handlers/automatic_retries.py,sha256=ppTgYy8MH2LOPladPif5dg0qC4nPqhKkUeXJdE9ZLAo,14511
426
455
  nat/utils/exception_handlers/schemas.py,sha256=EcNukc4-oASIX2mHAP-hH1up1roWnm99iY18P_v13D0,3800
427
456
  nat/utils/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
428
457
  nat/utils/io/model_processing.py,sha256=bEbH_tIgZQvPlEJKVV4kye_Y9UU96W4k2mKuckGErHA,936
@@ -438,10 +467,10 @@ nat/utils/reactive/base/observer_base.py,sha256=6BiQfx26EMumotJ3KoVcdmFBYR_fnAss
438
467
  nat/utils/reactive/base/subject_base.py,sha256=UQOxlkZTIeeyYmG5qLtDpNf_63Y7p-doEeUA08_R8ME,2521
439
468
  nat/utils/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
469
  nat/utils/settings/global_settings.py,sha256=9JaO6pxKT_Pjw6rxJRsRlFCXdVKCl_xUKU2QHZQWWNM,7294
441
- nvidia_nat-1.3.0a20250910.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
442
- nvidia_nat-1.3.0a20250910.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
443
- nvidia_nat-1.3.0a20250910.dist-info/METADATA,sha256=O98zoGapwsIyam5jwacbe1DDtJZ6hLjwKTtDGwnF630,22152
444
- nvidia_nat-1.3.0a20250910.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
445
- nvidia_nat-1.3.0a20250910.dist-info/entry_points.txt,sha256=FNh4pZVSe_61s29zdks66lmXBPtsnko8KSZ4ffv7WVE,653
446
- nvidia_nat-1.3.0a20250910.dist-info/top_level.txt,sha256=lgJWLkigiVZuZ_O1nxVnD_ziYBwgpE2OStdaCduMEGc,8
447
- nvidia_nat-1.3.0a20250910.dist-info/RECORD,,
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,,
@@ -5,6 +5,7 @@ nat = nat.cli.main:run_cli
5
5
  [nat.components]
6
6
  nat_agents = nat.agent.register
7
7
  nat_authentication = nat.authentication.register
8
+ nat_control_flow = nat.control_flow.register
8
9
  nat_embedders = nat.embedder.register
9
10
  nat_evaluators = nat.eval.register
10
11
  nat_llms = nat.llm.register
@@ -1,123 +0,0 @@
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
-
16
- import logging
17
- from collections.abc import Callable
18
- from functools import lru_cache
19
-
20
- from starlette.datastructures import Headers
21
-
22
- from nat.builder.context import Context
23
- from nat.data_models.span import Span
24
- from nat.observability.processor.redaction_processor import SpanRedactionProcessor
25
- from nat.utils.type_utils import override
26
-
27
- logger = logging.getLogger(__name__)
28
-
29
-
30
- def default_callback(_auth_key: str) -> bool:
31
- """Default callback that always returns False."""
32
- return False
33
-
34
-
35
- class HeaderRedactionProcessor(SpanRedactionProcessor):
36
- """Processor that redacts the span based on auth key, span attributes, and callback.
37
-
38
- Uses an LRU cache to avoid redundant callback executions for the same auth keys,
39
- providing bounded memory usage and automatic eviction of least recently used entries.
40
-
41
- Args:
42
- attributes: List of span attribute keys to redact.
43
- header: The header key to check for authentication.
44
- callback: Function to determine if the auth key should trigger redaction.
45
- enabled: Whether the processor is enabled (default: True).
46
- force_redact: If True, always redact regardless of header checks (default: False).
47
- redaction_value: The value to replace redacted attributes with (default: "[REDACTED]").
48
- """
49
-
50
- def __init__(self,
51
- attributes: list[str] | None = None,
52
- header: str | None = None,
53
- callback: Callable[[str], bool] | None = None,
54
- enabled: bool = True,
55
- force_redact: bool = False,
56
- redaction_value: str = "[REDACTED]"):
57
- self.attributes = attributes or []
58
- self.header = header
59
- self.callback = callback or default_callback
60
- self.enabled = enabled
61
- self.force_redact = force_redact
62
- self.redaction_value = redaction_value
63
-
64
- @override
65
- def should_redact(self, item: Span, context: Context) -> bool:
66
- """Determine if this span should be redacted based on header auth.
67
-
68
- Args:
69
- item (Span): The span to check.
70
- context (Context): The current context.
71
-
72
- Returns:
73
- bool: True if the span should be redacted, False otherwise.
74
- """
75
- # If force_redact is enabled, always redact regardless of other conditions
76
- if self.force_redact:
77
- return True
78
-
79
- if not self.enabled:
80
- return False
81
-
82
- headers: Headers | None = context.metadata.headers
83
-
84
- if headers is None or self.header is None:
85
- return False
86
-
87
- auth_key = headers.get(self.header, None)
88
-
89
- if not auth_key:
90
- return False
91
-
92
- # Use LRU cached method to determine if redaction is needed
93
- return self._should_redact_impl(auth_key)
94
-
95
- @lru_cache(maxsize=128)
96
- def _should_redact_impl(self, auth_key: str) -> bool:
97
- """Implementation method for checking if redaction should occur.
98
-
99
- This method uses lru_cache to avoid redundant callback executions.
100
-
101
- Args:
102
- auth_key (str): The authentication key to check.
103
-
104
- Returns:
105
- bool: True if the span should be redacted, False otherwise.
106
- """
107
- return self.callback(auth_key)
108
-
109
- @override
110
- def redact_item(self, item: Span) -> Span:
111
- """Redact the span.
112
-
113
- Args:
114
- item (Span): The span to redact.
115
-
116
- Returns:
117
- Span: The redacted span.
118
- """
119
- for key in self.attributes:
120
- if key in item.attributes:
121
- item.attributes[key] = self.redaction_value
122
-
123
- return item
@@ -1,77 +0,0 @@
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
-
16
- import logging
17
- from abc import ABC
18
- from abc import abstractmethod
19
- from typing import TypeVar
20
-
21
- from nat.builder.context import Context
22
- from nat.data_models.span import Span
23
- from nat.observability.processor.processor import Processor
24
- from nat.utils.type_utils import override
25
-
26
- RedactionItemT = TypeVar('RedactionItemT')
27
-
28
- logger = logging.getLogger(__name__)
29
-
30
-
31
- class RedactionProcessor(Processor[RedactionItemT, RedactionItemT], ABC):
32
- """Abstract base class for redaction processors."""
33
-
34
- @abstractmethod
35
- def should_redact(self, item: RedactionItemT, context: Context) -> bool:
36
- """Determine if this item should be redacted.
37
-
38
- Args:
39
- item (RedactionItemT): The item to check.
40
- context (Context): The current context.
41
-
42
- Returns:
43
- bool: True if the item should be redacted, False otherwise.
44
- """
45
- pass
46
-
47
- @abstractmethod
48
- def redact_item(self, item: RedactionItemT) -> RedactionItemT:
49
- """Redact the item.
50
-
51
- Args:
52
- item (RedactionItemT): The item to redact.
53
-
54
- Returns:
55
- RedactionItemT: The redacted item.
56
- """
57
- pass
58
-
59
- @override
60
- async def process(self, item: RedactionItemT) -> RedactionItemT:
61
- """Perform redaction on the item if it should be redacted.
62
-
63
- Args:
64
- item (RedactionItemT): The item to process.
65
-
66
- Returns:
67
- RedactionItemT: The processed item.
68
- """
69
- context = Context.get()
70
- if self.should_redact(item, context):
71
- return self.redact_item(item)
72
- return item
73
-
74
-
75
- class SpanRedactionProcessor(RedactionProcessor[Span]):
76
- """Abstract base class for span redaction processors."""
77
- pass