SYMBOL INDEX (13975 symbols across 1217 files) FILE: ci/release/update_doc_versions1.py function main (line 25) | def main(versions_file: str, new_version: str): FILE: ci/scripts/copyright.py function is_file_empty (line 60) | def is_file_empty(f): function check_this_file (line 64) | def check_this_file(f): function get_copyright_years (line 79) | def get_copyright_years(line): function replace_current_year (line 89) | def replace_current_year(line, start, end): function insert_license (line 97) | def insert_license(f, this_year, first_line): function check_copyright (line 125) | def check_copyright(f, function _main (line 228) | def _main(): FILE: ci/scripts/gitlab/report_test_results.py class ReportMessages (line 34) | class ReportMessages(typing.NamedTuple): function get_testcase_name (line 41) | def get_testcase_name(testcase: ET.Element) -> str: function parse_junit (line 45) | def parse_junit(junit_file: str) -> dict[str, typing.Any]: function parse_coverage (line 85) | def parse_coverage(coverage_file: str) -> str: function get_error_string (line 92) | def get_error_string(num_errors: int, error_type: str) -> str: function text_to_block (line 99) | def text_to_block(text: str) -> dict: function add_text (line 103) | def add_text(text: str, blocks: list[dict], plain_text: list[str]) -> None: function chunk_items (line 111) | def chunk_items(items: list[typing.Any], chunk_size: int) -> list[list[t... function build_messages (line 115) | def build_messages(junit_data: dict[str, typing.Any], coverage_data: str... function parse_model_health (line 169) | def parse_model_health(json_path: str) -> dict[str, typing.Any]: function build_model_health_messages (line 175) | def build_model_health_messages(health_data: dict[str, typing.Any]) -> R... function main (line 242) | def main(): FILE: ci/scripts/gitutils.py function _run_cmd (line 32) | def _run_cmd(exe: str, *args: str): function _gh (line 62) | def _gh(*args): function _git (line 68) | def _git(*args): class GitWrapper (line 73) | class GitWrapper: method get_closest_tag (line 77) | def get_closest_tag(): method get_repo_version (line 90) | def get_repo_version(): method get_repo_owner_name (line 118) | def get_repo_owner_name(): method get_repo_remote_name (line 124) | def get_repo_remote_name(repo_owner_and_name: str): method is_ref_valid (line 131) | def is_ref_valid(git_ref: str): method get_remote_branch (line 140) | def get_remote_branch(local_branch_ref: str, *, repo_owner_and_name: s... method get_target_remote_branch (line 162) | def get_target_remote_branch(): method get_repo_dir (line 183) | def get_repo_dir(): method get_current_branch (line 191) | def get_current_branch(): method add_files (line 198) | def add_files(*files_to_add): method get_file_add_date (line 204) | def get_file_add_date(file_path): method get_uncommitted_files (line 210) | def get_uncommitted_files(): method diff (line 228) | def diff(target_ref: str, base_ref: str, merge_base: bool = False, sta... method diff_index (line 246) | def diff_index(target_ref: str, merge_base: bool = False, staged: bool... method merge_base (line 263) | def merge_base(target_ref: str, base_ref: str = "HEAD"): class GithubWrapper (line 271) | class GithubWrapper: method has_cli (line 275) | def has_cli(): method get_repo_owner_name (line 293) | def get_repo_owner_name(): method get_pr_info (line 303) | def get_pr_info() -> dict | None: method is_pr (line 324) | def is_pr(): method get_pr_number (line 330) | def get_pr_number(): method get_pr_base_ref_name (line 341) | def get_pr_base_ref_name(): method get_pr_target_remote_branch (line 352) | def get_pr_target_remote_branch(): function _is_repo_relative (line 367) | def _is_repo_relative(f: str, git_root: str | None = None): function get_merge_target (line 378) | def get_merge_target(): function determine_merge_commit (line 408) | def determine_merge_commit(current_branch: str = "HEAD"): function filter_files (line 434) | def filter_files(files: str | list[str], path_filter: Callable[[str], bo... function changed_files (line 469) | def changed_files(target_ref: str | None = None, function modified_files (line 511) | def modified_files(target_ref: str | None = None, function staged_files (line 551) | def staged_files(base_ref: str = "HEAD", *, path_filter: Callable[[str],... function all_files (line 574) | def all_files(*paths, base_ref: str = "HEAD", path_filter: Callable[[str... function add_files (line 600) | def add_files(*files_to_add): function get_file_add_date (line 612) | def get_file_add_date(filename: str): function _parse_args (line 630) | def _parse_args(): function _main (line 638) | def _main(): FILE: ci/scripts/license_diff.py function main (line 40) | def main(base_branch: str) -> None: FILE: ci/scripts/model_health_check.py function find_nim_models (line 60) | def find_nim_models(examples_dir: Path) -> tuple[dict[str, list[str]], d... function get_catalog_models (line 119) | def get_catalog_models(api_key: str) -> set[str]: function _nim_post (line 144) | def _nim_post(endpoint: str, payload: bytes, api_key: str) -> tuple[int,... function check_model (line 170) | def check_model(model: str, api_key: str) -> tuple[int, str]: function check_embedder (line 182) | def check_embedder(model: str, api_key: str) -> tuple[int, str]: function main (line 192) | def main() -> int: FILE: ci/scripts/package_utils.py class Package (line 21) | class Package(typing.TypedDict): class UvLock (line 27) | class UvLock(typing.TypedDict): function package_variant_key (line 31) | def package_variant_key(pkg: Package) -> tuple[str, str]: function pypi_license (line 35) | def pypi_license(name: str, version: str | None = None) -> str: FILE: ci/scripts/path_checks.py function list_broken_symlinks (line 319) | def list_broken_symlinks() -> list[str]: class PathInfo (line 335) | class PathInfo: function extract_paths_from_file (line 341) | def extract_paths_from_file(filename: str) -> list[PathInfo]: function check_files (line 417) | def check_files() -> list[tuple[str, PathInfo]]: function main (line 497) | def main(): FILE: ci/scripts/run_tests.py class TestFailure (line 38) | class TestFailure(Exception): function sh (line 42) | def sh(cmd: list[str], *, env: dict[str, str] | None = None) -> int: function slug (line 46) | def slug(path: Path) -> str: function discover_projects (line 51) | def discover_projects(max_depth: int = MAX_PROJECT_DEPTH, examples_only:... function resolve_project (line 72) | def resolve_project(project: str) -> Path: function make_env (line 102) | def make_env(project_dir: Path) -> dict[str, str]: function run_one (line 119) | def run_one( function main (line 211) | def main(junit_xml: str | None, FILE: ci/scripts/sbom_list.py class SbomEntry (line 32) | class SbomEntry(typing.TypedDict): function process_uvlock (line 38) | def process_uvlock(uvlock: UvLock, output_path: Path) -> None: function main (line 73) | def main(uvlock_path: Path, output_path: Path) -> None: FILE: conftest.py function project_dir_fixture (line 60) | def project_dir_fixture(root_repo_dir: Path) -> str: function test_data_dir_fixture (line 65) | def test_data_dir_fixture(): function config_file_fixture (line 70) | def config_file_fixture(test_data_dir: str): function eval_config_file_fixture (line 75) | def eval_config_file_fixture() -> str: function simple_config_file_fixture (line 80) | def simple_config_file_fixture() -> str: function echo_config_file_fixture (line 85) | def echo_config_file_fixture(test_data_dir: str) -> str: function mock_aiohttp_session_fixture (line 90) | def mock_aiohttp_session_fixture(): function set_test_api_keys_fixture (line 106) | def set_test_api_keys_fixture(restore_environ): function rapids_repo_names_fixture (line 112) | def rapids_repo_names_fixture() -> list[str]: function rapids_repo_urls_fixture (line 117) | def rapids_repo_urls_fixture(rapids_repo_names: list[str]) -> dict[str, ... function workflow_config_fixture (line 122) | def workflow_config_fixture(): function tools_config_fixture (line 128) | def tools_config_fixture() -> dict[str, typing.Any]: function llms_config_fixture (line 143) | def llms_config_fixture() -> dict[str, typing.Any]: class StreamingOutputModel (line 147) | class StreamingOutputModel(BaseModel): class SingleOutputModel (line 151) | class SingleOutputModel(BaseModel): function test_workflow_fn_fixture (line 156) | def test_workflow_fn_fixture(): function test_streaming_fn_fixture (line 165) | def test_streaming_fn_fixture(): function register_test_workflow_fixture (line 174) | def register_test_workflow_fixture(test_workflow_fn) -> Callable[[], Cal... function reactive_stream_fixture (line 191) | def reactive_stream_fixture(): function function_settings_fixture (line 214) | def function_settings_fixture(): function pypi_registry_channel_fixture (line 228) | def pypi_registry_channel_fixture(): function rest_registry_channel_fixture (line 247) | def rest_registry_channel_fixture(): function local_registry_channel_fixture (line 267) | def local_registry_channel_fixture(): function httpserver_listen_address (line 275) | def httpserver_listen_address(): function mock_llm (line 281) | async def mock_llm(): function mock_tool (line 351) | def mock_tool(): function rag_user_inputs_fixture (line 381) | def rag_user_inputs_fixture() -> list[str]: function rag_generated_outputs_fixture (line 387) | def rag_generated_outputs_fixture() -> list[str]: function rag_intermediate_steps_fixture (line 393) | def rag_intermediate_steps_fixture(rag_user_inputs, rag_generated_output... function rag_intermediate_property_adaptor_fixture (line 473) | def rag_intermediate_property_adaptor_fixture(rag_intermediate_steps) ->... function dask_cluster_fixture (line 484) | def dask_cluster_fixture(fail_missing: bool) -> "LocalCluster": function dask_scheduler_address_fixture (line 508) | def dask_scheduler_address_fixture(dask_cluster: "LocalCluster") -> str: function dask_client_fixture (line 516) | def dask_client_fixture(dask_scheduler_address: str) -> Generator["DaskC... function db_engine_fixture (line 530) | def db_engine_fixture(fail_missing: bool, tmp_path: Path) -> Generator["... function setup_db_fixture (line 556) | async def setup_db_fixture(db_engine: "AsyncEngine"): function db_url_fixture (line 567) | def db_url_fixture(db_engine: "AsyncEngine") -> str: function fixture_set_nat_config_file_env_var (line 575) | def fixture_set_nat_config_file_env_var(restore_environ, echo_config_fil... function fixture_set_nat_dask_scheduler_env_var (line 585) | def fixture_set_nat_dask_scheduler_env_var(restore_environ, dask_schedul... function fixture_set_nat_job_store_db_url_env_var (line 595) | def fixture_set_nat_job_store_db_url_env_var(restore_environ, db_url: st... function register_empty_function_fixture (line 605) | def register_empty_function_fixture(): function reset_global_type_converter_fixture (line 620) | def reset_global_type_converter_fixture(): FILE: docs/source/conf.py function _build_api_tree (line 46) | def _build_api_tree() -> Path: function _clean_inherited_docstring (line 519) | def _clean_inherited_docstring(docstring: str) -> str: function skip_pydantic_special_attrs (line 556) | def skip_pydantic_special_attrs(app: object, function clean_markdown_from_docstrings (line 574) | def clean_markdown_from_docstrings(app: object, docname: str, source: li... function setup (line 618) | def setup(sphinx): FILE: examples/A2A/math_assistant_a2a/src/nat_math_assistant_a2a/register.py class LogicEvaluatorConfig (line 27) | class LogicEvaluatorConfig(FunctionGroupBaseConfig, name="logic_evaluato... function logic_evaluator (line 34) | async def logic_evaluator(_config: LogicEvaluatorConfig, _builder: Build... FILE: examples/A2A/math_assistant_a2a/tests/test_math_assistant_a2a.py function nat_a2a_host_fixture (line 30) | def nat_a2a_host_fixture() -> str: function nat_a2a_port_fixture (line 35) | def nat_a2a_port_fixture() -> str: function nat_a2a_url_fixture (line 40) | def nat_a2a_url_fixture(nat_a2a_host: str, nat_a2a_port: str) -> str: function simple_calc_a2a_server_process_fixture (line 45) | async def simple_calc_a2a_server_process_fixture(nat_a2a_host: str, nat_... function simple_calc_a2a_server_avail_fixture (line 100) | async def simple_calc_a2a_server_avail_fixture(simple_calc_a2a_server_pr... function test_a2a_workflow (line 172) | async def test_a2a_workflow(root_repo_dir: Path, nat_a2a_url: str): FILE: examples/HITL/por_to_jiratickets/src/nat_por_to_jiratickets/extract_por_tool.py function correct_json_format (line 95) | def correct_json_format(response): function process_input_text (line 115) | def process_input_text(input_text): class ExtractPORToolConfig (line 121) | class ExtractPORToolConfig(FunctionBaseConfig, name="extract_por_tool"): function extract_from_por_tool (line 127) | async def extract_from_por_tool(config: ExtractPORToolConfig, builder: B... class ShowTicketsToolConfig (line 182) | class ShowTicketsToolConfig(FunctionBaseConfig, name="show_jira_tickets"): function show_tickets_tool (line 187) | async def show_tickets_tool(config: ShowTicketsToolConfig, builder: Buil... FILE: examples/HITL/por_to_jiratickets/src/nat_por_to_jiratickets/hitl_approval_tool.py class HITLApprovalFnConfig (line 32) | class HITLApprovalFnConfig(FunctionBaseConfig, name="hitl_approval_tool"): method validate_prompt (line 42) | def validate_prompt(cls, prompt: str) -> str: function hitl_approval_function (line 47) | async def hitl_approval_function(config: HITLApprovalFnConfig, builder: ... FILE: examples/HITL/por_to_jiratickets/src/nat_por_to_jiratickets/jira_tickets_tool.py function get_epics_tool (line 34) | def get_epics_tool(root_path: str) -> str: class JiraTool (line 50) | class JiraTool: method __init__ (line 52) | def __init__(self, domain: str, project_key: str, ticket_type: str): method get_priority_name (line 60) | async def get_priority_name(self, priority: str): method create_epic (line 68) | async def create_epic(self, client: httpx.AsyncClient, ticket_data: di... method create_task (line 109) | async def create_task(self, client: httpx.AsyncClient, ticket_data: di... method create_bug (line 154) | async def create_bug(self, client: httpx.AsyncClient, ticket_data: dict): method create_feature (line 201) | async def create_feature(self, client: httpx.AsyncClient, ticket_data:... function process_input_text (line 249) | def process_input_text(input_text): class CreateJiraToolConfig (line 255) | class CreateJiraToolConfig(FunctionBaseConfig, name="create_jira_tickets... function create_jira_tickets_tool (line 265) | async def create_jira_tickets_tool(config: CreateJiraToolConfig, builder... class GetJiraToolConfig (line 325) | class GetJiraToolConfig(FunctionBaseConfig, name="get_jira_tickets_tool"): function get_jira_tickets_tool (line 332) | async def get_jira_tickets_tool(config: GetJiraToolConfig, builder: Buil... FILE: examples/HITL/simple_calculator_hitl/src/nat_simple_calculator_hitl/retry_react_agent.py class RetryReactAgentConfig (line 36) | class RetryReactAgentConfig(FunctionBaseConfig, name="retry_react_agent"): function retry_react_agent (line 55) | async def retry_react_agent(config: RetryReactAgentConfig, builder: Buil... class TimeZonePromptConfig (line 230) | class TimeZonePromptConfig(FunctionBaseConfig, name="time_zone_prompt"): function time_zone_prompt (line 235) | async def time_zone_prompt(config: TimeZonePromptConfig, builder: Builder): FILE: examples/HITL/simple_calculator_hitl/tests/test_simple_calculator_hitl.py function test_hitl_workflow (line 28) | def test_hitl_workflow(env_without_nat_log_level: dict[str, str], respon... FILE: examples/MCP/service_account_auth_mcp/src/nat_service_account_auth_mcp/scripts/service_tokens.py function get_jira_service_token (line 28) | async def get_jira_service_token(**kwargs) -> tuple[str, str]: FILE: examples/MCP/simple_calculator_fastmcp/tests/test_simple_calculator_fastmcp.py function nat_fastmcp_host_fixture (line 31) | def nat_fastmcp_host_fixture() -> str: function nat_fastmcp_port_fixture (line 36) | def nat_fastmcp_port_fixture() -> str: function nat_fastmcp_url_fixture (line 41) | def nat_fastmcp_url_fixture(nat_fastmcp_host: str, nat_fastmcp_port: str... function simple_calc_fastmcp_process_fixture (line 46) | async def simple_calc_fastmcp_process_fixture( function simple_calc_fastmcp_avail_fixture (line 87) | async def simple_calc_fastmcp_avail_fixture(simple_calc_fastmcp_process:... function test_fastmcp_workflow (line 120) | async def test_fastmcp_workflow(root_repo_dir: Path, nat_fastmcp_url: str): FILE: examples/MCP/simple_calculator_fastmcp_protected/tests/test_simple_calculator_fastmcp_protected.py function nat_fastmcp_protected_host_fixture (line 31) | def nat_fastmcp_protected_host_fixture() -> str: function nat_fastmcp_protected_port_fixture (line 36) | def nat_fastmcp_protected_port_fixture() -> str: function fastmcp_protected_base_url_fixture (line 41) | def fastmcp_protected_base_url_fixture( function fastmcp_protected_process_fixture (line 49) | async def fastmcp_protected_process_fixture( function fastmcp_protected_ready_fixture (line 92) | async def fastmcp_protected_ready_fixture( function test_fastmcp_protected_requires_auth (line 115) | async def test_fastmcp_protected_requires_auth(fastmcp_protected_base_ur... FILE: examples/MCP/simple_calculator_mcp/tests/test_simple_calculator_mcp.py function nat_mcp_host_fixture (line 26) | def nat_mcp_host_fixture() -> str: function nat_mcp_port_fixture (line 31) | def nat_mcp_port_fixture() -> str: function nat_mcp_url_fixture (line 36) | def nat_mcp_url_fixture(nat_mcp_host: str, nat_mcp_port: str) -> str: function simple_calc_mcp_process_fixture (line 41) | async def simple_calc_mcp_process_fixture(nat_mcp_host: str, nat_mcp_por... function simple_calc_mcp_avail_fixture (line 79) | async def simple_calc_mcp_avail_fixture(simple_calc_mcp_process: subproc... function test_mcp_workflow (line 111) | async def test_mcp_workflow(root_repo_dir: Path, nat_mcp_url: str): FILE: examples/RAG/simple_rag/tests/test_simple_rag_e2e.py function _run_simple_rag_workflow (line 21) | async def _run_simple_rag_workflow(milvus_uri: str, function test_full_workflow (line 44) | async def test_full_workflow(milvus_uri: str, examples_dir: Path): function test_full_workflow_ttc (line 52) | async def test_full_workflow_ttc(milvus_uri: str, examples_dir: Path): function test_full_workflow_memory (line 60) | async def test_full_workflow_memory(milvus_uri: str, examples_dir: Path): function test_full_workflow_tools (line 68) | async def test_full_workflow_tools(milvus_uri: str, examples_dir: Path): function test_full_workflow_memory_tools (line 76) | async def test_full_workflow_memory_tools(milvus_uri: str, examples_dir:... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/categorizer.py class CategorizerToolConfig (line 31) | class CategorizerToolConfig(FunctionBaseConfig, name="categorizer"): function _extract_markdown_heading_level (line 37) | def _extract_markdown_heading_level(report: str) -> str: function categorizer_tool (line 45) | async def categorizer_tool(config: CategorizerToolConfig, builder: Build... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/classification_evaluator.py class ClassificationEvaluatorConfig (line 29) | class ClassificationEvaluatorConfig(EvaluatorBaseConfig, name="classific... function register_classification_evaluator (line 39) | async def register_classification_evaluator(config: ClassificationEvalua... class ClassificationEvaluator (line 54) | class ClassificationEvaluator(BaseEvaluator): method __init__ (line 56) | def __init__( method evaluate_item (line 63) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/hardware_check_tool.py class HardwareCheckToolConfig (line 30) | class HardwareCheckToolConfig(FunctionBaseConfig, name="hardware_check"): function _get_ipmi_monitor_data (line 37) | def _get_ipmi_monitor_data(ip_address, username, password): function hardware_check_tool (line 69) | async def hardware_check_tool(config: HardwareCheckToolConfig, builder: ... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/host_performance_check_tool.py class HostPerformanceCheckToolConfig (line 29) | class HostPerformanceCheckToolConfig(FunctionBaseConfig, name="host_perf... function _run_ansible_playbook_for_host_performance_check (line 40) | async def _run_ansible_playbook_for_host_performance_check(config: HostP... function _parse_stdout_lines (line 87) | async def _parse_stdout_lines(config, builder, stdout_lines) -> str: function host_performance_check_tool (line 112) | async def host_performance_check_tool(config: HostPerformanceCheckToolCo... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/maintenance_check.py class MaintenanceCheckToolConfig (line 39) | class MaintenanceCheckToolConfig(FunctionBaseConfig, name="maintenance_c... function _load_maintenance_data (line 55) | def _load_maintenance_data(path: str) -> pd.DataFrame: function _parse_alert_data (line 100) | def _parse_alert_data(input_message: str) -> dict | None: function _get_active_maintenance (line 133) | def _get_active_maintenance(df: pd.DataFrame, host_id: str, alert_time: ... function _summarize_alert (line 174) | def _summarize_alert(llm, prompt_template, alert, maintenance_start_str,... function maintenance_check (line 199) | async def maintenance_check(config: MaintenanceCheckToolConfig, builder:... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/monitoring_process_check_tool.py class MonitoringProcessCheckToolConfig (line 29) | class MonitoringProcessCheckToolConfig(FunctionBaseConfig, name="monitor... function _run_ansible_playbook_for_monitor_process_check (line 38) | async def _run_ansible_playbook_for_monitor_process_check(ansible_host: ... function monitoring_process_check_tool (line 72) | async def monitoring_process_check_tool(config: MonitoringProcessCheckTo... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/network_connectivity_check_tool.py class NetworkConnectivityCheckToolConfig (line 31) | class NetworkConnectivityCheckToolConfig(FunctionBaseConfig, name="netwo... function _check_service_banner (line 40) | def _check_service_banner(host: str, port: int = 80, connect_timeout: fl... function network_connectivity_check_tool (line 69) | async def network_connectivity_check_tool(config: NetworkConnectivityChe... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/prompts.py class CategorizerPrompts (line 60) | class CategorizerPrompts: class MaintenanceCheckPrompts (line 85) | class MaintenanceCheckPrompts: class NetworkConnectivityCheckPrompts (line 107) | class NetworkConnectivityCheckPrompts: class MonitoringProcessCheckPrompts (line 131) | class MonitoringProcessCheckPrompts: class HostPerformanceCheckPrompts (line 150) | class HostPerformanceCheckPrompts: class HardwareCheckPrompts (line 185) | class HardwareCheckPrompts: class TelemetryMetricsAnalysisAgentPrompts (line 207) | class TelemetryMetricsAnalysisAgentPrompts: class TelemetryMetricsHostHeartbeatCheckPrompts (line 230) | class TelemetryMetricsHostHeartbeatCheckPrompts: class TelemetryMetricsHostPerformanceCheckPrompts (line 237) | class TelemetryMetricsHostPerformanceCheckPrompts: FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/register.py class AlertTriageAgentWorkflowConfig (line 47) | class AlertTriageAgentWorkflowConfig(FunctionBaseConfig, OptimizableMixi... function alert_triage_agent_workflow (line 70) | async def alert_triage_agent_workflow(config: AlertTriageAgentWorkflowCo... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/run.py function apply_hsts (line 93) | def apply_hsts(response): function start_process (line 108) | def start_process(alert: dict, env_file: str) -> None: function receive_alert (line 137) | def receive_alert(): function parse_args (line 166) | def parse_args(): FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/telemetry_metrics_analysis_agent.py class TelemetryMetricsAnalysisAgentConfig (line 29) | class TelemetryMetricsAnalysisAgentConfig(FunctionBaseConfig, name="tele... function telemetry_metrics_analysis_agent_tool (line 39) | async def telemetry_metrics_analysis_agent_tool(config: TelemetryMetrics... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/telemetry_metrics_host_heartbeat_check_tool.py class TelemetryMetricsHostHeartbeatCheckToolConfig (line 29) | class TelemetryMetricsHostHeartbeatCheckToolConfig(FunctionBaseConfig, n... function telemetry_metrics_host_heartbeat_check_tool (line 40) | async def telemetry_metrics_host_heartbeat_check_tool(config: TelemetryM... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/telemetry_metrics_host_performance_check_tool.py class TelemetryMetricsHostPerformanceCheckToolConfig (line 35) | class TelemetryMetricsHostPerformanceCheckToolConfig(FunctionBaseConfig, function _timeseries_stats (line 48) | def _timeseries_stats(ts): function _get_llm_analysis_input (line 77) | def _get_llm_analysis_input(timestamp_value_list): function telemetry_metrics_host_performance_check_tool (line 120) | async def telemetry_metrics_host_performance_check_tool(config: Telemetr... FILE: examples/advanced_agents/alert_triage_agent/src/nat_alert_triage_agent/utils.py function _get_llm (line 38) | async def _get_llm(builder, llm_name, wrapper_type): function llm_ainvoke (line 56) | async def llm_ainvoke(config, builder, user_prompt, system_prompt=None) ... function log_header (line 75) | def log_header(log_str: str, dash_length: int = 100, level: int = loggin... function log_footer (line 83) | def log_footer(dash_length: int = 100, level: int = logging.DEBUG): function preload_offline_data (line 89) | def preload_offline_data(offline_data_path: str | None, benign_fallback_... function get_offline_data (line 111) | def get_offline_data() -> pd.DataFrame: function _get_static_data (line 118) | def _get_static_data(): function load_column_or_static (line 125) | def load_column_or_static(df, host_id, column): function run_ansible_playbook (line 172) | async def run_ansible_playbook(playbook: list, FILE: examples/advanced_agents/alert_triage_agent/tests/test_alert_triage_agent_workflow.py function test_full_workflow (line 25) | async def test_full_workflow(root_repo_dir: Path): FILE: examples/advanced_agents/alert_triage_agent/tests/test_categorizer.py function test_extract_markdown_heading_level (line 34) | def test_extract_markdown_heading_level(test_input, expected): FILE: examples/advanced_agents/alert_triage_agent/tests/test_hardware_check_tool.py function ipmi_args (line 27) | def ipmi_args(): function expected_cmd (line 32) | def expected_cmd(ipmi_args): function mock_run (line 48) | def mock_run(): function test_get_ipmi_monitor_data (line 66) | def test_get_ipmi_monitor_data(mock_run, ipmi_args, expected_cmd, stdout... FILE: examples/advanced_agents/alert_triage_agent/tests/test_host_performance_check_tool.py function test_parse_stdout_lines_success (line 111) | async def test_parse_stdout_lines_success(): function test_parse_stdout_lines_llm_error (line 142) | async def test_parse_stdout_lines_llm_error(): FILE: examples/advanced_agents/alert_triage_agent/tests/test_maintenance_check.py function test_load_maintenance_data (line 40) | def test_load_maintenance_data(root_repo_dir: Path): function test_parse_alert_data (line 115) | def test_parse_alert_data(input_msg, expected): function test_get_active_maintenance (line 120) | def test_get_active_maintenance(): function test_maintenance_check_tool (line 175) | async def test_maintenance_check_tool(tmp_path: Path): FILE: examples/advanced_agents/alert_triage_agent/tests/test_monitoring_process_check_tool.py function test_run_ansible_playbook_for_monitor_process_check (line 23) | async def test_run_ansible_playbook_for_monitor_process_check(): FILE: examples/advanced_agents/alert_triage_agent/tests/test_network_connectivity_check_tool.py function mock_sock (line 25) | def mock_sock(): function test_successful_banner_read (line 32) | def test_successful_banner_read(mock_create_conn, mock_sock): function test_error_conditions (line 58) | def test_error_conditions(mock_create_conn, side_effect, port, conn_to, ... function test_reading_until_eof_without_banner (line 72) | def test_reading_until_eof_without_banner(mock_create_conn, mock_sock): FILE: examples/advanced_agents/alert_triage_agent/tests/test_run.py function client (line 25) | def client(): function reset_global_state (line 33) | def reset_global_state(): function test_hsts_header (line 39) | def test_hsts_header(client): function test_receive_single_alert (line 64) | def test_receive_single_alert(client, alert): function test_receive_multiple_alerts (line 76) | def test_receive_multiple_alerts(client): function test_invalid_json (line 116) | def test_invalid_json(client, invalid_data, expected_error): function test_parse_args (line 139) | def test_parse_args(args, expected): FILE: examples/advanced_agents/alert_triage_agent/tests/test_telemetry_metrics_host_heartbeat_check_tool.py function test_telemetry_metrics_host_heartbeat_check_tool (line 33) | async def test_telemetry_metrics_host_heartbeat_check_tool(): FILE: examples/advanced_agents/alert_triage_agent/tests/test_telemetry_metrics_host_performance_check_tool.py function test_telemetry_metrics_host_performance_check_tool (line 37) | async def test_telemetry_metrics_host_performance_check_tool(): function test_timeseries_stats (line 158) | def test_timeseries_stats(): function test_get_llm_analysis_input (line 194) | def test_get_llm_analysis_input(): FILE: examples/advanced_agents/alert_triage_agent/tests/test_utils.py function test_get_llm (line 36) | async def test_get_llm(): function test_preload_offline_data (line 88) | def test_preload_offline_data(root_repo_dir: Path): function test_load_column_or_static (line 128) | def test_load_column_or_static(): function _mock_ansible_runner (line 186) | def _mock_ansible_runner(status="successful", rc=0, events=None, stdout=... function test_run_ansible_playbook_various (line 253) | async def test_run_ansible_playbook_various(status, rc, events, stdout, ... FILE: examples/agents/tests/conftest.py function fixture_agents_dir (line 37) | def fixture_agents_dir(examples_dir: Path) -> Path: function fixture_question (line 42) | def fixture_question() -> str: function fixture_answer (line 47) | def fixture_answer() -> str: function fixture_rewoo_data (line 52) | def fixture_rewoo_data(agents_dir: Path) -> list[dict]: function fixture_rewoo_session_manager (line 60) | async def fixture_rewoo_session_manager(agents_dir: Path): function _build_nat_client (line 66) | async def _build_nat_client(config_path: Path): function fixture_rewoo_nat_client (line 81) | async def fixture_rewoo_nat_client(agents_dir: Path): function fixture_tool_calling_responses_api_nat_client (line 89) | async def fixture_tool_calling_responses_api_nat_client(agents_dir: Path): function fixture_agent_session_manager (line 97) | async def fixture_agent_session_manager(request: pytest.FixtureRequest, ... function fixture_agent_nat_client (line 104) | async def fixture_agent_nat_client(request: pytest.FixtureRequest, agent... FILE: examples/agents/tests/test_agents.py function _extract_serve_response_text (line 24) | def _extract_serve_response_text(response_json: dict) -> str: function _assert_expected_answer (line 38) | def _assert_expected_answer(result: str, expected_answer: str) -> None: class TestReWOONatRun (line 51) | class TestReWOONatRun: method test_question (line 54) | async def test_question(self, rewoo_session_manager, rewoo_data: list[... class TestReWOONatServe (line 64) | class TestReWOONatServe: method test_question (line 67) | async def test_question(self, rewoo_nat_client, rewoo_data: list[dict]... function test_tool_calling_responses_api (line 85) | async def test_tool_calling_responses_api(agents_dir: Path, question: st... function test_nat_run_tool_calling_responses_api (line 93) | async def test_nat_run_tool_calling_responses_api(tool_calling_responses... class TestAgentNatRun (line 108) | class TestAgentNatRun: method test_question (line 110) | async def test_question(self, agent_session_manager, question: str, an... class TestAgentNatServe (line 120) | class TestAgentNatServe: method test_question (line 122) | async def test_question(self, agent_nat_client, question: str, answer:... function test_react_agent_full_workflow (line 133) | async def test_react_agent_full_workflow(examples_dir: Path): function test_react_agent_full_workflow_validate_re (line 140) | async def test_react_agent_full_workflow_validate_re(examples_dir: Path): FILE: examples/control_flow/hybrid_control_flow/src/nat_hybrid_control_flow/register.py class MockInputValidatorFunctionConfig (line 27) | class MockInputValidatorFunctionConfig(FunctionBaseConfig, name="mock_in... function mock_input_validator_function (line 32) | async def mock_input_validator_function(config: MockInputValidatorFuncti... class MockUppercaseConverterFunctionConfig (line 60) | class MockUppercaseConverterFunctionConfig(FunctionBaseConfig, name="moc... function mock_uppercase_converter_function (line 65) | async def mock_uppercase_converter_function(config: MockUppercaseConvert... class MockLowercaseConverterFunctionConfig (line 87) | class MockLowercaseConverterFunctionConfig(FunctionBaseConfig, name="moc... function mock_lowercase_converter_function (line 92) | async def mock_lowercase_converter_function(config: MockLowercaseConvert... class MockResultFormatterFunctionConfig (line 114) | class MockResultFormatterFunctionConfig(FunctionBaseConfig, name="mock_r... function mock_result_formatter_function (line 119) | async def mock_result_formatter_function(config: MockResultFormatterFunc... FILE: examples/control_flow/hybrid_control_flow/tests/test_hybrid_control_flow.py function test_full_workflow (line 38) | async def test_full_workflow(question: str, expected_answer: str) -> None: FILE: examples/control_flow/parallel_executor/tests/test_parallel_executor_example.py function test_parallel_executor_workflow (line 42) | async def test_parallel_executor_workflow(question: str, expected_elemen... FILE: examples/control_flow/router_agent/src/nat_router_agent/register.py class MockFruitAdvisorFunctionConfig (line 27) | class MockFruitAdvisorFunctionConfig(FunctionBaseConfig, name="mock_frui... function mock_fruit_advisor_function (line 32) | async def mock_fruit_advisor_function(config: MockFruitAdvisorFunctionCo... class MockCityAdvisorFunctionConfig (line 61) | class MockCityAdvisorFunctionConfig(FunctionBaseConfig, name="mock_city_... function mock_city_advisor_function (line 66) | async def mock_city_advisor_function(config: MockCityAdvisorFunctionConf... class MockLiteratureAdvisorFunctionConfig (line 99) | class MockLiteratureAdvisorFunctionConfig(FunctionBaseConfig, name="mock... function mock_literature_advisor_function (line 104) | async def mock_literature_advisor_function(config: MockLiteratureAdvisor... FILE: examples/control_flow/router_agent/tests/test_control_flow_example_router_agent.py function test_full_workflow (line 31) | async def test_full_workflow(question: str, expected_answer: str) -> None: FILE: examples/control_flow/sequential_executor/src/nat_sequential_executor/register.py class TextProcessorFunctionConfig (line 29) | class TextProcessorFunctionConfig(FunctionBaseConfig, name="text_process... function text_processor_function (line 35) | async def text_processor_function(config: TextProcessorFunctionConfig, b... class DataAnalyzerFunctionConfig (line 83) | class DataAnalyzerFunctionConfig(FunctionBaseConfig, name="data_analyzer"): function data_analyzer_function (line 89) | async def data_analyzer_function(config: DataAnalyzerFunctionConfig, bui... class ReportGeneratorFunctionConfig (line 166) | class ReportGeneratorFunctionConfig(FunctionBaseConfig, name="report_gen... function report_generator_function (line 172) | async def report_generator_function(config: ReportGeneratorFunctionConfi... FILE: examples/control_flow/sequential_executor/tests/test_example_sequential_executor.py function test_full_workflow (line 33) | async def test_full_workflow(input_text: str, expected_elements: list) -... FILE: examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/register.py class AutomatedDescriptionMilvusWorkflow (line 34) | class AutomatedDescriptionMilvusWorkflow(FunctionBaseConfig, name="autom... function automated_description_milvus_workflow (line 54) | async def automated_description_milvus_workflow(workflow_config: Automat... FILE: examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/utils/description_generation.py function generate_description (line 27) | async def generate_description(collection_name: str, top_k, field_name, ... FILE: examples/custom_functions/automated_description_generation/src/nat_automated_description_generation/utils/workflow_utils.py class OverallState (line 27) | class OverallState(TypedDict): class BatchState (line 36) | class BatchState(TypedDict): class SummarizationWorkflow (line 40) | class SummarizationWorkflow: method __init__ (line 42) | def __init__( method get_num_tokens_for_strings (line 58) | def get_num_tokens_for_strings(self, contents: list[str]) -> int: method create_direct_summary (line 61) | async def create_direct_summary(self, state: OverallState) -> dict[str... method create_batches (line 67) | def create_batches(self, state: OverallState) -> dict[str, Any]: method create_batch_summary (line 78) | async def create_batch_summary(self, state: BatchState) -> dict[str, A... method collect_batch_summaries (line 84) | def collect_batch_summaries(self, state: OverallState) -> dict[str, Any]: method _reduce_step (line 87) | async def _reduce_step(self, input_prompt: dict) -> str: method merge_local_summaries (line 92) | async def merge_local_summaries(self, state: OverallState) -> dict[str... method should_collapse (line 121) | def should_collapse(self, state: OverallState) -> str: method check_bypass (line 128) | def check_bypass(self, state: OverallState) -> str: method create_full_summary (line 133) | async def create_full_summary(self, state: OverallState) -> dict[str, ... method map_batch_summaries (line 138) | async def map_batch_summaries(self, state: OverallState): FILE: examples/custom_functions/automated_description_generation/tests/test_auto_desc_generation.py function test_full_workflow (line 22) | async def test_full_workflow(milvus_uri: str) -> None: FILE: examples/custom_functions/plot_charts/src/nat_plot_charts/plot_chat.py function load_data_from_file (line 32) | def load_data_from_file(file_path: str) -> dict[str, Any]: function create_line_plot (line 60) | def create_line_plot(data: dict[str, Any], output_path: str, figure_size... function create_bar_plot (line 85) | def create_bar_plot(data: dict[str, Any], output_path: str, figure_size:... function create_scatter_plot (line 121) | def create_scatter_plot(data: dict[str, Any], output_path: str, figure_s... function determine_chart_type (line 153) | def determine_chart_type(user_request: str, available_types: list[str]) ... function generate_chart_description (line 172) | async def generate_chart_description(llm: BaseChatModel, data: dict[str,... FILE: examples/custom_functions/plot_charts/src/nat_plot_charts/register.py class PlotChartsWorkflowConfig (line 31) | class PlotChartsWorkflowConfig(FunctionBaseConfig, name="plot_charts"): function plot_charts_function (line 43) | async def plot_charts_function(config: PlotChartsWorkflowConfig, builder... FILE: examples/custom_functions/plot_charts/tests/test_plot_charts_workflow.py function test_full_workflow (line 24) | async def test_full_workflow(tmp_path: Path): FILE: examples/documentation_guides/tests/conftest.py function doc_guides_dir_fixture (line 22) | def doc_guides_dir_fixture() -> Path: function workflows_dir_fixture (line 28) | def workflows_dir_fixture(doc_guides_dir: Path) -> Path: FILE: examples/documentation_guides/tests/test_custom_workflow.py function custom_workflow_dir_fixture (line 27) | def custom_workflow_dir_fixture(workflows_dir: Path) -> Path: function question_fixture (line 32) | def question_fixture() -> str: function answer_fixture (line 37) | def answer_fixture() -> str: function test_custom_full_workflow (line 45) | async def test_custom_full_workflow(custom_workflow_dir: Path, question:... function test_search_full_workflow (line 53) | async def test_search_full_workflow(custom_workflow_dir: Path, question:... FILE: examples/documentation_guides/tests/test_text_file_ingest.py function text_file_ingest_dir_fixture (line 30) | def text_file_ingest_dir_fixture(workflows_dir: Path) -> Path: function src_dir_fixture (line 37) | def src_dir_fixture(text_file_ingest_dir: Path) -> Path: function add_src_dir_to_path_fixture (line 45) | def add_src_dir_to_path_fixture(src_dir: Path) -> Generator[str]: function test_text_file_ingest_full_workflow (line 62) | async def test_text_file_ingest_full_workflow(): FILE: examples/documentation_guides/workflows/text_file_ingest/src/text_file_ingest/text_file_ingest_function.py class TextFileIngestFunctionConfig (line 29) | class TextFileIngestFunctionConfig(FunctionBaseConfig, name="text_file_i... function text_file_ingest_tool (line 37) | async def text_file_ingest_tool(config: TextFileIngestFunctionConfig, bu... FILE: examples/dynamo_integration/latency_sensitivity_demo/src/latency_sensitivity_demo/compare_sensitivity_perf.py function _collect_sensitivity_map (line 70) | def _collect_sensitivity_map(node: PredictionTrieNode, path: str = "") -... function _parse_csv (line 89) | def _parse_csv(csv_path: Path) -> list[dict]: function _fmt_ms (line 145) | def _fmt_ms(value: float) -> str: function _fmt_tps (line 150) | def _fmt_tps(value: float) -> str: function _fmt_mspt (line 155) | def _fmt_mspt(value: float) -> str: function _pct_change (line 160) | def _pct_change(baseline: float, current: float) -> str: function _pct_change_higher_better (line 172) | def _pct_change_higher_better(baseline: float, current: float) -> str: function _group_by_fn (line 184) | def _group_by_fn(calls: list[dict]) -> dict[str, list[dict]]: function _percentile (line 192) | def _percentile(data: list[float], pct: int) -> float: function _sensitivity_str (line 204) | def _sensitivity_str(score: int, width: int = 14) -> str: function print_report (line 216) | def print_report( function _print_fn_header (line 266) | def _print_fn_header() -> str: function _print_single_run_table (line 272) | def _print_single_run_table( function _print_multi_run_table (line 294) | def _print_multi_run_table( function _print_fn_row (line 330) | def _print_fn_row(fn: str, sensitivity: int, fn_calls: list[dict], delta... function _print_priority_summary (line 350) | def _print_priority_summary(enriched_datasets: list[tuple[str, list[dict... function _print_priority_ratio_comparison (line 382) | def _print_priority_ratio_comparison(enriched_datasets: list[tuple[str, ... function main (line 446) | def main() -> None: FILE: examples/dynamo_integration/latency_sensitivity_demo/src/latency_sensitivity_demo/sensitivity_report.py function _sensitivity_str (line 54) | def _sensitivity_str(score: int | None, width: int = 16) -> str: function _percentile (line 65) | def _percentile(data: list[float], pct: int) -> float: function _fmt_ms (line 77) | def _fmt_ms(seconds: float) -> str: function parse_latency_from_csv (line 86) | def parse_latency_from_csv(csv_path: Path) -> dict[str, list[dict]]: function _collect_rows (line 130) | def _collect_rows(node: PredictionTrieNode, path: str, rows: list[dict])... function print_report (line 168) | def print_report( function main (line 250) | def main() -> None: FILE: examples/dynamo_integration/latency_sensitivity_demo/src/latency_sensitivity_demo/workflow.py class ClassifyConfig (line 60) | class ClassifyConfig(FunctionBaseConfig, name="classify_query"): function classify_query_function (line 65) | async def classify_query_function(config: ClassifyConfig, builder: Build... class ResearchContextConfig (line 89) | class ResearchContextConfig(FunctionBaseConfig, name="research_context"): function research_context_function (line 94) | async def research_context_function(config: ResearchContextConfig, build... class LookupPolicyConfig (line 129) | class LookupPolicyConfig(FunctionBaseConfig, name="lookup_policy"): function lookup_policy_function (line 134) | async def lookup_policy_function(config: LookupPolicyConfig, builder: Bu... class CheckComplianceConfig (line 171) | class CheckComplianceConfig(FunctionBaseConfig, name="check_compliance"): function check_compliance_function (line 176) | async def check_compliance_function(config: CheckComplianceConfig, build... class AnalyzeSentimentConfig (line 215) | class AnalyzeSentimentConfig(FunctionBaseConfig, name="analyze_sentiment"): function analyze_sentiment_function (line 220) | async def analyze_sentiment_function(config: AnalyzeSentimentConfig, bui... class DraftResponseConfig (line 264) | class DraftResponseConfig(FunctionBaseConfig, name="draft_response"): function draft_response_function (line 269) | async def draft_response_function(config: DraftResponseConfig, builder: ... class ReviewConfig (line 309) | class ReviewConfig(FunctionBaseConfig, name="review_response"): function review_response_function (line 314) | async def review_response_function(config: ReviewConfig, builder: Builder): class SupportState (line 344) | class SupportState(TypedDict): class LatencySensitivityDemoConfig (line 357) | class LatencySensitivityDemoConfig(FunctionBaseConfig, name="latency_sen... function latency_sensitivity_demo_function (line 373) | async def latency_sensitivity_demo_function(config: LatencySensitivityDe... FILE: examples/dynamo_integration/latency_sensitivity_demo/tests/test_workflow.py class TestConfigFiles (line 24) | class TestConfigFiles: method test_config_profile_exists (line 27) | def test_config_profile_exists(self): method test_config_with_trie_exists (line 30) | def test_config_with_trie_exists(self): method test_config_profile_has_prediction_trie (line 33) | def test_config_profile_has_prediction_trie(self): method test_config_profile_has_sensitivity_weights (line 40) | def test_config_profile_has_sensitivity_weights(self): method test_config_declares_sub_functions (line 49) | def test_config_declares_sub_functions(self): method test_config_workflow_references_sub_functions (line 68) | def test_config_workflow_references_sub_functions(self): class TestDataset (line 82) | class TestDataset: method test_dataset_exists (line 85) | def test_dataset_exists(self): method test_dataset_has_entries (line 90) | def test_dataset_has_entries(self): class TestWorkflowRegistration (line 103) | class TestWorkflowRegistration: method test_module_imports (line 106) | def test_module_imports(self): method test_orchestrator_config_exists (line 110) | def test_orchestrator_config_exists(self): method test_orchestrator_function_exists (line 114) | def test_orchestrator_function_exists(self): method test_sub_function_configs_exist (line 118) | def test_sub_function_configs_exist(self): method test_sub_function_registrations_exist (line 134) | def test_sub_function_registrations_exist(self): method test_orchestrator_has_function_refs (line 150) | def test_orchestrator_has_function_refs(self): class TestSensitivityReport (line 162) | class TestSensitivityReport: method test_report_module_imports (line 165) | def test_report_module_imports(self): method test_print_report_with_empty_trie (line 169) | def test_print_report_with_empty_trie(self, capsys): method test_print_report_with_sample_trie (line 179) | def test_print_report_with_sample_trie(self, capsys): FILE: examples/dynamo_integration/react_benchmark_agent/src/react_benchmark_agent/banking_tools.py class BankingToolsGroupConfig (line 40) | class BankingToolsGroupConfig(FunctionGroupBaseConfig, name="banking_too... function banking_tools_group_function (line 60) | async def banking_tools_group_function(config: BankingToolsGroupConfig, ... FILE: examples/dynamo_integration/react_benchmark_agent/src/react_benchmark_agent/evaluators/action_completion_evaluator.py class ActionCompletionEvaluatorConfig (line 40) | class ActionCompletionEvaluatorConfig(EvaluatorBaseConfig, name="action_... function action_completion_evaluator_function (line 54) | async def action_completion_evaluator_function(config: ActionCompletionE... FILE: examples/dynamo_integration/react_benchmark_agent/src/react_benchmark_agent/evaluators/tsq_evaluator.py class TSQEvaluatorConfig (line 43) | class TSQEvaluatorConfig(EvaluatorBaseConfig, name="tsq_evaluator"): function tsq_evaluator_function (line 65) | async def tsq_evaluator_function(config: TSQEvaluatorConfig, builder: Ev... FILE: examples/dynamo_integration/react_benchmark_agent/src/react_benchmark_agent/react_benchmark_agent.py class ReactBenchmarkAgentFunctionConfig (line 29) | class ReactBenchmarkAgentFunctionConfig(FunctionBaseConfig, name="react_... function react_benchmark_agent_function (line 50) | async def react_benchmark_agent_function(config: ReactBenchmarkAgentFunc... FILE: examples/dynamo_integration/react_benchmark_agent/src/react_benchmark_agent/self_evaluating_agent_with_feedback.py function _get_scenario_id_for_question (line 54) | def _get_scenario_id_for_question(question: str) -> str: class SelfEvaluatingAgentConfig (line 64) | class SelfEvaluatingAgentConfig(FunctionBaseConfig, name="self_evaluatin... class SelfEvaluatingAgentWithFeedbackConfig (line 142) | class SelfEvaluatingAgentWithFeedbackConfig(FunctionBaseConfig, name="se... function self_evaluating_agent_with_feedback_function (line 213) | async def self_evaluating_agent_with_feedback_function(config: SelfEvalu... function self_evaluating_agent_function (line 428) | async def self_evaluating_agent_function(config: SelfEvaluatingAgentConf... function _evaluate_tool_sequence (line 622) | async def _evaluate_tool_sequence( FILE: examples/dynamo_integration/react_benchmark_agent/src/react_benchmark_agent/tool_intent_stubs.py function set_current_scenario_id (line 44) | def set_current_scenario_id(scenario_id: str) -> contextvars.Token: function get_current_scenario_id (line 66) | def get_current_scenario_id() -> str: class ToolIntentBuffer (line 76) | class ToolIntentBuffer: method __init__ (line 88) | def __init__(self) -> None: method record (line 92) | def record(self, tool_name: str, parameters: dict[str, Any]) -> None: method get_intents (line 111) | def get_intents(self) -> list[dict[str, Any]]: method clear (line 120) | def clear(self) -> None: function get_global_intents (line 129) | def get_global_intents(scenario_id: str = "current") -> list[dict[str, A... function clear_global_intents (line 144) | def clear_global_intents(scenario_id: str = "current") -> None: class PermissiveToolInput (line 156) | class PermissiveToolInput(BaseModel): method parse_string_to_dict (line 167) | def parse_string_to_dict(cls, v: Any) -> dict[str, Any]: function create_tool_stub_function (line 184) | def create_tool_stub_function(tool_schema: dict[str, Any], function _generate_mock_response (line 242) | def _generate_mock_response(response_schema: dict[str, Any]) -> dict[str... FILE: examples/dynamo_integration/react_benchmark_agent/tests/test_self_evaluation.py class TestSelfEvaluatingAgentConfig (line 33) | class TestSelfEvaluatingAgentConfig: method test_config_file_exists (line 36) | def test_config_file_exists(self): method test_profile_config_file_exists (line 41) | def test_profile_config_file_exists(self): method test_config_contains_self_evaluating_agent (line 46) | def test_config_contains_self_evaluating_agent(self): method test_config_has_required_parameters (line 58) | def test_config_has_required_parameters(self): method test_config_max_retries_in_range (line 72) | def test_config_max_retries_in_range(self): method test_config_confidence_threshold_in_range (line 83) | def test_config_confidence_threshold_in_range(self): class TestSelfEvaluatingAgentModule (line 95) | class TestSelfEvaluatingAgentModule: method test_module_imports (line 98) | def test_module_imports(self): method test_config_class_exists (line 104) | def test_config_class_exists(self): class TestEvaluationResponseParsing (line 111) | class TestEvaluationResponseParsing: method parse_evaluation_response (line 115) | def parse_evaluation_response(response_text: str) -> dict: method test_parse_valid_json (line 141) | def test_parse_valid_json(self): method test_parse_insufficient_response (line 158) | def test_parse_insufficient_response(self): method test_parse_malformed_json (line 174) | def test_parse_malformed_json(self): method test_parse_partial_json (line 181) | def test_parse_partial_json(self): class TestDecisionLogic (line 195) | class TestDecisionLogic: method should_accept (line 199) | def should_accept(is_sufficient: bool, confidence: float, threshold: f... method should_retry (line 207) | def should_retry(is_sufficient: bool, confidence: float, threshold: fl... method test_accept_sufficient_and_confident (line 215) | def test_accept_sufficient_and_confident(self): method test_reject_sufficient_but_not_confident (line 219) | def test_reject_sufficient_but_not_confident(self): method test_reject_not_sufficient (line 223) | def test_reject_not_sufficient(self): method test_accept_at_exact_threshold (line 227) | def test_accept_at_exact_threshold(self): method test_retry_when_not_sufficient (line 231) | def test_retry_when_not_sufficient(self): method test_retry_when_not_confident (line 235) | def test_retry_when_not_confident(self): method test_no_retry_when_accepted (line 239) | def test_no_retry_when_accepted(self): method test_no_retry_when_exhausted (line 243) | def test_no_retry_when_exhausted(self): class TestFeedbackGeneration (line 248) | class TestFeedbackGeneration: method generate_feedback (line 252) | def generate_feedback( method test_generate_basic_feedback (line 287) | def test_generate_basic_feedback(self): method test_generate_feedback_empty_missing_steps (line 298) | def test_generate_feedback_empty_missing_steps(self): method test_generate_feedback_multiple_missing_steps (line 303) | def test_generate_feedback_multiple_missing_steps(self): method test_generate_feedback_custom_template (line 314) | def test_generate_feedback_custom_template(self): class TestSelfEvaluatingAgentWithNIM (line 329) | class TestSelfEvaluatingAgentWithNIM: method fixture_nim_self_eval_config (line 338) | def fixture_nim_self_eval_config(self, nvidia_api_key, tmp_path): method test_self_evaluation_workflow_loads_with_nim (line 374) | async def test_self_evaluation_workflow_loads_with_nim(self, nim_self_... method test_self_evaluation_rethinking_with_nim (line 385) | async def test_self_evaluation_rethinking_with_nim(self, nim_self_eval... method test_self_evaluation_complex_question_with_nim (line 411) | async def test_self_evaluation_complex_question_with_nim(self, nim_sel... FILE: examples/dynamo_integration/react_benchmark_agent/tests/test_tool_intent_buffer.py function clean_global_registry (line 36) | def clean_global_registry(): class TestToolIntentBuffer (line 46) | class TestToolIntentBuffer: method test_init_creates_empty_buffer (line 49) | def test_init_creates_empty_buffer(self): method test_record_single_intent (line 55) | def test_record_single_intent(self): method test_record_multiple_intents (line 65) | def test_record_multiple_intents(self): method test_get_intents_returns_copy (line 76) | def test_get_intents_returns_copy(self): method test_clear_empties_local_buffer (line 87) | def test_clear_empties_local_buffer(self): class TestScenarioIdContextVar (line 99) | class TestScenarioIdContextVar: method test_default_scenario_id (line 102) | def test_default_scenario_id(self): method test_set_and_get_scenario_id (line 106) | def test_set_and_get_scenario_id(self): method test_set_scenario_id_returns_token (line 111) | def test_set_scenario_id_returns_token(self): method test_set_scenario_id_initializes_registry (line 116) | def test_set_scenario_id_initializes_registry(self): class TestGlobalRegistryIntegration (line 125) | class TestGlobalRegistryIntegration: method test_record_stores_in_global_registry (line 128) | def test_record_stores_in_global_registry(self): method test_clear_clears_global_registry_for_current_scenario (line 141) | def test_clear_clears_global_registry_for_current_scenario(self): method test_record_and_clear_use_same_scenario_id (line 165) | def test_record_and_clear_use_same_scenario_id(self): method test_multiple_scenarios_isolation (line 190) | def test_multiple_scenarios_isolation(self): class TestGlobalIntentFunctions (line 213) | class TestGlobalIntentFunctions: method test_get_global_intents_returns_copy (line 216) | def test_get_global_intents_returns_copy(self): method test_get_global_intents_missing_scenario (line 230) | def test_get_global_intents_missing_scenario(self): method test_clear_global_intents (line 235) | def test_clear_global_intents(self): method test_clear_global_intents_nonexistent_scenario (line 249) | def test_clear_global_intents_nonexistent_scenario(self): class TestPermissiveToolInput (line 255) | class TestPermissiveToolInput: method test_parse_dict_input (line 258) | def test_parse_dict_input(self): method test_parse_json_string_input (line 265) | def test_parse_json_string_input(self): method test_parse_single_quote_json_string (line 272) | def test_parse_single_quote_json_string(self): method test_parse_invalid_string_returns_empty_dict (line 279) | def test_parse_invalid_string_returns_empty_dict(self): class TestCreateToolStubFunction (line 287) | class TestCreateToolStubFunction: method test_stub_records_intent (line 290) | async def test_stub_records_intent(self): method test_stub_filters_none_values (line 317) | async def test_stub_filters_none_values(self): method test_stub_handles_nested_params (line 332) | async def test_stub_handles_nested_params(self): class TestMockResponseGeneration (line 348) | class TestMockResponseGeneration: method test_generate_string_mock (line 351) | def test_generate_string_mock(self): method test_generate_integer_mock (line 359) | def test_generate_integer_mock(self): method test_generate_number_mock (line 367) | def test_generate_number_mock(self): method test_generate_boolean_mock (line 375) | def test_generate_boolean_mock(self): method test_generate_array_mock (line 383) | def test_generate_array_mock(self): method test_generate_object_mock (line 391) | def test_generate_object_mock(self): method test_generate_multiple_fields_mock (line 399) | def test_generate_multiple_fields_mock(self): FILE: examples/dynamo_integration/react_benchmark_agent/tests/test_tsq_formula.py function normalize_tool_name (line 27) | def normalize_tool_name(tool_name: str) -> str: function calculate_tool_accuracy (line 40) | def calculate_tool_accuracy(actual: list[dict], expected: list[dict]) ->... function calculate_tsq_score (line 62) | def calculate_tsq_score(tool_accuracy: float, class TestF1Formula (line 70) | class TestF1Formula: method test_perfect_match (line 73) | def test_perfect_match(self): method test_no_overlap (line 82) | def test_no_overlap(self): method test_empty_actual (line 91) | def test_empty_actual(self): method test_empty_expected (line 100) | def test_empty_expected(self): method test_both_empty (line 109) | def test_both_empty(self): method test_high_precision_low_recall (line 118) | def test_high_precision_low_recall(self): method test_low_precision_high_recall (line 130) | def test_low_precision_high_recall(self): method test_scenario_000_exact_case (line 143) | def test_scenario_000_exact_case(self): class TestTSQScore (line 158) | class TestTSQScore: method test_scenario_000_score (line 161) | def test_scenario_000_score(self): method test_zero_tools_score (line 173) | def test_zero_tools_score(self): method test_perfect_score (line 181) | def test_perfect_score(self): method test_only_tools_correct (line 189) | def test_only_tools_correct(self): method test_only_params_correct (line 197) | def test_only_params_correct(self): class TestNormalization (line 206) | class TestNormalization: method test_underscore_removal (line 209) | def test_underscore_removal(self): method test_dash_removal (line 213) | def test_dash_removal(self): method test_case_insensitive (line 217) | def test_case_insensitive(self): method test_matching_with_normalization (line 221) | def test_matching_with_normalization(self): method test_module_prefix_stripping (line 230) | def test_module_prefix_stripping(self): method test_module_prefix_matching (line 236) | def test_module_prefix_matching(self): method test_empty_tool_name (line 244) | def test_empty_tool_name(self): class TestDuplicateHandling (line 250) | class TestDuplicateHandling: method test_duplicates_in_actual (line 253) | def test_duplicates_in_actual(self): method test_many_duplicates_scenario (line 264) | def test_many_duplicates_scenario(self): class TestAverageScoreCalculation (line 286) | class TestAverageScoreCalculation: method test_average_with_mostly_zeros (line 289) | def test_average_with_mostly_zeros(self): method test_output_matches_expected_average (line 297) | def test_output_matches_expected_average(self): class TestTrajectoryExtraction (line 304) | class TestTrajectoryExtraction: method extract_tool_calls_from_trajectory (line 308) | def extract_tool_calls_from_trajectory(trajectory: list) -> list: method test_nested_payload_format (line 352) | def test_nested_payload_format(self): method test_flat_legacy_format (line 376) | def test_flat_legacy_format(self): method test_langchain_action_format (line 389) | def test_langchain_action_format(self): method test_mixed_formats (line 398) | def test_mixed_formats(self): method test_empty_trajectory (line 435) | def test_empty_trajectory(self): method test_no_tool_events (line 440) | def test_no_tool_events(self): method test_real_profiler_data_structure (line 458) | def test_real_profiler_data_structure(self): FILE: examples/dynamo_integration/scripts/create_test_subset.py function create_test_subset (line 30) | def create_test_subset(input_file: Path, output_file: Path, num_scenario... FILE: examples/dynamo_integration/scripts/download_agent_leaderboard_v2.py function convert_tool_json_strings (line 31) | def convert_tool_json_strings(tool_record: dict) -> dict: function derive_expected_tool_calls (line 46) | def derive_expected_tool_calls(user_goals: list[str], tools: list[dict[s... function transform_scenario_to_nat_format (line 141) | def transform_scenario_to_nat_format( function download_and_transform_v2_dataset (line 200) | def download_and_transform_v2_dataset( FILE: examples/dynamo_integration/scripts/plot_throughput_histograms_per_request.py function get_job_label (line 56) | def get_job_label(job_dir_name: str) -> str: function get_experiment_label (line 61) | def get_experiment_label(dir_path: Path) -> str: function extract_per_request_tsq_scores (line 66) | def extract_per_request_tsq_scores(job_dir: Path) -> dict[int, dict] | N... function calculate_per_request_throughput_metrics (line 112) | def calculate_per_request_throughput_metrics(csv_path: Path) -> tuple[di... function collect_job_data_from_dir (line 224) | def collect_job_data_from_dir(jobs_dir: Path, experiment_label: str | No... function collect_job_data (line 301) | def collect_job_data(input_dirs: list[Path]) -> tuple[pd.DataFrame, pd.D... function _add_job_stats_table (line 332) | def _add_job_stats_table(ax, job_stats: dict, job_labels: dict, job_colo... function _add_job_stats_table_compact (line 401) | def _add_job_stats_table_compact(ax, job_stats: dict, job_labels: dict, ... function create_histogram_plots (line 461) | def create_histogram_plots(df: pd.DataFrame, output_dir: Path, llm_call_... function create_summary_histogram_plot (line 631) | def create_summary_histogram_plot(df: pd.DataFrame, output_dir: Path, ll... function main (line 796) | def main(): FILE: examples/dynamo_integration/scripts/plot_throughput_vs_tsq_per_request.py function get_job_label (line 59) | def get_job_label(job_dir_name: str) -> str: function get_experiment_label (line 64) | def get_experiment_label(dir_path: Path) -> str: function load_optimizer_trials (line 69) | def load_optimizer_trials(experiment_dir: Path) -> pd.DataFrame | None: function match_job_to_trial (line 112) | def match_job_to_trial(job_avg_score: float, trials_df: pd.DataFrame, to... function get_job_average_tsq (line 143) | def get_job_average_tsq(job_dir: Path) -> float | None: function extract_per_request_tsq_scores (line 157) | def extract_per_request_tsq_scores(job_dir: Path) -> dict[int, dict] | N... function _build_empty_first_tokens (line 203) | def _build_empty_first_tokens(job_dir: Path) -> set[tuple[str, float]]: function calculate_per_request_throughput_metrics (line 242) | def calculate_per_request_throughput_metrics(csv_path: Path) -> tuple[di... function collect_job_data_from_dir (line 372) | def collect_job_data_from_dir(jobs_dir: Path, function collect_job_data (line 472) | def collect_job_data(input_dirs: list[Path]) -> tuple[pd.DataFrame, pd.D... function create_scatter_plots (line 509) | def create_scatter_plots(df: pd.DataFrame, function create_summary_plot (line 639) | def create_summary_plot(df: pd.DataFrame, function main (line 848) | def main(): FILE: examples/dynamo_integration/scripts/throughput_analysis.py function calculate_tokens_per_second (line 85) | def calculate_tokens_per_second( FILE: examples/evaluation_and_profiling/email_phishing_analyzer/src/nat_email_phishing_analyzer/register.py class EmailPhishingAnalyzerConfig (line 38) | class EmailPhishingAnalyzerConfig(FunctionBaseConfig, OptimizableMixin, ... function email_phishing_analyzer (line 50) | async def email_phishing_analyzer(config: EmailPhishingAnalyzerConfig, b... FILE: examples/evaluation_and_profiling/email_phishing_analyzer/src/nat_email_phishing_analyzer/utils.py function smart_parse (line 20) | def smart_parse(text: str) -> dict: FILE: examples/evaluation_and_profiling/email_phishing_analyzer/tests/test_email_phishing_analyzer.py function test_run_full_workflow (line 29) | async def test_run_full_workflow(): function test_optimize_full_workflow (line 49) | async def test_optimize_full_workflow(capsys): FILE: examples/evaluation_and_profiling/simple_calculator_eval/src/nat_simple_calculator_eval/register.py class PowerOfTwoConfig (line 31) | class PowerOfTwoConfig(FunctionBaseConfig, name="power_of_two"): function power_of_two_function (line 41) | async def power_of_two_function(config: PowerOfTwoConfig, builder: Build... class SquareViaMultiplyConfig (line 57) | class SquareViaMultiplyConfig(FunctionBaseConfig, name="square_via_multi... function square_via_multiply_function (line 67) | async def square_via_multiply_function(config: SquareViaMultiplyConfig, ... class CubeViaMultiplyChainConfig (line 82) | class CubeViaMultiplyChainConfig(FunctionBaseConfig, name="cube_via_mult... function cube_via_multiply_chain_function (line 92) | async def cube_via_multiply_chain_function(config: CubeViaMultiplyChainC... class PowerBranchConfig (line 108) | class PowerBranchConfig(FunctionBaseConfig, name="power_branch"): function power_branch_function (line 122) | async def power_branch_function(config: PowerBranchConfig, builder: Buil... FILE: examples/evaluation_and_profiling/simple_calculator_eval/src/nat_simple_calculator_eval/scripts/custom_dataset_parser.py function extract_nested_questions (line 23) | def extract_nested_questions(file_path: Path, difficulty: str | None = N... FILE: examples/evaluation_and_profiling/simple_calculator_eval/src/nat_simple_calculator_eval/scripts/custom_post_process.py function add_metadata_and_filter (line 25) | def add_metadata_and_filter(item: EvalInputItem) -> EvalInputItem: function normalize_calculator_outputs (line 61) | def normalize_calculator_outputs(item: EvalInputItem) -> EvalInputItem: FILE: examples/evaluation_and_profiling/simple_calculator_eval/tests/test_nested_trajectory_eval.py function test_nested_trajectory_eval_emits_power_of_two_and_multiply (line 29) | async def test_nested_trajectory_eval_emits_power_of_two_and_multiply(tm... function test_trajectory_eval_emits_single_item_with_expected_tools (line 107) | async def test_trajectory_eval_emits_single_item_with_expected_tools(tmp... function test_branching_nested_trajectory_eval_emits_branching_lineage (line 180) | async def test_branching_nested_trajectory_eval_emits_branching_lineage(... FILE: examples/evaluation_and_profiling/simple_calculator_eval/tests/test_simple_calculator_eval.py function test_eval (line 31) | async def test_eval(): FILE: examples/evaluation_and_profiling/simple_web_query_eval/src/nat_simple_web_query_eval/atif_only_evaluator_register.py class AtifCosineSimilarityEvaluatorConfig (line 31) | class AtifCosineSimilarityEvaluatorConfig(EvaluatorBaseConfig, name="ati... class AtifCosineSimilarityEvaluator (line 40) | class AtifCosineSimilarityEvaluator(AtifBaseEvaluator): method __init__ (line 49) | def __init__(self, normalize_case: bool = True, max_concurrency: int =... method _normalize (line 53) | def _normalize(self, value: object) -> str: method _count_tool_calls (line 57) | def _count_tool_calls(self, sample) -> int: method _cosine_similarity (line 61) | def _cosine_similarity(self, text_a: str, text_b: str) -> float: method evaluate_atif_item (line 77) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... function register_atif_cosine_similarity_evaluator (line 94) | async def register_atif_cosine_similarity_evaluator(config: AtifCosineSi... FILE: examples/evaluation_and_profiling/simple_web_query_eval/src/nat_simple_web_query_eval/scripts/evaluate_single_item.py function run_workflow_and_evaluate (line 114) | async def run_workflow_and_evaluate(base_url: str, input_message: str, e... function main (line 267) | async def main() -> int: FILE: examples/evaluation_and_profiling/simple_web_query_eval/src/nat_simple_web_query_eval/scripts/evaluate_single_item_simple.py function run_and_evaluate_simple (line 82) | async def run_and_evaluate_simple(base_url: str, input_message: str, exp... function main (line 208) | async def main() -> int: FILE: examples/evaluation_and_profiling/simple_web_query_eval/src/nat_simple_web_query_eval/scripts/workflow_to_csv.py function customize_workflow_json (line 25) | def customize_workflow_json(output_dir: Path, input_path: Path, output_p... function parse_args (line 56) | def parse_args(): FILE: examples/evaluation_and_profiling/simple_web_query_eval/tests/test_atif_only_evaluator_register.py function test_register_atif_cosine_similarity_evaluator_exposes_only_atif_lane (line 26) | async def test_register_atif_cosine_similarity_evaluator_exposes_only_at... function test_atif_cosine_similarity_evaluator_scores_items (line 35) | async def test_atif_cosine_similarity_evaluator_scores_items(): FILE: examples/evaluation_and_profiling/simple_web_query_eval/tests/test_simple_web_query_eval.py function validate_rag_accuracy (line 30) | def validate_rag_accuracy(rag_metric_output_file: Path, score: float): function validate_trajectory_accuracy (line 53) | def validate_trajectory_accuracy(trajectory_output_file: Path): function test_eval (line 80) | async def test_eval(tmp_path: Path, root_repo_dir: Path): FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/board_position_scorer.py class BoardPositionScorerConfig (line 41) | class BoardPositionScorerConfig(TTCStrategyBaseConfig, name="board_posit... class BoardPositionScorer (line 53) | class BoardPositionScorer(StrategyBase): method __init__ (line 65) | def __init__(self, config: BoardPositionScorerConfig): method build_components (line 68) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 72) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 76) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 80) | async def ainvoke( function register_board_position_scorer (line 142) | async def register_board_position_scorer(config: BoardPositionScorerConf... FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/choose_move_function.py class ChooseMoveInput (line 55) | class ChooseMoveInput(BaseModel): class ChooseMoveOutput (line 62) | class ChooseMoveOutput(BaseModel): class ChooseMoveConfig (line 72) | class ChooseMoveConfig(FunctionBaseConfig, name="choose_move"): function choose_move_function (line 87) | async def choose_move_function(config: ChooseMoveConfig, builder: Builder): FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/core.py function new_board (line 46) | def new_board() -> np.ndarray: function board_to_str (line 50) | def board_to_str(board: np.ndarray) -> str: function board_to_list (line 63) | def board_to_list(board: np.ndarray) -> list[list[int]]: function available_moves (line 68) | def available_moves(board: np.ndarray) -> list[tuple[int, int]]: function check_winner (line 74) | def check_winner(board: np.ndarray) -> int: function is_draw (line 111) | def is_draw(board: np.ndarray) -> bool: function evaluate_board_for_player (line 115) | def evaluate_board_for_player(board: np.ndarray, player_val: int) -> float: FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/dpo_workflow.py class DPOTicTacToeConfig (line 53) | class DPOTicTacToeConfig(FunctionBaseConfig, name="dpo_tic_tac_toe"): function dpo_tic_tac_toe_workflow (line 68) | async def dpo_tic_tac_toe_workflow(config: DPOTicTacToeConfig, builder: ... FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/evaluator.py class GameOutcomeEvaluator (line 29) | class GameOutcomeEvaluator(BaseEvaluator): method __init__ (line 39) | def __init__(self, max_concurrency: int = 4): method evaluate_item (line 43) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: class DPODataCollectorEvaluator (line 71) | class DPODataCollectorEvaluator(BaseEvaluator): method __init__ (line 83) | def __init__(self, max_concurrency: int = 4): method evaluate_item (line 87) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/evaluator_register.py class GameOutcomeEvaluatorConfig (line 25) | class GameOutcomeEvaluatorConfig(EvaluatorBaseConfig, name="dpo_game_out... function register_game_outcome_evaluator (line 32) | async def register_game_outcome_evaluator(config: GameOutcomeEvaluatorCo... class DPODataCollectorEvaluatorConfig (line 45) | class DPODataCollectorEvaluatorConfig(EvaluatorBaseConfig, name="dpo_dat... function register_dpo_data_collector_evaluator (line 52) | async def register_dpo_data_collector_evaluator(config: DPODataCollector... FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/llm_agents.py function parse_move_xml (line 39) | def parse_move_xml(text: str) -> tuple[int, int] | None: function parse_move_any (line 61) | def parse_move_any(text: str) -> tuple[int, int] | None: function make_random_move (line 70) | def make_random_move(board: np.ndarray) -> tuple[int, int, str]: function get_system_prompt (line 133) | def get_system_prompt(player_symbol: str) -> str: function format_prompt_for_dpo (line 138) | def format_prompt_for_dpo( function build_player_chain (line 172) | def build_player_chain(model, player_symbol: str) -> Any: FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/move_search_strategy.py class MultiCandidateMoveSearchConfig (line 40) | class MultiCandidateMoveSearchConfig(TTCStrategyBaseConfig, name="multi_... class MultiCandidateMoveSearcher (line 52) | class MultiCandidateMoveSearcher(StrategyBase): method __init__ (line 65) | def __init__(self, config: MultiCandidateMoveSearchConfig): method build_components (line 70) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 74) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 78) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 82) | async def ainvoke( function register_multi_candidate_move_search (line 156) | async def register_multi_candidate_move_search(config: MultiCandidateMov... FILE: examples/finetuning/dpo_tic_tac_toe/src/dpo_tic_tac_toe/ttc_move_selector_function.py class TTCMoveSelectorInput (line 50) | class TTCMoveSelectorInput(BaseModel): class TTCMoveSelectorOutput (line 58) | class TTCMoveSelectorOutput(BaseModel): class TTCMoveSelectorConfig (line 68) | class TTCMoveSelectorConfig(FunctionBaseConfig, name="ttc_move_selector"): function ttc_move_selector_function (line 84) | async def ttc_move_selector_function(config: TTCMoveSelectorConfig, buil... FILE: examples/finetuning/rl_with_openpipe_art/src/rl_with_openpipe_art/accuracy_evaluator.py class AccuracyEvaluator (line 26) | class AccuracyEvaluator(BaseEvaluator): method __init__ (line 35) | def __init__(self, max_concurrency: int = 4, use_intermediate_steps: b... method episode_value_from_states (line 40) | def episode_value_from_states( method _eval_with_steps (line 82) | async def _eval_with_steps(item: EvalInputItem) -> EvalOutputItem: method evaluate_item (line 106) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: FILE: examples/finetuning/rl_with_openpipe_art/src/rl_with_openpipe_art/core.py function new_board (line 46) | def new_board() -> np.ndarray: function board_to_str (line 50) | def board_to_str(board: np.ndarray) -> str: function available_moves (line 63) | def available_moves(board: np.ndarray) -> list[tuple[int, int]]: function check_winner (line 69) | def check_winner(board: np.ndarray) -> int: function is_draw (line 106) | def is_draw(board: np.ndarray) -> bool: function evaluate_board_for_player (line 110) | def evaluate_board_for_player(board: np.ndarray, player_val: int) -> float: FILE: examples/finetuning/rl_with_openpipe_art/src/rl_with_openpipe_art/evaluator_register.py class AccuracyEvaluatorConfig (line 22) | class AccuracyEvaluatorConfig(EvaluatorBaseConfig, name="percent_games_w... function register_accuracy_evaluator (line 28) | async def register_accuracy_evaluator(config: AccuracyEvaluatorConfig, b... class AccuracyEvaluatorConfig (line 39) | class AccuracyEvaluatorConfig(EvaluatorBaseConfig, name="step_value_comp... function register_accuracy_evaluator_penalty (line 45) | async def register_accuracy_evaluator_penalty(config: AccuracyEvaluatorC... FILE: examples/finetuning/rl_with_openpipe_art/src/rl_with_openpipe_art/llm_agents.py function parse_move_xml (line 40) | def parse_move_xml(text: str) -> tuple[int, int] | None: function parse_move_any (line 62) | def parse_move_any(text: str) -> tuple[int, int] | None: class LLMTicTacToePlayer (line 72) | class LLMTicTacToePlayer: method choose_move (line 82) | def choose_move(self, board) -> tuple[int, int, str]: function build_player_chain (line 161) | def build_player_chain(model, player_symbol: str) -> Any: FILE: examples/finetuning/rl_with_openpipe_art/src/rl_with_openpipe_art/rl_with_openpipe_art.py class MoveRecord (line 48) | class MoveRecord: class TicTacToeGame (line 58) | class TicTacToeGame: method __init__ (line 64) | def __init__(self, player_x: LLMTicTacToePlayer, player_o: LLMTicTacTo... method play (line 77) | def play(self) -> int: class RlWithOpenpipeArtFunctionConfig (line 162) | class RlWithOpenpipeArtFunctionConfig(FunctionBaseConfig, name="rl_with_... function rl_with_openpipe_art_function (line 172) | async def rl_with_openpipe_art_function(config: RlWithOpenpipeArtFunctio... FILE: examples/frameworks/adk_demo/src/nat_adk_demo/agent.py class ADKFunctionConfig (line 31) | class ADKFunctionConfig(FunctionBaseConfig, name="adk"): function adk_agent (line 44) | async def adk_agent(config: ADKFunctionConfig, builder: Builder): FILE: examples/frameworks/adk_demo/src/nat_adk_demo/nat_time_tool.py class TimeMCPToolConfig (line 30) | class TimeMCPToolConfig(FunctionBaseConfig, name="get_city_time_tool"): function get_city_time (line 35) | async def get_city_time(_config: TimeMCPToolConfig, _builder: Builder) -... FILE: examples/frameworks/adk_demo/src/nat_adk_demo/weather_update_tool.py class WeatherToolConfig (line 26) | class WeatherToolConfig(FunctionBaseConfig, name="weather_update"): function weather_update (line 31) | async def weather_update(_config: WeatherToolConfig, _builder: Builder) ... FILE: examples/frameworks/adk_demo/tests/test_adk_demo_e2e.py function test_full_workflow (line 23) | async def test_full_workflow(): FILE: examples/frameworks/agno_personal_finance/src/nat_agno_personal_finance/agno_personal_finance_function.py class AgnoPersonalFinanceFunctionConfig (line 32) | class AgnoPersonalFinanceFunctionConfig(FunctionBaseConfig, name="agno_p... function agno_personal_finance_function (line 39) | async def agno_personal_finance_function(config: AgnoPersonalFinanceFunc... FILE: examples/frameworks/agno_personal_finance/tests/test_agno_personal_finance_workflow.py function test_full_workflow (line 23) | async def test_full_workflow(): FILE: examples/frameworks/haystack_deep_research_agent/src/nat_haystack_deep_research_agent/pipelines/indexing.py function _gather_sources (line 29) | def _gather_sources(base_dir: Path) -> tuple[list[Path], list[Path]]: function _build_indexing_pipeline (line 35) | def _build_indexing_pipeline(document_store, embedder_model: str) -> Pip... function run_startup_indexing (line 54) | def run_startup_indexing( FILE: examples/frameworks/haystack_deep_research_agent/src/nat_haystack_deep_research_agent/pipelines/rag.py function create_rag_tool (line 26) | def create_rag_tool( FILE: examples/frameworks/haystack_deep_research_agent/src/nat_haystack_deep_research_agent/pipelines/search.py function create_search_tool (line 25) | def create_search_tool(top_k: int = 10) -> ComponentTool: FILE: examples/frameworks/haystack_deep_research_agent/src/nat_haystack_deep_research_agent/register.py class HaystackDeepResearchWorkflowConfig (line 27) | class HaystackDeepResearchWorkflowConfig(FunctionBaseConfig, name="hayst... function haystack_deep_research_agent_workflow (line 54) | async def haystack_deep_research_agent_workflow(config: HaystackDeepRese... FILE: examples/frameworks/haystack_deep_research_agent/tests/test_haystack_deep_research_agent.py function opensearch_url_fixture (line 24) | def opensearch_url_fixture(fail_missing: bool) -> str: function test_full_workflow_e2e (line 38) | async def test_full_workflow_e2e(opensearch_url: str) -> None: function test_config_yaml_loads_and_has_keys (line 57) | def test_config_yaml_loads_and_has_keys() -> None: FILE: examples/frameworks/multi_frameworks/src/nat_multi_frameworks/haystack_agent.py class HaystackChitchatConfig (line 27) | class HaystackChitchatConfig(FunctionBaseConfig, name="haystack_chitchat... function haystack_chitchat_agent_as_tool (line 32) | async def haystack_chitchat_agent_as_tool(tool_config: HaystackChitchatC... FILE: examples/frameworks/multi_frameworks/src/nat_multi_frameworks/langchain_research_tool.py class LangChainResearchConfig (line 30) | class LangChainResearchConfig(FunctionBaseConfig, name="langchain_resear... function langchain_research (line 36) | async def langchain_research(tool_config: LangChainResearchConfig, build... FILE: examples/frameworks/multi_frameworks/src/nat_multi_frameworks/llama_index_rag_tool.py class LlamaIndexRAGConfig (line 33) | class LlamaIndexRAGConfig(FunctionBaseConfig, name="llama_index_rag"): function llama_index_rag_tool (line 45) | async def llama_index_rag_tool(tool_config: LlamaIndexRAGConfig, builder... FILE: examples/frameworks/multi_frameworks/src/nat_multi_frameworks/register.py class MultiFrameworksWorkflowConfig (line 32) | class MultiFrameworksWorkflowConfig(FunctionBaseConfig, name="multi_fram... function multi_frameworks_workflow (line 42) | async def multi_frameworks_workflow(config: MultiFrameworksWorkflowConfi... FILE: examples/frameworks/multi_frameworks/tests/test_multi_frameworks_workflow.py function test_full_workflow (line 22) | async def test_full_workflow(): FILE: examples/frameworks/nat_autogen_demo/src/nat_autogen_demo/autogen_team.py class AutoGenFunctionConfig (line 31) | class AutoGenFunctionConfig(FunctionBaseConfig, name="autogen_team"): function autogen_team (line 43) | async def autogen_team(config: AutoGenFunctionConfig, builder: Builder) ... FILE: examples/frameworks/nat_autogen_demo/src/nat_autogen_demo/traffic_status_tool.py class TrafficStatusToolConfig (line 26) | class TrafficStatusToolConfig(FunctionBaseConfig, name="traffic_status_a... function _get_time_period (line 30) | def _get_time_period(hour: int) -> str: function traffic_status (line 95) | async def traffic_status(_config: TrafficStatusToolConfig, _builder: Bui... FILE: examples/frameworks/semantic_kernel_demo/src/nat_semantic_kernel_demo/hotel_price_tool.py class HotelPriceToolConfig (line 24) | class HotelPriceToolConfig(FunctionBaseConfig, name="hotel_price"): class HotelOffer (line 29) | class HotelOffer(BaseModel): class HotelOffersResponse (line 38) | class HotelOffersResponse(BaseModel): function hotel_price (line 43) | async def hotel_price(tool_config: HotelPriceToolConfig, builder: Builder): FILE: examples/frameworks/semantic_kernel_demo/src/nat_semantic_kernel_demo/local_events_tool.py class LocalEvent (line 24) | class LocalEvent(BaseModel): class LocalEventsResponse (line 30) | class LocalEventsResponse(BaseModel): class LocalEventsToolConfig (line 34) | class LocalEventsToolConfig(FunctionBaseConfig, name="local_events"): function local_events (line 39) | async def local_events(tool_config: LocalEventsToolConfig, builder: Buil... FILE: examples/frameworks/semantic_kernel_demo/src/nat_semantic_kernel_demo/register.py class SKTravelPlanningWorkflowConfig (line 34) | class SKTravelPlanningWorkflowConfig(FunctionBaseConfig, name="semantic_... function semantic_kernel_travel_planning_workflow (line 50) | async def semantic_kernel_travel_planning_workflow(config: SKTravelPlann... FILE: examples/frameworks/semantic_kernel_demo/tests/test_semantic_kernel_workflow.py function test_full_workflow (line 23) | async def test_full_workflow(): FILE: examples/frameworks/strands_demo/src/nat_strands_demo/ping_tool.py class PingConfig (line 26) | class PingConfig(FunctionBaseConfig, name="simple_agentcore_ping"): function simple_agentcore_ping (line 31) | async def simple_agentcore_ping(_: PingConfig, __: Builder): FILE: examples/frameworks/strands_demo/src/nat_strands_demo/register.py class StrandsDemoConfig (line 36) | class StrandsDemoConfig(FunctionBaseConfig, OptimizableMixin, name="stra... function strands_demo (line 55) | async def strands_demo(config: StrandsDemoConfig, builder: Builder) -> A... FILE: examples/frameworks/strands_demo/src/nat_strands_demo/url_directory.py class URLDirectoryConfig (line 31) | class URLDirectoryConfig(FunctionBaseConfig, name="url_directory"): method validate_urls (line 46) | def validate_urls(cls, v: dict[str, str]) -> dict[str, str]: function url_directory (line 58) | async def url_directory(config: URLDirectoryConfig, _: Builder) -> Async... FILE: examples/front_ends/per_user_workflow/src/nat_per_user_workflow/per_user_functions.py class NoteInput (line 38) | class NoteInput(BaseModel): class NoteOutput (line 44) | class NoteOutput(BaseModel): class PreferenceInput (line 52) | class PreferenceInput(BaseModel): class PreferenceOutput (line 59) | class PreferenceOutput(BaseModel): class PerUserNotepadConfig (line 68) | class PerUserNotepadConfig(FunctionBaseConfig, name="per_user_notepad"): class PerUserPreferencesConfig (line 73) | class PerUserPreferencesConfig(FunctionBaseConfig, name="per_user_prefer... function per_user_notepad (line 83) | async def per_user_notepad(config: PerUserNotepadConfig, builder: Builder): function per_user_preferences (line 135) | async def per_user_preferences(config: PerUserPreferencesConfig, builder... FILE: examples/front_ends/per_user_workflow/src/nat_per_user_workflow/per_user_workflow.py class UserAssistantInput (line 41) | class UserAssistantInput(BaseModel): class UserAssistantOutput (line 49) | class UserAssistantOutput(BaseModel): class PerUserAssistantConfig (line 57) | class PerUserAssistantConfig(FunctionBaseConfig, name="per_user_assistan... function per_user_assistant_workflow (line 67) | async def per_user_assistant_workflow(config: PerUserAssistantConfig, bu... FILE: examples/front_ends/simple_auth/src/nat_simple_auth/ip_lookup.py class WhoAmIConfig (line 32) | class WhoAmIConfig(FunctionBaseConfig, name="who_am_i"): function who_am_i_function (line 44) | async def who_am_i_function(config: WhoAmIConfig, builder: Builder): FILE: examples/front_ends/simple_auth/tests/test_simple_auth.py function _auth_callback (line 30) | async def _auth_callback(cookies: "requests.cookies.RequestsCookieJar", function test_full_workflow (line 93) | async def test_full_workflow(oauth2_client_credentials: dict[str, str]): FILE: examples/front_ends/simple_calculator_custom_routes/tests/test_simple_calculator_custom_routes.py function simple_calculator_config_file_fixture (line 23) | def simple_calculator_config_file_fixture() -> Path: function fixture_set_nat_config_file_env_var (line 32) | def fixture_set_nat_config_file_env_var(restore_environ, simple_calculat... function test_full_workflow (line 40) | async def test_full_workflow(simple_calculator_config_file: Path): FILE: examples/getting_started/simple_calculator/src/nat_simple_calculator/register.py class CalculatorToolConfig (line 26) | class CalculatorToolConfig(FunctionGroupBaseConfig, name="calculator"): function calculator (line 32) | async def calculator(_config: CalculatorToolConfig, _builder: Builder) -... FILE: examples/getting_started/simple_calculator/tests/test_simple_calculator_workflow.py function workflow_fixture (line 27) | async def workflow_fixture(): function run_calculator_tool (line 37) | async def run_calculator_tool(workflow: "Workflow", workflow_input: str,... function test_inequality_less_than_tool_workflow (line 50) | async def test_inequality_less_than_tool_workflow(workflow: "Workflow", ... function test_inequality_greater_than_tool_workflow (line 58) | async def test_inequality_greater_than_tool_workflow(workflow: "Workflow... function test_inequality_equal_to_tool_workflow (line 66) | async def test_inequality_equal_to_tool_workflow(workflow: "Workflow", w... function test_add_tool_workflow (line 79) | async def test_add_tool_workflow(workflow: "Workflow", workflow_input: s... function test_subtract_tool_workflow (line 89) | async def test_subtract_tool_workflow(workflow: "Workflow", workflow_inp... function test_multiply_tool_workflow (line 103) | async def test_multiply_tool_workflow(workflow: "Workflow", workflow_inp... function test_division_tool_workflow (line 117) | async def test_division_tool_workflow(workflow: "Workflow", workflow_inp... FILE: examples/getting_started/simple_web_query/src/nat_simple_web_query/register.py class WebQueryToolConfig (line 28) | class WebQueryToolConfig(FunctionBaseConfig, name="webpage_query"): function webquery_tool (line 36) | async def webquery_tool(config: WebQueryToolConfig, builder: Builder): FILE: examples/getting_started/simple_web_query/tests/test_simple_web_query_workflow.py function test_full_workflow (line 23) | async def test_full_workflow(): FILE: examples/getting_started/simple_web_query/tests/test_web_query_tool.py function test_web_query_config (line 21) | async def test_web_query_config(): function test_web_query_tool (line 38) | async def test_web_query_tool(): FILE: examples/memory/redis/tests/test_memory_redis.py function test_full_workflow (line 23) | async def test_full_workflow(redis_server: dict[str, str | int], phoenix... FILE: examples/notebooks/tests/test_notebooks_e2e.py function notebooks_dir_fixture (line 66) | def notebooks_dir_fixture() -> Path: function _is_installed (line 70) | def _is_installed(package_name: str) -> bool: function _delete_workflow (line 84) | def _delete_workflow(notebooks_dir: Path, workflow_name: str, check: boo... function _delete_all_workflows (line 99) | def _delete_all_workflows(notebooks_dir: Path): function _delete_other_files (line 104) | def _delete_other_files(notebooks_dir: Path): function _cleanup_all (line 111) | def _cleanup_all(notebooks_dir: Path): function workflow_cleanups_fixture (line 117) | def workflow_cleanups_fixture(notebooks_dir: Path): function _run_notebook (line 125) | def _run_notebook(notebook_path: Path, expected_packages: list[str], tim... function test_notebooks (line 161) | def test_notebooks(notebooks_dir: Path, notebook_file_name: str, expecte... function test_2_bringing_your_own_agent (line 170) | def test_2_bringing_your_own_agent(notebooks_dir: Path): FILE: examples/object_store/user_report/src/nat_user_report/user_report_tools.py class UserReportConfig (line 31) | class UserReportConfig(FunctionGroupBaseConfig, name="user_report"): function user_report_group (line 47) | async def user_report_group(config: UserReportConfig, builder: Builder): FILE: examples/object_store/user_report/tests/test_objext_store_example_user_report_tool.py function builder (line 29) | async def builder(): function object_store (line 44) | async def object_store(builder): function group (line 50) | async def group(builder): class TestUserReportTools (line 56) | class TestUserReportTools: method test_get_user_report_valid_case (line 60) | async def test_get_user_report_valid_case(self, object_store, group): method test_get_user_report_with_date (line 73) | async def test_get_user_report_with_date(self, object_store, group): method test_get_user_report_not_found (line 86) | async def test_get_user_report_not_found(self, group): method test_put_user_report_valid_case (line 94) | async def test_put_user_report_valid_case(self, object_store, group): method test_put_user_report_with_date (line 106) | async def test_put_user_report_with_date(self, object_store, group): method test_put_user_report_already_exists (line 116) | async def test_put_user_report_already_exists(self, object_store, group): method test_update_user_report_new_report (line 130) | async def test_update_user_report_new_report(self, object_store, group): method test_update_user_report_existing_report (line 140) | async def test_update_user_report_existing_report(self, object_store, ... method test_update_user_report_with_date (line 155) | async def test_update_user_report_with_date(self, object_store, group): method test_delete_user_report_valid_case (line 168) | async def test_delete_user_report_valid_case(self, object_store, group): method test_delete_user_report_with_date (line 182) | async def test_delete_user_report_with_date(self, object_store, group): method test_delete_user_report_not_found (line 198) | async def test_delete_user_report_not_found(self, group): method test_integration_full_workflow (line 206) | async def test_integration_full_workflow(self, group): FILE: examples/observability/simple_calculator_observability/src/nat_simple_calculator_observability/register.py class PowerOfTwoConfig (line 36) | class PowerOfTwoConfig(FunctionBaseConfig, name="power_of_two"): function power_of_two_function (line 46) | async def power_of_two_function(config: PowerOfTwoConfig, builder: Build... FILE: examples/observability/simple_calculator_observability/tests/test_simple_calc_observability.py function config_dir_fixture (line 39) | def config_dir_fixture(examples_dir: Path) -> Path: function nvidia_api_key_fixture (line 44) | def nvidia_api_key_fixture(nvidia_api_key): function question_fixture (line 49) | def question_fixture() -> str: function expected_answer_fixture (line 54) | def expected_answer_fixture() -> str: function weave_attribute_key_fixture (line 59) | def weave_attribute_key_fixture() -> str: function weave_identifier_fixture (line 65) | def weave_identifier_fixture() -> str: function fixture_weave_project_name (line 71) | def fixture_weave_project_name() -> str: function fixture_weave_query (line 76) | def fixture_weave_query(weave_attribute_key: str, weave_identifier: str)... function aiq_compatibility_span_prefix_fixture (line 81) | def aiq_compatibility_span_prefix_fixture(): function fixture_weave_client (line 104) | def fixture_weave_client(weave: types.ModuleType, weave_project_name: st... function test_weave_full_workflow (line 118) | async def test_weave_full_workflow(config_dir: Path, function test_phoenix_full_workflow (line 142) | async def test_phoenix_full_workflow(config_dir: Path, phoenix_trace_url... function test_otel_full_workflow (line 151) | async def test_otel_full_workflow(tmp_path: Path, config_dir: Path, ques... function test_langfuse_full_workflow (line 178) | async def test_langfuse_full_workflow(config_dir: Path, langfuse_trace_u... function test_langsmith_full_workflow (line 189) | async def test_langsmith_full_workflow(config_dir: Path, function test_galileo_full_workflow (line 214) | async def test_galileo_full_workflow(config_dir: Path, function test_catalyst_full_workflow (line 247) | async def test_catalyst_full_workflow(config_dir: Path, function test_nested_span_parent_child_lineage (line 277) | async def test_nested_span_parent_child_lineage(tmp_path: Path, config_d... FILE: examples/safety_and_security/retail_agent/src/nat_retail_agent/register.py class PastOrder (line 33) | class PastOrder(BaseModel): class Customer (line 43) | class Customer(BaseModel): class ProductReview (line 59) | class ProductReview(BaseModel): class Product (line 68) | class Product(BaseModel): class ProductSummary (line 79) | class ProductSummary(BaseModel): class ReviewDetails (line 97) | class ReviewDetails(BaseModel): class WriteReviewResponse (line 106) | class WriteReviewResponse(BaseModel): class EmailDetails (line 115) | class EmailDetails(BaseModel): class SendEmailResponse (line 124) | class SendEmailResponse(BaseModel): class OrderDetails (line 133) | class OrderDetails(BaseModel): class UpdateCustomerInfoResponse (line 147) | class UpdateCustomerInfoResponse(BaseModel): class RetailToolsConfig (line 161) | class RetailToolsConfig(FunctionGroupBaseConfig, name="retail_tools"): class WriteReviewParams (line 181) | class WriteReviewParams(BaseModel): class SendEmailParams (line 190) | class SendEmailParams(BaseModel): class UpdateCustomerInfoParams (line 198) | class UpdateCustomerInfoParams(BaseModel): function retail_tools (line 207) | async def retail_tools(_config: RetailToolsConfig, _builder: Builder) ->... FILE: examples/safety_and_security/retail_agent/tests/test_retail_agent.py function workflow_fixture (line 27) | async def workflow_fixture(): function run_retail_agent (line 38) | async def run_retail_agent(workflow: "Workflow", email_input: dict[str, ... function test_product_inquiry (line 63) | async def test_product_inquiry(workflow: "Workflow"): function test_review_submission (line 81) | async def test_review_submission(workflow: "Workflow"): function test_order_placement (line 101) | async def test_order_placement(workflow: "Workflow"): function test_customer_history_lookup (line 119) | async def test_customer_history_lookup(workflow: "Workflow"): function test_product_comparison (line 137) | async def test_product_comparison(workflow: "Workflow"): FILE: external/dynamo/components/kv_indexer.py class OverlapScores (line 94) | class OverlapScores: method __init__ (line 102) | def __init__(self, scores: dict[int, float] | None = None): method __repr__ (line 105) | def __repr__(self) -> str: class KvIndexer (line 112) | class KvIndexer: method __init__ (line 131) | def __init__(self, engine: Any, block_size: int): method add_worker (line 149) | def add_worker(self, worker_id: int, zmq_endpoint: str) -> None: method discover_workers (line 168) | def discover_workers(self, kv_event_base_port: int | None = None) -> N... method start_background_drain (line 199) | def start_background_drain(self, interval: float = 0.1) -> None: method _drain_loop (line 210) | async def _drain_loop(self, interval: float) -> None: method _drain_events (line 219) | async def _drain_events(self) -> int: method find_matches_for_request (line 250) | async def find_matches_for_request(self, tokens: list[int], min_overla... method shutdown (line 294) | def shutdown(self) -> None: FILE: external/dynamo/components/processor.py class RouterRequest (line 132) | class RouterRequest(BaseModel): class RouterFeedbackRequest (line 142) | class RouterFeedbackRequest(BaseModel): class KVEfficiencyData (line 154) | class KVEfficiencyData: method __init__ (line 164) | def __init__(self): method has_data (line 171) | def has_data(self) -> bool: method from_response (line 176) | def from_response(cls, data: dict[str, Any]) -> "KVEfficiencyData": class ProcessorMetrics (line 214) | class ProcessorMetrics: method __init__ (line 226) | def __init__(self, endpoint): method _generate_metrics (line 328) | def _generate_metrics(self) -> str: class ProcessorRequestHandler (line 334) | class ProcessorRequestHandler: method __init__ (line 341) | def __init__( method initialize (line 374) | async def initialize(self): method _extract_annotation (line 407) | def _extract_annotation(annotations: list[str], key: str, default: str... method _to_category (line 416) | def _to_category( method _extract_hints (line 448) | def _extract_hints(self, request: dict[str, Any]) -> tuple[str, int, s... method _update_prefix_state (line 484) | async def _update_prefix_state(self, prefix_id: str, total_requests: i... method _pick_worker (line 509) | async def _pick_worker( method _send_feedback_safely (line 567) | async def _send_feedback_safely( method _update_kve_metrics_sync (line 600) | def _update_kve_metrics_sync(self, kve: KVEfficiencyData) -> None: method _update_kve_metrics_async (line 631) | async def _update_kve_metrics_async(self, kve: KVEfficiencyData) -> None: method _stream_from_engine (line 644) | async def _stream_from_engine( method generate (line 733) | async def generate(self, raw: dict[str, Any]): function parse_args (line 793) | def parse_args() -> argparse.Namespace: function worker (line 831) | async def worker(runtime: DistributedRuntime): FILE: external/dynamo/components/router.py function get_default_config_path (line 71) | def get_default_config_path() -> Path: function load_config (line 76) | def load_config(config_path: str | Path | None = None) -> dict[str, Any]: function get_builtin_defaults (line 100) | def get_builtin_defaults() -> dict[str, Any]: function get_nested (line 157) | def get_nested(config: dict, dotted_key: str, default: Any = None) -> Any: function set_nested (line 177) | def set_nested(config: dict, dotted_key: str, value: Any) -> None: function auto_cast (line 194) | def auto_cast(value_str: str) -> Any: function apply_cli_overrides (line 225) | def apply_cli_overrides(config: dict, args: argparse.Namespace) -> dict: function _init_prometheus_metrics (line 262) | def _init_prometheus_metrics(): class RouterRequest (line 359) | class RouterRequest(BaseModel): class RouterResponse (line 367) | class RouterResponse(BaseModel): class FeedbackRequest (line 373) | class FeedbackRequest(BaseModel): class FeedbackAck (line 382) | class FeedbackAck(BaseModel): function safe_update (line 391) | def safe_update(lock_name: str): class WorkloadAwareRouter (line 407) | class WorkloadAwareRouter: method __init__ (line 412) | def __init__( method _emit_trace (line 543) | def _emit_trace(self, kind: str, payload: dict[str, Any]): method _norm_level (line 557) | def _norm_level(s: str | None, default: str = "MEDIUM") -> str: method _decode_cost (line 564) | def _decode_cost(osl: str) -> float: method _iat_factor (line 568) | def _iat_factor(iat: str) -> float: method initialize (line 572) | async def initialize(self): method _initialize_bandits (line 666) | def _initialize_bandits(self): method _initialize_contextual (line 677) | def _initialize_contextual(self): method _ensure_worker_context (line 684) | def _ensure_worker_context(self, worker_id: int): method _get_prefix (line 693) | def _get_prefix(self, pid: str) -> tuple[int | None, int]: method _set_prefix (line 700) | def _set_prefix( method _worker_outstanding (line 725) | def _worker_outstanding(self, wid: int) -> tuple[int, float]: method _start_metrics_scraper (line 756) | def _start_metrics_scraper(self, worker_ids: list[int], interval: floa... method _build_internal_metrics (line 803) | def _build_internal_metrics(self, worker_ids: list[int]) -> dict[str, ... method _linTS_sample (line 844) | def _linTS_sample(self, wid: int, x: np.ndarray) -> float: method _update_contextual (line 877) | def _update_contextual(self, wid: int, x: np.ndarray, reward: float): method _ts_sample (line 891) | def _ts_sample(self, worker_id: int) -> float: method _update_bandit (line 896) | def _update_bandit(self, worker_id: int, reward: float): method _prefill_cost_for_worker (line 911) | def _prefill_cost_for_worker(self, tokens: list[int], overlap: float) ... method _prefill_bin (line 918) | def _prefill_bin(prefill_cost: float) -> str: method _feature_vector (line 925) | def _feature_vector( method _load_score (line 969) | def _load_score(self, wid: int, metrics: dict[str, Any] | None, job_co... method _softmax (line 985) | def _softmax(self, scores: list[float], temp: float) -> list[float]: method _select_worker (line 995) | def _select_worker( method _ema_update (line 1081) | def _ema_update(self, old: float | None, new: float) -> float: method _get_latency_baseline (line 1085) | def _get_latency_baseline(self, wid: int, osl: str, prefill_bin: str, ... method _update_latency_baselines (line 1096) | def _update_latency_baselines(self, wid: int, osl: str, prefill_bin: s... method _latency_metric (line 1105) | def _latency_metric(latency_ms: float, tokens_out: int | None) -> tupl... method _metric_to_reward (line 1111) | def _metric_to_reward(metric: float, baseline: float, success: bool) -... method _sweep_pending (line 1119) | def _sweep_pending(self, now: float): method generate (line 1158) | async def generate(self, request: dict): method feedback (line 1285) | async def feedback(self, request: dict): method _get_underloaded (line 1364) | def _get_underloaded(self, metrics: dict[str, Any] | None): function parse_args (line 1375) | def parse_args(): function worker (line 1446) | async def worker(runtime: DistributedRuntime): FILE: external/dynamo/monitoring/scripts/kv_event_observer.py function format_hash (line 80) | def format_hash(block_hash: Any) -> str: class KVCacheStats (line 90) | class KVCacheStats: method record_stored (line 102) | def record_stored(self, block_hashes: list[Any], parent_hash: Any = No... method record_removed (line 110) | def record_removed(self, block_hashes: list[Any]): method record_cleared (line 118) | def record_cleared(self): method record_cache_hit (line 124) | def record_cache_hit(self, hit_tokens: int, query_tokens: int): method summary (line 129) | def summary(self) -> dict: class EfficiencySample (line 146) | class EfficiencySample: class SlidingWindowEfficiency (line 153) | class SlidingWindowEfficiency: method __init__ (line 170) | def __init__(self, window_seconds: float = 30.0): method add_sample (line 174) | def add_sample(self, hit_tokens: int, query_tokens: int, timestamp: fl... method _evict_old (line 180) | def _evict_old(self, now: float): method get_efficiency (line 186) | def get_efficiency(self) -> float: method sample_count (line 199) | def sample_count(self) -> int: method reset (line 204) | def reset(self): class KVEventObserver (line 209) | class KVEventObserver: method __init__ (line 219) | def __init__( method _parse_metric (line 253) | def _parse_metric(self, metrics_text: str, metric_name: str) -> float: method _poll_metrics (line 267) | def _poll_metrics(self): method connect (line 334) | def connect(self): method parse_multipart (line 368) | def parse_multipart(self, parts: list[bytes]) -> dict | None: method handle_event (line 425) | def handle_event(self, event_data: dict): method run (line 528) | def run(self, duration: float | None = None): method stop (line 578) | def stop(self): function run_self_test (line 598) | def run_self_test(): function run_live_test (line 727) | def run_live_test(api_url: str, metrics_url: str, model: str, num_unique... function main (line 907) | def main(): FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/auth/credential_service.py class A2ACredentialService (line 40) | class A2ACredentialService(CredentialService): method __init__ (line 59) | def __init__( method get_credentials (line 72) | async def get_credentials( method _authenticate (line 119) | async def _authenticate(self, user_id: str | None) -> AuthResult | None: method _extract_credential_for_scheme (line 167) | def _extract_credential_for_scheme(self, auth_result: AuthResult, secu... method _get_scheme_definition (line 215) | def _get_scheme_definition(self, scheme_name: str) -> SecurityScheme |... method _validate_provider_compatibility (line 229) | def _validate_provider_compatibility(self) -> None: method _is_provider_compatible_with_scheme (line 271) | def _is_provider_compatible_with_scheme(self, scheme: SecurityScheme) ... method _is_bearer_compatible (line 305) | def _is_bearer_compatible(scheme_def: SecurityScheme | None) -> bool: method _is_header_compatible (line 334) | def _is_header_compatible(scheme_def: SecurityScheme | None, header_na... method _is_query_compatible (line 357) | def _is_query_compatible(scheme_def: SecurityScheme | None, param_name... method _is_cookie_compatible (line 379) | def _is_cookie_compatible(scheme_def: SecurityScheme | None, cookie_na... method _is_basic_compatible (line 401) | def _is_basic_compatible(scheme_def: SecurityScheme | None) -> bool: FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/cli/commands.py function a2a_command (line 30) | def a2a_command(): function a2a_client_command (line 45) | def a2a_client_command(): function discover_agent (line 58) | async def discover_agent(url: str, timeout: int = 30): function format_agent_card_display (line 91) | def format_agent_card_display(agent_card, verbose: bool = False): function a2a_client_discover (line 181) | def a2a_client_discover(url: str, json_output: bool, verbose: bool, save... function _create_bearer_token_auth (line 239) | async def _create_bearer_token_auth( function _load_auth_from_config (line 273) | async def _load_auth_from_config( function _create_auth_from_json (line 311) | async def _create_auth_from_json( function get_a2a_function_group (line 336) | async def get_a2a_function_group( function format_info_display (line 398) | def format_info_display(info: dict): function format_skills_display (line 420) | def format_skills_display(skills_data: dict): function format_call_response_display (line 451) | def format_call_response_display(message: str, response: str, elapsed: f... function a2a_client_get_info (line 470) | def a2a_client_get_info(url: str, json_output: bool, timeout: int, user_... function a2a_client_get_skills (line 524) | def a2a_client_get_skills(url: str, json_output: bool, timeout: int, use... function a2a_client_call (line 587) | def a2a_client_call(url: str, FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/client/client_base.py class A2ABaseClient (line 44) | class A2ABaseClient: method __init__ (line 56) | def __init__( method base_url (line 75) | def base_url(self) -> str: method agent_card (line 79) | def agent_card(self) -> AgentCard | None: method __aenter__ (line 82) | async def __aenter__(self): method __aexit__ (line 122) | async def __aexit__(self, exc_type, exc_value, traceback): method _resolve_agent_card (line 143) | async def _resolve_agent_card(self): method send_message (line 160) | async def send_message(self, method get_task (line 190) | async def get_task(self, task_id: str, history_length: int | None = No... method cancel_task (line 210) | async def cancel_task(self, task_id: str) -> Task: method send_message_streaming (line 229) | async def send_message_streaming(self, method extract_text_from_parts (line 250) | def extract_text_from_parts(self, parts: list) -> list[str]: method extract_text_from_task (line 274) | def extract_text_from_task(self, task) -> str: method extract_text_from_events (line 324) | def extract_text_from_events(self, events: list) -> str: FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/client/client_config.py class A2AClientConfig (line 25) | class A2AClientConfig(FunctionGroupBaseConfig, name="a2a_client"): FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/client/client_impl.py class GetTaskInput (line 37) | class GetTaskInput(BaseModel): class CancelTaskInput (line 43) | class CancelTaskInput(BaseModel): class SendMessageInput (line 48) | class SendMessageInput(BaseModel): class A2AClientFunctionGroup (line 55) | class A2AClientFunctionGroup(FunctionGroup): method __init__ (line 62) | def __init__(self, config: A2AClientConfig, builder: Builder): method __aenter__ (line 68) | async def __aenter__(self): method _register_functions (line 109) | def _register_functions(self): method __aexit__ (line 175) | async def __aexit__(self, exc_type, exc_value, traceback): method _format_main_function_description (line 182) | def _format_main_function_description(self, agent_card) -> str: method _create_high_level_function (line 204) | def _create_high_level_function(self): method _get_skills (line 226) | async def _get_skills(self, params: dict | None = None) -> dict: method _get_agent_info (line 244) | async def _get_agent_info(self, params: dict | None = None) -> dict: method _wrap_get_task (line 262) | async def _wrap_get_task(self, params: GetTaskInput) -> Any: method _wrap_cancel_task (line 268) | async def _wrap_cancel_task(self, params: CancelTaskInput) -> Any: method _send_message_advanced (line 274) | async def _send_message_advanced(self, params: SendMessageInput) -> list: method _send_message_streaming (line 292) | async def _send_message_streaming(self, params: SendMessageInput) -> A... function a2a_client_function_group (line 312) | async def a2a_client_function_group(config: A2AClientConfig, _builder: B... FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/agent_executor_adapter.py class NATWorkflowAgentExecutor (line 36) | class NATWorkflowAgentExecutor(AgentExecutor): method __init__ (line 52) | def __init__(self, session_manager: SessionManager): method execute (line 63) | async def execute( method _validate_request (line 138) | def _validate_request(self, context: RequestContext) -> bool: method cancel (line 154) | async def cancel( FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/front_end_config.py class A2ACapabilitiesConfig (line 29) | class A2ACapabilitiesConfig(BaseModel): class A2AFrontEndConfig (line 42) | class A2AFrontEndConfig(FrontEndBaseConfig, name="a2a"): method validate_security_configuration (line 125) | def validate_security_configuration(self): FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/front_end_plugin.py class A2AFrontEndPlugin (line 28) | class A2AFrontEndPlugin(FrontEndBase[A2AFrontEndConfig]): method run (line 35) | async def run(self) -> None: method _get_worker_instance (line 107) | def _get_worker_instance(self) -> A2AFrontEndPluginWorker: FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/front_end_plugin_worker.py class A2AFrontEndPluginWorker (line 40) | class A2AFrontEndPluginWorker: method __init__ (line 43) | def __init__(self, config: Config): method _get_all_functions (line 59) | async def _get_all_functions(self, workflow: Workflow) -> dict[str, Fu... method _generate_security_schemes (line 77) | async def _generate_security_schemes( method _resolve_oauth_endpoints (line 116) | async def _resolve_oauth_endpoints(self, server_auth_config) -> tuple[... method create_agent_card (line 152) | async def create_agent_card(self, workflow: Workflow) -> AgentCard: method _resolve_agent_url (line 227) | def _resolve_agent_url(self) -> str: method create_agent_executor (line 234) | def create_agent_executor(self, workflow: Workflow, builder: WorkflowB... method create_a2a_server (line 259) | def create_a2a_server( method cleanup (line 305) | async def cleanup(self) -> None: FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/oauth_middleware.py class OAuth2ValidationMiddleware (line 29) | class OAuth2ValidationMiddleware(BaseHTTPMiddleware): method __init__ (line 42) | def __init__(self, app, config: OAuth2ResourceServerConfig): method dispatch (line 70) | async def dispatch(self, request: Request, call_next): FILE: packages/nvidia_nat_a2a/src/nat/plugins/a2a/server/register_frontend.py function register_a2a_front_end (line 25) | async def register_a2a_front_end(_config: A2AFrontEndConfig, full_config... FILE: packages/nvidia_nat_a2a/tests/auth/test_credential_service.py class MockAuthProvider (line 50) | class MockAuthProvider(AuthProviderBase): method __init__ (line 53) | def __init__(self, auth_result: AuthResult | None = None): method authenticate (line 58) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... function mock_auth_provider (line 66) | def mock_auth_provider(): function oauth2_scheme (line 93) | def oauth2_scheme(): function oidc_scheme (line 106) | def oidc_scheme(): function http_bearer_scheme (line 115) | def http_bearer_scheme(): function api_key_scheme (line 121) | def api_key_scheme(): function http_basic_scheme (line 131) | def http_basic_scheme(): function sample_agent_card (line 137) | def sample_agent_card(): function test_bearer_token_mapping (line 170) | async def test_bearer_token_mapping( function test_header_credential_with_api_key_scheme (line 199) | async def test_header_credential_with_api_key_scheme(api_key_scheme, moc... function test_token_expiration_triggers_reauthentication (line 221) | async def test_token_expiration_triggers_reauthentication(oauth2_scheme,... function test_credential_caching (line 258) | async def test_credential_caching(oauth2_scheme, mock_auth_provider, sam... function test_user_id_from_context (line 284) | async def test_user_id_from_context(oauth2_scheme, mock_auth_provider, s... function test_missing_security_scheme_returns_none (line 314) | async def test_missing_security_scheme_returns_none(mock_auth_provider, ... function test_authentication_failure_returns_none (line 330) | async def test_authentication_failure_returns_none(oauth2_scheme, mock_a... function test_provider_validation (line 360) | def test_provider_validation(provider_name, function test_validation_skipped_when_no_schemes (line 398) | def test_validation_skipped_when_no_schemes(agent_card_config, mock_auth... FILE: packages/nvidia_nat_a2a/tests/cli/test_cli.py function test_a2a_plugin_discovered (line 19) | def test_a2a_plugin_discovered(): FILE: packages/nvidia_nat_a2a/tests/client/conftest.py function fixture_sample_agent_card (line 32) | def fixture_sample_agent_card() -> AgentCard: function fixture_mock_a2a_client (line 77) | def fixture_mock_a2a_client(sample_agent_card: AgentCard) -> AsyncMock: function fixture_a2a_function_group (line 110) | async def fixture_a2a_function_group( FILE: packages/nvidia_nat_a2a/tests/client/test_client_function_group.py class TestA2AClientFunctionGroup (line 20) | class TestA2AClientFunctionGroup: method test_all_api_levels_registered (line 23) | async def test_all_api_levels_registered(self, a2a_function_group): method test_function_naming_conventions (line 49) | async def test_function_naming_conventions(self, a2a_function_group): method test_function_group_in_workflow (line 79) | async def test_function_group_in_workflow(self, a2a_function_group): method test_function_signatures_correct (line 99) | async def test_function_signatures_correct(self, a2a_function_group): method test_helper_functions_return_correct_types (line 126) | async def test_helper_functions_return_correct_types(self, a2a_functio... FILE: packages/nvidia_nat_a2a/tests/client/test_client_functionality.py class TestA2AClientFunctionality (line 25) | class TestA2AClientFunctionality: method test_client_discovers_agent_skills (line 28) | async def test_client_discovers_agent_skills(self, a2a_function_group): method test_client_invokes_high_level_call (line 66) | async def test_client_invokes_high_level_call(self, a2a_function_group): method test_skills_embedded_when_enabled (line 91) | async def test_skills_embedded_when_enabled(self, sample_agent_card, m... method test_skills_not_embedded_when_disabled (line 126) | async def test_skills_not_embedded_when_disabled(self, sample_agent_ca... method test_get_info_returns_agent_metadata (line 159) | async def test_get_info_returns_agent_metadata(self, a2a_function_group): method test_client_connection_configuration (line 190) | async def test_client_connection_configuration(self, sample_agent_card... method test_client_timeout_configuration (line 223) | async def test_client_timeout_configuration(self, sample_agent_card, m... method test_multiple_functions_accessible (line 254) | async def test_multiple_functions_accessible(self, a2a_function_group): FILE: packages/nvidia_nat_a2a/tests/conftest.py class MockUserContext (line 20) | class MockUserContext: function fixture_mock_user_context (line 31) | def fixture_mock_user_context() -> MockUserContext: FILE: packages/nvidia_nat_a2a/tests/server/conftest.py function fixture_mock_workflow_builder (line 27) | def fixture_mock_workflow_builder() -> MagicMock: function fixture_mock_workflow_with_functions (line 33) | def fixture_mock_workflow_with_functions() -> MagicMock: function fixture_a2a_server_config (line 63) | def fixture_a2a_server_config() -> Config: FILE: packages/nvidia_nat_a2a/tests/server/test_agent_card_generation.py class TestAgentCardGeneration (line 23) | class TestAgentCardGeneration: method test_agent_card_includes_all_functions (line 30) | async def test_agent_card_includes_all_functions(self, mock_workflow_w... method test_skill_names_formatted_correctly (line 48) | async def test_skill_names_formatted_correctly(self, mock_workflow_wit... method test_skill_descriptions_from_functions (line 70) | async def test_skill_descriptions_from_functions(self, mock_workflow_w... method test_agent_card_metadata_from_config (line 86) | async def test_agent_card_metadata_from_config(self, mock_workflow_wit... method test_agent_card_url_generation (line 99) | async def test_agent_card_url_generation(self, mock_workflow_with_func... method test_agent_card_url_uses_public_base_url_when_configured (line 111) | async def test_agent_card_url_uses_public_base_url_when_configured(sel... method test_agent_card_capabilities_from_config (line 127) | async def test_agent_card_capabilities_from_config(self, mock_workflow... method test_empty_workflow_creates_valid_card (line 141) | async def test_empty_workflow_creates_valid_card(self, a2a_server_conf... FILE: packages/nvidia_nat_a2a/tests/server/test_oauth_middleware.py function rsa_private_pem (line 46) | def rsa_private_pem() -> str: function jwks_dict (line 58) | def jwks_dict(rsa_private_pem: str) -> dict[str, Any]: function make_jwt (line 77) | def make_jwt( function oauth_config (line 106) | def oauth_config() -> OAuth2ResourceServerConfig: function protected_app (line 117) | def protected_app(oauth_config: OAuth2ResourceServerConfig): class TestPublicEndpoints (line 149) | class TestPublicEndpoints: method test_agent_card_accessible_without_token (line 152) | def test_agent_card_accessible_without_token(self, protected_app): method test_agent_card_accessible_with_invalid_token (line 160) | def test_agent_card_accessible_with_invalid_token(self, protected_app): class TestProtectedEndpoints (line 177) | class TestProtectedEndpoints: method test_missing_authorization_header (line 180) | def test_missing_authorization_header(self, protected_app): method test_invalid_authorization_format (line 189) | def test_invalid_authorization_format(self, protected_app): method test_empty_bearer_token (line 197) | def test_empty_bearer_token(self, protected_app): class TestTokenValidation (line 211) | class TestTokenValidation: method test_valid_token_accepted (line 215) | async def test_valid_token_accepted(self, mock_verify, protected_app, ... method test_expired_token_rejected (line 238) | async def test_expired_token_rejected(self, mock_verify, protected_app... method test_invalid_signature_rejected (line 254) | async def test_invalid_signature_rejected(self, mock_verify, protected... method test_wrong_issuer_rejected (line 268) | async def test_wrong_issuer_rejected(self, mock_verify, protected_app,... method test_inactive_token_rejected (line 283) | async def test_inactive_token_rejected(self, mock_verify, protected_ap... class TestScopeAndAudienceValidation (line 310) | class TestScopeAndAudienceValidation: method test_missing_required_scopes_rejected (line 314) | async def test_missing_required_scopes_rejected(self, mock_verify, pro... method test_wrong_audience_rejected (line 337) | async def test_wrong_audience_rejected(self, mock_verify, protected_ap... method test_correct_scopes_and_audience_accepted (line 350) | async def test_correct_scopes_and_audience_accepted(self, mock_verify,... class TestRequestStatePopulation (line 376) | class TestRequestStatePopulation: method test_request_state_populated_correctly (line 380) | async def test_request_state_populated_correctly(self, mock_verify, pr... method test_request_state_with_no_scopes (line 413) | async def test_request_state_with_no_scopes(self, mock_verify, protect... class TestConfigurationVariations (line 440) | class TestConfigurationVariations: method test_middleware_without_audience_validation (line 444) | async def test_middleware_without_audience_validation(self, mock_verif... method test_middleware_without_scope_validation (line 478) | async def test_middleware_without_scope_validation(self, mock_verify, ... FILE: packages/nvidia_nat_a2a/tests/server/test_server_functionality.py class TestA2AServerFunctionality (line 21) | class TestA2AServerFunctionality: method test_server_plugin_initialization (line 29) | async def test_server_plugin_initialization(self, a2a_server_config): method test_worker_extracts_all_functions (line 42) | async def test_worker_extracts_all_functions(self, mock_workflow_with_... method test_agent_executor_creation (line 61) | async def test_agent_executor_creation(self, mock_workflow_with_functi... method test_a2a_server_creation (line 78) | async def test_a2a_server_creation(self, mock_workflow_with_functions,... method test_worker_config_access (line 99) | async def test_worker_config_access(self, a2a_server_config): method test_function_to_skill_transformation (line 111) | async def test_function_to_skill_transformation(self, mock_workflow_wi... method test_agent_protocol_version (line 130) | async def test_agent_protocol_version(self, mock_workflow_with_functio... FILE: packages/nvidia_nat_adk/src/nat/plugins/adk/adk_parser.py function parse_to_openai_message (line 31) | def parse_to_openai_message(message: IntermediateStep) -> dict: # noqa:... function _parse_input_message (line 61) | def _parse_input_message(message: IntermediateStep) -> dict | list[dict]: function _parse_assistant_message (line 88) | def _parse_assistant_message(message: IntermediateStep) -> dict: function _parse_tool_message (line 122) | def _parse_tool_message(message: IntermediateStep) -> dict: FILE: packages/nvidia_nat_adk/src/nat/plugins/adk/callback_handler.py class ADKProfilerHandler (line 36) | class ADKProfilerHandler(BaseProfilerCallback): method __new__ (line 48) | def __new__(cls): method __init__ (line 54) | def __init__(self): method instrument (line 64) | def instrument(self) -> None: method uninstrument (line 95) | def uninstrument(self) -> None: method ensure_last_call_ts_initialized (line 116) | def ensure_last_call_ts_initialized(self) -> float: method _tool_use_monkey_patch (line 125) | def _tool_use_monkey_patch(self) -> Callable[..., Any]: method _llm_call_monkey_patch (line 209) | def _llm_call_monkey_patch(self) -> Callable[..., Any]: FILE: packages/nvidia_nat_adk/src/nat/plugins/adk/llm.py function azure_openai_adk (line 34) | async def azure_openai_adk(config: AzureOpenAIModelConfig, _builder: Bui... function litellm_adk (line 74) | async def litellm_adk(litellm_config: LiteLlmModelConfig, _builder: Buil... function nim_adk (line 89) | async def nim_adk(config: NIMModelConfig, _builder: Builder): function openai_adk (line 123) | async def openai_adk(config: OpenAIModelConfig, _builder: Builder): function dynamo_adk (line 164) | async def dynamo_adk(config: DynamoModelConfig, _builder: Builder): FILE: packages/nvidia_nat_adk/src/nat/plugins/adk/tool_wrapper.py function resolve_type (line 35) | def resolve_type(t: Any) -> Any: function google_adk_tool_wrapper (line 55) | def google_adk_tool_wrapper( FILE: packages/nvidia_nat_adk/tests/test_adk_callback_handler.py function reset_patches (line 34) | def reset_patches(): function mock_context (line 50) | def mock_context(): function handler (line 61) | def handler(mock_context: MagicMock) -> ADKProfilerHandler: function test_no_double_patching (line 71) | def test_no_double_patching(): function test_uninstrument_restores_originals (line 80) | def test_uninstrument_restores_originals(): function test_adk_profiler_handler_initialization (line 99) | def test_adk_profiler_handler_initialization(handler, mock_context): function test_instrument_patches_litellm (line 109) | def test_instrument_patches_litellm(mock_acompletion, handler): function test_llm_call_monkey_patch (line 127) | async def test_llm_call_monkey_patch(mock_acompletion, handler, mock_con... function test_tool_use_monkey_patch_functionality (line 177) | async def test_tool_use_monkey_patch_functionality(handler, mock_context): function test_tool_use_monkey_patch_with_exception (line 221) | async def test_tool_use_monkey_patch_with_exception(handler, mock_context): function test_tool_use_monkey_patch_tool_name_error (line 248) | async def test_tool_use_monkey_patch_tool_name_error(handler, mock_conte... function test_llm_call_monkey_patch_with_multiple_messages (line 276) | async def test_llm_call_monkey_patch_with_multiple_messages(mock_acomple... function test_handler_inheritance (line 327) | def test_handler_inheritance(handler): function test_handler_thread_safety (line 332) | def test_handler_thread_safety(handler): function test_last_call_timestamp_initialization (line 339) | def test_last_call_timestamp_initialization(handler): FILE: packages/nvidia_nat_adk/tests/test_adk_llm.py function litellm_config (line 33) | def litellm_config(): function minimal_litellm_config (line 42) | def minimal_litellm_config(): function test_litellm_adk_with_full_config (line 53) | async def test_litellm_adk_with_full_config(mock_litellm_class, litellm_... function test_litellm_adk_config_exclusion (line 73) | async def test_litellm_adk_config_exclusion(mock_litellm_class, mock_bui... function test_litellm_adk_is_generator (line 103) | async def test_litellm_adk_is_generator(mock_litellm_class, litellm_conf... function test_litellm_verify_ssl (line 126) | async def test_litellm_verify_ssl(mock_litellm_class, mock_handle_verify... function test_litellm_adk_decorator_registration (line 136) | async def test_litellm_adk_decorator_registration(): class TestDynamoAdk (line 164) | class TestDynamoAdk: method dynamo_cfg_no_prefix (line 168) | def dynamo_cfg_no_prefix(self) -> DynamoModelConfig: method dynamo_cfg_with_prefix (line 177) | def dynamo_cfg_with_prefix(self) -> DynamoModelConfig: method test_basic_creation_without_prefix (line 190) | async def test_basic_creation_without_prefix(self, method test_creation_with_nvext_hints_enabled (line 213) | async def test_creation_with_nvext_hints_enabled(self, method test_dynamo_verify_ssl (line 232) | async def test_dynamo_verify_ssl(self, mock_httpx_async_client, verify... method test_excludes_dynamo_specific_fields (line 247) | async def test_excludes_dynamo_specific_fields(self, method test_client_passed_per_instance (line 280) | async def test_client_passed_per_instance(self, mock_litellm_class, mo... method test_dynamo_adk_decorator_registration (line 296) | async def test_dynamo_adk_decorator_registration(self): FILE: packages/nvidia_nat_adk/tests/test_adk_parser.py function create_intermediate_step (line 32) | def create_intermediate_step( class TestParseToOpenAIMessage (line 55) | class TestParseToOpenAIMessage: method test_routes_llm_end_to_assistant_parser (line 58) | def test_routes_llm_end_to_assistant_parser(self): method test_routes_tool_end_to_tool_parser (line 75) | def test_routes_tool_end_to_tool_parser(self): method test_routes_llm_start_to_input_parser (line 85) | def test_routes_llm_start_to_input_parser(self): method test_routes_other_types_to_generic_parser (line 94) | def test_routes_other_types_to_generic_parser(self): class TestParseInputMessage (line 104) | class TestParseInputMessage: method test_parse_empty_payload (line 107) | def test_parse_empty_payload(self): method test_parse_single_dict_message_with_role_and_content (line 115) | def test_parse_single_dict_message_with_role_and_content(self): method test_parse_single_dict_message_missing_role (line 123) | def test_parse_single_dict_message_missing_role(self): method test_parse_single_non_dict_message (line 132) | def test_parse_single_non_dict_message(self): method test_parse_multiple_messages (line 140) | def test_parse_multiple_messages(self): method test_parse_multiple_mixed_messages (line 158) | def test_parse_multiple_mixed_messages(self): class TestParseAssistantMessage (line 179) | class TestParseAssistantMessage: method test_parse_assistant_with_content (line 182) | def test_parse_assistant_with_content(self): method test_parse_assistant_with_tool_calls (line 196) | def test_parse_assistant_with_tool_calls(self): method test_parse_assistant_with_logprobs (line 211) | def test_parse_assistant_with_logprobs(self): method test_parse_assistant_with_none_content (line 227) | def test_parse_assistant_with_none_content(self): method test_parse_assistant_no_payload (line 241) | def test_parse_assistant_no_payload(self): method test_parse_assistant_empty_data (line 248) | def test_parse_assistant_empty_data(self): class TestParseToolMessage (line 257) | class TestParseToolMessage: method test_parse_tool_with_output (line 260) | def test_parse_tool_with_output(self): method test_parse_tool_with_payload_fallback (line 270) | def test_parse_tool_with_payload_fallback(self): method test_parse_tool_no_content (line 280) | def test_parse_tool_no_content(self): method test_parse_tool_no_name (line 290) | def test_parse_tool_no_name(self): method test_parse_tool_no_data (line 300) | def test_parse_tool_no_data(self): class TestParseGenericMessage (line 309) | class TestParseGenericMessage: method test_parse_generic_with_output (line 312) | def test_parse_generic_with_output(self): method test_parse_generic_with_input_fallback (line 321) | def test_parse_generic_with_input_fallback(self): method test_parse_generic_with_chunk_fallback (line 330) | def test_parse_generic_with_chunk_fallback(self): method test_parse_generic_no_content (line 339) | def test_parse_generic_no_content(self): method test_parse_generic_no_data (line 348) | def test_parse_generic_no_data(self): class TestExtractContent (line 357) | class TestExtractContent: method test_extract_string (line 360) | def test_extract_string(self): method test_extract_empty_string (line 364) | def test_extract_empty_string(self): method test_extract_from_dict_with_content (line 368) | def test_extract_from_dict_with_content(self): method test_extract_from_dict_with_text (line 373) | def test_extract_from_dict_with_text(self): method test_extract_from_dict_with_message (line 378) | def test_extract_from_dict_with_message(self): method test_extract_from_dict_with_output (line 383) | def test_extract_from_dict_with_output(self): method test_extract_from_dict_fallback_to_json (line 388) | def test_extract_from_dict_fallback_to_json(self): method test_extract_from_dict_with_blocks (line 395) | def test_extract_from_dict_with_blocks(self): method test_extract_from_dict_with_mixed_blocks (line 401) | def test_extract_from_dict_with_mixed_blocks(self): method test_extract_from_string_list (line 408) | def test_extract_from_string_list(self): method test_extract_from_mixed_list (line 414) | def test_extract_from_mixed_list(self): method test_extract_from_object_with_content_attr (line 423) | def test_extract_from_object_with_content_attr(self): method test_extract_from_object_with_text_attr (line 430) | def test_extract_from_object_with_text_attr(self): method test_extract_fallback_to_str (line 436) | def test_extract_fallback_to_str(self): method test_extract_none (line 441) | def test_extract_none(self): method test_extract_boolean (line 445) | def test_extract_boolean(self): method test_extract_nested_dict_content (line 450) | def test_extract_nested_dict_content(self): FILE: packages/nvidia_nat_adk/tests/test_adk_tool_wrapper.py class DummyInput (line 31) | class DummyInput(BaseModel): class DummyOutput (line 35) | class DummyOutput(BaseModel): class InnerModel (line 39) | class InnerModel(BaseModel): class OuterModel (line 43) | class OuterModel(BaseModel): class NestedOutput (line 48) | class NestedOutput(BaseModel): class DummyFunction (line 57) | class DummyFunction: method __init__ (line 60) | def __init__(self): method acall_invoke (line 69) | async def acall_invoke(self, *args, **_kwargs): class DummyNestedFunction (line 74) | class DummyNestedFunction: method __init__ (line 77) | def __init__(self): method acall_invoke (line 86) | async def acall_invoke(self, *args, **_kwargs): class DummyStreamingFunction (line 91) | class DummyStreamingFunction: method __init__ (line 94) | def __init__(self): method acall_stream (line 103) | async def acall_stream(self, *args, **_kwargs): method _astream (line 116) | async def _astream(self, value: Any): function test_resolve_type (line 133) | def test_resolve_type(): function test_google_adk_tool_wrapper_simple_function (line 153) | async def test_google_adk_tool_wrapper_simple_function(mock_function_tool): function test_google_adk_tool_wrapper_nested_function (line 176) | async def test_google_adk_tool_wrapper_nested_function(mock_function_tool): function test_google_adk_tool_wrapper_streaming_function (line 199) | async def test_google_adk_tool_wrapper_streaming_function(mock_function_... function test_callable_ainvoke_functionality (line 221) | async def test_callable_ainvoke_functionality(): FILE: packages/nvidia_nat_agno/src/nat/plugins/agno/callback_handler.py class AgnoProfilerHandler (line 39) | class AgnoProfilerHandler(BaseProfilerCallback): method __init__ (line 50) | def __init__(self) -> None: method instrument (line 60) | def instrument(self) -> None: method _tool_execute_monkey_patch (line 92) | def _tool_execute_monkey_patch(self) -> Callable[..., Any]: method _llm_call_monkey_patch (line 152) | def _llm_call_monkey_patch(self) -> Callable[..., Any]: FILE: packages/nvidia_nat_agno/src/nat/plugins/agno/llm.py function _patch_llm_based_on_config (line 41) | def _patch_llm_based_on_config(client: ModelType, llm_config: LLMBaseCon... function nim_agno (line 84) | async def nim_agno(llm_config: NIMModelConfig, _builder: Builder): function openai_agno (line 116) | async def openai_agno(llm_config: OpenAIModelConfig, _builder: Builder): function litellm_agno (line 158) | async def litellm_agno(llm_config: LiteLlmModelConfig, _builder: Builder): FILE: packages/nvidia_nat_agno/src/nat/plugins/agno/tool_wrapper.py function process_result (line 42) | async def process_result(result: Any, name: str) -> str: function execute_agno_tool (line 133) | def execute_agno_tool(name: str, function agno_tool_wrapper (line 293) | def agno_tool_wrapper(name: str, fn: Function, builder: Builder): FILE: packages/nvidia_nat_agno/src/nat/plugins/agno/tools/serp_api_tool.py class SerpApiToolConfig (line 32) | class SerpApiToolConfig(FunctionBaseConfig, name="serp_api_tool"): function serp_api_tool (line 42) | async def serp_api_tool(tool_config: SerpApiToolConfig, builder: Builder): FILE: packages/nvidia_nat_agno/tests/test_agno_callback_handler.py function test_agno_handler_llm_call (line 30) | async def test_agno_handler_llm_call(reactive_stream: Subject): function test_agno_handler_tool_execution (line 222) | async def test_agno_handler_tool_execution(reactive_stream: Subject): FILE: packages/nvidia_nat_agno/tests/test_llm_agno.py class TestNimAgno (line 31) | class TestNimAgno: method nim_config (line 35) | def nim_config(self): method nim_config_responses (line 40) | def nim_config_responses(self): method test_nim_agno_basic (line 45) | async def test_nim_agno_basic(self, mock_nvidia, nim_config, mock_buil... method test_nim_agno_responses (line 58) | async def test_nim_agno_responses(self, mock_nvidia, nim_config_respon... method test_nim_agno_with_base_url (line 69) | async def test_nim_agno_with_base_url(self, mock_nvidia, nim_config, m... method test_nim_agno_with_env_var (line 88) | async def test_nim_agno_with_env_var(self, mock_nvidia, nim_config, mo... method test_nim_agno_with_existing_env_var (line 107) | async def test_nim_agno_with_existing_env_var(self, mock_nvidia, nim_c... method test_nim_agno_without_api_key (line 123) | async def test_nim_agno_without_api_key(self, mock_nvidia, nim_config,... method test_nim_agno_verify_ssl_passed_to_client (line 136) | async def test_nim_agno_verify_ssl_passed_to_client(self, class TestOpenAIAgno (line 149) | class TestOpenAIAgno: method openai_config (line 153) | def openai_config(self): method openai_responses_config (line 158) | def openai_responses_config(self): method test_openai_agno (line 163) | async def test_openai_agno(self, mock_openai_chat, openai_config, mock... method test_openai_agno_responses (line 178) | async def test_openai_agno_responses(self, mock_openai_responses, open... method test_openai_agno_with_additional_params (line 193) | async def test_openai_agno_with_additional_params(self, mock_openai_ch... method test_registration_decorators (line 216) | def test_registration_decorators(self, mock_global_registry): method test_openai_agno_without_model_field (line 237) | async def test_openai_agno_without_model_field(self, mock_openai_chat,... method test_openai_agno_verify_ssl_passed_to_client (line 253) | async def test_openai_agno_verify_ssl_passed_to_client(self, FILE: packages/nvidia_nat_agno/tests/test_tool_wrapper.py function fixture_run_loop_thread (line 34) | def fixture_run_loop_thread(): class TestToolWrapper (line 67) | class TestToolWrapper: method mock_event_loop (line 71) | def mock_event_loop(self): method mock_function (line 77) | def mock_function(self): method mock_model_schema_function (line 91) | def mock_model_schema_function(self): method test_agno_tool_wrapper (line 117) | def test_agno_tool_wrapper(self, mock_tool, mock_function, mock_builder): method test_agno_tool_wrapper_with_schema_description (line 133) | def test_agno_tool_wrapper_with_schema_description(self, mock_tool, mo... method test_wrapper_function (line 151) | def test_wrapper_function(self, mock_tool, mock_execute_agno_tool, moc... method test_event_loop_is_accessed (line 172) | def test_event_loop_is_accessed(self, mock_get_running_loop, mock_func... method test_create_event_loop_if_none_available (line 191) | def test_create_event_loop_if_none_available(self, method test_registration_decorator (line 212) | def test_registration_decorator(self): method test_input_schema_validation (line 224) | def test_input_schema_validation(self, mock_builder): method test_execute_agno_tool_initialization (line 243) | def test_execute_agno_tool_initialization(self, run_loop_thread: async... method test_execute_agno_tool_search_api_empty_query (line 267) | def test_execute_agno_tool_search_api_empty_query(self, run_loop_thread): method test_execute_agno_tool_filtered_kwargs (line 284) | def test_execute_agno_tool_filtered_kwargs(self, run_loop_thread: asyn... method test_execute_agno_tool_wrapped_kwargs (line 307) | def test_execute_agno_tool_wrapped_kwargs(self, run_loop_thread: async... method test_execute_agno_tool_infinite_loop_detection (line 329) | def test_execute_agno_tool_infinite_loop_detection(self, run_loop_thre... method test_process_result_string (line 351) | async def test_process_result_string(self): method test_process_result_none (line 357) | async def test_process_result_none(self): method test_process_result_dict (line 363) | async def test_process_result_dict(self): method test_process_result_list_of_dicts (line 373) | async def test_process_result_list_of_dicts(self): method test_process_result_object_with_content (line 383) | async def test_process_result_object_with_content(self): method test_process_result_openai_style_response (line 393) | async def test_process_result_openai_style_response(self): method test_different_calling_styles (line 419) | def test_different_calling_styles(self, FILE: packages/nvidia_nat_agno/tests/tools/test_serp_api_tool.py class MockSerpApiTools (line 32) | class MockSerpApiTools: method __init__ (line 34) | def __init__(self, api_key): method search_google (line 37) | async def search_google(self, query, num_results): class TestSerpApiTool (line 46) | class TestSerpApiTool: method tool_config (line 50) | def tool_config(self): method mock_serpapi_tools (line 55) | def mock_serpapi_tools(self): method mock_search_results (line 62) | def mock_search_results(self): method mock_incomplete_search_results (line 78) | def mock_incomplete_search_results(self): method test_serp_api_tool_creation (line 96) | async def test_serp_api_tool_creation(self, tool_config, mock_builder): method test_serp_api_tool_env_api_key (line 115) | async def test_serp_api_tool_env_api_key(self, mock_builder): method test_serp_api_tool_missing_api_key (line 137) | async def test_serp_api_tool_missing_api_key(self, mock_builder): method test_serp_api_search_with_query (line 149) | async def test_serp_api_search_with_query(self, tool_config, mock_buil... method test_serp_api_search_exception_handling (line 179) | async def test_serp_api_search_exception_handling(self, tool_config, m... method test_serp_api_search_result_formatting (line 205) | async def test_serp_api_search_result_formatting(self, tool_config, mo... method test_serp_api_search_empty_results (line 239) | async def test_serp_api_search_empty_results(self, tool_config, mock_b... method test_serp_api_tool_max_results (line 266) | async def test_serp_api_tool_max_results(self, mock_builder, mock_sear... FILE: packages/nvidia_nat_app/src/nat_app/__init__.py class ExperimentalWarning (line 32) | class ExperimentalWarning(UserWarning): FILE: packages/nvidia_nat_app/src/nat_app/api.py function quick_optimize (line 58) | def quick_optimize( function analyze_function (line 105) | def analyze_function( function classify_edge (line 168) | def classify_edge( function find_parallel_stages (line 205) | def find_parallel_stages( function benchmark (line 262) | async def benchmark( function speculative_opportunities (line 406) | def speculative_opportunities( FILE: packages/nvidia_nat_app/src/nat_app/compiler/compilation_context.py class CompilationContext (line 57) | class CompilationContext(Generic[_CompiledArtifactType]): method graph (line 69) | def graph(self) -> Graph | None: method topology (line 74) | def topology(self) -> GraphTopology | None: method node_analyses (line 79) | def node_analyses(self) -> dict[str, NodeAnalysis] | None: method optimized_order (line 84) | def optimized_order(self) -> list[set[str]] | None: method necessary_edges (line 89) | def necessary_edges(self) -> set[tuple[str, str]] | None: method unnecessary_edges (line 94) | def unnecessary_edges(self) -> set[tuple[str, str]] | None: FILE: packages/nvidia_nat_app/src/nat_app/compiler/compilation_stage.py class CompilationStage (line 35) | class CompilationStage(Protocol[_CompiledArtifactType]): method name (line 44) | def name(self) -> str: method apply (line 48) | def apply( FILE: packages/nvidia_nat_app/src/nat_app/compiler/compiler.py class UnsupportedSourceError (line 36) | class UnsupportedSourceError(ValueError): class AbstractCompiler (line 45) | class AbstractCompiler(ABC, Generic[_SourceArtifactType, _CompiledArtifa... method compile (line 55) | def compile(self, source: _SourceArtifactType, **kwargs: Any) -> _Comp... method validate (line 66) | def validate(self, source: _SourceArtifactType) -> bool: method export (line 81) | def export(self, compiled: _CompiledArtifactType, path: str | Path, **... function compile_with (line 93) | def compile_with( FILE: packages/nvidia_nat_app/src/nat_app/compiler/default_graph_compiler.py class DefaultGraphCompiler (line 64) | class DefaultGraphCompiler(AbstractPipelinedCompiler[Any, Any]): method __init__ (line 91) | def __init__( method default_stages (line 101) | def default_stages(self) -> Sequence[CompilationStage]: method prepare (line 116) | def prepare(self, source: Any, **kwargs: Any) -> Any: method finalize (line 129) | def finalize( method compile_to_result (line 146) | def compile_to_result(self, source: Any, **kwargs: Any) -> Any: method append_stage (line 162) | def append_stage(self, stage: CompilationStage) -> None: method insert_stage_after (line 173) | def insert_stage_after(self, after_name: str, stage: CompilationStage)... function context_to_result (line 191) | def context_to_result(context: CompilationContext) -> TransformationResult: FILE: packages/nvidia_nat_app/src/nat_app/compiler/errors.py class GraphValidationError (line 20) | class GraphValidationError(ValueError): method __init__ (line 23) | def __init__(self, issues: list[str]) -> None: FILE: packages/nvidia_nat_app/src/nat_app/compiler/optimizer.py class GraphOptimizer (line 49) | class GraphOptimizer: method __init__ (line 64) | def __init__( method optimize (line 72) | def optimize(self, source: Any) -> TransformationResult: method optimize_and_build (line 92) | def optimize_and_build(self, source: Any) -> Any: FILE: packages/nvidia_nat_app/src/nat_app/compiler/pipelined_compiler.py class AbstractPipelinedCompiler (line 37) | class AbstractPipelinedCompiler( method __init__ (line 53) | def __init__( method default_stages (line 62) | def default_stages(self) -> Sequence[CompilationStage[_CompiledArtifac... method prepare (line 71) | def prepare( method seed_context (line 88) | def seed_context( method finalize (line 101) | def finalize( method stages (line 119) | def stages(self) -> tuple[CompilationStage[_CompiledArtifactType], ...]: method last_context (line 124) | def last_context(self) -> CompilationContext[_CompiledArtifactType] | ... method compile (line 128) | def compile( FILE: packages/nvidia_nat_app/src/nat_app/constraints/decorators.py function _get_or_create_constraints (line 24) | def _get_or_create_constraints(func: Callable) -> NodeConstraints: function sequential (line 29) | def sequential(reason: str | None = None) -> Callable: function depends_on (line 60) | def depends_on(*node_names: str, reason: str | None = None) -> Callable: function has_side_effects (line 91) | def has_side_effects(reason: str | None = None) -> Callable: FILE: packages/nvidia_nat_app/src/nat_app/constraints/models.py class NodeConstraints (line 24) | class NodeConstraints: class ResolvedConstraints (line 35) | class ResolvedConstraints: class OptimizationConfig (line 47) | class OptimizationConfig: method conservative (line 88) | def conservative(cls) -> OptimizationConfig: method aggressive (line 97) | def aggressive(cls) -> OptimizationConfig: FILE: packages/nvidia_nat_app/src/nat_app/constraints/resolution.py function get_constraints (line 30) | def get_constraints(func: Callable) -> NodeConstraints | None: function resolve_constraints (line 42) | def resolve_constraints( function apply_constraints_to_analysis (line 111) | def apply_constraints_to_analysis( function merge_dependencies (line 142) | def merge_dependencies( FILE: packages/nvidia_nat_app/src/nat_app/executors/execution_state.py class ExecutionState (line 35) | class ExecutionState: method mark_node_ready (line 95) | def mark_node_ready(self, node_name: str) -> None: method mark_node_completed (line 103) | def mark_node_completed(self, node_name: str, result: dict[str, Any] |... method mark_node_cancelled (line 114) | def mark_node_cancelled(self, node_name: str) -> None: method record_decision (line 123) | def record_decision(self, decision_node: str, chosen_target: str, iter... method clear_for_reexecution (line 135) | def clear_for_reexecution(self, node_name: str) -> None: method record_timeline_event (line 146) | def record_timeline_event( method record_node_duration (line 171) | def record_node_duration(self, node_name: str, duration: float) -> None: FILE: packages/nvidia_nat_app/src/nat_app/executors/metrics.py function _estimate_sequential_time_ms (line 35) | def _estimate_sequential_time_ms(execution_state: ExecutionState) -> float: class ExecutionMetrics (line 60) | class ExecutionMetrics: method speedup_ratio (line 82) | def speedup_ratio(self) -> float: method speedup_pct (line 87) | def speedup_pct(self) -> float: method from_execution_state (line 92) | def from_execution_state( method to_dict (line 119) | def to_dict(self) -> dict[str, Any]: FILE: packages/nvidia_nat_app/src/nat_app/executors/result_handler.py class ResultHandler (line 34) | class ResultHandler: method __init__ (line 42) | def __init__(self, command_checker: Callable[[Any], bool] | None = Non... method should_merge (line 51) | def should_merge(self, result: Any) -> tuple[bool, str]: method log_result (line 77) | def log_result(self, node_name: str, result: Any, should_merge: bool, ... FILE: packages/nvidia_nat_app/src/nat_app/executors/runner.py class SpeculativeResult (line 45) | class SpeculativeResult: function run_speculation (line 69) | async def run_speculation( FILE: packages/nvidia_nat_app/src/nat_app/graph/access.py function reducer_set (line 40) | def reducer_set(*fields: str, obj: str = _DEFAULT_OBJ) -> ReducerSet: function _paths_overlap (line 53) | def _paths_overlap(a: str, b: str) -> bool: class AccessSet (line 66) | class AccessSet: method __init__ (line 94) | def __init__(self) -> None: method add (line 100) | def add(self, obj: str, path: str) -> None: method add_flat (line 111) | def add_flat(self, field: str) -> None: method overlaps (line 121) | def overlaps(self, other: AccessSet, exclude_reducers: ReducerSet | No... method _flat_overlaps (line 138) | def _flat_overlaps(self, other: AccessSet, exclude_reducers: ReducerSe... method _nested_overlaps (line 149) | def _nested_overlaps(self, other: AccessSet, exclude_reducers: Reducer... method __and__ (line 168) | def __and__(self, other: AccessSet) -> AccessSet: method __sub__ (line 197) | def __sub__(self, other: AccessSet | ReducerSet) -> AccessSet: method __bool__ (line 225) | def __bool__(self) -> bool: method __len__ (line 228) | def __len__(self) -> int: method __iter__ (line 231) | def __iter__(self) -> Iterator[tuple[str, str]]: method __eq__ (line 237) | def __eq__(self, other: object) -> bool: method __repr__ (line 244) | def __repr__(self) -> str: method from_fields (line 255) | def from_fields(cls, *fields: str, obj: str = _DEFAULT_OBJ) -> AccessSet: method from_set (line 280) | def from_set(cls, fields: set[str], obj: str = _DEFAULT_OBJ) -> Access... method objects (line 300) | def objects(self) -> set[str]: method fields (line 304) | def fields(self, obj: str = _DEFAULT_OBJ) -> set[str]: method all_fields_flat (line 316) | def all_fields_flat(self) -> set[str]: method is_flat (line 328) | def is_flat(self) -> bool: FILE: packages/nvidia_nat_app/src/nat_app/graph/adapter.py class AbstractFrameworkAdapter (line 61) | class AbstractFrameworkAdapter(ABC): method extract (line 84) | def extract(self, source: Any) -> Graph: method build (line 97) | def build(self, original: Any, result: CompilationResult) -> Any: method get_node_func (line 113) | def get_node_func(self, node_id: str) -> Callable | None: method get_state_schema (line 128) | def get_state_schema(self) -> type | None: method get_reducer_fields (line 138) | def get_reducer_fields(self) -> ReducerSet: method get_all_schema_fields (line 151) | def get_all_schema_fields(self) -> set[str] | None: method get_special_call_names (line 161) | def get_special_call_names(self) -> set[str]: method get_param_to_obj (line 174) | def get_param_to_obj(self) -> dict[str, str] | None: method get_self_state_attrs (line 190) | def get_self_state_attrs(self) -> dict[str, str] | None: method get_llm_detector (line 208) | def get_llm_detector(self) -> LLMDetector | None: method map_profiler_function_to_node (line 221) | def map_profiler_function_to_node(self, function_name: str) -> str | N... method analyze_node (line 238) | def analyze_node( FILE: packages/nvidia_nat_app/src/nat_app/graph/analysis.py class NodeAnalysis (line 40) | class NodeAnalysis: method state_reads (line 92) | def state_reads(self) -> set[str]: method state_reads (line 97) | def state_reads(self, value: set[str]) -> None: method state_writes (line 101) | def state_writes(self) -> set[str]: method state_writes (line 106) | def state_writes(self, value: set[str]) -> None: method conflicts_with (line 111) | def conflicts_with( method __repr__ (line 150) | def __repr__(self) -> str: function build_dependency_graph (line 163) | def build_dependency_graph( function find_parallel_groups (line 199) | def find_parallel_groups( function _merge_into_groups (line 245) | def _merge_into_groups( function _group_is_compatible (line 290) | def _group_is_compatible( class ParallelizationOpportunity (line 331) | class ParallelizationOpportunity: class GraphAnalysisResult (line 341) | class GraphAnalysisResult: method get_execution_order (line 352) | def get_execution_order(self) -> list[set[str]]: FILE: packages/nvidia_nat_app/src/nat_app/graph/factory.py function build_graph_and_adapter (line 30) | def build_graph_and_adapter( FILE: packages/nvidia_nat_app/src/nat_app/graph/llm_detection.py class LLMCallInfo (line 56) | class LLMCallInfo: function discover_llm_names (line 78) | def discover_llm_names(func: Callable, detector: LLMDetector) -> dict[st... function _scan_namespace (line 117) | def _scan_namespace( function count_llm_calls (line 166) | def count_llm_calls(func: Callable, detector: LLMDetector) -> LLMCallInfo: class _LLMCallCounter (line 238) | class _LLMCallCounter: method __init__ (line 241) | def __init__( method count_in_body (line 250) | def count_in_body(self, stmts: list[ast.stmt]) -> int: method _count_stmt (line 264) | def _count_stmt(self, node: ast.stmt) -> int: method _count_if (line 277) | def _count_if(self, node: ast.If) -> int: method _count_loop (line 283) | def _count_loop(self, node: ast.For | ast.AsyncFor | ast.While) -> int: method _count_try (line 293) | def _count_try(self, node: ast.Try | ast.TryStar) -> int: method _count_with (line 301) | def _count_with(self, node: ast.With | ast.AsyncWith) -> int: method _count_match (line 305) | def _count_match(self, node: ast.Match) -> int: method _count_calls_in_node (line 311) | def _count_calls_in_node(self, node: ast.AST) -> int: method _is_llm_call (line 326) | def _is_llm_call(self, node: ast.expr) -> bool: method _resolve_receiver (line 348) | def _resolve_receiver(self, node: ast.expr) -> str | None: FILE: packages/nvidia_nat_app/src/nat_app/graph/models.py class EdgeType (line 41) | class EdgeType(Enum): class EdgeAnalysis (line 51) | class EdgeAnalysis: class BranchInfo (line 62) | class BranchInfo: class CompilationResult (line 83) | class CompilationResult: method stages (line 107) | def stages(self) -> list[set[str]]: method speedup_estimate (line 116) | def speedup_estimate(self) -> float: class TransformationResult (line 128) | class TransformationResult(CompilationResult): FILE: packages/nvidia_nat_app/src/nat_app/graph/protocols.py class GraphExtractor (line 49) | class GraphExtractor(Protocol): method extract (line 64) | def extract(self, source: Any) -> Graph: class NodeIntrospector (line 78) | class NodeIntrospector(Protocol): method get_node_func (line 86) | def get_node_func(self, node_id: str) -> Callable | None: method get_state_schema (line 97) | def get_state_schema(self) -> type | None: method get_reducer_fields (line 105) | def get_reducer_fields(self) -> ReducerSet: method get_all_schema_fields (line 113) | def get_all_schema_fields(self) -> set[str] | None: method get_special_call_names (line 121) | def get_special_call_names(self) -> set[str]: class LLMDetector (line 133) | class LLMDetector(Protocol): method is_llm (line 155) | def is_llm(self, obj: Any) -> bool: method invocation_methods (line 167) | def invocation_methods(self) -> frozenset[str]: class GraphBuilder (line 180) | class GraphBuilder(Protocol): method build (line 189) | def build(self, original: Any, result: Any) -> Any: FILE: packages/nvidia_nat_app/src/nat_app/graph/scheduling.py function classify_edges (line 70) | def classify_edges( function compute_branch_info (line 141) | def compute_branch_info( function analyze_cycle_body (line 221) | def analyze_cycle_body( function _build_data_dependencies (line 364) | def _build_data_dependencies( function _apply_confidence_fallbacks (line 398) | def _apply_confidence_fallbacks( function _apply_constraints (line 414) | def _apply_constraints( function _apply_cycle_body_ordering (line 436) | def _apply_cycle_body_ordering( function _apply_cycle_boundary_and_conditional (line 472) | def _apply_cycle_boundary_and_conditional( function _apply_branch_dependencies (line 493) | def _apply_branch_dependencies( function _apply_post_cycle_ordering (line 506) | def _apply_post_cycle_ordering( function _build_parallel_stages (line 539) | def _build_parallel_stages( function compute_optimized_order (line 580) | def compute_optimized_order( function _split_by_branch (line 663) | def _split_by_branch( function _sequential_stages (line 709) | def _sequential_stages( function _stage_order_with_entry_first (line 736) | def _stage_order_with_entry_first(nodes: set[str], entry_point: str) -> ... FILE: packages/nvidia_nat_app/src/nat_app/graph/static_analysis.py class StaticAnalysisResult (line 78) | class StaticAnalysisResult: method all_writes (line 114) | def all_writes(self) -> AccessSet: class _NodeASTVisitor (line 133) | class _NodeASTVisitor(ast.NodeVisitor): method __init__ (line 140) | def __init__( method _get_base_name_from_subscript (line 189) | def _get_base_name_from_subscript(node: ast.expr) -> str | None: method _get_obj_for_node (line 198) | def _get_obj_for_node(self, node: ast.expr) -> str | None: method _is_state (line 218) | def _is_state(self, node: ast.expr) -> bool: method _extract_string_key (line 221) | def _extract_string_key(self, node: ast.expr) -> str | None: method _is_alias (line 231) | def _is_alias(self, node: ast.expr) -> tuple[str, str] | None: method _extract_nested_path (line 244) | def _extract_nested_path(self, node: ast.expr) -> tuple[str | None, st... method _get_callee_name (line 301) | def _get_callee_name(self, node: ast.Call) -> str | None: method visit_Call (line 308) | def visit_Call(self, node: ast.Call): # pylint: disable=invalid-name method _check_special_calls (line 344) | def _check_special_calls(self, node: ast.Call): method visit_Subscript (line 356) | def visit_Subscript(self, node: ast.Subscript): # pylint: disable=inv... method visit_Attribute (line 374) | def visit_Attribute(self, node: ast.Attribute): # pylint: disable=inv... method visit_Assign (line 384) | def visit_Assign(self, node: ast.Assign): # pylint: disable=invalid-name method visit_AugAssign (line 389) | def visit_AugAssign(self, node: ast.AugAssign): # pylint: disable=inv... method visit_Return (line 407) | def visit_Return(self, node: ast.Return): method visit_Delete (line 415) | def visit_Delete(self, node: ast.Delete): method _handle_assign_target (line 433) | def _handle_assign_target(self, target: ast.expr, value: ast.expr): method _resolve_state_source (line 492) | def _resolve_state_source(self, node: ast.expr) -> tuple[str, str] | N... method _extract_writes_from_expr (line 516) | def _extract_writes_from_expr(self, node: ast.expr): method _lambda_references_state (line 553) | def _lambda_references_state(self, node: ast.Lambda) -> bool: method _extract_dict_keys_as_writes (line 564) | def _extract_dict_keys_as_writes(self, node: ast.Dict, obj: str): method _check_special_in_return (line 579) | def _check_special_in_return(self, node: ast.expr): method _check_state_passed_to_call (line 595) | def _check_state_passed_to_call(self, node: ast.Call): method _resolve_callee (line 699) | def _resolve_callee(self, func_node: ast.expr) -> Callable | None: method _resolve_name (line 720) | def _resolve_name(self, name: str) -> object | None: method _resolve_subscript_container (line 760) | def _resolve_subscript_container(self, node: ast.expr) -> object | None: method _resolve_subscript_key (line 773) | def _resolve_subscript_key(self, node: ast.expr) -> object | None: method _callee_name (line 789) | def _callee_name(func_node: ast.expr) -> str: function _analyze_callee (line 802) | def _analyze_callee( function analyze_function_ast (line 935) | def analyze_function_ast( function _extract_lambda_source (line 1101) | def _extract_lambda_source(source: str) -> str | None: function _get_lambda_param_name (line 1121) | def _get_lambda_param_name(lambda_node: ast.Lambda) -> str | None: function _get_state_param_name (line 1137) | def _get_state_param_name(func_def: ast.FunctionDef | ast.AsyncFunctionD... FILE: packages/nvidia_nat_app/src/nat_app/graph/topology.py class NodeType (line 45) | class NodeType(Enum): class CycleBodyAnalysis (line 57) | class CycleBodyAnalysis: class CycleInfo (line 84) | class CycleInfo: class RouterInfo (line 100) | class RouterInfo: class GraphTopology (line 109) | class GraphTopology: function _build_adj (line 128) | def _build_adj( function detect_cycles (line 148) | def detect_cycles(graph: Graph) -> list[CycleInfo]: function _find_scc_back_edges (line 268) | def _find_scc_back_edges( function _cycle_path_nodes (line 339) | def _cycle_path_nodes( function cycle_node_order (line 391) | def cycle_node_order(cycle: CycleInfo, edges: list[tuple[str, str]]) -> ... function detect_routers (line 423) | def detect_routers(graph: Graph) -> list[RouterInfo]: function analyze_graph_topology (line 450) | def analyze_graph_topology(graph: Graph) -> GraphTopology: function find_router_chains (line 519) | def find_router_chains(topology: GraphTopology) -> list[list[str]]: function get_safe_parallelization_groups (line 571) | def get_safe_parallelization_groups( FILE: packages/nvidia_nat_app/src/nat_app/graph/types.py class PriorityLevel (line 35) | class PriorityLevel(Enum): class ProfiledNodeCost (line 52) | class ProfiledNodeCost: class CostMetric (line 80) | class CostMetric(Enum): class BranchGroupType (line 100) | class BranchGroupType(Enum): class BranchGroup (line 109) | class BranchGroup: class EdgeKind (line 124) | class EdgeKind(Enum): class Edge (line 132) | class Edge: class NodeInfo (line 143) | class NodeInfo: class Graph (line 159) | class Graph: method __init__ (line 197) | def __init__(self) -> None: method minimal (line 213) | def minimal( method add_node (line 253) | def add_node( method has_node (line 272) | def has_node(self, name: str) -> bool: method get_node (line 283) | def get_node(self, name: str) -> NodeInfo: method node_names (line 298) | def node_names(self) -> set[str]: method node_count (line 307) | def node_count(self) -> int: method nodes (line 315) | def nodes(self) -> Iterator[tuple[str, NodeInfo]]: method add_edge (line 325) | def add_edge(self, source: str, target: str, **metadata: Any) -> None: method _remove_conditional_edges_for_source (line 342) | def _remove_conditional_edges_for_source(self, source: str) -> None: method add_conditional_edges (line 354) | def add_conditional_edges( method edges (line 394) | def edges(self) -> list[Edge]: method edge_pairs (line 403) | def edge_pairs(self) -> list[tuple[str, str]]: method edge_count (line 412) | def edge_count(self) -> int: method get_conditional_targets (line 420) | def get_conditional_targets(self, node: str) -> dict[str, list[str]] |... method conditional_edge_sources (line 432) | def conditional_edge_sources(self) -> dict[str, dict[str, list[str]]]: method successors (line 442) | def successors(self, node: str) -> list[str]: method predecessors (line 453) | def predecessors(self, node: str) -> list[str]: method to_adjacency (line 464) | def to_adjacency(self) -> dict[str, list[str]]: method subgraph (line 474) | def subgraph(self, nodes: set[str]) -> Graph: method validate (line 510) | def validate(self) -> list[str]: method _compute_reachable (line 547) | def _compute_reachable(self, start: str) -> set[str]: method structure_hash (line 571) | def structure_hash(self) -> str: method __repr__ (line 587) | def __repr__(self) -> str: method __len__ (line 590) | def __len__(self) -> int: FILE: packages/nvidia_nat_app/src/nat_app/speculation/plan.py class SpeculationPlan (line 34) | class SpeculationPlan: function plan_speculation (line 76) | def plan_speculation( function partition_targets (line 117) | def partition_targets(plan: SpeculationPlan, ) -> tuple[frozenset[str], ... FILE: packages/nvidia_nat_app/src/nat_app/speculation/planner.py class SpeculationPlanner (line 37) | class SpeculationPlanner: method __init__ (line 54) | def __init__(self, strategies: list[SpeculationStrategy]) -> None: method plan (line 57) | def plan( FILE: packages/nvidia_nat_app/src/nat_app/speculation/resolution.py class Resolution (line 35) | class Resolution: class ResolutionPolicy (line 52) | class ResolutionPolicy(Protocol): method resolve (line 60) | def resolve(self, decision_result: Any) -> Resolution: method is_on_chosen_path (line 72) | def is_on_chosen_path(self, node: str, decision_result: Any) -> bool: method get_cancel_set (line 84) | def get_cancel_set(self, decision_result: Any) -> frozenset[str]: FILE: packages/nvidia_nat_app/src/nat_app/speculation/safety.py function speculation_unsafe (line 42) | def speculation_unsafe(cls_or_func: T) -> T: function is_marked_speculation_unsafe (line 71) | def is_marked_speculation_unsafe(obj: Any) -> bool: class SpeculationSafetyConfig (line 89) | class SpeculationSafetyConfig: class RouterDescriptor (line 110) | class RouterDescriptor: FILE: packages/nvidia_nat_app/src/nat_app/speculation/strategies/base.py class SpeculationOpportunity (line 36) | class SpeculationOpportunity: class SpeculationStrategy (line 60) | class SpeculationStrategy(Protocol): method name (line 69) | def name(self) -> str: method priority (line 74) | def priority(self) -> int: method identify (line 78) | def identify( method plan (line 94) | def plan( FILE: packages/nvidia_nat_app/src/nat_app/speculation/strategies/router_branch.py class RouterBranchResolution (line 43) | class RouterBranchResolution: method _resolve_label (line 59) | def _resolve_label(self, chosen: str) -> str: method resolve (line 69) | def resolve(self, decision_result: Any) -> Resolution: method is_on_chosen_path (line 84) | def is_on_chosen_path(self, node: str, decision_result: Any) -> bool: method get_cancel_set (line 99) | def get_cancel_set(self, decision_result: Any) -> frozenset[str]: class RouterBranchStrategy (line 120) | class RouterBranchStrategy: method name (line 129) | def name(self) -> str: method priority (line 134) | def priority(self) -> int: method identify (line 138) | def identify( method plan (line 181) | def plan( function _is_excluded (line 262) | def _is_excluded( FILE: packages/nvidia_nat_app/src/nat_app/stages/edge_classification.py class EdgeClassificationStage (line 30) | class EdgeClassificationStage: method name (line 38) | def name(self) -> str: method apply (line 41) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/src/nat_app/stages/extract.py class ExtractStage (line 28) | class ExtractStage: method __init__ (line 35) | def __init__(self, adapter: AbstractFrameworkAdapter) -> None: method name (line 39) | def name(self) -> str: method apply (line 42) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/src/nat_app/stages/llm_analysis.py class LLMAnalysisStage (line 30) | class LLMAnalysisStage: method __init__ (line 40) | def __init__(self, adapter: AbstractFrameworkAdapter) -> None: method name (line 44) | def name(self) -> str: method apply (line 47) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/src/nat_app/stages/node_analysis.py class NodeAnalysisStage (line 31) | class NodeAnalysisStage: method __init__ (line 38) | def __init__( method name (line 47) | def name(self) -> str: method apply (line 50) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/src/nat_app/stages/priority_assignment.py class PriorityStrategy (line 114) | class PriorityStrategy(Protocol): method assign_group_priorities (line 121) | def assign_group_priorities(self, group: BranchGroup, ceiling: Priorit... class SJFPriorityStrategy (line 135) | class SJFPriorityStrategy: method __init__ (line 146) | def __init__( method assign_group_priorities (line 159) | def assign_group_priorities(self, group: BranchGroup, ceiling: Priorit... method _assign_with_ceiling (line 178) | def _assign_with_ceiling( method _cap_priority (line 188) | def _cap_priority(self, priority: PriorityLevel, ceiling: PriorityLeve... method _active_tier_count (line 193) | def _active_tier_count(self, ratio: float) -> int: method _cost_to_rank (line 203) | def _cost_to_rank(cost: float, mn: float, mx: float, active_tiers: int... method _auto_assign_priority (line 218) | def _auto_assign_priority(self, subtree_costs: list[float]) -> list[Pr... class PriorityAssignmentStage (line 231) | class PriorityAssignmentStage: method __init__ (line 251) | def __init__( method name (line 264) | def name(self) -> str: method apply (line 271) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... method _resolve_cost_source (line 343) | def _resolve_cost_source( method _extract_branch_groups (line 388) | def _extract_branch_groups( method _compute_subtree_cost (line 492) | def _compute_subtree_cost( method _extract_group_source (line 551) | def _extract_group_source(group_name: str) -> str | None: method _resolve_group_ceiling (line 568) | def _resolve_group_ceiling( method _build_group_order (line 605) | def _build_group_order( FILE: packages/nvidia_nat_app/src/nat_app/stages/scheduling.py class SchedulingStage (line 32) | class SchedulingStage: method __init__ (line 40) | def __init__(self, config: OptimizationConfig | None = None) -> None: method name (line 44) | def name(self) -> str: method apply (line 47) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/src/nat_app/stages/topology.py class TopologyStage (line 28) | class TopologyStage: method name (line 36) | def name(self) -> str: method apply (line 39) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/src/nat_app/stages/validate.py class ValidateStage (line 25) | class ValidateStage: method name (line 33) | def name(self) -> str: method apply (line 36) | def apply(self, context: CompilationContext, **kwargs: Any) -> Compila... FILE: packages/nvidia_nat_app/tests/compiler/test_compilation_context.py class TestConstruction (line 22) | class TestConstruction: method test_compiled_stored (line 24) | def test_compiled_stored(self): method test_metadata_default_empty (line 28) | def test_metadata_default_empty(self): method test_metadata_provided (line 32) | def test_metadata_provided(self): class TestPropertyAccessors (line 37) | class TestPropertyAccessors: method test_graph_none_when_missing (line 39) | def test_graph_none_when_missing(self): method test_graph_returns_value (line 43) | def test_graph_returns_value(self): method test_topology_none_when_missing (line 48) | def test_topology_none_when_missing(self): method test_topology_returns_value (line 52) | def test_topology_returns_value(self): method test_node_analyses_none_when_missing (line 57) | def test_node_analyses_none_when_missing(self): method test_node_analyses_returns_value (line 61) | def test_node_analyses_returns_value(self): method test_optimized_order_none_when_missing (line 66) | def test_optimized_order_none_when_missing(self): method test_optimized_order_returns_value (line 70) | def test_optimized_order_returns_value(self): method test_necessary_edges_none_when_missing (line 75) | def test_necessary_edges_none_when_missing(self): method test_necessary_edges_returns_value (line 79) | def test_necessary_edges_returns_value(self): method test_unnecessary_edges_none_when_missing (line 84) | def test_unnecessary_edges_none_when_missing(self): method test_unnecessary_edges_returns_value (line 88) | def test_unnecessary_edges_returns_value(self): class TestMutability (line 94) | class TestMutability: method test_compiled_reassignment (line 96) | def test_compiled_reassignment(self): method test_metadata_mutation_reflected (line 101) | def test_metadata_mutation_reflected(self): method test_metadata_update_changes_property (line 106) | def test_metadata_update_changes_property(self): method test_instance_isolation (line 112) | def test_instance_isolation(self): FILE: packages/nvidia_nat_app/tests/compiler/test_compilation_stage.py class _ConformingStage (line 23) | class _ConformingStage: method name (line 26) | def name(self) -> str: method apply (line 29) | def apply(self, context, **kwargs): class _MissingName (line 33) | class _MissingName: method apply (line 35) | def apply(self, context, **kwargs): class _MissingApply (line 39) | class _MissingApply: method name (line 42) | def name(self) -> str: class TestProtocolConformance (line 46) | class TestProtocolConformance: method test_conforming_is_instance (line 48) | def test_conforming_is_instance(self): method test_missing_name_not_instance (line 52) | def test_missing_name_not_instance(self): method test_missing_apply_not_instance (line 56) | def test_missing_apply_not_instance(self): method test_apply_returns_context (line 60) | def test_apply_returns_context(self): method test_name_property (line 66) | def test_name_property(self): FILE: packages/nvidia_nat_app/tests/compiler/test_compiler.py class _ConcreteCompiler (line 24) | class _ConcreteCompiler(AbstractCompiler): method compile (line 26) | def compile(self, source, **kwargs): class _RejectingCompiler (line 30) | class _RejectingCompiler(_ConcreteCompiler): method validate (line 32) | def validate(self, source): class TestUnsupportedSourceError (line 36) | class TestUnsupportedSourceError: method test_is_value_error (line 38) | def test_is_value_error(self): method test_message (line 41) | def test_message(self): class TestAbstractCompiler (line 46) | class TestAbstractCompiler: method test_cannot_instantiate (line 48) | def test_cannot_instantiate(self): method test_validate_default_true (line 52) | def test_validate_default_true(self): method test_export_default_not_implemented (line 56) | def test_export_default_not_implemented(self): method test_compile (line 61) | def test_compile(self): class TestCompileWith (line 66) | class TestCompileWith: method test_success (line 68) | def test_success(self): method test_validation_fails (line 73) | def test_validation_fails(self): method test_kwargs_forwarded (line 78) | def test_kwargs_forwarded(self): FILE: packages/nvidia_nat_app/tests/compiler/test_default_graph_compiler.py class _DummyStage (line 26) | class _DummyStage: method __init__ (line 28) | def __init__(self, name_val): method name (line 32) | def name(self): method apply (line 35) | def apply(self, context, **kwargs): class TestDefaultStages (line 40) | class TestDefaultStages: method test_six_default_stages (line 42) | def test_six_default_stages(self): method test_stage_names (line 46) | def test_stage_names(self): class TestPrepareFinalize (line 59) | class TestPrepareFinalize: method test_prepare_returns_source (line 61) | def test_prepare_returns_source(self): method test_finalize_returns_context (line 65) | def test_finalize_returns_context(self): class TestAppendInsert (line 71) | class TestAppendInsert: method test_append_stage (line 73) | def test_append_stage(self): method test_insert_stage_after (line 79) | def test_insert_stage_after(self): method test_insert_after_nonexistent_appends (line 86) | def test_insert_after_nonexistent_appends(self): class TestCompileToResult (line 94) | class TestCompileToResult: method test_returns_transformation_result (line 96) | def test_returns_transformation_result(self): class TestEndToEnd (line 106) | class TestEndToEnd: method test_compile_simple_graph (line 108) | def test_compile_simple_graph(self): FILE: packages/nvidia_nat_app/tests/compiler/test_pipelined_compiler.py class _TrackingStage (line 22) | class _TrackingStage: method __init__ (line 24) | def __init__(self, name_val, key="visited"): method name (line 29) | def name(self): method apply (line 32) | def apply(self, context, **kwargs): class _TestPipelinedCompiler (line 37) | class _TestPipelinedCompiler(AbstractPipelinedCompiler): method default_stages (line 39) | def default_stages(self): method prepare (line 42) | def prepare(self, source, **kwargs): class TestStageInitialization (line 46) | class TestStageInitialization: method test_uses_provided_stages (line 48) | def test_uses_provided_stages(self): method test_uses_default_stages (line 54) | def test_uses_default_stages(self): method test_stages_is_tuple (line 59) | def test_stages_is_tuple(self): class TestCompilePipeline (line 64) | class TestCompilePipeline: method test_stages_run_in_order (line 66) | def test_stages_run_in_order(self): method test_last_context_stored (line 72) | def test_last_context_stored(self): method test_prepare_called (line 78) | def test_prepare_called(self): method test_finalize_returns_compiled (line 83) | def test_finalize_returns_compiled(self): class TestSeedContext (line 89) | class TestSeedContext: method test_seed_context_called (line 91) | def test_seed_context_called(self): class TestFinalize (line 103) | class TestFinalize: method test_finalize_override (line 105) | def test_finalize_override(self): FILE: packages/nvidia_nat_app/tests/conftest.py function _suppress_experimental_warning (line 27) | def _suppress_experimental_warning(): class MinimalAdapter (line 38) | class MinimalAdapter(AbstractFrameworkAdapter): method extract (line 41) | def extract(self, source): method build (line 44) | def build(self, original, result): function make_node (line 48) | def make_node( FILE: packages/nvidia_nat_app/tests/constraints/test_decorators.py class TestSequential (line 25) | class TestSequential: method test_sets_force_sequential (line 27) | def test_sets_force_sequential(self): method test_sets_has_side_effects (line 36) | def test_sets_has_side_effects(self): method test_stores_reason (line 44) | def test_stores_reason(self): method test_default_reason_when_omitted (line 52) | def test_default_reason_when_omitted(self): method test_returns_original_function (line 60) | def test_returns_original_function(self): method test_constraints_type (line 68) | def test_constraints_type(self): class TestDependsOn (line 77) | class TestDependsOn: method test_populates_depends_on_set (line 79) | def test_populates_depends_on_set(self): method test_single_dependency (line 88) | def test_single_dependency(self): method test_stores_reason (line 96) | def test_stores_reason(self): method test_no_reason_leaves_none (line 104) | def test_no_reason_leaves_none(self): method test_does_not_set_force_sequential (line 112) | def test_does_not_set_force_sequential(self): method test_returns_original_function (line 120) | def test_returns_original_function(self): class TestHasSideEffects (line 129) | class TestHasSideEffects: method test_sets_has_side_effects (line 131) | def test_sets_has_side_effects(self): method test_does_not_set_force_sequential (line 139) | def test_does_not_set_force_sequential(self): method test_stores_reason (line 147) | def test_stores_reason(self): method test_default_reason_when_omitted (line 155) | def test_default_reason_when_omitted(self): method test_returns_original_function (line 163) | def test_returns_original_function(self): class TestDecoratorStacking (line 172) | class TestDecoratorStacking: method test_sequential_plus_depends_on (line 174) | def test_sequential_plus_depends_on(self): method test_has_side_effects_plus_depends_on (line 185) | def test_has_side_effects_plus_depends_on(self): method test_multiple_depends_on_accumulate (line 197) | def test_multiple_depends_on_accumulate(self): FILE: packages/nvidia_nat_app/tests/constraints/test_models.py class TestNodeConstraints (line 24) | class TestNodeConstraints: method test_defaults (line 26) | def test_defaults(self): method test_mutable_depends_on (line 34) | def test_mutable_depends_on(self): method test_instances_do_not_share_depends_on (line 39) | def test_instances_do_not_share_depends_on(self): class TestResolvedConstraints (line 46) | class TestResolvedConstraints: method test_defaults (line 48) | def test_defaults(self): method test_instances_do_not_share_reasons (line 57) | def test_instances_do_not_share_reasons(self): class TestOptimizationConfig (line 64) | class TestOptimizationConfig: method test_defaults (line 66) | def test_defaults(self): method test_default_keywords_contain_common_terms (line 75) | def test_default_keywords_contain_common_terms(self): method test_conservative_factory (line 81) | def test_conservative_factory(self): method test_aggressive_factory (line 86) | def test_aggressive_factory(self): method test_instances_do_not_share_sets (line 91) | def test_instances_do_not_share_sets(self): FILE: packages/nvidia_nat_app/tests/constraints/test_resolution.py function plain_fn (line 32) | def plain_fn(state): function sequential_fn (line 37) | def sequential_fn(state): function dependent_fn (line 42) | def dependent_fn(state): function side_effect_fn (line 47) | def side_effect_fn(state): class TestGetConstraints (line 54) | class TestGetConstraints: method test_returns_none_for_undecorated (line 56) | def test_returns_none_for_undecorated(self): method test_returns_constraints_for_decorated (line 59) | def test_returns_constraints_for_decorated(self): method test_returns_depends_on (line 64) | def test_returns_depends_on(self): class TestResolveConstraints (line 73) | class TestResolveConstraints: method test_undecorated_with_default_config (line 75) | def test_undecorated_with_default_config(self): method test_decorator_sets_force_sequential (line 81) | def test_decorator_sets_force_sequential(self): method test_decorator_sets_side_effects (line 87) | def test_decorator_sets_side_effects(self): method test_config_force_sequential (line 92) | def test_config_force_sequential(self): method test_config_explicit_dependencies (line 98) | def test_config_explicit_dependencies(self): method test_config_side_effect_nodes (line 103) | def test_config_side_effect_nodes(self): method test_heuristic_keyword_match (line 108) | def test_heuristic_keyword_match(self): method test_trust_analysis_suppresses_heuristic (line 114) | def test_trust_analysis_suppresses_heuristic(self): method test_disable_parallelization_forces_sequential (line 119) | def test_disable_parallelization_forces_sequential(self): method test_none_func_skips_decorator_check (line 124) | def test_none_func_skips_decorator_check(self): method test_decorator_priority_over_config (line 129) | def test_decorator_priority_over_config(self): method test_decorator_depends_on_merged (line 134) | def test_decorator_depends_on_merged(self): class TestApplyConstraintsToAnalysis (line 143) | class TestApplyConstraintsToAnalysis: method test_builds_per_node_constraints (line 145) | def test_builds_per_node_constraints(self): method test_warns_for_side_effect_nodes (line 156) | def test_warns_for_side_effect_nodes(self): method test_no_warning_for_sequential_side_effect (line 166) | def test_no_warning_for_sequential_side_effect(self): class TestMergeDependencies (line 180) | class TestMergeDependencies: method test_merges_data_and_constraint_deps (line 182) | def test_merges_data_and_constraint_deps(self): method test_preserves_original_data_deps (line 193) | def test_preserves_original_data_deps(self): method test_adds_missing_nodes (line 202) | def test_adds_missing_nodes(self): FILE: packages/nvidia_nat_app/tests/executors/test_execution_state.py class TestExecutionStateDefaults (line 22) | class TestExecutionStateDefaults: method test_fresh_state_has_zeroed_counters (line 24) | def test_fresh_state_has_zeroed_counters(self): method test_fresh_state_has_empty_collections (line 30) | def test_fresh_state_has_empty_collections(self): method test_execution_start_time_defaults_to_zero (line 40) | def test_execution_start_time_defaults_to_zero(self): class TestMarkNodeReady (line 45) | class TestMarkNodeReady: method test_adds_to_ready_nodes (line 47) | def test_adds_to_ready_nodes(self): method test_multiple_nodes (line 52) | def test_multiple_nodes(self): method test_idempotent (line 58) | def test_idempotent(self): class TestMarkNodeCompleted (line 65) | class TestMarkNodeCompleted: method test_stores_result (line 67) | def test_stores_result(self): method test_increments_tools_completed (line 72) | def test_increments_tools_completed(self): method test_increments_execution_count (line 77) | def test_increments_execution_count(self): method test_none_result_stores_empty_dict (line 83) | def test_none_result_stores_empty_dict(self): class TestMarkNodeCancelled (line 89) | class TestMarkNodeCancelled: method test_adds_to_cancelled_nodes (line 91) | def test_adds_to_cancelled_nodes(self): method test_increments_tools_cancelled (line 96) | def test_increments_tools_cancelled(self): class TestRecordDecision (line 102) | class TestRecordDecision: method test_stores_decision (line 104) | def test_stores_decision(self): method test_stores_iteration (line 109) | def test_stores_iteration(self): method test_stores_in_completed_nodes (line 114) | def test_stores_in_completed_nodes(self): class TestClearForReexecution (line 120) | class TestClearForReexecution: method test_removes_from_completed (line 122) | def test_removes_from_completed(self): method test_removes_speculation_decision (line 128) | def test_removes_speculation_decision(self): method test_no_error_if_not_present (line 134) | def test_no_error_if_not_present(self): class TestRecordTimelineEvent (line 139) | class TestRecordTimelineEvent: method test_appends_event (line 141) | def test_appends_event(self): method test_event_shape (line 147) | def test_event_shape(self): method test_cancelled_status (line 159) | def test_cancelled_status(self): class TestRecordNodeDuration (line 166) | class TestRecordNodeDuration: method test_appends_duration (line 168) | def test_appends_duration(self): method test_multiple_durations (line 173) | def test_multiple_durations(self): FILE: packages/nvidia_nat_app/tests/executors/test_metrics.py class TestSpeedupProperties (line 23) | class TestSpeedupProperties: method test_speedup_ratio (line 25) | def test_speedup_ratio(self): method test_speedup_pct (line 35) | def test_speedup_pct(self): method test_speedup_ratio_when_total_is_zero (line 45) | def test_speedup_ratio_when_total_is_zero(self): method test_no_speedup (line 55) | def test_no_speedup(self): class TestToDict (line 67) | class TestToDict: method test_includes_required_keys (line 69) | def test_includes_required_keys(self): method test_includes_speedup_when_sequential_positive (line 84) | def test_includes_speedup_when_sequential_positive(self): method test_omits_speedup_when_sequential_zero (line 96) | def test_omits_speedup_when_sequential_zero(self): method test_omits_iterations_when_zero (line 107) | def test_omits_iterations_when_zero(self): method test_includes_iterations_when_nonzero (line 119) | def test_includes_iterations_when_nonzero(self): method test_omits_profiling_when_empty (line 131) | def test_omits_profiling_when_empty(self): method test_includes_profiling_when_present (line 142) | def test_includes_profiling_when_present(self): class TestFromExecutionState (line 155) | class TestFromExecutionState: method fixture_populated_state (line 158) | def fixture_populated_state(self): method test_basic_fields (line 170) | def test_basic_fields(self, populated_state): method test_speculation_decisions_copied (line 177) | def test_speculation_decisions_copied(self, populated_state): method test_timeline_copied (line 181) | def test_timeline_copied(self, populated_state): method test_sequential_time_estimated (line 185) | def test_sequential_time_estimated(self, populated_state): method test_iterations_stored (line 189) | def test_iterations_stored(self, populated_state): method test_from_empty_state (line 193) | def test_from_empty_state(self): FILE: packages/nvidia_nat_app/tests/executors/test_result_handler.py class TestShouldMerge (line 22) | class TestShouldMerge: method fixture_handler (line 25) | def fixture_handler(self): method test_none_result (line 28) | def test_none_result(self, handler): method test_dict_result (line 33) | def test_dict_result(self, handler): method test_empty_dict (line 38) | def test_empty_dict(self, handler): method test_list_result (line 43) | def test_list_result(self, handler): method test_callable_result (line 48) | def test_callable_result(self, handler): method test_unknown_type (line 53) | def test_unknown_type(self, handler): method test_string_is_unknown (line 58) | def test_string_is_unknown(self, handler): class TestCustomCommandChecker (line 64) | class TestCustomCommandChecker: method test_command_object_detected (line 66) | def test_command_object_detected(self): method test_non_command_not_affected (line 76) | def test_non_command_not_affected(self): class TestLogResult (line 83) | class TestLogResult: method fixture_handler (line 86) | def fixture_handler(self): method test_log_none (line 89) | def test_log_none(self, handler): method test_log_dict (line 92) | def test_log_dict(self, handler): method test_log_list (line 95) | def test_log_list(self, handler): method test_log_callable (line 98) | def test_log_callable(self, handler): method test_log_command (line 101) | def test_log_command(self, handler): method test_log_unknown (line 104) | def test_log_unknown(self, handler): FILE: packages/nvidia_nat_app/tests/executors/test_runner.py function _make_plan (line 30) | def _make_plan( function _slow_node (line 54) | async def _slow_node(name: str, delay: float = 0.05, result: str | None ... class _RaisingResolution (line 59) | class _RaisingResolution: method resolve (line 61) | def resolve(self, _label: str): class TestRunSpeculativeRouter (line 68) | class TestRunSpeculativeRouter: method test_basic_left_chosen (line 70) | async def test_basic_left_chosen(self): method test_basic_right_chosen (line 95) | async def test_basic_right_chosen(self): method test_metrics_tracked (line 112) | async def test_metrics_tracked(self): method test_router_decision_recorded (line 131) | async def test_router_decision_recorded(self): method test_timeline_events_recorded (line 146) | async def test_timeline_events_recorded(self): method test_no_cancel_map_entry (line 166) | async def test_no_cancel_map_entry(self): method test_single_target (line 183) | async def test_single_target(self): method test_fast_target_already_done_before_router (line 201) | async def test_fast_target_already_done_before_router(self): method test_non_dict_results (line 224) | async def test_non_dict_results(self): method test_cancel_map_references_node_not_in_targets (line 244) | async def test_cancel_map_references_node_not_in_targets(self): method test_cancelled_task_already_done_before_cancel (line 263) | async def test_cancelled_task_already_done_before_cancel(self): method test_chosen_target_raises_continues_without_crash (line 286) | async def test_chosen_target_raises_continues_without_crash(self): method test_decision_task_raises_cancels_targets (line 319) | async def test_decision_task_raises_cancels_targets(self): method test_get_decision_raises_cancels_targets (line 337) | async def test_get_decision_raises_cancels_targets(self): method test_resolution_resolve_raises_cancels_targets (line 359) | async def test_resolution_resolve_raises_cancels_targets(self): class TestSpeculativeResultDataclass (line 388) | class TestSpeculativeResultDataclass: method test_frozen (line 390) | def test_frozen(self): method test_fields (line 403) | def test_fields(self): class TestPublicRunnerImports (line 418) | class TestPublicRunnerImports: method test_importable_from_nat_app (line 420) | def test_importable_from_nat_app(self): method test_importable_from_executors (line 426) | def test_importable_from_executors(self): FILE: packages/nvidia_nat_app/tests/graph/conftest.py function linear_graph (line 22) | def linear_graph() -> Graph: function cycle_graph (line 34) | def cycle_graph() -> Graph: function router_graph (line 47) | def router_graph() -> Graph: function diamond_graph (line 63) | def diamond_graph() -> Graph: function simple_graph (line 78) | def simple_graph() -> Graph: function nested_cycle_graph (line 94) | def nested_cycle_graph() -> Graph: function disjoint_cycles_graph (line 115) | def disjoint_cycles_graph() -> Graph: function parallelizable_cycle_graph (line 136) | def parallelizable_cycle_graph() -> Graph: function overlapping_cycles_graph (line 154) | def overlapping_cycles_graph() -> Graph: FILE: packages/nvidia_nat_app/tests/graph/test_access.py function test_accessset_flat_overlaps (line 25) | def test_accessset_flat_overlaps(): function test_accessset_flat_no_overlap (line 32) | def test_accessset_flat_no_overlap(): function test_accessset_nested_overlap_parent_child (line 38) | def test_accessset_nested_overlap_parent_child(): function test_accessset_nested_no_overlap_siblings (line 46) | def test_accessset_nested_no_overlap_siblings(): function test_accessset_multi_object_no_cross_overlap (line 52) | def test_accessset_multi_object_no_cross_overlap(): function test_accessset_reducers (line 60) | def test_accessset_reducers(): function test_accessset_add_flat (line 67) | def test_accessset_add_flat(): function test_accessset_from_set (line 75) | def test_accessset_from_set(): function test_accessset_and_intersection (line 81) | def test_accessset_and_intersection(): function test_accessset_sub_with_accessset (line 88) | def test_accessset_sub_with_accessset(): function test_accessset_sub_with_reducerset (line 95) | def test_accessset_sub_with_reducerset(): function test_accessset_objects (line 102) | def test_accessset_objects(): function test_accessset_fields_per_object (line 109) | def test_accessset_fields_per_object(): function test_conflict_write_child_read_parent (line 122) | def test_conflict_write_child_read_parent(): function test_no_conflict_write_sibling_paths (line 130) | def test_no_conflict_write_sibling_paths(): function test_conflict_both_write_same_nested (line 138) | def test_conflict_both_write_same_nested(): class NestedState (line 149) | class NestedState(TypedDict): function nested_write_fn (line 155) | def nested_write_fn(state: NestedState): function nested_read_fn (line 161) | def nested_read_fn(state: NestedState): function nested_augassign_fn (line 167) | def nested_augassign_fn(state: NestedState): function flat_fn (line 173) | def flat_fn(state: NestedState): function mixed_fn (line 179) | def mixed_fn(state: NestedState): function test_ast_nested_write (line 186) | def test_ast_nested_write(): function test_ast_nested_read (line 191) | def test_ast_nested_read(): function test_ast_nested_augassign (line 197) | def test_ast_nested_augassign(): function test_ast_flat_stays_flat (line 202) | def test_ast_flat_stays_flat(): function test_ast_mixed_goes_nested (line 208) | def test_ast_mixed_goes_nested(): function attr_write_fn (line 217) | def attr_write_fn(memory): function attr_deep_write_fn (line 223) | def attr_deep_write_fn(memory): function attr_augassign_fn (line 229) | def attr_augassign_fn(memory): function attr_delete_fn (line 235) | def attr_delete_fn(memory): function attr_mutating_method_fn (line 241) | def attr_mutating_method_fn(memory): function attr_read_fn (line 247) | def attr_read_fn(memory): function attr_mixed_rw_fn (line 253) | def attr_mixed_rw_fn(memory): function test_attr_write (line 260) | def test_attr_write(): function test_attr_deep_write (line 265) | def test_attr_deep_write(): function test_attr_augassign (line 271) | def test_attr_augassign(): function test_attr_delete (line 277) | def test_attr_delete(): function test_attr_mutating_method (line 282) | def test_attr_mutating_method(): function test_attr_read (line 288) | def test_attr_read(): function test_attr_mixed_rw (line 293) | def test_attr_mixed_rw(): function test_attr_no_conflict_different_objects (line 299) | def test_attr_no_conflict_different_objects(): function test_attr_conflict_same_object_same_field (line 312) | def test_attr_conflict_same_object_same_field(): FILE: packages/nvidia_nat_app/tests/graph/test_adapter.py class _MinimalAdapter (line 22) | class _MinimalAdapter(AbstractFrameworkAdapter): method extract (line 24) | def extract(self, source): method build (line 29) | def build(self, original, result): class TestAbstractMethods (line 33) | class TestAbstractMethods: method test_cannot_instantiate_base_class (line 35) | def test_cannot_instantiate_base_class(self): method test_subclass_missing_extract_cannot_instantiate (line 39) | def test_subclass_missing_extract_cannot_instantiate(self): method test_subclass_missing_build_cannot_instantiate (line 49) | def test_subclass_missing_build_cannot_instantiate(self): class TestDefaults (line 62) | class TestDefaults: method test_default_return_values (line 78) | def test_default_return_values(self, method, args, expected): method test_map_profiler_function_default (line 82) | def test_map_profiler_function_default(self): class TestAnalyzeNode (line 87) | class TestAnalyzeNode: method test_source_available (line 89) | def test_source_available(self): method test_source_unavailable (line 101) | def test_source_unavailable(self): method test_schema_fallback_on_opaque (line 107) | def test_schema_fallback_on_opaque(self): method test_warnings_aggregated (line 113) | def test_warnings_aggregated(self): FILE: packages/nvidia_nat_app/tests/graph/test_analysis.py class TestConflictsWith (line 29) | class TestConflictsWith: method test_conflict_detection (line 70) | def test_conflict_detection(self, a_kwargs, b_kwargs, expected): method test_reducer_excludes_write_write (line 75) | def test_reducer_excludes_write_write(self): method test_reducer_does_not_exclude_read_write (line 81) | def test_reducer_does_not_exclude_read_write(self): class TestPropertySetters (line 91) | class TestPropertySetters: method test_state_reads_getter (line 93) | def test_state_reads_getter(self): method test_state_reads_setter (line 97) | def test_state_reads_setter(self): method test_state_writes_getter (line 103) | def test_state_writes_getter(self): method test_state_writes_setter (line 107) | def test_state_writes_setter(self): method test_repr (line 112) | def test_repr(self): class TestBuildDependencyGraph (line 122) | class TestBuildDependencyGraph: method test_empty (line 124) | def test_empty(self): method test_no_dependencies (line 128) | def test_no_dependencies(self): method test_write_read_dependency (line 137) | def test_write_read_dependency(self): method test_reducer_exclusion (line 146) | def test_reducer_exclusion(self): method test_bidirectional_dependency (line 155) | def test_bidirectional_dependency(self): class TestFindParallelGroups (line 168) | class TestFindParallelGroups: method test_independent_pair (line 170) | def test_independent_pair(self): method test_no_parallel_groups (line 180) | def test_no_parallel_groups(self): method test_three_node_parallel (line 189) | def test_three_node_parallel(self): method test_dependency_prevents_grouping (line 199) | def test_dependency_prevents_grouping(self): method test_transitive_merge_respects_dependencies (line 210) | def test_transitive_merge_respects_dependencies(self): class TestGraphAnalysisResult (line 227) | class TestGraphAnalysisResult: method test_defaults (line 229) | def test_defaults(self): method test_get_execution_order_linear (line 235) | def test_get_execution_order_linear(self): method test_get_execution_order_parallel (line 253) | def test_get_execution_order_parallel(self): method test_get_execution_order_circular (line 270) | def test_get_execution_order_circular(self): FILE: packages/nvidia_nat_app/tests/graph/test_factory.py function _dummy (line 23) | def _dummy(state): class TestBuildGraphAndAdapter (line 27) | class TestBuildGraphAndAdapter: method test_basic_graph_and_adapter (line 29) | def test_basic_graph_and_adapter(self): method test_with_conditional_edges (line 40) | def test_with_conditional_edges(self): method test_adapter_get_self_state_attrs_returns_provided (line 50) | def test_adapter_get_self_state_attrs_returns_provided(self): method test_adapter_get_self_state_attrs_none_when_not_provided (line 59) | def test_adapter_get_self_state_attrs_none_when_not_provided(self): method test_entry_point_explicit (line 66) | def test_entry_point_explicit(self): method test_terminal_nodes_set (line 74) | def test_terminal_nodes_set(self): FILE: packages/nvidia_nat_app/tests/graph/test_llm_detection.py class _FakeLLM (line 28) | class _FakeLLM: method invoke (line 31) | def invoke(self, prompt: str) -> str: method ainvoke (line 34) | def ainvoke(self, prompt: str) -> str: method stream (line 37) | def stream(self, prompt: str): class _MockDetector (line 41) | class _MockDetector: method invocation_methods (line 45) | def invocation_methods(self) -> frozenset[str]: method is_llm (line 48) | def is_llm(self, obj) -> bool: class TestDiscoverLLMNames (line 59) | class TestDiscoverLLMNames: method test_closure_captured_llm (line 61) | def test_closure_captured_llm(self): method test_global_llm (line 71) | def test_global_llm(self): method test_self_attribute_llm (line 76) | def test_self_attribute_llm(self): method test_dict_registry (line 90) | def test_dict_registry(self): method test_list_container (line 99) | def test_list_container(self): method test_nested_object_attribute (line 108) | def test_nested_object_attribute(self): method test_no_llm_returns_empty (line 122) | def test_no_llm_returns_empty(self): method test_non_callable_returns_empty (line 131) | def test_non_callable_returns_empty(self): function _func_using_global_llm (line 140) | def _func_using_global_llm(state): class TestCountLLMCalls (line 149) | class TestCountLLMCalls: method test_single_call (line 151) | def test_single_call(self): method test_multiple_calls_sequential (line 162) | def test_multiple_calls_sequential(self): method test_if_else_takes_max (line 173) | def test_if_else_takes_max(self): method test_loop_multiplier (line 187) | def test_loop_multiplier(self): method test_no_llm_returns_zero (line 199) | def test_no_llm_returns_zero(self): method test_self_attribute_calls (line 209) | def test_self_attribute_calls(self): method test_ainvoke_counted (line 224) | def test_ainvoke_counted(self): method test_llm_call_info_defaults (line 233) | def test_llm_call_info_defaults(self): method test_nested_if_else_takes_max (line 240) | def test_nested_if_else_takes_max(self): method test_try_except_takes_max (line 255) | def test_try_except_takes_max(self): method test_match_includes_subject_and_guard (line 267) | def test_match_includes_subject_and_guard(self): method test_with_includes_context_expr (line 281) | def test_with_includes_context_expr(self): method test_loop_includes_iter (line 291) | def test_loop_includes_iter(self): method test_dynamic_receiver_sets_partial_confidence (line 301) | def test_dynamic_receiver_sets_partial_confidence(self): method test_llm_call_info_with_values (line 313) | def test_llm_call_info_with_values(self): FILE: packages/nvidia_nat_app/tests/graph/test_models.py function _minimal_graph (line 32) | def _minimal_graph() -> Graph: function _minimal_analyses (line 40) | def _minimal_analyses() -> dict[str, NodeAnalysis]: class TestEdgeType (line 50) | class TestEdgeType: method test_enum_values (line 61) | def test_enum_values(self, member, value): method test_all_members (line 64) | def test_all_members(self): class TestEdgeAnalysis (line 71) | class TestEdgeAnalysis: method test_required_fields (line 73) | def test_required_fields(self): method test_defaults (line 79) | def test_defaults(self): method test_shared_fields_populated (line 84) | def test_shared_fields_populated(self): method test_instance_isolation (line 95) | def test_instance_isolation(self): class TestBranchInfo (line 105) | class TestBranchInfo: method test_fields (line 107) | def test_fields(self): method test_empty_branches (line 121) | def test_empty_branches(self): class TestCompilationResult (line 134) | class TestCompilationResult: method test_stages_alias (line 136) | def test_stages_alias(self): method test_speedup_estimate (line 155) | def test_speedup_estimate(self, optimized_order, expected): method test_optional_defaults (line 165) | def test_optional_defaults(self): class TestTransformationResult (line 181) | class TestTransformationResult: method test_inherits_compilation_result (line 183) | def test_inherits_compilation_result(self): method test_field_defaults (line 186) | def test_field_defaults(self): method test_stages_property_inherited (line 201) | def test_stages_property_inherited(self): method test_speedup_estimate_inherited (line 211) | def test_speedup_estimate_inherited(self): FILE: packages/nvidia_nat_app/tests/graph/test_optimizer.py class TestGraphValidationError (line 28) | class TestGraphValidationError: method test_is_value_error (line 30) | def test_is_value_error(self): method test_issues_stored (line 33) | def test_issues_stored(self): method test_message_contains_issues (line 37) | def test_message_contains_issues(self): class TestGraphOptimizer (line 42) | class TestGraphOptimizer: method test_optimize_simple_graph (line 44) | def test_optimize_simple_graph(self): method test_default_config (line 60) | def test_default_config(self): method test_optimize_and_build_equivalent_to_two_step (line 64) | def test_optimize_and_build_equivalent_to_two_step(self): class TestContextToResult (line 86) | class TestContextToResult: method test_complete_context (line 88) | def test_complete_context(self): method test_missing_optional_keys (line 117) | def test_missing_optional_keys(self): FILE: packages/nvidia_nat_app/tests/graph/test_scheduling.py class TestClassifyEdges (line 34) | class TestClassifyEdges: method test_necessary_edge (line 36) | def test_necessary_edge(self): method test_unnecessary_edge (line 49) | def test_unnecessary_edge(self): method test_unknown_missing_analysis (line 61) | def test_unknown_missing_analysis(self): method test_conditional_edge (line 69) | def test_conditional_edge(self): method test_incomplete_confidence_kept_necessary (line 82) | def test_incomplete_confidence_kept_necessary(self): method test_reducer_only_overlap_unnecessary (line 94) | def test_reducer_only_overlap_unnecessary(self): method test_reducer_plus_non_reducer_overlap_necessary (line 109) | def test_reducer_plus_non_reducer_overlap_necessary(self): class TestComputeBranchInfo (line 125) | class TestComputeBranchInfo: method test_no_routers (line 127) | def test_no_routers(self): method test_single_router (line 137) | def test_single_router(self): class TestAnalyzeCycleBody (line 157) | class TestAnalyzeCycleBody: method test_small_cycle_no_parallelism (line 159) | def test_small_cycle_no_parallelism(self): method test_parallelizable_cycle (line 182) | def test_parallelizable_cycle(self): class TestComputeOptimizedOrder (line 208) | class TestComputeOptimizedOrder: method test_linear_chain (line 210) | def test_linear_chain(self): method test_diamond_parallelism (line 228) | def test_diamond_parallelism(self): method test_disable_parallelization (line 240) | def test_disable_parallelization(self): method test_all_nodes_present (line 252) | def test_all_nodes_present(self): method test_missing_nodes_treated_as_opaque (line 262) | def test_missing_nodes_treated_as_opaque(self): method test_write_write_conflict_serializes_nodes (line 279) | def test_write_write_conflict_serializes_nodes(self): class TestComputeOptimizedOrderMultiCycle (line 294) | class TestComputeOptimizedOrderMultiCycle: method test_nested_cycles_all_nodes_present (line 297) | def test_nested_cycles_all_nodes_present(self): method test_nested_cycles_ordering (line 307) | def test_nested_cycles_ordering(self): method test_disjoint_cycles_all_nodes_present (line 325) | def test_disjoint_cycles_all_nodes_present(self): method test_disjoint_cycles_entry_before_cycles (line 335) | def test_disjoint_cycles_entry_before_cycles(self): method test_overlapping_cycles_all_nodes_present (line 350) | def test_overlapping_cycles_all_nodes_present(self): FILE: packages/nvidia_nat_app/tests/graph/test_static_analysis.py class TestAnalyzeFunctionAST (line 23) | class TestAnalyzeFunctionAST: method test_dict_read_via_subscript (line 25) | def test_dict_read_via_subscript(self): method test_dict_read_via_get (line 34) | def test_dict_read_via_get(self): method test_dict_write_via_return (line 43) | def test_dict_write_via_return(self): method test_mutating_method_append (line 51) | def test_mutating_method_append(self): method test_mutating_method_update (line 60) | def test_mutating_method_update(self): method test_source_unavailable_for_builtin (line 69) | def test_source_unavailable_for_builtin(self): method test_dynamic_key_flagged (line 73) | def test_dynamic_key_flagged(self): method test_special_call_detection (line 82) | def test_special_call_detection(self): method test_lambda_analysis (line 91) | def test_lambda_analysis(self): method test_starred_unpacking_no_crash (line 97) | def test_starred_unpacking_no_crash(self): method test_confidence_full_simple (line 109) | def test_confidence_full_simple(self): method test_self_state_attrs (line 118) | def test_self_state_attrs(self): method test_augassign_detected (line 130) | def test_augassign_detected(self): method test_no_params_warning (line 140) | def test_no_params_warning(self): method test_async_function (line 148) | def test_async_function(self): class TestDelete (line 158) | class TestDelete: method test_del_state_subscript (line 160) | def test_del_state_subscript(self): method test_del_closure_subscript (line 169) | def test_del_closure_subscript(self): class TestReturnDictSpread (line 180) | class TestReturnDictSpread: method test_return_dict_spread (line 182) | def test_return_dict_spread(self): method test_return_dict_non_literal_key (line 191) | def test_return_dict_non_literal_key(self): class TestStatePassedToCall (line 202) | class TestStatePassedToCall: method test_state_passed_to_unresolved (line 204) | def test_state_passed_to_unresolved(self): method test_state_index_passed_to_unresolved (line 213) | def test_state_index_passed_to_unresolved(self): class TestKnownSafeAttrs (line 224) | class TestKnownSafeAttrs: method test_state_copy_full_confidence (line 226) | def test_state_copy_full_confidence(self): method test_state_keys_full_confidence (line 237) | def test_state_keys_full_confidence(self): class TestParamToObj (line 246) | class TestParamToObj: method test_multi_param_tracks_both (line 248) | def test_multi_param_tracks_both(self): method test_empty_param_to_obj_raises (line 259) | def test_empty_param_to_obj_raises(self): method test_vararg_state_access (line 268) | def test_vararg_state_access(self): class TestRecursionDepth (line 280) | class TestRecursionDepth: method test_recursion_depth_hit (line 282) | def test_recursion_depth_hit(self): method test_recursion_depth_configurable (line 309) | def test_recursion_depth_configurable(self): class TestStaticAnalysisResult (line 331) | class TestStaticAnalysisResult: method test_all_writes_combines (line 333) | def test_all_writes_combines(self): method test_defaults (line 342) | def test_defaults(self): class TestUncertaintyFlags (line 356) | class TestUncertaintyFlags: method test_has_dynamic_exec (line 358) | def test_has_dynamic_exec(self): method test_has_dynamic_exec_eval (line 367) | def test_has_dynamic_exec_eval(self): method test_has_closure_write (line 376) | def test_has_closure_write(self): method test_has_global_write (line 386) | def test_has_global_write(self): method test_has_unknown_attr_access (line 395) | def test_has_unknown_attr_access(self): method test_has_return_lambda_mutates_state (line 404) | def test_has_return_lambda_mutates_state(self): method test_has_dynamic_attr (line 412) | def test_has_dynamic_attr(self): method test_state_as_receiver_unresolved (line 421) | def test_state_as_receiver_unresolved(self): method test_augassign_closure_write (line 430) | def test_augassign_closure_write(self): method test_augassign_global_write (line 440) | def test_augassign_global_write(self): method test_has_dynamic_exec_compile (line 449) | def test_has_dynamic_exec_compile(self): class TestChainedSubscript (line 459) | class TestChainedSubscript: method test_chained_subscript_read (line 461) | def test_chained_subscript_read(self): method test_chained_subscript_write (line 470) | def test_chained_subscript_write(self): FILE: packages/nvidia_nat_app/tests/graph/test_topology.py class TestDetectCycles (line 35) | class TestDetectCycles: method test_no_cycles (line 37) | def test_no_cycles(self): method test_simple_cycle (line 41) | def test_simple_cycle(self): method test_cycle_entry_and_exit (line 46) | def test_cycle_entry_and_exit(self): method test_self_loop_detected (line 54) | def test_self_loop_detected(self): method test_single_node_no_self_loop_not_cycle (line 68) | def test_single_node_no_self_loop_not_cycle(self): method test_self_loop_in_scc_returns_only_self_loop_node (line 76) | def test_self_loop_in_scc_returns_only_self_loop_node(self): method test_fallback_uses_entry_order_for_exit_entry (line 93) | def test_fallback_uses_entry_order_for_exit_entry(self): method test_fallback_without_entry_order_uses_lexicographic_entry (line 106) | def test_fallback_without_entry_order_uses_lexicographic_entry(self): class TestCycleNodeOrder (line 119) | class TestCycleNodeOrder: method test_order_starts_at_entry (line 121) | def test_order_starts_at_entry(self): method test_all_nodes_present (line 127) | def test_all_nodes_present(self): class TestDetectRouters (line 134) | class TestDetectRouters: method test_no_routers (line 136) | def test_no_routers(self): method test_single_router (line 140) | def test_single_router(self): method test_router_branches (line 145) | def test_router_branches(self): class TestAnalyzeGraphTopology (line 152) | class TestAnalyzeGraphTopology: method test_linear_all_regular (line 154) | def test_linear_all_regular(self): method test_cycle_node_types (line 159) | def test_cycle_node_types(self): method test_router_node_type (line 165) | def test_router_node_type(self): class TestFindRouterChains (line 170) | class TestFindRouterChains: method test_no_chains_single_router (line 172) | def test_no_chains_single_router(self): method test_chain_detected (line 177) | def test_chain_detected(self): class TestDetectCyclesMultiCycle (line 195) | class TestDetectCyclesMultiCycle: method test_nested_cycles_both_found (line 198) | def test_nested_cycles_both_found(self): method test_nested_shared_node_in_both (line 209) | def test_nested_shared_node_in_both(self): method test_disjoint_cycles_both_found (line 214) | def test_disjoint_cycles_both_found(self): method test_overlapping_cycles_both_found (line 222) | def test_overlapping_cycles_both_found(self): method test_single_cycle_regression (line 228) | def test_single_cycle_regression(self): method test_no_cycles_regression (line 233) | def test_no_cycles_regression(self): class TestAnalyzeGraphTopologyMultiCycle (line 238) | class TestAnalyzeGraphTopologyMultiCycle: method test_nested_cycle_node_types_priority (line 241) | def test_nested_cycle_node_types_priority(self): method test_nested_cycle_all_cycle_nodes_sequential (line 246) | def test_nested_cycle_all_cycle_nodes_sequential(self): method test_overlapping_shared_nodes_classified (line 254) | def test_overlapping_shared_nodes_classified(self): class TestGetSafeParallelizationGroups (line 261) | class TestGetSafeParallelizationGroups: method test_cycle_fallback_deterministic_singletons (line 263) | def test_cycle_fallback_deterministic_singletons(self): method test_cycle_fallback_warns (line 271) | def test_cycle_fallback_warns(self, caplog): method test_independent_nodes (line 282) | def test_independent_nodes(self): method test_dependent_nodes (line 288) | def test_dependent_nodes(self): FILE: packages/nvidia_nat_app/tests/graph/test_types.py class TestNodeInfoPriority (line 25) | class TestNodeInfoPriority: method test_default_priority_is_none (line 27) | def test_default_priority_is_none(self): method test_explicit_priority (line 31) | def test_explicit_priority(self): method test_priority_with_func (line 35) | def test_priority_with_func(self): method test_priority_zero_is_not_none (line 40) | def test_priority_zero_is_not_none(self): class TestGraphAddNodePriority (line 46) | class TestGraphAddNodePriority: method test_add_node_default_priority (line 48) | def test_add_node_default_priority(self): method test_add_node_explicit_priority (line 53) | def test_add_node_explicit_priority(self): method test_add_node_priority_with_metadata (line 58) | def test_add_node_priority_with_metadata(self): method test_minimal_factory_no_priority (line 65) | def test_minimal_factory_no_priority(self): class TestGraphSubgraphPriority (line 76) | class TestGraphSubgraphPriority: method test_subgraph_preserves_priority (line 78) | def test_subgraph_preserves_priority(self): method test_subgraph_preserves_none_priority (line 91) | def test_subgraph_preserves_none_priority(self): class TestStructureHashIgnoresPriority (line 102) | class TestStructureHashIgnoresPriority: method test_conditional_edges_different_branches_different_hash (line 104) | def test_conditional_edges_different_branches_different_hash(self): method test_edge_branch_in_equality (line 120) | def test_edge_branch_in_equality(self): method test_same_hash_different_priorities (line 127) | def test_same_hash_different_priorities(self): method test_same_hash_with_and_without_priority (line 140) | def test_same_hash_with_and_without_priority(self): class TestDuplicateEdgeDeduplication (line 152) | class TestDuplicateEdgeDeduplication: method test_add_edge_twice_yields_single_edge (line 154) | def test_add_edge_twice_yields_single_edge(self): method test_add_conditional_edges_duplicate_branch_deduplicated (line 165) | def test_add_conditional_edges_duplicate_branch_deduplicated(self): method test_add_conditional_edges_replace_removes_old (line 174) | def test_add_conditional_edges_replace_removes_old(self): class TestGraphValidate (line 189) | class TestGraphValidate: method test_no_entry_point (line 191) | def test_no_entry_point(self): method test_invalid_entry_point (line 199) | def test_invalid_entry_point(self): method test_orphan_nodes (line 208) | def test_orphan_nodes(self): method test_invalid_edge_source (line 218) | def test_invalid_edge_source(self): method test_invalid_edge_target (line 227) | def test_invalid_edge_target(self): method test_invalid_terminal_node (line 236) | def test_invalid_terminal_node(self): method test_valid_graph_returns_empty (line 246) | def test_valid_graph_returns_empty(self): class TestGraphGetNode (line 256) | class TestGraphGetNode: method test_get_node_raises_key_error_for_missing (line 258) | def test_get_node_raises_key_error_for_missing(self): class TestGraphHasNode (line 265) | class TestGraphHasNode: method test_has_node_true (line 267) | def test_has_node_true(self): method test_has_node_false (line 272) | def test_has_node_false(self): class TestGraphToAdjacency (line 278) | class TestGraphToAdjacency: method test_to_adjacency_returns_correct_mapping (line 280) | def test_to_adjacency_returns_correct_mapping(self): class TestGraphConditionalTargets (line 294) | class TestGraphConditionalTargets: method test_get_conditional_targets_returns_mapping (line 296) | def test_get_conditional_targets_returns_mapping(self): method test_get_conditional_targets_returns_none_for_non_conditional (line 309) | def test_get_conditional_targets_returns_none_for_non_conditional(self): method test_conditional_edge_sources_property (line 317) | def test_conditional_edge_sources_property(self): class TestGraphNodeCountNamesNodes (line 327) | class TestGraphNodeCountNamesNodes: method test_node_count (line 329) | def test_node_count(self): method test_node_names (line 335) | def test_node_names(self): method test_nodes_iterator (line 341) | def test_nodes_iterator(self): FILE: packages/nvidia_nat_app/tests/graph/test_uncertainty_invariants.py function easy_dict_read_write (line 24) | def easy_dict_read_write(state): function easy_dict_get (line 28) | def easy_dict_get(state): function easy_dict_keys (line 32) | def easy_dict_keys(state): function easy_dict_values (line 36) | def easy_dict_values(state): function easy_dict_items (line 40) | def easy_dict_items(state): function difficult_exec (line 47) | def difficult_exec(state): function difficult_eval (line 52) | def difficult_eval(state): function difficult_closure_write (line 61) | def difficult_closure_write(state): function difficult_global_write (line 66) | def difficult_global_write(state): function difficult_unknown_attr (line 71) | def difficult_unknown_attr(state): function difficult_return_lambda_mutates (line 76) | def difficult_return_lambda_mutates(state): function difficult_dynamic_attr (line 80) | def difficult_dynamic_attr(obj, attr, val): function difficult_state_custom_method (line 85) | def difficult_state_custom_method(state): function difficult_dynamic_key (line 90) | def difficult_dynamic_key(state): function difficult_warnings_no_writes (line 95) | def difficult_warnings_no_writes(): function difficult_property_like_read (line 99) | def difficult_property_like_read(state): function difficult_compile (line 103) | def difficult_compile(state): function difficult_getattr_dynamic (line 108) | def difficult_getattr_dynamic(state, attr): class TestEasyPatternsFullConfidence (line 115) | class TestEasyPatternsFullConfidence: method test_easy_pattern_full_confidence (line 125) | def test_easy_pattern_full_confidence(self, fn): class TestDifficultPatternsPartialConfidence (line 130) | class TestDifficultPatternsPartialConfidence: method test_difficult_pattern_partial_confidence (line 149) | def test_difficult_pattern_partial_confidence(self, fn): FILE: packages/nvidia_nat_app/tests/speculation/test_plan.py function route_fn (line 30) | def route_fn(state): function fn_a (line 34) | def fn_a(state): function fn_b (line 38) | def fn_b(state): function fn_c (line 42) | def fn_c(state): function fn_merge (line 46) | def fn_merge(state): function unsafe_fn (line 51) | def unsafe_fn(state): class TestPlanSpeculationBasic (line 58) | class TestPlanSpeculationBasic: method test_no_routers_returns_empty (line 60) | def test_no_routers_returns_empty(self): method test_single_router_produces_plan (line 69) | def test_single_router_produces_plan(self): method test_plan_is_frozen (line 83) | def test_plan_is_frozen(self): method test_returns_speculation_plan_type (line 98) | def test_returns_speculation_plan_type(self): class TestTargetsAndCancellation (line 114) | class TestTargetsAndCancellation: method test_targets_include_branch_nodes (line 116) | def test_targets_include_branch_nodes(self): method test_cancel_map_keyed_by_label (line 130) | def test_cancel_map_keyed_by_label(self): method test_merge_nodes_identified (line 144) | def test_merge_nodes_identified(self): method test_merge_nodes_not_in_targets (line 162) | def test_merge_nodes_not_in_targets(self): method test_merge_nodes_not_in_cancel_map_values (line 180) | def test_merge_nodes_not_in_cancel_map_values(self): class TestSafetyFiltering (line 203) | class TestSafetyFiltering: method test_unsafe_nodes_excluded (line 205) | def test_unsafe_nodes_excluded(self): method test_unsafe_decorator_excluded (line 220) | def test_unsafe_decorator_excluded(self): method test_safe_overrides_restore_excluded (line 234) | def test_safe_overrides_restore_excluded(self): method test_safe_overrides_beat_unsafe_nodes (line 249) | def test_safe_overrides_beat_unsafe_nodes(self): method test_all_excluded_skips_router (line 263) | def test_all_excluded_skips_router(self): method test_excluded_not_in_cancel_map (line 276) | def test_excluded_not_in_cancel_map(self): class TestMultiRouter (line 295) | class TestMultiRouter: method test_multiple_routers_produce_multiple_plans (line 297) | def test_multiple_routers_produce_multiple_plans(self): class TestMetadata (line 331) | class TestMetadata: method test_max_branch_depth (line 333) | def test_max_branch_depth(self): method test_frozenset_types (line 346) | def test_frozenset_types(self): class TestLabelMap (line 367) | class TestLabelMap: method test_label_map_populated (line 369) | def test_label_map_populated(self): method test_label_map_one_to_many (line 384) | def test_label_map_one_to_many(self): method test_one_to_many_cancel_map (line 399) | def test_one_to_many_cancel_map(self): method test_label_map_none_without_conditional_edges (line 419) | def test_label_map_none_without_conditional_edges(self): class TestChainNext (line 429) | class TestChainNext: method test_chain_next_populated (line 431) | def test_chain_next_populated(self): method test_chain_next_none_for_terminal (line 449) | def test_chain_next_none_for_terminal(self): class TestGetCancelSet (line 466) | class TestGetCancelSet: method test_returns_cancel_set_for_label (line 468) | def test_returns_cancel_set_for_label(self): method test_returns_empty_for_unknown_label (line 491) | def test_returns_empty_for_unknown_label(self): class TestIsOnChosenPath (line 510) | class TestIsOnChosenPath: method test_chosen_node_is_on_path (line 512) | def test_chosen_node_is_on_path(self): method test_node_not_in_targets (line 535) | def test_node_not_in_targets(self): class TestPartitionTargets (line 554) | class TestPartitionTargets: method test_all_immediate_without_chain (line 556) | def test_all_immediate_without_chain(self): method test_partition_with_chain_next (line 577) | def test_partition_with_chain_next(self): class TestFindRouterChains (line 601) | class TestFindRouterChains: method test_chain_detected (line 603) | def test_chain_detected(self): method test_no_chain_standalone_routers (line 627) | def test_no_chain_standalone_routers(self): class TestPublicImports (line 661) | class TestPublicImports: method test_importable_from_nat_app (line 663) | def test_importable_from_nat_app(self): method test_importable_from_api (line 679) | def test_importable_from_api(self): method test_importable_from_executors (line 685) | def test_importable_from_executors(self): method test_importable_from_speculation (line 691) | def test_importable_from_speculation(self): class TestResolveChosenLabel (line 711) | class TestResolveChosenLabel: method test_returns_label_when_in_cancel_map (line 713) | def test_returns_label_when_in_cancel_map(self): method test_reverse_maps_target_to_label (line 736) | def test_reverse_maps_target_to_label(self): method test_fallback_when_no_label_map (line 759) | def test_fallback_when_no_label_map(self): method test_fallback_when_target_not_in_any_label (line 777) | def test_fallback_when_target_not_in_any_label(self): FILE: packages/nvidia_nat_app/tests/speculation/test_safety.py class TestSpeculationUnsafeDecorator (line 25) | class TestSpeculationUnsafeDecorator: method test_marks_function (line 27) | def test_marks_function(self): method test_marks_class (line 35) | def test_marks_class(self): method test_returns_original_function (line 43) | def test_returns_original_function(self): method test_returns_original_class (line 51) | def test_returns_original_class(self): class TestIsMarkedSpeculationUnsafe (line 60) | class TestIsMarkedSpeculationUnsafe: method test_true_for_decorated_function (line 62) | def test_true_for_decorated_function(self): method test_true_for_decorated_class (line 70) | def test_true_for_decorated_class(self): method test_false_for_plain_function (line 78) | def test_false_for_plain_function(self): method test_false_for_plain_class (line 85) | def test_false_for_plain_class(self): method test_false_for_none (line 92) | def test_false_for_none(self): method test_false_for_arbitrary_object (line 95) | def test_false_for_arbitrary_object(self): class TestSpeculationSafetyConfig (line 99) | class TestSpeculationSafetyConfig: method test_defaults (line 101) | def test_defaults(self): method test_unsafe_nodes (line 106) | def test_unsafe_nodes(self): method test_safe_overrides (line 110) | def test_safe_overrides(self): method test_instances_do_not_share_sets (line 114) | def test_instances_do_not_share_sets(self): class TestRouterDescriptor (line 121) | class TestRouterDescriptor: method test_fields (line 123) | def test_fields(self): method test_decision_fn_defaults_none (line 128) | def test_decision_fn_defaults_none(self): method test_decision_fn_callable (line 132) | def test_decision_fn_callable(self): FILE: packages/nvidia_nat_app/tests/stages/test_edge_classification.py class TestEdgeClassificationStage (line 25) | class TestEdgeClassificationStage: method test_name (line 27) | def test_name(self): method test_edge_classification (line 39) | def test_edge_classification(self, b_reads, expected_set): method test_writes_all_metadata (line 60) | def test_writes_all_metadata(self): FILE: packages/nvidia_nat_app/tests/stages/test_extract.py class _TestAdapter (line 25) | class _TestAdapter(AbstractFrameworkAdapter): method __init__ (line 27) | def __init__( method extract (line 39) | def extract(self, source): method build (line 42) | def build(self, original, result): method get_reducer_fields (line 45) | def get_reducer_fields(self): method get_all_schema_fields (line 48) | def get_all_schema_fields(self): method get_state_schema (line 51) | def get_state_schema(self): class TestExtractStage (line 55) | class TestExtractStage: method test_name (line 57) | def test_name(self): method test_populates_graph (line 61) | def test_populates_graph(self): method test_populates_reducer_fields (line 69) | def test_populates_reducer_fields(self): method test_populates_schema_fields (line 75) | def test_populates_schema_fields(self): method test_populates_state_schema (line 81) | def test_populates_state_schema(self): method test_empty_reducer_fields (line 91) | def test_empty_reducer_fields(self): FILE: packages/nvidia_nat_app/tests/stages/test_llm_analysis.py class _FakeLLM (line 30) | class _FakeLLM: method invoke (line 32) | def invoke(self, prompt: str) -> str: method ainvoke (line 35) | def ainvoke(self, prompt: str) -> str: class _MockDetector (line 39) | class _MockDetector: method invocation_methods (line 42) | def invocation_methods(self) -> frozenset[str]: method is_llm (line 45) | def is_llm(self, obj) -> bool: class _AdapterWithDetector (line 49) | class _AdapterWithDetector(AbstractFrameworkAdapter): method extract (line 51) | def extract(self, source): method build (line 54) | def build(self, original, result): method get_llm_detector (line 57) | def get_llm_detector(self): class _AdapterNoDetector (line 61) | class _AdapterNoDetector(AbstractFrameworkAdapter): method extract (line 63) | def extract(self, source): method build (line 66) | def build(self, original, result): function _make_context (line 70) | def _make_context(node_funcs: dict) -> CompilationContext: class TestLLMAnalysisStageNoDetector (line 86) | class TestLLMAnalysisStageNoDetector: method test_no_detector_writes_empty_dict (line 88) | def test_no_detector_writes_empty_dict(self): method test_stage_name (line 97) | def test_stage_name(self): class TestLLMAnalysisStageWithDetector (line 103) | class TestLLMAnalysisStageWithDetector: method test_detects_llm_calls (line 105) | def test_detects_llm_calls(self): method test_non_callable_gets_zero (line 129) | def test_non_callable_gets_zero(self): method test_empty_node_funcs (line 138) | def test_empty_node_funcs(self): method test_results_are_llm_call_info_instances (line 148) | def test_results_are_llm_call_info_instances(self): FILE: packages/nvidia_nat_app/tests/stages/test_node_analysis.py class TestNodeAnalysisStage (line 25) | class TestNodeAnalysisStage: method test_name (line 27) | def test_name(self): method test_function_analyzed (line 31) | def test_function_analyzed(self): method test_no_function_opaque (line 45) | def test_no_function_opaque(self): method test_writes_metadata_key (line 58) | def test_writes_metadata_key(self, metadata_key): method test_state_evolution_structure (line 67) | def test_state_evolution_structure(self): FILE: packages/nvidia_nat_app/tests/stages/test_priority_assignment.py function _ctx_from_graph (line 35) | def _ctx_from_graph( function _linear_graph (line 45) | def _linear_graph( function _router_graph (line 61) | def _router_graph( function _parallel_graph (line 91) | def _parallel_graph( function _profiled_ctx_from_graph (line 113) | def _profiled_ctx_from_graph( function _router_profiled (line 127) | def _router_profiled( function _nested_conditional_parallel_graph (line 153) | def _nested_conditional_parallel_graph(llm_analysis: dict[str, LLMCallIn... class TestBasics (line 178) | class TestBasics: method test_stage_name (line 180) | def test_stage_name(self): method test_no_llm_analysis_noop (line 183) | def test_no_llm_analysis_noop(self): method test_all_zero_calls_noop (line 188) | def test_all_zero_calls_noop(self): method test_user_priority_not_overwritten (line 199) | def test_user_priority_not_overwritten(self): class TestPluggableStrategy (line 216) | class TestPluggableStrategy: method test_custom_strategy_used (line 218) | def test_custom_strategy_used(self): method test_default_strategy_preserves_sjf_behavior (line 243) | def test_default_strategy_preserves_sjf_behavior(self): method test_explicit_sjf_strategy_same_as_default (line 262) | def test_explicit_sjf_strategy_same_as_default(self): class TestParallelFanOut (line 290) | class TestParallelFanOut: method test_default_uniform_medium (line 292) | def test_default_uniform_medium(self): class TestConditionalRouterEndToEnd (line 315) | class TestConditionalRouterEndToEnd: method test_fast_branch_gets_high_slow_gets_low (line 317) | def test_fast_branch_gets_high_slow_gets_low(self): method test_two_tier_conditional (line 342) | def test_two_tier_conditional(self): method test_homogeneous_conditional (line 362) | def test_homogeneous_conditional(self): class TestLinearEndToEnd (line 388) | class TestLinearEndToEnd: method test_linear_three_tier (line 390) | def test_linear_three_tier(self): class TestBranchGroup (line 414) | class TestBranchGroup: method test_defaults (line 416) | def test_defaults(self): method test_populated (line 422) | def test_populated(self): class TestPriorityLevel (line 439) | class TestPriorityLevel: method test_values (line 441) | def test_values(self): method test_ordering (line 446) | def test_ordering(self): class TestProfiledCostPath (line 455) | class TestProfiledCostPath: method test_custom_callable_cost_function (line 457) | def test_custom_callable_cost_function(self): method test_conditional_router_end_to_end_with_profiled_data (line 486) | def test_conditional_router_end_to_end_with_profiled_data(self): method test_parallel_fan_out_with_profiled_data (line 502) | def test_parallel_fan_out_with_profiled_data(self): method test_empty_profiled_falls_back_to_llm_analysis (line 525) | def test_empty_profiled_falls_back_to_llm_analysis(self): method test_no_data_at_all_is_noop (line 541) | def test_no_data_at_all_is_noop(self): method test_user_priority_not_overwritten_with_profiled_data (line 557) | def test_user_priority_not_overwritten_with_profiled_data(self): class TestProfiledNodeCost (line 585) | class TestProfiledNodeCost: method test_defaults (line 587) | def test_defaults(self): method test_frozen (line 597) | def test_frozen(self): method test_populated (line 602) | def test_populated(self): class TestCostMetric (line 617) | class TestCostMetric: method test_values (line 619) | def test_values(self): method test_all_members_in_cost_metric_info (line 627) | def test_all_members_in_cost_metric_info(self): class TestHierarchicalPriority (line 638) | class TestHierarchicalPriority: method test_parallel_inherits_ceiling_from_conditional_parent (line 640) | def test_parallel_inherits_ceiling_from_conditional_parent(self): method test_nested_conditional_applies_ceiling (line 664) | def test_nested_conditional_applies_ceiling(self): method test_nested_conditional_under_low_ceiling_collapses (line 703) | def test_nested_conditional_under_low_ceiling_collapses(self): method test_deep_nesting_three_levels (line 739) | def test_deep_nesting_three_levels(self): method test_intermediate_linear_nodes (line 782) | def test_intermediate_linear_nodes(self): method test_post_merge_no_ceiling (line 821) | def test_post_merge_no_ceiling(self): method test_top_level_parallel_unchanged (line 862) | def test_top_level_parallel_unchanged(self): FILE: packages/nvidia_nat_app/tests/stages/test_scheduling.py function _build_ctx (line 29) | def _build_ctx(g, analyses): class TestSchedulingStage (line 43) | class TestSchedulingStage: method test_name (line 45) | def test_name(self): method test_writes_optimized_order (line 49) | def test_writes_optimized_order(self): method test_writes_branch_info (line 68) | def test_writes_branch_info(self): method test_writes_cycle_body_analyses (line 80) | def test_writes_cycle_body_analyses(self): method test_disable_parallelization (line 92) | def test_disable_parallelization(self): method test_cycle_with_intra_cycle_parallelism (line 111) | def test_cycle_with_intra_cycle_parallelism(self): FILE: packages/nvidia_nat_app/tests/stages/test_topology.py class TestTopologyStage (line 25) | class TestTopologyStage: method test_name (line 27) | def test_name(self): method test_writes_topology (line 31) | def test_writes_topology(self): method test_no_cycles (line 43) | def test_no_cycles(self): method test_with_cycle (line 54) | def test_with_cycle(self): FILE: packages/nvidia_nat_app/tests/stages/test_validate.py class TestValidateStage (line 25) | class TestValidateStage: method test_name (line 27) | def test_name(self): method test_valid_graph_passes (line 31) | def test_valid_graph_passes(self): method test_invalid_graph_raises (line 42) | def test_invalid_graph_raises(self): FILE: packages/nvidia_nat_app/tests/test_api.py function step_a (line 29) | def step_a(state): function step_b (line 34) | def step_b(state): function step_c (line 39) | def step_c(state): function step_d (line 44) | def step_d(state): function step_e (line 49) | def step_e(state): function step_return_dict (line 54) | def step_return_dict(state): function step_reads_ticker (line 58) | def step_reads_ticker(state): class TestQuickOptimize (line 65) | class TestQuickOptimize: method test_basic_parallel_detection (line 67) | def test_basic_parallel_detection(self): method test_sequential_chain (line 77) | def test_sequential_chain(self): method test_returns_list_of_sets (line 86) | def test_returns_list_of_sets(self): method test_all_nodes_present (line 97) | def test_all_nodes_present(self): class TestAnalyzeFunction (line 112) | class TestAnalyzeFunction: method test_reads_detected (line 114) | def test_reads_detected(self): method test_writes_detected (line 118) | def test_writes_detected(self): method test_confidence_full_for_clean_function (line 122) | def test_confidence_full_for_clean_function(self): method test_returns_plain_types (line 126) | def test_returns_plain_types(self): method test_source_available (line 134) | def test_source_available(self): method test_confidence_opaque_when_source_unavailable (line 138) | def test_confidence_opaque_when_source_unavailable(self): method test_confidence_partial_when_dynamic_keys (line 143) | def test_confidence_partial_when_dynamic_keys(self): method test_confidence_partial_when_writes_empty_but_warnings (line 152) | def test_confidence_partial_when_writes_empty_but_warnings(self): method test_confidence_partial_for_exec (line 162) | def test_confidence_partial_for_exec(self): method test_confidence_partial_for_closure_mutation (line 171) | def test_confidence_partial_for_closure_mutation(self): method test_confidence_partial_for_global_mutable (line 181) | def test_confidence_partial_for_global_mutable(self): method test_return_dict_writes_included (line 190) | def test_return_dict_writes_included(self): class TestClassifyEdge (line 199) | class TestClassifyEdge: method test_necessary_edge (line 201) | def test_necessary_edge(self): method test_unnecessary_edge (line 205) | def test_unnecessary_edge(self): method test_returns_string (line 209) | def test_returns_string(self): method test_necessary_edge_return_dict_writes (line 213) | def test_necessary_edge_return_dict_writes(self): class TestFindParallelStages (line 221) | class TestFindParallelStages: method test_returns_stages_and_info (line 223) | def test_returns_stages_and_info(self): method test_info_has_reads_writes (line 231) | def test_info_has_reads_writes(self): method test_parallel_detected (line 241) | def test_parallel_detected(self): function route_fn (line 253) | def route_fn(state): function fn_merge (line 257) | def fn_merge(state): class TestBenchmark (line 261) | class TestBenchmark: method test_returns_expected_keys (line 263) | async def test_returns_expected_keys(self): method test_output_propagation (line 284) | async def test_output_propagation(self): method test_custom_strategy (line 301) | async def test_custom_strategy(self): method test_stages_populated (line 326) | async def test_stages_populated(self): method test_custom_strategy_returns_none_uses_state (line 342) | async def test_custom_strategy_returns_none_uses_state(self): method test_custom_strategy_returns_non_dict (line 362) | async def test_custom_strategy_returns_non_dict(self): method test_execute_node_non_dict_sequential_raises (line 381) | async def test_execute_node_non_dict_sequential_raises(self): method test_execute_node_non_dict_parallel_raises (line 396) | async def test_execute_node_non_dict_parallel_raises(self): class TestSpeculativeOpportunities (line 420) | class TestSpeculativeOpportunities: method test_no_routers_returns_empty (line 422) | def test_no_routers_returns_empty(self): method test_single_router_returns_opportunity (line 431) | def test_single_router_returns_opportunity(self): method test_merge_node_identified (line 450) | def test_merge_node_identified(self): method test_speculatable_count (line 469) | def test_speculatable_count(self): FILE: packages/nvidia_nat_atif/examples/atof_to_atif/convert_atof_examples_to_atif.py function _register_opt_in_schemas (line 66) | def _register_opt_in_schemas() -> None: function main (line 77) | def main() -> None: FILE: packages/nvidia_nat_atif/examples/atof_to_atif/generate_atof_examples.py function _ts (line 90) | def _ts(scenario: int, second: int) -> str: function generate_exmp01 (line 102) | def generate_exmp01() -> list[Event]: function generate_exmp02 (line 208) | def generate_exmp02() -> list[Event]: function generate_exmp03 (line 355) | def generate_exmp03() -> list[Event]: function generate_exmp04 (line 451) | def generate_exmp04() -> list[Event]: function generate_exmp05 (line 640) | def generate_exmp05() -> list[Event]: function generate_exmp06 (line 836) | def generate_exmp06() -> list[Event]: function main (line 1015) | def main() -> None: FILE: packages/nvidia_nat_atif/src/nat/atif/agent.py class Agent (line 27) | class Agent(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/atif_step_extra.py class AtifAncestry (line 49) | class AtifAncestry(BaseModel): method _validate_parent_pair (line 85) | def _validate_parent_pair(self) -> Self: class AtifInvocationInfo (line 91) | class AtifInvocationInfo(BaseModel): method validate_timestamp_pairing (line 124) | def validate_timestamp_pairing(self) -> Self: class AtifStepExtra (line 132) | class AtifStepExtra(BaseModel): class AtifToolCallExtra (line 168) | class AtifToolCallExtra(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/content.py class ImageSource (line 28) | class ImageSource(BaseModel): class ContentPart (line 43) | class ContentPart(BaseModel): method validate_content_type (line 66) | def validate_content_type(self) -> ContentPart: FILE: packages/nvidia_nat_atif/src/nat/atif/final_metrics.py class FinalMetrics (line 27) | class FinalMetrics(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/metrics.py class Metrics (line 27) | class Metrics(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/observation.py class Observation (line 27) | class Observation(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/observation_result.py class ObservationResult (line 30) | class ObservationResult(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/scripts/generate_atif_trajectory.py function run_and_capture_atif (line 46) | async def run_and_capture_atif( function main (line 95) | def main() -> None: FILE: packages/nvidia_nat_atif/src/nat/atif/step.py class Step (line 36) | class Step(BaseModel): method validate_timestamp (line 110) | def validate_timestamp(cls, v: str | None) -> str | None: method validate_agent_only_fields (line 120) | def validate_agent_only_fields(self) -> Step: FILE: packages/nvidia_nat_atif/src/nat/atif/subagent_trajectory_ref.py class SubagentTrajectoryRef (line 29) | class SubagentTrajectoryRef(BaseModel): method _validate_resolution_key_present (line 88) | def _validate_resolution_key_present(self) -> Self: FILE: packages/nvidia_nat_atif/src/nat/atif/tool_call.py class ToolCall (line 27) | class ToolCall(BaseModel): FILE: packages/nvidia_nat_atif/src/nat/atif/trajectory.py class Trajectory (line 35) | class Trajectory(BaseModel): method to_json_dict (line 115) | def to_json_dict(self, exclude_none: bool = True) -> dict[str, Any]: method validate_step_ids (line 120) | def validate_step_ids(self) -> Trajectory: method validate_subagent_trajectory_ids (line 130) | def validate_subagent_trajectory_ids(self) -> Trajectory: method validate_tool_call_references (line 154) | def validate_tool_call_references(self) -> Trajectory: method has_multimodal_content (line 169) | def has_multimodal_content(self) -> bool: FILE: packages/nvidia_nat_atif/src/nat/atof/events.py function _canonicalize_attributes (line 86) | def _canonicalize_attributes(v: Any) -> list[str]: function _require_subtype_when_custom (line 104) | def _require_subtype_when_custom(category: str | None, category_profile:... class _EventBase (line 118) | class _EventBase(BaseModel): method _validate_atof_version (line 139) | def _validate_atof_version(cls, v: str) -> str: method _validate_uuid_non_empty (line 146) | def _validate_uuid_non_empty(cls, v: str | None) -> str | None: method _validate_timestamp (line 155) | def _validate_timestamp(cls, v: Any) -> str | int: method ts_micros (line 181) | def ts_micros(self) -> int: class ScopeEvent (line 198) | class ScopeEvent(_EventBase): method _canonicalize_attributes_field (line 223) | def _canonicalize_attributes_field(cls, v: Any) -> list[str]: method _validate_category (line 228) | def _validate_category(cls, v: str) -> str: method _validate_category_subtype_coherence (line 236) | def _validate_category_subtype_coherence(self) -> Self: class MarkEvent (line 241) | class MarkEvent(_EventBase): method _validate_category_subtype_coherence (line 262) | def _validate_category_subtype_coherence(self) -> Self: method _reject_scope_only_fields (line 274) | def _reject_scope_only_fields(self) -> Self: function _get_event_kind (line 293) | def _get_event_kind(v: Any) -> str: FILE: packages/nvidia_nat_atif/src/nat/atof/extractors.py class LlmPayloadExtractor (line 89) | class LlmPayloadExtractor(Protocol): method extract_input_messages (line 98) | def extract_input_messages(self, data: Any) -> list[dict[str, Any]]: method extract_output_text (line 106) | def extract_output_text(self, data: Any) -> str: method extract_tool_calls (line 114) | def extract_tool_calls(self, data: Any) -> list[dict[str, Any]]: class ToolPayloadExtractor (line 124) | class ToolPayloadExtractor(Protocol): method extract_tool_result (line 127) | def extract_tool_result(self, data: Any) -> str | None: class MarkPayloadExtractor (line 134) | class MarkPayloadExtractor(Protocol): method extract_role_and_content (line 138) | def extract_role_and_content(self, data: Any) -> tuple[str, Any] | None: function _resolve_path (line 154) | def _resolve_path(data: Any, path: str) -> Any: function _resolve_first (line 190) | def _resolve_first(data: Any, paths: tuple[str, ...]) -> Any: class SchemaMap (line 200) | class SchemaMap: class SchemaMapLlmExtractor (line 275) | class SchemaMapLlmExtractor: method __init__ (line 284) | def __init__(self, schema_map: SchemaMap) -> None: method extract_input_messages (line 287) | def extract_input_messages(self, data: Any) -> list[dict[str, Any]]: method extract_output_text (line 299) | def extract_output_text(self, data: Any) -> str: method extract_tool_calls (line 312) | def extract_tool_calls(self, data: Any) -> list[dict[str, Any]]: method _apply_role_aliases (line 334) | def _apply_role_aliases(self, messages: list[Any]) -> list[dict[str, A... method _extract_tool_call_fields (line 348) | def _extract_tool_call_fields(self, raw: dict[str, Any]) -> dict[str, ... class OpenAiChatCompletionsLlmExtractor (line 389) | class OpenAiChatCompletionsLlmExtractor(SchemaMapLlmExtractor): method __init__ (line 414) | def __init__(self) -> None: function _anthropic_normalize_input_messages (line 436) | def _anthropic_normalize_input_messages(data: Any) -> list[dict[str, Any]]: function _anthropic_normalize_output_message (line 488) | def _anthropic_normalize_output_message(data: Any, ) -> tuple[str, list[... function register_anthropic_messages_v1 (line 534) | def register_anthropic_messages_v1() -> None: function _gemini_walk_parts_for_text (line 574) | def _gemini_walk_parts_for_text(parts: Any) -> str: function _gemini_walk_parts_for_tool_calls (line 587) | def _gemini_walk_parts_for_tool_calls(parts: Any) -> list[dict[str, Any]]: function _gemini_normalize_input_messages (line 614) | def _gemini_normalize_input_messages(data: Any) -> list[dict[str, Any]]: function _gemini_normalize_output_message (line 644) | def _gemini_normalize_output_message(data: Any, ) -> tuple[str, list[dic... function register_gemini_generate_content_v1 (line 673) | def register_gemini_generate_content_v1() -> None: class GenericToolResultExtractor (line 697) | class GenericToolResultExtractor: method extract_tool_result (line 702) | def extract_tool_result(self, data: Any) -> str | None: class NatRoleMarkExtractor (line 724) | class NatRoleMarkExtractor: method extract_role_and_content (line 731) | def extract_role_and_content(self, data: Any) -> tuple[str, Any] | None: function _validate_key (line 760) | def _validate_key(name: str, version: str) -> None: function register_llm_extractor (line 767) | def register_llm_extractor(name: str, version: str, extractor: LlmPayloa... function register_tool_extractor (line 775) | def register_tool_extractor(name: str, version: str, extractor: ToolPayl... function register_mark_extractor (line 783) | def register_mark_extractor(name: str, version: str, extractor: MarkPayl... function _resolve (line 791) | def _resolve( function resolve_llm_extractor (line 805) | def resolve_llm_extractor(data_schema: dict[str, Any] | None) -> LlmPayl... function resolve_tool_extractor (line 811) | def resolve_tool_extractor(data_schema: dict[str, Any] | None) -> ToolPa... function resolve_mark_extractor (line 817) | def resolve_mark_extractor(data_schema: dict[str, Any] | None) -> MarkPa... FILE: packages/nvidia_nat_atif/src/nat/atof/flags.py class Flags (line 29) | class Flags(StrEnum): FILE: packages/nvidia_nat_atif/src/nat/atof/io.py function _reorder_for_wire (line 66) | def _reorder_for_wire(event_dict: dict) -> dict: function read_jsonl (line 87) | def read_jsonl(path: str | Path) -> list[Event]: function write_jsonl (line 109) | def write_jsonl(events: list[Event], path: str | Path) -> None: FILE: packages/nvidia_nat_atif/src/nat/atof/schemas.py function register_schema (line 109) | def register_schema(name: str, version: str, schema: dict[str, Any]) -> ... function lookup_schema (line 124) | def lookup_schema(name: str, version: str) -> dict[str, Any] | None: FILE: packages/nvidia_nat_atif/src/nat/atof/scripts/atof_to_atif_converter.py class ShapeMismatchError (line 82) | class ShapeMismatchError(ValueError): method __init__ (line 101) | def __init__( class DataSchemaViolationError (line 118) | class DataSchemaViolationError(ValueError): method __init__ (line 140) | def __init__( function _validate_event_data_schema (line 162) | def _validate_event_data_schema(event: Event) -> None: function _build_ancestry (line 207) | def _build_ancestry(uuid: str, name: str, parent_uuid: str | None, name_... function _build_invocation_info (line 220) | def _build_invocation_info(start_micros: int | None, end_micros: int | N... function _serialize_root_data (line 234) | def _serialize_root_data(data: Any) -> str | None: function _is_scope_start (line 274) | def _is_scope_start(event: Event) -> bool: function _is_scope_end (line 278) | def _is_scope_end(event: Event) -> bool: function _build_category_map (line 282) | def _build_category_map(events: list[Event]) -> dict[str, str]: function _build_parent_map (line 291) | def _build_parent_map(events: list[Event]) -> dict[str, str | None]: function _find_subagent_roots (line 300) | def _find_subagent_roots(events: list[Event], category_map: dict[str, st... function _collect_descendants (line 315) | def _collect_descendants(root_uuid: str, events: list[Event], parent_map... function _events_to_step_dicts (line 338) | def _events_to_step_dicts( function _materialize_steps (line 808) | def _materialize_steps(step_dicts: list[dict]) -> list[Step]: function convert (line 835) | def convert(events: list[Event]) -> Trajectory: function _convert_impl (line 850) | def _convert_impl(events: list[Event], explicit_root_uuid: str | None) -... function convert_file (line 999) | def convert_file(input_path: str | Path, output_path: str | Path | None ... function _ensure_subagent_trajectory_path_explicit (line 1018) | def _ensure_subagent_trajectory_path_explicit(obj: Any) -> None: FILE: packages/nvidia_nat_atif/tests/test_atif_v17_validators.py function test_subagent_ref_accepts_trajectory_id_alone (line 48) | def test_subagent_ref_accepts_trajectory_id_alone() -> None: function test_subagent_ref_accepts_trajectory_path_alone (line 56) | def test_subagent_ref_accepts_trajectory_path_alone() -> None: function test_subagent_ref_accepts_both_keys (line 67) | def test_subagent_ref_accepts_both_keys() -> None: function test_subagent_ref_accepts_session_id_as_informational (line 78) | def test_subagent_ref_accepts_session_id_as_informational() -> None: function test_subagent_ref_rejects_session_id_alone (line 89) | def test_subagent_ref_rejects_session_id_alone() -> None: function test_subagent_ref_rejects_empty (line 99) | def test_subagent_ref_rejects_empty() -> None: function _stub_trajectory (line 111) | def _stub_trajectory(trajectory_id: str | None = None) -> Trajectory: function test_trajectory_standalone_omits_trajectory_id_ok (line 120) | def test_trajectory_standalone_omits_trajectory_id_ok() -> None: function test_trajectory_subagents_must_have_trajectory_id (line 127) | def test_trajectory_subagents_must_have_trajectory_id() -> None: function test_trajectory_subagents_trajectory_ids_must_be_unique (line 141) | def test_trajectory_subagents_trajectory_ids_must_be_unique() -> None: function test_trajectory_subagents_unique_trajectory_ids_ok (line 159) | def test_trajectory_subagents_unique_trajectory_ids_ok() -> None: function test_trajectory_session_id_defaults_to_none (line 190) | def test_trajectory_session_id_defaults_to_none() -> None: function test_trajectory_session_id_accepts_explicit_value (line 198) | def test_trajectory_session_id_accepts_explicit_value() -> None: function test_spec_example_trajectory_validates (line 213) | def test_spec_example_trajectory_validates() -> None: function test_observation_result_extra_field_v17 (line 347) | def test_observation_result_extra_field_v17() -> None: FILE: packages/nvidia_nat_atif/tests/test_data_schema_validation.py function _root_agent_start (line 47) | def _root_agent_start() -> ScopeEvent: function _root_agent_end (line 59) | def _root_agent_end() -> ScopeEvent: function _llm_start (line 71) | def _llm_start(*, data: dict, data_schema: dict | None = OPENAI_DS) -> S... function _llm_end (line 85) | def _llm_end(*, data: dict, data_schema: dict | None = OPENAI_DS) -> Sco... function test_openai_input_messages_passes_validation (line 104) | def test_openai_input_messages_passes_validation() -> None: function test_openai_nested_content_messages_passes (line 117) | def test_openai_nested_content_messages_passes() -> None: function test_openai_tool_calls_only_output_passes (line 133) | def test_openai_tool_calls_only_output_passes() -> None: function test_openai_choices_output_passes (line 151) | def test_openai_choices_output_passes() -> None: function test_missing_data_schema_skips_validation (line 173) | def test_missing_data_schema_skips_validation() -> None: function test_unknown_data_schema_logs_warning_and_skips (line 194) | def test_unknown_data_schema_logs_warning_and_skips(caplog: pytest.LogCa... function test_empty_payload_declaring_openai_schema_raises (line 228) | def test_empty_payload_declaring_openai_schema_raises() -> None: function test_anthropic_shaped_payload_declaring_openai_schema_raises (line 244) | def test_anthropic_shaped_payload_declaring_openai_schema_raises() -> None: function test_data_schema_violation_error_carries_context (line 262) | def test_data_schema_violation_error_carries_context() -> None: function test_register_custom_schema_enables_validation (line 288) | def test_register_custom_schema_enables_validation() -> None: function test_register_schema_rejects_invalid_arguments (line 339) | def test_register_schema_rejects_invalid_arguments() -> None: FILE: packages/nvidia_nat_atif/tests/test_extractors.py function test_default_llm_extractor_satisfies_protocol (line 60) | def test_default_llm_extractor_satisfies_protocol() -> None: function test_default_tool_extractor_satisfies_protocol (line 65) | def test_default_tool_extractor_satisfies_protocol() -> None: function test_default_mark_extractor_satisfies_protocol (line 70) | def test_default_mark_extractor_satisfies_protocol() -> None: function test_openai_extract_input_messages_flat (line 80) | def test_openai_extract_input_messages_flat() -> None: function test_openai_extract_input_messages_nested_content (line 85) | def test_openai_extract_input_messages_nested_content() -> None: function test_openai_extract_input_messages_empty_returns_empty (line 95) | def test_openai_extract_input_messages_empty_returns_empty() -> None: function test_openai_extract_output_text_direct (line 100) | def test_openai_extract_output_text_direct() -> None: function test_openai_extract_output_text_choices (line 104) | def test_openai_extract_output_text_choices() -> None: function test_openai_extract_output_text_missing_returns_empty (line 113) | def test_openai_extract_output_text_missing_returns_empty() -> None: function test_openai_extract_tool_calls_flat_form (line 118) | def test_openai_extract_tool_calls_flat_form() -> None: function test_openai_extract_tool_calls_nested_function_form (line 134) | def test_openai_extract_tool_calls_nested_function_form() -> None: function test_openai_extract_tool_calls_handles_unparseable_string_arguments (line 153) | def test_openai_extract_tool_calls_handles_unparseable_string_arguments(... function test_tool_extractor_unwraps_single_key_result (line 172) | def test_tool_extractor_unwraps_single_key_result() -> None: function test_tool_extractor_passes_through_none (line 177) | def test_tool_extractor_passes_through_none() -> None: function test_tool_extractor_serializes_dicts (line 181) | def test_tool_extractor_serializes_dicts() -> None: function test_tool_extractor_passes_through_string (line 185) | def test_tool_extractor_passes_through_string() -> None: function test_mark_extractor_lifts_valid_role (line 194) | def test_mark_extractor_lifts_valid_role() -> None: function test_mark_extractor_prefers_content_over_message (line 198) | def test_mark_extractor_prefers_content_over_message() -> None: function test_mark_extractor_falls_back_to_message_when_no_content (line 205) | def test_mark_extractor_falls_back_to_message_when_no_content() -> None: function test_mark_extractor_rejects_invalid_role (line 209) | def test_mark_extractor_rejects_invalid_role() -> None: function test_mark_extractor_rejects_non_dict (line 213) | def test_mark_extractor_rejects_non_dict() -> None: function test_resolve_llm_extractor_returns_default_for_none_schema (line 223) | def test_resolve_llm_extractor_returns_default_for_none_schema() -> None: function test_resolve_llm_extractor_returns_default_for_unregistered_schema (line 227) | def test_resolve_llm_extractor_returns_default_for_unregistered_schema()... function test_resolve_llm_extractor_returns_registered_extractor (line 231) | def test_resolve_llm_extractor_returns_registered_extractor() -> None: function test_resolve_tool_extractor_always_returns_default_without_registration (line 235) | def test_resolve_tool_extractor_always_returns_default_without_registrat... function test_resolve_mark_extractor_always_returns_default_without_registration (line 240) | def test_resolve_mark_extractor_always_returns_default_without_registrat... class _FakeLlmExtractor (line 250) | class _FakeLlmExtractor: method extract_input_messages (line 252) | def extract_input_messages(self, data: Any) -> list[dict[str, Any]]: method extract_output_text (line 255) | def extract_output_text(self, data: Any) -> str: method extract_tool_calls (line 258) | def extract_tool_calls(self, data: Any) -> list[dict[str, Any]]: function test_register_llm_extractor_rejects_empty_key (line 262) | def test_register_llm_extractor_rejects_empty_key() -> None: function test_register_llm_extractor_rejects_non_conforming_extractor (line 269) | def test_register_llm_extractor_rejects_non_conforming_extractor() -> None: function test_registering_anthropic_extractor_enables_conversion (line 279) | def test_registering_anthropic_extractor_enables_conversion() -> None: class _MycoToolExtractor (line 362) | class _MycoToolExtractor: method extract_tool_result (line 365) | def extract_tool_result(self, data: Any) -> str | None: function test_registering_tool_extractor_overrides_default (line 373) | def test_registering_tool_extractor_overrides_default() -> None: class _AcmeNotifyExtractor (line 391) | class _AcmeNotifyExtractor: method extract_role_and_content (line 394) | def extract_role_and_content(self, data: Any) -> tuple[str, Any] | None: function test_registering_mark_extractor_enables_custom_role_lift (line 400) | def test_registering_mark_extractor_enables_custom_role_lift() -> None: FILE: packages/nvidia_nat_atif/tests/test_schema_validation.py class _PayloadFactory (line 52) | class _PayloadFactory: method llm_input (line 64) | def llm_input(self, messages: list[dict[str, str]]) -> dict[str, Any]: method llm_output_text (line 67) | def llm_output_text(self, text: str) -> dict[str, Any]: method llm_output_tool_call (line 70) | def llm_output_tool_call( method llm_input_with_tool_result (line 79) | def llm_input_with_tool_result( class _OpenAiFactory (line 97) | class _OpenAiFactory(_PayloadFactory): method llm_input (line 100) | def llm_input(self, messages: list[dict[str, str]]) -> dict[str, Any]: method llm_output_text (line 103) | def llm_output_text(self, text: str) -> dict[str, Any]: method llm_output_tool_call (line 106) | def llm_output_tool_call( method llm_input_with_tool_result (line 120) | def llm_input_with_tool_result( class _AnthropicFactory (line 146) | class _AnthropicFactory(_PayloadFactory): method llm_input (line 149) | def llm_input(self, messages: list[dict[str, str]]) -> dict[str, Any]: method llm_output_text (line 155) | def llm_output_text(self, text: str) -> dict[str, Any]: method llm_output_tool_call (line 165) | def llm_output_tool_call( method llm_input_with_tool_result (line 188) | def llm_input_with_tool_result( class _GeminiFactory (line 219) | class _GeminiFactory(_PayloadFactory): method _to_gemini_role (line 222) | def _to_gemini_role(self, role: str) -> str: method llm_input (line 226) | def llm_input(self, messages: list[dict[str, str]]) -> dict[str, Any]: method llm_output_text (line 235) | def llm_output_text(self, text: str) -> dict[str, Any]: method llm_output_tool_call (line 248) | def llm_output_tool_call( method llm_input_with_tool_result (line 268) | def llm_input_with_tool_result( function factory (line 321) | def factory(request: pytest.FixtureRequest) -> _PayloadFactory: function opt_in_extractors (line 327) | def opt_in_extractors() -> Iterator[None]: function _ts (line 343) | def _ts(second: int) -> str: function _build_simple (line 353) | def _build_simple(factory: _PayloadFactory) -> list[Event]: function _build_nested (line 410) | def _build_nested(factory: _PayloadFactory) -> list[Event]: function _build_multi_turn (line 532) | def _build_multi_turn(factory: _PayloadFactory) -> list[Event]: function test_simple_scenario (line 634) | def test_simple_scenario(factory: _PayloadFactory, opt_in_extractors: No... function test_nested_scenario (line 649) | def test_nested_scenario(factory: _PayloadFactory, opt_in_extractors: No... function test_multi_turn_scenario (line 679) | def test_multi_turn_scenario(factory: _PayloadFactory, opt_in_extractors... function test_heterogeneous_stream_dispatches_per_event (line 701) | def test_heterogeneous_stream_dispatches_per_event(opt_in_extractors: No... function test_register_anthropic_idempotent (line 842) | def test_register_anthropic_idempotent() -> None: function test_register_gemini_idempotent (line 856) | def test_register_gemini_idempotent() -> None: FILE: packages/nvidia_nat_atif/tests/test_shape_mismatch.py function _openai_shaped_stream (line 39) | def _openai_shaped_stream() -> list: function _anthropic_input_stream (line 91) | def _anthropic_input_stream() -> list: function _anthropic_output_stream (line 145) | def _anthropic_output_stream() -> list: function _tool_calls_only_stream (line 204) | def _tool_calls_only_stream() -> list: function _tool_missing_call_id_stream (line 258) | def _tool_missing_call_id_stream() -> list: function test_openai_shaped_stream_converts_without_error (line 310) | def test_openai_shaped_stream_converts_without_error() -> None: function test_tool_calls_only_response_does_not_raise (line 315) | def test_tool_calls_only_response_does_not_raise() -> None: function test_tool_missing_call_id_does_not_raise (line 322) | def test_tool_missing_call_id_does_not_raise() -> None: function test_llm_input_shape_mismatch_raises (line 335) | def test_llm_input_shape_mismatch_raises() -> None: function test_llm_output_shape_mismatch_raises (line 346) | def test_llm_output_shape_mismatch_raises() -> None: function test_error_message_mentions_uuid_and_keys (line 357) | def test_error_message_mentions_uuid_and_keys() -> None: FILE: packages/nvidia_nat_atif/tests/test_spec_compliance.py function expect_validation_error (line 55) | def expect_validation_error(match: str | None = None) -> Iterator[None]: function _scope_kwargs (line 70) | def _scope_kwargs(**overrides: Any) -> dict[str, Any]: function _mark_kwargs (line 84) | def _mark_kwargs(**overrides: Any) -> dict[str, Any]: function test_envelope_atof_version_defaults_to_0_1 (line 101) | def test_envelope_atof_version_defaults_to_0_1() -> None: function test_envelope_atof_version_accepts_0_minor_values (line 107) | def test_envelope_atof_version_accepts_0_minor_values() -> None: function test_envelope_atof_version_rejects_invalid_patterns (line 114) | def test_envelope_atof_version_rejects_invalid_patterns() -> None: function test_envelope_uuid_required_and_non_empty (line 125) | def test_envelope_uuid_required_and_non_empty() -> None: function test_envelope_parent_uuid_accepts_none (line 131) | def test_envelope_parent_uuid_accepts_none() -> None: function test_envelope_parent_uuid_accepts_uuid_string (line 137) | def test_envelope_parent_uuid_accepts_uuid_string() -> None: function test_envelope_parent_uuid_rejects_empty_string (line 143) | def test_envelope_parent_uuid_rejects_empty_string() -> None: function test_envelope_timestamp_accepts_rfc3339_string (line 149) | def test_envelope_timestamp_accepts_rfc3339_string() -> None: function test_envelope_timestamp_accepts_integer_microseconds (line 155) | def test_envelope_timestamp_accepts_integer_microseconds() -> None: function test_envelope_ts_micros_computed_from_rfc3339_string (line 161) | def test_envelope_ts_micros_computed_from_rfc3339_string() -> None: function test_envelope_ts_micros_passes_through_integer_timestamp (line 168) | def test_envelope_ts_micros_passes_through_integer_timestamp() -> None: function test_envelope_extra_fields_allowed_for_lossless_passthrough (line 174) | def test_envelope_extra_fields_allowed_for_lossless_passthrough() -> None: function test_envelope_data_accepts_object (line 180) | def test_envelope_data_accepts_object() -> None: function test_envelope_data_accepts_none (line 186) | def test_envelope_data_accepts_none() -> None: function test_envelope_data_impl_drift_accepts_primitives (line 192) | def test_envelope_data_impl_drift_accepts_primitives() -> None: function test_envelope_data_schema_accepts_name_version_dict (line 206) | def test_envelope_data_schema_accepts_name_version_dict() -> None: function test_envelope_data_schema_accepts_none (line 213) | def test_envelope_data_schema_accepts_none() -> None: function test_envelope_metadata_accepts_dict_and_none (line 219) | def test_envelope_metadata_accepts_dict_and_none() -> None: function test_attributes_defaults_to_empty_list (line 232) | def test_attributes_defaults_to_empty_list() -> None: function test_attributes_canonicalized_sorted (line 238) | def test_attributes_canonicalized_sorted() -> None: function test_attributes_canonicalized_deduplicated (line 244) | def test_attributes_canonicalized_deduplicated() -> None: function test_attributes_preserves_unknown_flag_names (line 250) | def test_attributes_preserves_unknown_flag_names() -> None: function test_attributes_accepts_flags_enum_members (line 256) | def test_attributes_accepts_flags_enum_members() -> None: function test_attributes_rejects_non_string_entries (line 262) | def test_attributes_rejects_non_string_entries() -> None: function test_attributes_rejects_non_list_value (line 268) | def test_attributes_rejects_non_list_value() -> None: function test_scope_kind_is_literal_scope (line 279) | def test_scope_kind_is_literal_scope() -> None: function test_scope_kind_cannot_be_overridden (line 285) | def test_scope_kind_cannot_be_overridden() -> None: function test_scope_category_required (line 291) | def test_scope_category_required() -> None: function test_scope_category_accepts_start_and_end (line 299) | def test_scope_category_accepts_start_and_end() -> None: function test_scope_category_rejects_other_values (line 305) | def test_scope_category_rejects_other_values() -> None: function test_scope_category_field_required (line 312) | def test_scope_category_field_required() -> None: function test_scope_category_rejects_empty_string (line 320) | def test_scope_category_rejects_empty_string() -> None: function test_scope_no_deprecated_v0_0_fields (line 326) | def test_scope_no_deprecated_v0_0_fields() -> None: function test_scope_has_all_required_v0_1_fields (line 348) | def test_scope_has_all_required_v0_1_fields() -> None: function test_mark_kind_is_literal_mark (line 374) | def test_mark_kind_is_literal_mark() -> None: function test_mark_does_not_carry_scope_fields (line 380) | def test_mark_does_not_carry_scope_fields() -> None: function test_mark_category_defaults_to_none (line 400) | def test_mark_category_defaults_to_none() -> None: function test_mark_category_accepts_populated_value (line 406) | def test_mark_category_accepts_populated_value() -> None: function test_mark_category_profile_defaults_to_none (line 413) | def test_mark_category_profile_defaults_to_none() -> None: function test_mark_preserves_data_schema_and_data (line 419) | def test_mark_preserves_data_schema_and_data() -> None: function test_canonical_categories_all_accepted (line 438) | def test_canonical_categories_all_accepted() -> None: function test_unknown_category_values_accepted (line 457) | def test_unknown_category_values_accepted() -> None: function test_custom_on_scope_requires_subtype (line 468) | def test_custom_on_scope_requires_subtype() -> None: function test_custom_on_scope_with_subtype_succeeds (line 478) | def test_custom_on_scope_with_subtype_succeeds() -> None: function test_custom_on_mark_requires_subtype (line 484) | def test_custom_on_mark_requires_subtype() -> None: function test_custom_on_mark_with_subtype_succeeds (line 490) | def test_custom_on_mark_with_subtype_succeeds() -> None: function test_custom_subtype_rejects_empty_string (line 497) | def test_custom_subtype_rejects_empty_string() -> None: function test_non_custom_categories_do_not_require_subtype (line 503) | def test_non_custom_categories_do_not_require_subtype() -> None: function test_llm_category_profile_carries_model_name (line 518) | def test_llm_category_profile_carries_model_name() -> None: function test_tool_category_profile_carries_tool_call_id (line 524) | def test_tool_category_profile_carries_tool_call_id() -> None: function test_category_profile_preserves_extra_keys (line 530) | def test_category_profile_preserves_extra_keys() -> None: function test_category_profile_accepts_null_for_tier1 (line 541) | def test_category_profile_accepts_null_for_tier1() -> None: function test_event_union_dispatches_scope (line 556) | def test_event_union_dispatches_scope() -> None: function test_event_union_dispatches_mark (line 575) | def test_event_union_dispatches_mark() -> None: function test_event_union_rejects_removed_kinds (line 590) | def test_event_union_rejects_removed_kinds() -> None: function test_wire_round_trip_scope_event_rfc3339 (line 610) | def test_wire_round_trip_scope_event_rfc3339() -> None: function test_wire_round_trip_integer_timestamp (line 654) | def test_wire_round_trip_integer_timestamp() -> None: function test_wire_round_trip_mark_event (line 664) | def test_wire_round_trip_mark_event() -> None: function test_wire_emits_explicit_null_for_optional_none_fields (line 692) | def test_wire_emits_explicit_null_for_optional_none_fields() -> None: function test_wire_excludes_computed_ts_micros_field (line 716) | def test_wire_excludes_computed_ts_micros_field() -> None: function test_wire_preserves_unknown_fields_lossless (line 726) | def test_wire_preserves_unknown_fields_lossless() -> None: function test_read_jsonl_sorts_events_by_ts_micros (line 765) | def test_read_jsonl_sorts_events_by_ts_micros() -> None: function test_read_jsonl_handles_mixed_timestamp_forms (line 779) | def test_read_jsonl_handles_mixed_timestamp_forms() -> None: FILE: packages/nvidia_nat_atif/tests/test_tier1_conversion.py function _tier1_stream (line 48) | def _tier1_stream() -> list: function test_tier1_produces_nonempty_trajectory (line 140) | def test_tier1_produces_nonempty_trajectory() -> None: function test_tier1_agent_name_falls_back_to_root_scope (line 160) | def test_tier1_agent_name_falls_back_to_root_scope() -> None: function test_tier1_preserves_opaque_payloads (line 173) | def test_tier1_preserves_opaque_payloads() -> None: function test_tier1_preserves_ancestry_and_invocation_timing (line 197) | def test_tier1_preserves_ancestry_and_invocation_timing() -> None: function _root_only_pair (line 249) | def _root_only_pair(start_data, end_data) -> list: function test_tier1_root_promotes_raw_query_to_user_step (line 275) | def test_tier1_root_promotes_raw_query_to_user_step() -> None: function test_tier1_root_promotes_raw_result_to_agent_step (line 291) | def test_tier1_root_promotes_raw_result_to_agent_step() -> None: function test_tier1_root_dict_data_serializes_as_json (line 307) | def test_tier1_root_dict_data_serializes_as_json() -> None: function test_tier1_root_empty_data_emits_no_boundary_steps (line 339) | def test_tier1_root_empty_data_emits_no_boundary_steps() -> None: function test_tier1_inner_scopes_remain_system_steps (line 399) | def test_tier1_inner_scopes_remain_system_steps() -> None: function test_classified_agent_root_unchanged (line 459) | def test_classified_agent_root_unchanged() -> None: function _agent_with_single_llm_pair (line 539) | def _agent_with_single_llm_pair( function test_llm_step_emits_per_step_model_name_from_category_profile (line 601) | def test_llm_step_emits_per_step_model_name_from_category_profile() -> N... function test_llm_step_falls_back_to_event_name_when_category_profile_absent (line 635) | def test_llm_step_falls_back_to_event_name_when_category_profile_absent(... function test_heterogeneous_workflow_emits_distinct_model_names_per_step (line 666) | def test_heterogeneous_workflow_emits_distinct_model_names_per_step() ->... function test_no_llm_orchestrator_step_has_no_model_name (line 804) | def test_no_llm_orchestrator_step_has_no_model_name() -> None: FILE: packages/nvidia_nat_autogen/src/nat/plugins/autogen/callback_handler.py class ClientPatchInfo (line 57) | class ClientPatchInfo: class PatchedClients (line 65) | class PatchedClients: class AutoGenProfilerHandler (line 74) | class AutoGenProfilerHandler(BaseProfilerCallback): method __init__ (line 97) | def __init__(self) -> None: method instrument (line 106) | def instrument(self) -> None: method uninstrument (line 186) | def uninstrument(self) -> None: method _extract_model_name (line 233) | def _extract_model_name(self, client: Any) -> str: method _extract_input_text (line 254) | def _extract_input_text(self, messages: list[Any]) -> str: method _extract_output_text (line 291) | def _extract_output_text(self, output: Any) -> str: method _extract_usage (line 308) | def _extract_usage(self, output: Any) -> dict[str, Any]: method _extract_chat_response (line 330) | def _extract_chat_response(self, output: Any) -> dict[str, Any]: method _create_llm_wrapper (line 350) | def _create_llm_wrapper(self, original_func: Callable[..., Any]) -> Ca... method _create_stream_wrapper (line 438) | def _create_stream_wrapper(self, original_func: Callable[..., Any]) ->... method _create_tool_wrapper (line 537) | def _create_tool_wrapper(self, original_func: Callable[..., Any]) -> C... FILE: packages/nvidia_nat_autogen/src/nat/plugins/autogen/llm.py function _patch_autogen_client_based_on_config (line 63) | def _patch_autogen_client_based_on_config(client: ModelType, llm_config:... function _close_autogen_client (line 118) | async def _close_autogen_client(client: Any) -> None: function openai_autogen (line 134) | async def openai_autogen(llm_config: OpenAIModelConfig, _builder: Builde... function azure_openai_autogen (line 198) | async def azure_openai_autogen(llm_config: AzureOpenAIModelConfig, function _strip_strict_from_tools_deep (line 261) | def _strip_strict_from_tools_deep(kwargs: dict[str, Any]) -> dict[str, A... function _patch_nim_client_for_tools (line 295) | def _patch_nim_client_for_tools(client: ModelType) -> ModelType: function nim_autogen (line 336) | async def nim_autogen(llm_config: NIMModelConfig, _builder: Builder) -> ... function litellm_autogen (line 400) | async def litellm_autogen(llm_config: LiteLlmModelConfig, _builder: Buil... function bedrock_autogen (line 462) | async def bedrock_autogen(llm_config: AWSBedrockModelConfig, _builder: B... FILE: packages/nvidia_nat_autogen/src/nat/plugins/autogen/tool_wrapper.py function resolve_type (line 38) | def resolve_type(t: Any) -> Any: function autogen_tool_wrapper (line 55) | def autogen_tool_wrapper( FILE: packages/nvidia_nat_autogen/tests/test_callback_handler_autogen.py class TestDataClasses (line 30) | class TestDataClasses: method test_client_patch_info_defaults (line 33) | def test_client_patch_info_defaults(self): method test_client_patch_info_with_values (line 39) | def test_client_patch_info_with_values(self): method test_patched_clients_defaults (line 47) | def test_patched_clients_defaults(self): class TestAutoGenProfilerHandlerInit (line 56) | class TestAutoGenProfilerHandlerInit: method test_init_creates_lock (line 59) | def test_init_creates_lock(self): method test_init_sets_timestamp (line 64) | def test_init_sets_timestamp(self): method test_init_creates_patched_clients (line 70) | def test_init_creates_patched_clients(self): method test_init_not_instrumented (line 75) | def test_init_not_instrumented(self): method test_init_gets_step_manager (line 81) | def test_init_gets_step_manager(self, mock_get): class TestInstrument (line 92) | class TestInstrument: method test_instrument_skips_if_already_instrumented (line 95) | def test_instrument_skips_if_already_instrumented(self): method test_instrument_handles_missing_tool_import (line 105) | def test_instrument_handles_missing_tool_import(self, mock_logger): method test_instrument_patches_openai_client (line 118) | def test_instrument_patches_openai_client(self): method test_instrument_sets_instrumented_flag (line 157) | def test_instrument_sets_instrumented_flag(self): class TestUninstrument (line 169) | class TestUninstrument: method test_uninstrument_resets_state (line 172) | def test_uninstrument_resets_state(self): method test_uninstrument_handles_import_errors (line 207) | def test_uninstrument_handles_import_errors(self): class TestHelperMethods (line 219) | class TestHelperMethods: method test_extract_model_name_from_raw_config (line 222) | def test_extract_model_name_from_raw_config(self): method test_extract_model_name_fallback_to_model_attr (line 231) | def test_extract_model_name_fallback_to_model_attr(self): method test_extract_model_name_returns_unknown (line 241) | def test_extract_model_name_returns_unknown(self): method test_extract_input_text_simple_content (line 249) | def test_extract_input_text_simple_content(self): method test_extract_input_text_list_content (line 257) | def test_extract_input_text_list_content(self): method test_extract_input_text_handles_none (line 267) | def test_extract_input_text_handles_none(self): method test_extract_output_text (line 275) | def test_extract_output_text(self): method test_extract_output_text_handles_error (line 284) | def test_extract_output_text_handles_error(self): method test_extract_usage_with_model_dump (line 292) | def test_extract_usage_with_model_dump(self): method test_extract_usage_with_dict (line 302) | def test_extract_usage_with_dict(self): method test_extract_usage_from_model_extra (line 311) | def test_extract_usage_from_model_extra(self): method test_extract_chat_response (line 321) | def test_extract_chat_response(self): method test_extract_chat_response_empty_choices (line 331) | def test_extract_chat_response_empty_choices(self): class TestLLMWrapper (line 341) | class TestLLMWrapper: method test_llm_wrapper_pushes_start_and_end_events (line 345) | async def test_llm_wrapper_pushes_start_and_end_events(self, mock_get): method test_llm_wrapper_handles_exception (line 378) | async def test_llm_wrapper_handles_exception(self, mock_get): method test_llm_wrapper_extracts_usage (line 402) | async def test_llm_wrapper_extracts_usage(self, mock_get): class TestStreamWrapper (line 430) | class TestStreamWrapper: method test_stream_wrapper_yields_chunks (line 434) | async def test_stream_wrapper_yields_chunks(self, mock_get): method test_stream_wrapper_pushes_events (line 461) | async def test_stream_wrapper_pushes_events(self, mock_get): method test_stream_wrapper_handles_error (line 485) | async def test_stream_wrapper_handles_error(self, mock_get): class TestToolWrapper (line 511) | class TestToolWrapper: method test_tool_wrapper_basic_flow (line 515) | async def test_tool_wrapper_basic_flow(self, mock_get): method test_tool_wrapper_handles_dict_input (line 543) | async def test_tool_wrapper_handles_dict_input(self, mock_get): method test_tool_wrapper_handles_exception (line 563) | async def test_tool_wrapper_handles_exception(self, mock_get): class TestIntegration (line 589) | class TestIntegration: method test_full_instrument_uninstrument_cycle (line 592) | async def test_full_instrument_uninstrument_cycle(self): method test_lock_thread_safety (line 607) | def test_lock_thread_safety(self): FILE: packages/nvidia_nat_autogen/tests/test_callback_handler_integration.py function autogen_profiler_fixture (line 55) | def autogen_profiler_fixture(): function nim_config_fixture (line 72) | def nim_config_fixture() -> NIMModelConfig: function openai_config_fixture (line 88) | def openai_config_fixture() -> OpenAIModelConfig: function captured_events_fixture (line 103) | def captured_events_fixture() -> list[IntermediateStep]: function event_capturer_fixture (line 109) | def event_capturer_fixture(captured_events: list[IntermediateStep]) -> C... function test_nim_autogen_non_streaming_llm_telemetry (line 125) | async def test_nim_autogen_non_streaming_llm_telemetry( function test_nim_autogen_streaming_llm_telemetry (line 211) | async def test_nim_autogen_streaming_llm_telemetry( function test_nim_autogen_tool_execution_telemetry (line 284) | async def test_nim_autogen_tool_execution_telemetry( function test_nim_autogen_error_handling_telemetry (line 377) | async def test_nim_autogen_error_handling_telemetry( function test_nim_autogen_multi_turn_conversation_telemetry (line 442) | async def test_nim_autogen_multi_turn_conversation_telemetry( function test_nim_autogen_streaming_with_agent_telemetry (line 511) | async def test_nim_autogen_streaming_with_agent_telemetry( function test_openai_autogen_non_streaming_llm_telemetry (line 579) | async def test_openai_autogen_non_streaming_llm_telemetry( function test_openai_autogen_streaming_llm_telemetry (line 660) | async def test_openai_autogen_streaming_llm_telemetry( function test_openai_autogen_tool_execution_telemetry (line 728) | async def test_openai_autogen_tool_execution_telemetry( function test_openai_autogen_multi_turn_conversation_telemetry (line 816) | async def test_openai_autogen_multi_turn_conversation_telemetry( FILE: packages/nvidia_nat_autogen/tests/test_llm_autogen.py class MockRetryConfig (line 36) | class MockRetryConfig(LLMBaseConfig, RetryMixin): class MockThinkingConfig (line 44) | class MockThinkingConfig(LLMBaseConfig, ThinkingMixin): class MockCombinedConfig (line 51) | class MockCombinedConfig(LLMBaseConfig, RetryMixin, ThinkingMixin): class TestPatchAutoGenClient (line 61) | class TestPatchAutoGenClient: method test_patch_with_no_mixins (line 64) | def test_patch_with_no_mixins(self): method test_patch_with_retry_mixin (line 73) | def test_patch_with_retry_mixin(self, mock_patch_retry): method test_patch_with_thinking_mixin (line 93) | def test_patch_with_thinking_mixin(self, mock_patch_thinking): method test_patch_with_both_mixins (line 111) | def test_patch_with_both_mixins(self, mock_patch_thinking, mock_patch_... class TestConfigValidation (line 135) | class TestConfigValidation: method test_openai_config_creation (line 138) | def test_openai_config_creation(self): method test_azure_config_creation (line 145) | def test_azure_config_creation(self): method test_nim_config_creation (line 156) | def test_nim_config_creation(self): method test_litellm_config_creation (line 165) | def test_litellm_config_creation(self): method test_bedrock_config_creation (line 176) | def test_bedrock_config_creation(self): method test_bedrock_config_with_profile (line 187) | def test_bedrock_config_with_profile(self): class TestAutoGenIntegration (line 199) | class TestAutoGenIntegration: method test_client_instantiation_pattern (line 202) | def test_client_instantiation_pattern(self): method test_model_info_requirements (line 209) | def test_model_info_requirements(self): class TestThinkingInjector (line 220) | class TestThinkingInjector: method test_thinking_injector_creation (line 223) | def test_thinking_injector_creation(self): class TestLLMClientFunctions (line 239) | class TestLLMClientFunctions: method test_openai_autogen_generator (line 243) | async def test_openai_autogen_generator(self, mock_import): method test_azure_openai_autogen_generator (line 285) | async def test_azure_openai_autogen_generator(self, mock_import): method test_nim_autogen_generator (line 328) | async def test_nim_autogen_generator(self, mock_import): method test_openai_autogen_verify_ssl_passed_to_client (line 368) | async def test_openai_autogen_verify_ssl_passed_to_client(self, mock_h... method test_nim_autogen_verify_ssl_passed_to_client (line 388) | async def test_nim_autogen_verify_ssl_passed_to_client(self, mock_http... method test_litellm_autogen_generator (line 412) | async def test_litellm_autogen_generator(self, mock_import): method test_bedrock_autogen_generator (line 443) | async def test_bedrock_autogen_generator(self, mock_import): class TestAutoGenThinkingInjector (line 471) | class TestAutoGenThinkingInjector: method test_thinking_injector_inject (line 474) | def test_thinking_injector_inject(self): class TestLLMClientGeneratorsFull (line 495) | class TestLLMClientGeneratorsFull: method test_openai_autogen_complete_flow (line 498) | async def test_openai_autogen_complete_flow(self): method test_azure_openai_config_building (line 526) | async def test_azure_openai_config_building(self): method test_nim_autogen_config_handling (line 554) | async def test_nim_autogen_config_handling(self): method test_litellm_autogen_config_handling (line 581) | async def test_litellm_autogen_config_handling(self): method test_bedrock_autogen_config_handling (line 609) | async def test_bedrock_autogen_config_handling(self): method test_bedrock_autogen_with_profile (line 634) | async def test_bedrock_autogen_with_profile(self): method test_bedrock_autogen_region_none_handling (line 666) | async def test_bedrock_autogen_region_none_handling(self): class TestMixinCombinations (line 692) | class TestMixinCombinations: method test_retry_mixin_only (line 695) | def test_retry_mixin_only(self): method test_thinking_mixin_only (line 722) | def test_thinking_mixin_only(self): method test_thinking_with_none_prompt_skipped (line 740) | def test_thinking_with_none_prompt_skipped(self): class TestAutoGenThinkingInjectorDetails (line 761) | class TestAutoGenThinkingInjectorDetails: method test_thinking_injector_creation_and_usage (line 765) | def test_thinking_injector_creation_and_usage(self, mock_patch_thinking): class TestAutoGenThinkingInjectorDirect (line 799) | class TestAutoGenThinkingInjectorDirect: method test_inject_prepends_system_message (line 802) | def test_inject_prepends_system_message(self): method test_inject_preserves_existing_messages (line 834) | def test_inject_preserves_existing_messages(self): method test_inject_preserves_additional_args_and_kwargs (line 865) | def test_inject_preserves_additional_args_and_kwargs(self): class TestThinkingPromptVariations (line 887) | class TestThinkingPromptVariations: method test_thinking_false_produces_no_think_prompt (line 890) | def test_thinking_false_produces_no_think_prompt(self): method test_llama_nemotron_v1_thinking_prompt (line 915) | def test_llama_nemotron_v1_thinking_prompt(self): method test_llama_nemotron_v1_thinking_off_prompt (line 934) | def test_llama_nemotron_v1_thinking_off_prompt(self): class TestConfigExclusion (line 946) | class TestConfigExclusion: method test_openai_excludes_correct_fields (line 949) | async def test_openai_excludes_correct_fields(self): method test_azure_excludes_correct_fields (line 986) | async def test_azure_excludes_correct_fields(self): method test_bedrock_excludes_nat_specific_fields (line 1018) | async def test_bedrock_excludes_nat_specific_fields(self): class TestLiteLLMSecretResolution (line 1050) | class TestLiteLLMSecretResolution: method test_litellm_resolves_api_key_secret (line 1053) | async def test_litellm_resolves_api_key_secret(self): method test_litellm_handles_none_api_key (line 1080) | async def test_litellm_handles_none_api_key(self): class TestErrorHandling (line 1107) | class TestErrorHandling: method test_patch_with_invalid_retry_config (line 1110) | def test_patch_with_invalid_retry_config(self): method test_patch_with_unsupported_model_for_thinking (line 1131) | def test_patch_with_unsupported_model_for_thinking(self): method test_openai_config_with_empty_model_name (line 1152) | async def test_openai_config_with_empty_model_name(self): class TestAsyncGeneratorCleanup (line 1180) | class TestAsyncGeneratorCleanup: method test_openai_generator_cleanup_on_normal_exit (line 1183) | async def test_openai_generator_cleanup_on_normal_exit(self): method test_generator_cleanup_on_exception (line 1210) | async def test_generator_cleanup_on_exception(self): method test_generator_can_be_closed_early (line 1235) | async def test_generator_can_be_closed_early(self): method test_bedrock_generator_cleanup (line 1263) | async def test_bedrock_generator_cleanup(self): FILE: packages/nvidia_nat_autogen/tests/test_register_autogen.py class TestRegisterModule (line 18) | class TestRegisterModule: method test_llm_module_functions (line 21) | def test_llm_module_functions(self): method test_tool_wrapper_module_functions (line 31) | def test_tool_wrapper_module_functions(self): FILE: packages/nvidia_nat_autogen/tests/test_tool_wrapper_autogen.py class MockInputSchema (line 33) | class MockInputSchema(BaseModel): class MockDataclassSchema (line 42) | class MockDataclassSchema: class TestResolveType (line 49) | class TestResolveType: method test_resolve_union_type (line 52) | def test_resolve_union_type(self): method test_resolve_pep604_union (line 59) | def test_resolve_pep604_union(self): method test_resolve_non_union_type (line 66) | def test_resolve_non_union_type(self): method test_resolve_complex_union (line 71) | def test_resolve_complex_union(self): method test_resolve_all_none_union (line 80) | def test_resolve_all_none_union(self): class TestAutoGenToolWrapper (line 88) | class TestAutoGenToolWrapper: method fixture_mock_function (line 92) | def fixture_mock_function(self): method fixture_mock_builder (line 104) | def fixture_mock_builder(self): method test_autogen_tool_wrapper_basic (line 108) | def test_autogen_tool_wrapper_basic(self, mock_function, mock_builder): method test_autogen_tool_wrapper_streaming (line 123) | def test_autogen_tool_wrapper_streaming(self, mock_function, mock_buil... method test_autogen_tool_wrapper_no_description (line 138) | def test_autogen_tool_wrapper_no_description(self, mock_function, mock... method test_callable_ainvoke (line 151) | async def test_callable_ainvoke(self, mock_function, mock_builder): method test_callable_astream (line 161) | async def test_callable_astream(self, mock_function, mock_builder): class TestNatFunctionDecorator (line 183) | class TestNatFunctionDecorator: method test_function_metadata_setting (line 186) | def test_function_metadata_setting(self): method test_signature_creation_with_schema (line 221) | def test_signature_creation_with_schema(self): method test_no_input_schema_handling (line 244) | def test_no_input_schema_handling(self): class TestTypeResolution (line 255) | class TestTypeResolution: method test_resolve_type_with_complex_types (line 258) | def test_resolve_type_with_complex_types(self): method test_resolve_type_with_optional (line 270) | def test_resolve_type_with_optional(self): FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/cli/optimize.py function optimizer_command (line 62) | def optimizer_command(ctx, **kwargs) -> None: function run_optimizer_callback (line 68) | def run_optimizer_callback( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/eval_runtime_loader.py function load_evaluation_run (line 20) | def load_evaluation_run() -> type: FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/optimizable_utils.py function walk_optimizables (line 27) | def walk_optimizables(obj: BaseModel, path: str = "") -> dict[str, Searc... FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/optimizer_runtime.py function _build_optimizer_callback_manager (line 31) | def _build_optimizer_callback_manager(base_cfg): function optimize_config (line 121) | async def optimize_config(opt_run_config: OptimizerRunConfig): FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/parameters/base.py class BaseParameterOptimizer (line 27) | class BaseParameterOptimizer(ABC): method run (line 41) | async def run( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/parameters/optimizer.py function _on_numeric_trial_end (line 45) | def _on_numeric_trial_end( function _on_numeric_study_end (line 82) | def _on_numeric_study_end( function optimize_parameters (line 105) | def optimize_parameters( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/parameters/pareto_visualizer.py class ParetoVisualizer (line 30) | class ParetoVisualizer: method __init__ (line 32) | def __init__(self, metric_names: list[str], directions: list[str], tit... method plot_pareto_front_2d (line 40) | def plot_pareto_front_2d(self, method plot_pareto_parallel_coordinates (line 153) | def plot_pareto_parallel_coordinates(self, method plot_pairwise_matrix (line 239) | def plot_pairwise_matrix(self, function load_trials_from_study (line 347) | def load_trials_from_study(study: optuna.Study) -> tuple[pd.DataFrame, p... function load_trials_from_csv (line 359) | def load_trials_from_csv(csv_path: Path, metric_names: list[str], function compute_pareto_optimal_mask (line 375) | def compute_pareto_optimal_mask(df: pd.DataFrame, value_cols: list[str],... function create_pareto_visualization (line 397) | def create_pareto_visualization(data_source: optuna.Study | Path | pd.Da... FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/parameters/selection.py function _to_minimisation_matrix (line 26) | def _to_minimisation_matrix( function pick_trial (line 39) | def pick_trial( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/prompts/base.py class BasePromptOptimizer (line 27) | class BasePromptOptimizer(ABC): method run (line 41) | async def run( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/prompts/ga_individual.py class Individual (line 23) | class Individual: FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/prompts/ga_prompt_optimizer.py function _on_prompt_trial_end (line 52) | def _on_prompt_trial_end( function _on_prompt_study_end (line 95) | def _on_prompt_study_end( function optimize_prompts (line 126) | async def optimize_prompts( class GAPromptOptimizer (line 149) | class GAPromptOptimizer(BasePromptOptimizer): method _evaluate_single_given_trial (line 152) | async def _evaluate_single_given_trial( method _post_evaluate_single (line 201) | async def _post_evaluate_single( method _evaluate_population (line 221) | async def _evaluate_population( method _normalize_generation (line 262) | def _normalize_generation( method _scalarize (line 289) | def _scalarize( method _apply_diversity_penalty (line 313) | def _apply_diversity_penalty( method _compute_fitness (line 328) | def _compute_fitness( method _persist_checkpoint (line 351) | def _persist_checkpoint( method _persist_final (line 370) | def _persist_final( method _tournament_select (line 397) | def _tournament_select(pop: Sequence[Individual], k: int) -> Individual: method run (line 402) | async def run( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/prompts/oracle_feedback.py function build_oracle_feedback (line 31) | def build_oracle_feedback(reasoning_list: list[str], max_chars: int) -> ... function should_inject_feedback (line 73) | def should_inject_feedback( function check_adaptive_triggers (line 107) | def check_adaptive_triggers( function _reasoning_to_string (line 151) | def _reasoning_to_string(reasoning: Any) -> str: function extract_worst_reasoning (line 172) | def extract_worst_reasoning( FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/register.py class _ParameterOptimizerRunner (line 32) | class _ParameterOptimizerRunner(BaseParameterOptimizer): method run (line 35) | async def run( function _parameter_optimizer_build (line 54) | async def _parameter_optimizer_build( function register_numeric_optimizer (line 60) | async def register_numeric_optimizer(config: OptunaParameterOptimization... function _ga_prompt_optimizer_build (line 65) | async def _ga_prompt_optimizer_build(_config: GAPromptOptimizationConfig... function register_ga_prompt_optimizer (line 70) | async def register_ga_prompt_optimizer(config: GAPromptOptimizationConfig): FILE: packages/nvidia_nat_config_optimizer/src/nat/plugins/config_optimizer/update_helpers.py function _deep_merge_dict (line 22) | def _deep_merge_dict(target: dict[str, Any], updates: dict[str, Any]) ->... function nest_updates (line 31) | def nest_updates(flat: dict[str, Any]) -> dict[str, Any]: function apply_suggestions (line 54) | def apply_suggestions(cfg: BaseModel, flat: dict[str, Any]) -> BaseModel: FILE: packages/nvidia_nat_config_optimizer/tests/test_optimizable_utils.py class InnerModel (line 27) | class InnerModel(BaseModel): class RootModel (line 33) | class RootModel(OptimizableMixin): function test_walk_optimizables_honors_allowlist_and_nested (line 40) | def test_walk_optimizables_honors_allowlist_and_nested(): function test_walk_optimizables_respects_allowlist_exclusions (line 60) | def test_walk_optimizables_respects_allowlist_exclusions(): function test_walk_optimizables_warns_when_no_allowlist (line 72) | def test_walk_optimizables_warns_when_no_allowlist(caplog: pytest.LogCap... function test_walk_optimizables_uses_search_space_overrides (line 88) | def test_walk_optimizables_uses_search_space_overrides(): function test_walk_optimizables_requires_search_space (line 101) | def test_walk_optimizables_requires_search_space(): function test_walk_optimizables_can_mark_without_space_in_code (line 112) | def test_walk_optimizables_can_mark_without_space_in_code(): function test_static_type_fallback_for_dict_of_models (line 124) | def test_static_type_fallback_for_dict_of_models(): FILE: packages/nvidia_nat_config_optimizer/tests/test_optimizer_runtime_extra.py class _DummyConfig (line 25) | class _DummyConfig(BaseModel): function test_optimize_config_returns_input_when_no_space (line 31) | async def test_optimize_config_returns_input_when_no_space(monkeypatch): function test_optimize_config_calls_numeric_and_prompt (line 48) | async def test_optimize_config_calls_numeric_and_prompt(monkeypatch): function test_optimize_config_propagates_prompt_runner_return (line 123) | async def test_optimize_config_propagates_prompt_runner_return(monkeypat... FILE: packages/nvidia_nat_config_optimizer/tests/test_oracle_feedback.py class TestBuildOracleFeedback (line 35) | class TestBuildOracleFeedback: method test_empty_reasoning_returns_none (line 38) | def test_empty_reasoning_returns_none(self): method test_single_reasoning (line 43) | def test_single_reasoning(self): method test_multiple_reasoning (line 48) | def test_multiple_reasoning(self): method test_truncation_at_char_limit (line 54) | def test_truncation_at_char_limit(self): method test_skips_entry_if_no_meaningful_space (line 64) | def test_skips_entry_if_no_meaningful_space(self): method test_preserves_evaluator_labels (line 71) | def test_preserves_evaluator_labels(self): class TestShouldInjectFeedback (line 79) | class TestShouldInjectFeedback: method test_never_mode_returns_false (line 82) | def test_never_mode_returns_false(self): method test_always_mode_returns_true (line 91) | def test_always_mode_returns_true(self): method test_failing_only_below_threshold (line 100) | def test_failing_only_below_threshold(self): method test_failing_only_above_threshold (line 109) | def test_failing_only_above_threshold(self): method test_adaptive_when_enabled (line 118) | def test_adaptive_when_enabled(self): method test_adaptive_when_not_enabled (line 127) | def test_adaptive_when_not_enabled(self): method test_unknown_mode_returns_false (line 136) | def test_unknown_mode_returns_false(self): class TestCheckAdaptiveTriggers (line 146) | class TestCheckAdaptiveTriggers: method test_no_trigger_with_improving_fitness (line 149) | def test_no_trigger_with_improving_fitness(self): method test_stagnation_trigger (line 161) | def test_stagnation_trigger(self): method test_fitness_variance_collapse_trigger (line 174) | def test_fitness_variance_collapse_trigger(self): method test_diversity_collapse_trigger (line 187) | def test_diversity_collapse_trigger(self): method test_insufficient_history_no_stagnation_check (line 200) | def test_insufficient_history_no_stagnation_check(self): class TestReasoningToString (line 213) | class TestReasoningToString: method test_none_returns_empty_string (line 216) | def test_none_returns_empty_string(self): method test_string_returns_unchanged (line 219) | def test_string_returns_unchanged(self): method test_dict_returns_json (line 222) | def test_dict_returns_json(self): method test_list_returns_json (line 227) | def test_list_returns_json(self): method test_basemodel_returns_json (line 232) | def test_basemodel_returns_json(self): method test_other_types_use_str (line 242) | def test_other_types_use_str(self): class TestExtractWorstReasoning (line 247) | class TestExtractWorstReasoning: method test_empty_results_returns_empty (line 250) | def test_empty_results_returns_empty(self): method test_extracts_reasoning_from_lowest_scores (line 260) | def test_extracts_reasoning_from_lowest_scores(self): method test_skips_items_without_reasoning (line 279) | def test_skips_items_without_reasoning(self): method test_converts_dict_reasoning_to_string (line 296) | def test_converts_dict_reasoning_to_string(self): method test_converts_basemodel_reasoning_to_string (line 315) | def test_converts_basemodel_reasoning_to_string(self): method test_handles_list_reasoning (line 338) | def test_handles_list_reasoning(self): method test_weights_affect_priority (line 355) | def test_weights_affect_priority(self): method test_minimize_direction_handled (line 376) | def test_minimize_direction_handled(self): class TestGAPromptOptimizationConfigValidation (line 394) | class TestGAPromptOptimizationConfigValidation: method test_oracle_feedback_worst_n_zero_rejected (line 397) | def test_oracle_feedback_worst_n_zero_rejected(self): method test_oracle_feedback_mode_invalid_rejected (line 403) | def test_oracle_feedback_mode_invalid_rejected(self): method test_oracle_feedback_fitness_threshold_out_of_range_rejected (line 409) | def test_oracle_feedback_fitness_threshold_out_of_range_rejected(self): method test_oracle_feedback_diversity_threshold_out_of_range_rejected (line 415) | def test_oracle_feedback_diversity_threshold_out_of_range_rejected(self): method test_valid_oracle_feedback_config_accepted (line 421) | def test_valid_oracle_feedback_config_accepted(self): FILE: packages/nvidia_nat_config_optimizer/tests/test_parameter_optimizer.py class _FakeTrial (line 29) | class _FakeTrial: method __init__ (line 31) | def __init__(self, trial_id: int): method suggest_categorical (line 37) | def suggest_categorical(self, _name: str, choices): # noqa: ANN001 method suggest_int (line 40) | def suggest_int( method suggest_float (line 50) | def suggest_float( method set_user_attr (line 60) | def set_user_attr(self, key: str, value): # noqa: ANN001 class _FakeDF (line 64) | class _FakeDF: method __init__ (line 66) | def __init__(self): method __getitem__ (line 71) | def __getitem__(self, key): # noqa: ANN001 method __setitem__ (line 79) | def __setitem__(self, key, value): # noqa: ANN001 method drop (line 84) | def drop(self, columns=None): # noqa: ANN001, D401 method to_csv (line 87) | def to_csv(self, fh, index: bool = False): # noqa: ANN001, FBT001 class _FakeSeries (line 91) | class _FakeSeries: method __init__ (line 93) | def __init__(self, values): # noqa: ANN001 method isin (line 96) | def isin(self, other): # noqa: ANN001 class _FakeStudy (line 101) | class _FakeStudy: method __init__ (line 103) | def __init__(self, directions: list[str]): method optimize (line 108) | def optimize(self, objective, n_trials: int): # noqa: ANN001, D401 method trials_dataframe (line 115) | def trials_dataframe(self, *args, **kwargs): # noqa: ANN001, D401 method best_trials (line 119) | def best_trials(self): # noqa: D401 function _make_optimizer_config (line 125) | def _make_optimizer_config(tmp_path: Path) -> OptimizerConfig: function _make_run_config (line 136) | def _make_run_config(_cfg: Config) -> OptimizerRunConfig: function test_optimize_parameters_happy_path (line 146) | def test_optimize_parameters_happy_path(tmp_path: Path): function test_optimize_parameters_requires_output_path (line 249) | def test_optimize_parameters_requires_output_path(tmp_path: Path): function test_optimize_parameters_requires_eval_metrics (line 259) | def test_optimize_parameters_requires_eval_metrics(tmp_path: Path): class TestSamplerSelection (line 270) | class TestSamplerSelection: method test_default_sampler_is_none (line 273) | def test_default_sampler_is_none(self, tmp_path: Path): method test_none_sampler_single_objective_uses_tpe (line 320) | def test_none_sampler_single_objective_uses_tpe(self, tmp_path: Path): method test_none_sampler_multi_objective_uses_nsga2 (line 376) | def test_none_sampler_multi_objective_uses_nsga2(self, tmp_path: Path): method test_grid_sampler_selected (line 434) | def test_grid_sampler_selected(self, tmp_path: Path): method test_enum_sampler_type_with_correct_value (line 489) | def test_enum_sampler_type_with_correct_value(self, tmp_path: Path): method test_bayesian_sampler_passes_none_to_optuna (line 542) | def test_bayesian_sampler_passes_none_to_optuna(self, tmp_path: Path): method test_bayesian_sampler_single_objective (line 588) | def test_bayesian_sampler_single_objective(self, tmp_path: Path): method test_bayesian_sampler_multi_objective (line 642) | def test_bayesian_sampler_multi_objective(self, tmp_path: Path): method test_bayesian_sampler_with_enum_value (line 698) | def test_bayesian_sampler_with_enum_value(self, tmp_path: Path): class TestGridSearchIntegration (line 747) | class TestGridSearchIntegration: method test_grid_search_with_multiple_categorical_params_static_pass (line 750) | def test_grid_search_with_multiple_categorical_params_static_pass(self... method test_grid_search_with_multiple_categorical_params_runtime_pass (line 810) | def test_grid_search_with_multiple_categorical_params_runtime_pass(sel... method test_grid_search_with_integer_range (line 869) | def test_grid_search_with_integer_range(self, tmp_path: Path): method test_grid_search_with_float_range (line 923) | def test_grid_search_with_float_range(self, tmp_path: Path): method test_grid_search_mixed_categorical_and_ranges (line 979) | def test_grid_search_mixed_categorical_and_ranges(self, tmp_path: Path): method test_grid_search_filters_prompt_parameters (line 1038) | def test_grid_search_filters_prompt_parameters(self, tmp_path: Path): method test_grid_search_range_without_step_raises_error (line 1097) | def test_grid_search_range_without_step_raises_error(self, tmp_path: P... FILE: packages/nvidia_nat_config_optimizer/tests/test_parameter_selection_extra.py function _make_study_with_trials (line 22) | def _make_study_with_trials(values_list): # noqa: ANN001 function test_pick_trial_sum_and_chebyshev_selects_center_point (line 30) | def test_pick_trial_sum_and_chebyshev_selects_center_point(): function test_pick_trial_weights_mismatch_raises (line 44) | def test_pick_trial_weights_mismatch_raises(): function test_pick_trial_unknown_mode_raises (line 55) | def test_pick_trial_unknown_mode_raises(): function test_pick_trial_empty_front_raises (line 66) | def test_pick_trial_empty_front_raises(): FILE: packages/nvidia_nat_config_optimizer/tests/test_pareto_visualizer_extra.py function _make_two_obj_study (line 24) | def _make_two_obj_study(): function test_create_pareto_visualization_from_study (line 32) | def test_create_pareto_visualization_from_study(tmp_path: Path): function test_create_pareto_visualization_from_csv (line 47) | def test_create_pareto_visualization_from_csv(tmp_path: Path): FILE: packages/nvidia_nat_config_optimizer/tests/test_prompt_optimizer.py function _make_optimizer_config (line 39) | def _make_optimizer_config(tmp_path: Path) -> OptimizerConfig: function _make_run_config (line 58) | def _make_run_config(cfg: Config) -> OptimizerRunConfig: function test_optimize_prompts_no_prompt_space (line 68) | async def test_optimize_prompts_no_prompt_space(tmp_path: Path): function test_optimize_prompts_requires_eval_metrics (line 77) | async def test_optimize_prompts_requires_eval_metrics(tmp_path: Path): class InitFunctionConfig (line 92) | class InitFunctionConfig(FunctionBaseConfig, name="ga_init_test"): class RecombineFunctionConfig (line 96) | class RecombineFunctionConfig(FunctionBaseConfig, name="ga_recombine_tes... function _register_prompt_optimizer_functions (line 100) | async def _register_prompt_optimizer_functions(): function test_optimize_prompts_happy_path_with_recombine (line 128) | async def test_optimize_prompts_happy_path_with_recombine(tmp_path: Path): function test_optimize_prompts_happy_path_without_recombine (line 190) | async def test_optimize_prompts_happy_path_without_recombine(tmp_path: P... function test_optimize_prompts_with_oracle_feedback (line 232) | async def test_optimize_prompts_with_oracle_feedback(tmp_path: Path): FILE: packages/nvidia_nat_config_optimizer/tests/test_update_helpers.py function test_nest_updates_merges_nested_keys (line 22) | def test_nest_updates_merges_nested_keys(): function test_nest_updates_promotes_leaf_to_mapping_when_needed (line 41) | def test_nest_updates_promotes_leaf_to_mapping_when_needed(): class Child (line 49) | class Child(BaseModel): class RootModel (line 54) | class RootModel(BaseModel): function test_apply_suggestions_updates_nested_and_dicts_without_mutating_original (line 60) | def test_apply_suggestions_updates_nested_and_dicts_without_mutating_ori... FILE: packages/nvidia_nat_core/src/nat/authentication/api_key/api_key_auth_provider.py class APIKeyAuthProvider (line 27) | class APIKeyAuthProvider(AuthProviderBase[APIKeyAuthProviderConfig]): method __init__ (line 30) | def __init__(self, config: APIKeyAuthProviderConfig, config_name: str ... method _construct_authentication_header (line 36) | async def _construct_authentication_header(self) -> BearerTokenCred: method authenticate (line 78) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... FILE: packages/nvidia_nat_core/src/nat/authentication/api_key/api_key_auth_provider_config.py class APIKeyAuthProviderConfig (line 37) | class APIKeyAuthProviderConfig(AuthProviderBaseConfig, name="api_key"): method validate_raw_key (line 59) | def validate_raw_key(cls, value: SerializableSecretStr) -> Serializabl... method validate_custom_header_name (line 82) | def validate_custom_header_name(cls, value: str | None) -> str | None: method validate_custom_header_prefix (line 104) | def validate_custom_header_prefix(cls, value: str | None) -> str | None: method validate_raw_key_after (line 125) | def validate_raw_key_after(cls, value: str) -> str: method validate_custom_scheme_requirements (line 133) | def validate_custom_scheme_requirements(self) -> 'APIKeyAuthProviderCo... FILE: packages/nvidia_nat_core/src/nat/authentication/api_key/register.py function api_key_client (line 22) | async def api_key_client(config: APIKeyAuthProviderConfig, builder: Buil... FILE: packages/nvidia_nat_core/src/nat/authentication/credential_validator/bearer_token_validator.py class BearerTokenValidator (line 33) | class BearerTokenValidator: method __init__ (line 39) | def __init__( method _validate_configuration (line 100) | def _validate_configuration(self) -> None: method verify (line 111) | async def verify(self, token: str) -> TokenValidationResult: method _is_jwt_token (line 139) | def _is_jwt_token(self, token: str) -> bool: method _verify_jwt_token (line 143) | async def _verify_jwt_token(self, token: str) -> TokenValidationResult: method _verify_opaque_token (line 194) | async def _verify_opaque_token(self, token: str) -> TokenValidationRes... method _resolve_jwks_uri (line 291) | async def _resolve_jwks_uri(self) -> str: method _get_oidc_configuration (line 318) | async def _get_oidc_configuration(self, discovery_url: str) -> dict[st... method _fetch_jwks (line 366) | async def _fetch_jwks(self, jwks_uri: str) -> KeySet: method _extract_audience_from_claims (line 407) | def _extract_audience_from_claims(self, claims: dict[str, Any]) -> lis... method _extract_audience_from_introspection (line 425) | def _extract_audience_from_introspection(self, response: dict[str, Any... method _require_https (line 443) | def _require_https(self, url: str, url_description: str) -> None: method _check_jwt_policies (line 458) | def _check_jwt_policies(self, method _check_opaque_policies (line 491) | def _check_opaque_policies(self, method _is_expired (line 525) | def _is_expired(self, exp: int | None, leeway: int | None = None) -> b... method _is_not_yet_valid (line 542) | def _is_not_yet_valid(self, nbf: int | None, leeway: int | None = None... FILE: packages/nvidia_nat_core/src/nat/authentication/exceptions/api_key_exceptions.py class APIKeyFieldError (line 17) | class APIKeyFieldError(Exception): method __init__ (line 20) | def __init__(self, error_code: str, message: str, *args): class HeaderNameFieldError (line 25) | class HeaderNameFieldError(Exception): method __init__ (line 28) | def __init__(self, error_code: str, message: str, *args): class HeaderPrefixFieldError (line 33) | class HeaderPrefixFieldError(Exception): method __init__ (line 36) | def __init__(self, error_code: str, message: str, *args): FILE: packages/nvidia_nat_core/src/nat/authentication/http_basic_auth/http_basic_auth_provider.py class HTTPBasicAuthProvider (line 29) | class HTTPBasicAuthProvider(AuthProviderBase): method __init__ (line 34) | def __init__(self, config: AuthProviderBaseConfig): method authenticate (line 42) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... FILE: packages/nvidia_nat_core/src/nat/authentication/http_basic_auth/register.py class HTTPBasicAuthProviderConfig (line 21) | class HTTPBasicAuthProviderConfig(AuthProviderBaseConfig, name="http_bas... function http_basic_auth_provider (line 26) | async def http_basic_auth_provider(config: HTTPBasicAuthProviderConfig, ... FILE: packages/nvidia_nat_core/src/nat/authentication/interfaces.py class AuthProviderBase (line 29) | class AuthProviderBase(typing.Generic[AuthProviderBaseConfigT], ABC): method __init__ (line 35) | def __init__(self, config: AuthProviderBaseConfigT): method config (line 45) | def config(self) -> AuthProviderBaseConfigT: method authenticate (line 57) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... class FlowHandlerBase (line 75) | class FlowHandlerBase(ABC): method authenticate (line 85) | async def authenticate(self, config: AuthProviderBaseConfig, method: A... FILE: packages/nvidia_nat_core/src/nat/authentication/jwt_utils.py function extract_bearer_token (line 28) | def extract_bearer_token(connection: Request | WebSocket, *, header: str... function decode_jwt_claims_unverified (line 64) | def decode_jwt_claims_unverified(token: str) -> dict[str, typing.Any]: FILE: packages/nvidia_nat_core/src/nat/authentication/oauth2/oauth2_auth_code_flow_provider.py class OAuth2AuthCodeFlowProvider (line 39) | class OAuth2AuthCodeFlowProvider(AuthProviderBase[OAuth2AuthCodeFlowProv... method __init__ (line 41) | def __init__(self, config: OAuth2AuthCodeFlowProviderConfig, token_sto... method _attempt_token_refresh (line 51) | async def _attempt_token_refresh(self, user_id: str, auth_result: Auth... method _set_custom_auth_callback (line 87) | def _set_custom_auth_callback(self, method authenticate (line 92) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... FILE: packages/nvidia_nat_core/src/nat/authentication/oauth2/oauth2_auth_code_flow_provider_config.py class OAuth2AuthCodeFlowProviderConfig (line 22) | class OAuth2AuthCodeFlowProviderConfig(AuthProviderBaseConfig, name="oau... FILE: packages/nvidia_nat_core/src/nat/authentication/oauth2/oauth2_resource_server_config.py class OAuth2ResourceServerConfig (line 26) | class OAuth2ResourceServerConfig(AuthProviderBaseConfig, name="oauth2_re... method _is_https_or_localhost (line 82) | def _is_https_or_localhost(url: str) -> bool: method _require_valid_url (line 95) | def _require_valid_url(cls, value: str | None, info): method _validate_client_auth_method (line 104) | def _validate_client_auth_method(cls, value: str | None): method _ensure_verification_path (line 114) | def _ensure_verification_path(self): FILE: packages/nvidia_nat_core/src/nat/authentication/oauth2/register.py function oauth2_client (line 22) | async def oauth2_client(authentication_provider: OAuth2AuthCodeFlowProvi... FILE: packages/nvidia_nat_core/src/nat/authentication/token_storage.py class TokenStorageBase (line 35) | class TokenStorageBase(ABC): method store (line 45) | async def store(self, user_id: str, auth_result: AuthResult) -> None: method retrieve (line 56) | async def retrieve(self, user_id: str) -> AuthResult | None: method delete (line 69) | async def delete(self, user_id: str) -> None: method clear_all (line 79) | async def clear_all(self) -> None: class ObjectStoreTokenStorage (line 86) | class ObjectStoreTokenStorage(TokenStorageBase): method __init__ (line 95) | def __init__(self, object_store: ObjectStore): method _get_key (line 104) | def _get_key(self, user_id: str) -> str: method store (line 121) | async def store(self, user_id: str, auth_result: AuthResult) -> None: method retrieve (line 158) | async def retrieve(self, user_id: str) -> AuthResult | None: method delete (line 181) | async def delete(self, user_id: str) -> None: method clear_all (line 196) | async def clear_all(self) -> None: class InMemoryTokenStorage (line 207) | class InMemoryTokenStorage(TokenStorageBase): method __init__ (line 216) | def __init__(self): method store (line 229) | async def store(self, user_id: str, auth_result: AuthResult) -> None: method retrieve (line 239) | async def retrieve(self, user_id: str) -> AuthResult | None: method delete (line 251) | async def delete(self, user_id: str) -> None: method clear_all (line 260) | async def clear_all(self) -> None: FILE: packages/nvidia_nat_core/src/nat/builder/builder.py class Builder (line 75) | class Builder(ABC): method current (line 78) | def current() -> "Builder": method sync_builder (line 93) | def sync_builder(self) -> "SyncBuilder": method add_function (line 102) | async def add_function(self, name: str | FunctionRef, config: Function... method add_function_group (line 115) | async def add_function_group(self, name: str | FunctionGroupRef, confi... method get_function (line 128) | async def get_function(self, name: str | FunctionRef) -> Function: method get_function_group (line 140) | async def get_function_group(self, name: str | FunctionGroupRef) -> Fu... method get_functions (line 151) | async def get_functions(self, function_names: Sequence[str | FunctionR... method get_function_groups (line 163) | async def get_function_groups(self, function_group_names: Sequence[str... method get_function_config (line 176) | def get_function_config(self, name: str | FunctionRef) -> FunctionBase... method get_function_group_config (line 188) | def get_function_group_config(self, name: str | FunctionGroupRef) -> F... method set_workflow (line 200) | async def set_workflow(self, config: FunctionBaseConfig) -> Function: method get_workflow (line 212) | def get_workflow(self) -> Function: method get_workflow_config (line 221) | def get_workflow_config(self) -> FunctionBaseConfig: method get_tools (line 230) | async def get_tools(self, method get_tool (line 245) | async def get_tool(self, fn_name: str | FunctionRef, wrapper_type: LLM... method add_llm (line 258) | async def add_llm(self, name: str | LLMRef, config: LLMBaseConfig) -> ... method get_llm (line 271) | async def get_llm(self, llm_name: str | LLMRef, wrapper_type: LLMFrame... method get_llms (line 283) | async def get_llms(self, llm_names: Sequence[str | LLMRef], method get_llm_config (line 301) | def get_llm_config(self, llm_name: str | LLMRef) -> LLMBaseConfig: method add_auth_provider (line 314) | async def add_auth_provider(self, name: str | AuthenticationRef, method get_auth_provider (line 328) | async def get_auth_provider(self, auth_provider_name: str | Authentica... method get_auth_providers (line 339) | async def get_auth_providers(self, auth_provider_names: list[str | Aut... method add_object_store (line 355) | async def add_object_store(self, name: str | ObjectStoreRef, config: O... method get_object_store_clients (line 367) | async def get_object_store_clients(self, object_store_names: Sequence[... method get_object_store_client (line 374) | async def get_object_store_client(self, object_store_name: str | Objec... method get_object_store_config (line 386) | def get_object_store_config(self, object_store_name: str | ObjectStore... method add_embedder (line 398) | async def add_embedder(self, name: str | EmbedderRef, config: Embedder... method get_embedders (line 407) | async def get_embedders(self, embedder_names: Sequence[str | EmbedderR... method get_embedder (line 425) | async def get_embedder(self, embedder_name: str | EmbedderRef, wrapper... method get_embedder_config (line 438) | def get_embedder_config(self, embedder_name: str | EmbedderRef) -> Emb... method add_memory_client (line 450) | async def add_memory_client(self, name: str | MemoryRef, config: Memor... method get_memory_clients (line 462) | async def get_memory_clients(self, memory_names: Sequence[str | Memory... method get_memory_client (line 470) | async def get_memory_client(self, memory_name: str | MemoryRef) -> Mem... method get_memory_client_config (line 477) | def get_memory_client_config(self, memory_name: str | MemoryRef) -> Me... method add_retriever (line 489) | async def add_retriever(self, name: str | RetrieverRef, config: Retrie... method get_retrievers (line 498) | async def get_retrievers(self, method get_retriever (line 517) | async def get_retriever(self, retriever_name: str | RetrieverRef, method get_retriever (line 522) | async def get_retriever(self, retriever_name: str | RetrieverRef, wrap... method get_retriever (line 526) | async def get_retriever(self, retriever_name: str | RetrieverRef) -> R... method get_retriever (line 530) | async def get_retriever(self, method get_retriever_config (line 545) | async def get_retriever_config(self, retriever_name: str | RetrieverRe... method add_trainer (line 558) | async def add_trainer(self, name: str | TrainerRef, config: TrainerCon... method add_trainer_adapter (line 572) | async def add_trainer_adapter(self, name: str | TrainerAdapterRef, con... method add_trajectory_builder (line 586) | async def add_trajectory_builder(self, name: str | TrajectoryBuilderRef, method get_trainer (line 600) | async def get_trainer(self, method get_trainer_adapter (line 617) | async def get_trainer_adapter(self, trainer_adapter_name: str | Traine... method get_trajectory_builder (line 629) | async def get_trajectory_builder(self, trajectory_builder_name: str | ... method get_trainer_config (line 641) | async def get_trainer_config(self, trainer_name: str | TrainerRef) -> ... method get_trainer_adapter_config (line 653) | async def get_trainer_adapter_config(self, trainer_adapter_name: str |... method get_trajectory_builder_config (line 665) | async def get_trajectory_builder_config( method add_ttc_strategy (line 679) | async def add_ttc_strategy(self, name: str | TTCStrategyRef, config: T... method get_ttc_strategy (line 689) | async def get_ttc_strategy(self, method get_ttc_strategy_config (line 706) | async def get_ttc_strategy_config(self, method get_function_dependencies (line 723) | def get_function_dependencies(self, fn_name: str) -> FunctionDependenc... method get_function_group_dependencies (line 735) | def get_function_group_dependencies(self, fn_name: str) -> FunctionDep... method add_middleware (line 747) | async def add_middleware(self, name: str | MiddlewareRef, config: Midd... method get_middleware (line 760) | async def get_middleware(self, middleware_name: str | MiddlewareRef) -... method get_middleware_config (line 772) | def get_middleware_config(self, middleware_name: str | MiddlewareRef) ... method get_middleware_list (line 783) | async def get_middleware_list(self, middleware_names: Sequence[str | M... class EvalBuilder (line 796) | class EvalBuilder(ABC): method add_evaluator (line 800) | async def add_evaluator(self, name: str, config: EvaluatorBaseConfig): method get_evaluator (line 810) | def get_evaluator(self, evaluator_name: str) -> typing.Any: method get_evaluator_config (line 822) | def get_evaluator_config(self, evaluator_name: str) -> EvaluatorBaseCo... method get_max_concurrency (line 834) | def get_max_concurrency(self) -> int: method get_output_dir (line 843) | def get_output_dir(self) -> Path: method get_all_tools (line 852) | async def get_all_tools(self, wrapper_type: LLMFrameworkEnum | str) ->... method add_dataset_loader (line 864) | async def add_dataset_loader(self, name: str, config: "EvalDatasetBase... method get_dataset_loader (line 874) | def get_dataset_loader(self, dataset_loader_name: str) -> typing.Any: method get_dataset_loader_config (line 886) | def get_dataset_loader_config(self, dataset_loader_name: str) -> "Eval... FILE: packages/nvidia_nat_core/src/nat/builder/child_builder.py class ChildBuilder (line 64) | class ChildBuilder(Builder): method __init__ (line 66) | def __init__(self, workflow_builder: Builder) -> None: method sync_builder (line 74) | def sync_builder(self) -> SyncBuilder: method dependencies (line 78) | def dependencies(self) -> FunctionDependencies: method add_function (line 82) | async def add_function(self, name: str, config: FunctionBaseConfig) ->... method add_function_group (line 86) | async def add_function_group(self, name: str, config: FunctionGroupBas... method get_function (line 90) | async def get_function(self, name: str) -> Function: method get_function_group (line 99) | async def get_function_group(self, name: str) -> FunctionGroup: method get_function_config (line 108) | def get_function_config(self, name: str) -> FunctionBaseConfig: method get_function_group_config (line 112) | def get_function_group_config(self, name: str) -> FunctionGroupBaseCon... method set_workflow (line 116) | async def set_workflow(self, config: FunctionBaseConfig) -> Function: method get_workflow (line 120) | def get_workflow(self) -> Function: method get_workflow_config (line 124) | def get_workflow_config(self) -> FunctionBaseConfig: method get_tools (line 128) | async def get_tools(self, method get_tool (line 154) | async def get_tool(self, fn_name: str | FunctionRef, wrapper_type: LLM... method add_llm (line 163) | async def add_llm(self, name: str, config: LLMBaseConfig) -> None: method add_auth_provider (line 168) | async def add_auth_provider(self, name: str, config: AuthProviderBaseC... method get_auth_provider (line 172) | async def get_auth_provider(self, auth_provider_name: str): method get_llm (line 176) | async def get_llm(self, llm_name: str, wrapper_type: LLMFrameworkEnum ... method get_llm_config (line 184) | def get_llm_config(self, llm_name: str) -> LLMBaseConfig: method add_embedder (line 188) | async def add_embedder(self, name: str, config: EmbedderBaseConfig) ->... method get_embedder (line 192) | async def get_embedder(self, embedder_name: str, wrapper_type: LLMFram... method get_embedder_config (line 200) | def get_embedder_config(self, embedder_name: str) -> EmbedderBaseConfig: method add_memory_client (line 204) | async def add_memory_client(self, name: str, config: MemoryBaseConfig)... method get_memory_client (line 208) | async def get_memory_client(self, memory_name: str) -> MemoryEditor: method get_memory_client_config (line 219) | def get_memory_client_config(self, memory_name: str) -> MemoryBaseConfig: method add_object_store (line 223) | async def add_object_store(self, name: str, config: ObjectStoreBaseCon... method get_object_store_client (line 227) | async def get_object_store_client(self, object_store_name: str) -> Obj... method get_object_store_config (line 238) | def get_object_store_config(self, object_store_name: str) -> ObjectSto... method add_trainer (line 243) | async def add_trainer(self, name: str | TrainerRef, config: TrainerCon... method add_trainer_adapter (line 248) | async def add_trainer_adapter(self, name: str | TrainerAdapterRef, con... method add_trajectory_builder (line 253) | async def add_trajectory_builder(self, name: str | TrajectoryBuilderRef, method get_trainer (line 258) | async def get_trainer(self, method get_trainer_config (line 265) | async def get_trainer_config(self, trainer_name: str | TrainerRef) -> ... method get_trainer_adapter_config (line 269) | async def get_trainer_adapter_config(self, trainer_adapter_name: str |... method get_trajectory_builder_config (line 273) | async def get_trajectory_builder_config( method get_trainer_adapter (line 278) | async def get_trainer_adapter(self, trainer_adapter_name: str | Traine... method get_trajectory_builder (line 282) | async def get_trajectory_builder(self, trajectory_builder_name: str | ... method add_ttc_strategy (line 287) | async def add_ttc_strategy(self, name: str, config: TTCStrategyBaseCon... method get_ttc_strategy (line 291) | async def get_ttc_strategy(self, method get_ttc_strategy_config (line 300) | async def get_ttc_strategy_config(self, method add_retriever (line 309) | async def add_retriever(self, name: str, config: RetrieverBaseConfig) ... method get_retriever (line 313) | async def get_retriever(self, retriever_name: str, wrapper_type: LLMFr... method get_retriever_config (line 319) | async def get_retriever_config(self, retriever_name: str) -> Retriever... method get_function_dependencies (line 323) | def get_function_dependencies(self, fn_name: str) -> FunctionDependenc... method get_function_group_dependencies (line 327) | def get_function_group_dependencies(self, fn_name: str) -> FunctionDep... method add_middleware (line 331) | async def add_middleware(self, name: str | MiddlewareRef, config: Midd... method get_middleware (line 336) | async def get_middleware(self, middleware_name: str | MiddlewareRef) -... method get_middleware_config (line 341) | def get_middleware_config(self, middleware_name: str | MiddlewareRef) ... method use (line 347) | def use(config: TypedBaseModel, builder: Builder) -> Generator["ChildB... FILE: packages/nvidia_nat_core/src/nat/builder/component_utils.py class ComponentInstanceData (line 68) | class ComponentInstanceData(BaseModel): function iterate_leaf_to_root (line 86) | def iterate_leaf_to_root(graph: nx.DiGraph) -> Generator[ComponentRefNode]: function group_from_component (line 106) | def group_from_component(component: TypedBaseModel) -> ComponentGroup | ... function recursive_componentref_discovery (line 147) | def recursive_componentref_discovery(cls: TypedBaseModel, value: typing.... function update_dependency_graph (line 196) | def update_dependency_graph(config: "Config", instance_config: TypedBase... function config_to_dependency_objects (line 227) | def config_to_dependency_objects(config: "Config") -> tuple[dict[str, Co... function build_dependency_sequence (line 278) | def build_dependency_sequence(config: "Config") -> list[ComponentInstanc... FILE: packages/nvidia_nat_core/src/nat/builder/context.py class Singleton (line 42) | class Singleton(type): method __init__ (line 44) | def __init__(cls, name, bases, dict): method __call__ (line 48) | def __call__(cls, *args, **kw): class ActiveFunctionContextManager (line 54) | class ActiveFunctionContextManager: method __init__ (line 56) | def __init__(self): method output (line 60) | def output(self) -> typing.Any | None: method set_output (line 63) | def set_output(self, output: typing.Any): class ContextState (line 67) | class ContextState(metaclass=Singleton): method __init__ (line 69) | def __init__(self): method metadata (line 102) | def metadata(self) -> ContextVar[RequestAttributes]: method active_function (line 108) | def active_function(self) -> ContextVar[InvocationNode]: method event_stream (line 114) | def event_stream(self) -> ContextVar[Subject[IntermediateStep]]: method active_span_id_stack (line 120) | def active_span_id_stack(self) -> ContextVar[list[str]]: method function_path_stack (line 126) | def function_path_stack(self) -> ContextVar[list[str]]: method latency_sensitivity_stack (line 132) | def latency_sensitivity_stack(self) -> ContextVar[list[int]]: method get (line 138) | def get() -> "ContextState": class Context (line 142) | class Context: method __init__ (line 144) | def __init__(self, context: ContextState): method input_message (line 148) | def input_message(self): method metadata (line 162) | def metadata(self): method user_interaction_manager (line 174) | def user_interaction_manager(self) -> UserInteractionManager: method intermediate_step_manager (line 182) | def intermediate_step_manager(self) -> IntermediateStepManager: method conversation_id (line 196) | def conversation_id(self) -> str | None: method user_message_id (line 206) | def user_message_id(self) -> str | None: method user_id (line 213) | def user_id(self) -> str | None: method workflow_run_id (line 220) | def workflow_run_id(self) -> str | None: method workflow_trace_id (line 227) | def workflow_trace_id(self) -> int | None: method observability_trace_id (line 234) | def observability_trace_id(self) -> str | None: method push_active_function (line 241) | def push_active_function(self, method active_function (line 295) | def active_function(self) -> InvocationNode: method function_path (line 305) | def function_path(self) -> list[str]: method active_span_id (line 318) | def active_span_id(self) -> str: method user_auth_callback (line 331) | def user_auth_callback(self) -> Callable[[AuthProviderBaseConfig, Auth... method is_evaluating (line 351) | def is_evaluating(self) -> bool: method latency_sensitivity (line 365) | def latency_sensitivity(self) -> int: method has_manual_latency_sensitivity (line 379) | def has_manual_latency_sensitivity(self) -> bool: method push_latency_sensitivity (line 388) | def push_latency_sensitivity(self, sensitivity: int): method scope (line 417) | def scope(**kwargs): method get (line 452) | def get() -> "Context": FILE: packages/nvidia_nat_core/src/nat/builder/dataset_loader.py class DatasetLoaderInfo (line 25) | class DatasetLoaderInfo: FILE: packages/nvidia_nat_core/src/nat/builder/embedder.py class EmbedderProviderInfo (line 19) | class EmbedderProviderInfo: method __init__ (line 21) | def __init__(self, *, config: EmbedderBaseConfig, description: str): FILE: packages/nvidia_nat_core/src/nat/builder/evaluator.py class EvaluatorInfo (line 23) | class EvaluatorInfo: method __init__ (line 25) | def __init__(self, FILE: packages/nvidia_nat_core/src/nat/builder/framework_enum.py class LLMFrameworkEnum (line 19) | class LLMFrameworkEnum(StrEnum): FILE: packages/nvidia_nat_core/src/nat/builder/front_end.py class FrontEndBase (line 26) | class FrontEndBase(typing.Generic[FrontEndConfigT], ABC): method __init__ (line 28) | def __init__(self, full_config: "Config"): method front_end_config (line 44) | def front_end_config(self) -> FrontEndConfigT: method full_config (line 56) | def full_config(self) -> "Config": method run (line 69) | async def run(self): FILE: packages/nvidia_nat_core/src/nat/builder/function.py class Function (line 49) | class Function(FunctionBase[InputT, StreamingOutputT, SingleOutputT], ABC): method __init__ (line 51) | def __init__(self, method convert (line 75) | def convert(self, value: typing.Any, to_type: type[_T]) -> _T: method try_convert (line 99) | def try_convert(self, value: typing.Any, to_type: type[_T]) -> _T | ty... method middleware (line 119) | def middleware(self) -> tuple[Middleware, ...]: method configure_middleware (line 124) | def configure_middleware(self, middleware: Sequence[Middleware] | None... method _ainvoke (line 150) | async def _ainvoke(self, value: InputT) -> SingleOutputT: method ainvoke (line 154) | async def ainvoke(self, value: InputT | typing.Any) -> SingleOutputT: method ainvoke (line 158) | async def ainvoke(self, value: InputT | typing.Any, to_type: type[_T])... method ainvoke (line 162) | async def ainvoke(self, value: InputT | typing.Any, to_type: type | No... method acall_invoke (line 206) | async def acall_invoke(self, *args, **kwargs): method _astream (line 243) | async def _astream(self, value: InputT) -> AsyncGenerator[StreamingOut... method astream (line 247) | async def astream(self, value: InputT | typing.Any) -> AsyncGenerator[... method astream (line 251) | async def astream(self, value: InputT | typing.Any, to_type: type[_T])... method astream (line 255) | async def astream(self, value: InputT | typing.Any, to_type: type | No... method acall_stream (line 305) | async def acall_stream(self, *args, **kwargs): class LambdaFunction (line 346) | class LambdaFunction(Function[InputT, StreamingOutputT, SingleOutputT]): method __init__ (line 348) | def __init__(self, *, config: FunctionBaseConfig, info: FunctionInfo, ... method has_streaming_output (line 363) | def has_streaming_output(self) -> bool: method has_single_output (line 367) | def has_single_output(self) -> bool: method _ainvoke (line 370) | async def _ainvoke(self, value: InputT) -> SingleOutputT: method _astream (line 373) | async def _astream(self, value: InputT) -> AsyncGenerator[StreamingOut... method from_info (line 378) | def from_info(*, class FunctionGroup (line 393) | class FunctionGroup: method decompose (line 405) | def decompose(name: str, legacy_compat: bool = False) -> tuple[str, str]: method __init__ (line 424) | def __init__(self, method add_function (line 452) | def add_function(self, method get_config (line 506) | def get_config(self) -> FunctionGroupBaseConfig: method _get_fn_name (line 517) | def _get_fn_name(self, name: str) -> str: method _fn_should_be_included (line 526) | async def _fn_should_be_included(self, name: str) -> bool: method _get_all_but_excluded_functions (line 531) | async def _get_all_but_excluded_functions( method get_accessible_functions (line 567) | async def get_accessible_functions( method get_excluded_functions (line 605) | async def get_excluded_functions( method get_included_functions (line 662) | async def get_included_functions( method get_all_functions (line 710) | async def get_all_functions( method set_filter_fn (line 748) | def set_filter_fn(self, filter_fn: Callable[[Sequence[str]], Awaitable... method set_per_function_filter_fn (line 759) | def set_per_function_filter_fn(self, name: str, filter_fn: Callable[[s... method set_instance_name (line 779) | def set_instance_name(self, instance_name: str): method instance_name (line 797) | def instance_name(self) -> str: method middleware (line 804) | def middleware(self) -> tuple[Middleware, ...]: method configure_middleware (line 810) | def configure_middleware(self, middleware: Sequence[Middleware] | None... FILE: packages/nvidia_nat_core/src/nat/builder/function_base.py class FunctionBase (line 41) | class FunctionBase(typing.Generic[InputT, StreamingOutputT, SingleOutput... method __init__ (line 66) | def __init__(self, method input_type (line 97) | def input_type(self) -> type[InputT]: method input_class (line 125) | def input_class(self) -> type: method input_schema (line 148) | def input_schema(self) -> type[BaseModel]: method converter_list (line 168) | def converter_list(self) -> list[Callable[[typing.Any], typing.Any]]: method streaming_output_type (line 181) | def streaming_output_type(self) -> type[StreamingOutputT]: method streaming_output_class (line 210) | def streaming_output_class(self) -> type: method streaming_output_schema (line 233) | def streaming_output_schema(self) -> type[BaseModel] | type[None]: method single_output_type (line 254) | def single_output_type(self) -> type[SingleOutputT]: method single_output_class (line 283) | def single_output_class(self) -> type: method single_output_schema (line 306) | def single_output_schema(self) -> type[BaseModel] | type[None]: method has_streaming_output (line 326) | def has_streaming_output(self) -> bool: method has_single_output (line 340) | def has_single_output(self) -> bool: method _convert_input (line 353) | def _convert_input(self, value: typing.Any) -> InputT: FILE: packages/nvidia_nat_core/src/nat/builder/function_info.py function _get_annotated_type (line 42) | def _get_annotated_type(annotated_type: type) -> type: function _validate_single_fn (line 53) | def _validate_single_fn(single_fn: SingleCallableT | None) -> tuple[type... function _validate_stream_fn (line 83) | def _validate_stream_fn(stream_fn: StreamCallableT | None) -> tuple[type... class FunctionDescriptor (line 118) | class FunctionDescriptor: method get_base_model_function_input (line 183) | def get_base_model_function_input(self) -> type[BaseModel] | type[None... method get_base_model_function_output (line 194) | def get_base_model_function_output(self, method from_function (line 210) | def from_function(func: Callable) -> 'FunctionDescriptor': class FunctionInfo (line 290) | class FunctionInfo: method __init__ (line 292) | def __init__(self, method create (line 351) | def create(*, method from_fn (line 552) | def from_fn(fn: SingleCallableT | StreamCallableT, FILE: packages/nvidia_nat_core/src/nat/builder/intermediate_step_manager.py class OpenStep (line 39) | class OpenStep: class IntermediateStepManager (line 48) | class IntermediateStepManager: method __init__ (line 57) | def __init__(self, context_state: "ContextState"): # noqa: F821 method push_intermediate_step (line 66) | def push_intermediate_step(self, payload: IntermediateStepPayload) -> ... method push_intermediate_steps (line 192) | def push_intermediate_steps(self, steps: list[IntermediateStep]) -> None: method subscribe (line 213) | def subscribe(self, method _cleanup_instance_tracking (line 224) | def _cleanup_instance_tracking(cls, ref: weakref.ref) -> None: method get_active_instance_count (line 229) | def get_active_instance_count(cls) -> int: method get_outstanding_step_count (line 237) | def get_outstanding_step_count(self) -> int: FILE: packages/nvidia_nat_core/src/nat/builder/llm.py class LLMProviderInfo (line 19) | class LLMProviderInfo: method __init__ (line 21) | def __init__(self, *, config: LLMBaseConfig, description: str): FILE: packages/nvidia_nat_core/src/nat/builder/per_user_workflow_builder.py class PerUserWorkflowBuilder (line 84) | class PerUserWorkflowBuilder(Builder, AbstractAsyncContextManager): method __init__ (line 98) | def __init__(self, user_id: str, shared_builder: WorkflowBuilder, regi... method __aenter__ (line 120) | async def __aenter__(self): method __aexit__ (line 125) | async def __aexit__(self, *exc_details): method _get_exit_stack (line 130) | def _get_exit_stack(self) -> AsyncExitStack: method sync_builder (line 138) | def sync_builder(self) -> SyncBuilder: method user_id (line 142) | def user_id(self) -> str: method _resolve_middleware_instances_from_shared_builder (line 145) | async def _resolve_middleware_instances_from_shared_builder(self, method _build_per_user_function (line 162) | async def _build_per_user_function(self, name: str, config: FunctionBa... method _build_per_user_function_group (line 182) | async def _build_per_user_function_group(self, name: str, method add_function (line 205) | async def add_function(self, name: str | FunctionRef, config: Function... method _check_backwards_compatibility_function_name (line 227) | def _check_backwards_compatibility_function_name(self, name: str) -> str: method get_function (line 238) | async def get_function(self, name: str | FunctionRef) -> Function: method get_function_config (line 254) | def get_function_config(self, name: str | FunctionRef) -> FunctionBase... method add_function_group (line 268) | async def add_function_group(self, name: str | FunctionGroupRef, confi... method get_function_group (line 304) | async def get_function_group(self, name: str | FunctionGroupRef) -> Fu... method get_function_group_config (line 316) | def get_function_group_config(self, name: str | FunctionGroupRef) -> F... method set_workflow (line 328) | async def set_workflow(self, config: FunctionBaseConfig) -> Function: method get_workflow (line 339) | def get_workflow(self) -> Function: method get_workflow_config (line 348) | def get_workflow_config(self) -> FunctionBaseConfig: method get_function_dependencies (line 357) | def get_function_dependencies(self, fn_name: str | FunctionRef) -> Fun... method get_function_group_dependencies (line 370) | def get_function_group_dependencies(self, fn_name: str | FunctionGroup... method get_tools (line 382) | async def get_tools(self, method get_tool (line 431) | async def get_tool(self, fn_name: str | FunctionRef, wrapper_type: LLM... method add_llm (line 450) | async def add_llm(self, name: str, config: LLMBaseConfig) -> None: method get_llm (line 454) | async def get_llm(self, llm_name: str, wrapper_type: LLMFrameworkEnum ... method get_llm_config (line 458) | def get_llm_config(self, llm_name: str) -> LLMBaseConfig: method add_auth_provider (line 463) | async def add_auth_provider(self, name: str, config: AuthProviderBaseC... method get_auth_provider (line 467) | async def get_auth_provider(self, auth_provider_name: str) -> AuthProv... method add_embedder (line 471) | async def add_embedder(self, name: str, config: EmbedderBaseConfig) ->... method get_embedder (line 475) | async def get_embedder(self, embedder_name: str, wrapper_type: LLMFram... method get_embedder_config (line 479) | def get_embedder_config(self, embedder_name: str) -> EmbedderBaseConfig: method add_memory_client (line 483) | async def add_memory_client(self, name: str, config: MemoryBaseConfig)... method get_memory_client (line 487) | async def get_memory_client(self, memory_name: str) -> MemoryEditor: method get_memory_client_config (line 491) | def get_memory_client_config(self, memory_name: str) -> MemoryBaseConfig: method add_object_store (line 495) | async def add_object_store(self, name: str, config: ObjectStoreBaseCon... method get_object_store_client (line 499) | async def get_object_store_client(self, object_store_name: str) -> Obj... method get_object_store_config (line 503) | def get_object_store_config(self, object_store_name: str) -> ObjectSto... method add_retriever (line 507) | async def add_retriever(self, name: str | RetrieverRef, config: Retrie... method get_retriever (line 511) | async def get_retriever(self, method get_retriever_config (line 517) | async def get_retriever_config(self, retriever_name: str | RetrieverRe... method add_ttc_strategy (line 522) | async def add_ttc_strategy(self, name: str | TTCStrategyRef, config: T... method get_ttc_strategy (line 526) | async def get_ttc_strategy(self, method get_ttc_strategy_config (line 533) | async def get_ttc_strategy_config(self, method add_middleware (line 540) | async def add_middleware(self, name: str | MiddlewareRef, config: Midd... method get_middleware (line 544) | async def get_middleware(self, middleware_name: str | MiddlewareRef) -... method get_middleware_config (line 548) | def get_middleware_config(self, middleware_name: str | MiddlewareRef) ... method add_trainer (line 553) | async def add_trainer(self, name: str | TrainerRef, config: TrainerCon... method add_trainer_adapter (line 558) | async def add_trainer_adapter(self, name: str | TrainerAdapterRef, con... method add_trajectory_builder (line 563) | async def add_trajectory_builder(self, name: str | TrajectoryBuilderRef, method get_trainer (line 568) | async def get_trainer(self, method get_trainer_adapter (line 575) | async def get_trainer_adapter(self, trainer_adapter_name: str | Traine... method get_trajectory_builder (line 579) | async def get_trajectory_builder(self, trajectory_builder_name: str | ... method get_trainer_config (line 583) | async def get_trainer_config(self, trainer_name: str | TrainerRef) -> ... method get_trainer_adapter_config (line 587) | async def get_trainer_adapter_config(self, trainer_adapter_name: str |... method get_trajectory_builder_config (line 591) | async def get_trajectory_builder_config( method populate_builder (line 595) | async def populate_builder(self, config: Config, skip_workflow: bool =... method build (line 671) | async def build(self, entry_function: str | None = None) -> Workflow: method from_config (line 822) | async def from_config(cls, user_id: str, config: Config, shared_builde... FILE: packages/nvidia_nat_core/src/nat/builder/retriever.py class RetrieverProviderInfo (line 19) | class RetrieverProviderInfo: method __init__ (line 21) | def __init__(self, *, config: RetrieverBaseConfig, description: str): FILE: packages/nvidia_nat_core/src/nat/builder/runtime_event_subscriber.py function pull_intermediate (line 25) | def pull_intermediate() -> asyncio.Future[list[dict]]: FILE: packages/nvidia_nat_core/src/nat/builder/sync_builder.py class SyncBuilder (line 66) | class SyncBuilder: method __init__ (line 72) | def __init__(self, builder: Builder) -> None: method current (line 83) | def current() -> "SyncBuilder": method async_builder (line 92) | def async_builder(self) -> Builder: method get_function (line 100) | def get_function(self, name: str | FunctionRef) -> Function: method get_function_group (line 111) | def get_function_group(self, name: str | FunctionGroupRef) -> Function... method get_functions (line 122) | def get_functions(self, function_names: Sequence[str | FunctionRef]) -... method get_function_groups (line 133) | def get_function_groups(self, function_group_names: Sequence[str | Fun... method get_function_config (line 144) | def get_function_config(self, name: str | FunctionRef) -> FunctionBase... method get_function_group_config (line 155) | def get_function_group_config(self, name: str | FunctionGroupRef) -> F... method get_workflow (line 166) | def get_workflow(self) -> Function: method get_workflow_config (line 174) | def get_workflow_config(self) -> FunctionBaseConfig: method get_tools (line 182) | def get_tools(self, method get_tool (line 196) | def get_tool(self, fn_name: str | FunctionRef, wrapper_type: LLMFramew... method get_llm (line 208) | def get_llm(self, llm_name: str | LLMRef, wrapper_type: LLMFrameworkEn... method get_llms (line 220) | def get_llms(self, llm_names: Sequence[str | LLMRef], wrapper_type: LL... method get_llm_config (line 232) | def get_llm_config(self, llm_name: str | LLMRef) -> LLMBaseConfig: method get_auth_provider (line 243) | def get_auth_provider(self, auth_provider_name: str | AuthenticationRe... method get_auth_providers (line 254) | def get_auth_providers(self, auth_provider_names: list[str | Authentic... method get_object_store_clients (line 265) | def get_object_store_clients(self, object_store_names: Sequence[str | ... method get_object_store_client (line 271) | def get_object_store_client(self, object_store_name: str | ObjectStore... method get_object_store_config (line 282) | def get_object_store_config(self, object_store_name: str | ObjectStore... method get_embedders (line 293) | def get_embedders(self, embedder_names: Sequence[str | EmbedderRef], method get_embedder (line 306) | def get_embedder(self, embedder_name: str | EmbedderRef, wrapper_type:... method get_embedder_config (line 318) | def get_embedder_config(self, embedder_name: str | EmbedderRef) -> Emb... method get_memory_clients (line 329) | def get_memory_clients(self, memory_names: Sequence[str | MemoryRef]) ... method get_memory_client (line 335) | def get_memory_client(self, memory_name: str | MemoryRef) -> MemoryEdi... method get_memory_client_config (line 341) | def get_memory_client_config(self, memory_name: str | MemoryRef) -> Me... method get_retrievers (line 352) | def get_retrievers(self, method get_retriever (line 367) | def get_retriever(self, retriever_name: str | RetrieverRef, wrapper_ty... method get_retriever (line 371) | def get_retriever(self, retriever_name: str | RetrieverRef, wrapper_ty... method get_retriever (line 375) | def get_retriever(self, retriever_name: str | RetrieverRef) -> Retriever: method get_retriever (line 378) | def get_retriever(self, method get_retriever_config (line 392) | def get_retriever_config(self, retriever_name: str | RetrieverRef) -> ... method get_trainer (line 403) | def get_trainer(self, method get_trainer_adapter (line 420) | def get_trainer_adapter(self, trainer_adapter_name: str | TrainerAdapt... method get_trajectory_builder (line 431) | def get_trajectory_builder(self, trajectory_builder_name: str | Trajec... method get_trainer_config (line 442) | def get_trainer_config(self, trainer_name: str | TrainerRef) -> Traine... method get_trainer_adapter_config (line 453) | def get_trainer_adapter_config(self, trainer_adapter_name: str | Train... method get_trajectory_builder_config (line 464) | def get_trajectory_builder_config(self, method get_ttc_strategy (line 476) | def get_ttc_strategy(self, method get_ttc_strategy_config (line 492) | def get_ttc_strategy_config(self, method get_function_dependencies (line 509) | def get_function_dependencies(self, fn_name: str) -> FunctionDependenc... method get_function_group_dependencies (line 520) | def get_function_group_dependencies(self, fn_name: str) -> FunctionDep... method get_middleware (line 531) | def get_middleware(self, middleware_name: str | MiddlewareRef) -> Midd... method get_middleware_config (line 542) | def get_middleware_config(self, middleware_name: str | MiddlewareRef) ... method get_middleware_list (line 553) | def get_middleware_list(self, middleware_names: Sequence[str | Middlew... FILE: packages/nvidia_nat_core/src/nat/builder/user_interaction_manager.py class UserInteractionManager (line 29) | class UserInteractionManager: method __init__ (line 38) | def __init__(self, context_state: "ContextState") -> None: # noqa: F821 method default_callback_handler (line 42) | async def default_callback_handler(prompt: InteractionPrompt) -> Human... method prompt_user_input (line 53) | async def prompt_user_input(self, content: HumanPrompt) -> Interaction... FILE: packages/nvidia_nat_core/src/nat/builder/workflow.py class Workflow (line 39) | class Workflow(FunctionBase[InputT, StreamingOutputT, SingleOutputT]): method __init__ (line 41) | def __init__(self, method has_streaming_output (line 83) | def has_streaming_output(self) -> bool: method has_single_output (line 88) | def has_single_output(self) -> bool: method get_all_exporters (line 92) | async def get_all_exporters(self) -> dict[str, BaseExporter]: method exporter_manager (line 96) | def exporter_manager(self) -> ExporterManager: method run (line 100) | async def run(self, message: InputT, runtime_type: RuntimeTypeEnum = R... method result_with_steps (line 116) | async def result_with_steps(self, message: InputT, to_type: type | Non... method from_entry_fn (line 133) | def from_entry_fn(*, FILE: packages/nvidia_nat_core/src/nat/builder/workflow_builder.py function detect_llm_frameworks_in_build_fn (line 98) | def detect_llm_frameworks_in_build_fn(registration) -> list[LLMFramework... function chain_wrapped_build_fn (line 101) | def chain_wrapped_build_fn(original_build_fn, workflow_llms, function_fr... class ConfiguredTelemetryExporter (line 109) | class ConfiguredTelemetryExporter: class ConfiguredFunction (line 115) | class ConfiguredFunction: class ConfiguredFunctionGroup (line 121) | class ConfiguredFunctionGroup: class ConfiguredLLM (line 127) | class ConfiguredLLM: class ConfiguredEmbedder (line 133) | class ConfiguredEmbedder: class ConfiguredMemory (line 139) | class ConfiguredMemory: class ConfiguredObjectStore (line 145) | class ConfiguredObjectStore: class ConfiguredRetriever (line 151) | class ConfiguredRetriever: class ConfiguredAuthProvider (line 157) | class ConfiguredAuthProvider: class ConfiguredTTCStrategy (line 163) | class ConfiguredTTCStrategy: class ConfiguredMiddleware (line 169) | class ConfiguredMiddleware: class ConfiguredTrainer (line 175) | class ConfiguredTrainer: class ConfiguredTrainerAdapter (line 181) | class ConfiguredTrainerAdapter: class ConfiguredTrajectoryBuilder (line 187) | class ConfiguredTrajectoryBuilder: function _log_build_failure (line 192) | def _log_build_failure(component_name: str, function _build_function_impl (line 226) | async def _build_function_impl( function _build_function_group_impl (line 275) | async def _build_function_group_impl( class WorkflowBuilder (line 319) | class WorkflowBuilder(Builder, AbstractAsyncContextManager): method __init__ (line 321) | def __init__(self, *, general_config: GeneralConfig | None = None, reg... method __aenter__ (line 366) | async def __aenter__(self): method __aexit__ (line 427) | async def __aexit__(self, *exc_details): method sync_builder (line 447) | def sync_builder(self) -> SyncBuilder: method build (line 450) | async def build(self, entry_function: str | None = None) -> Workflow: method _get_exit_stack (line 579) | def _get_exit_stack(self) -> AsyncExitStack: method _resolve_middleware_instances (line 587) | async def _resolve_middleware_instances(self, middleware_names: list[s... method _build_function (line 606) | async def _build_function(self, name: str, config: FunctionBaseConfig)... method _build_function_group (line 631) | async def _build_function_group(self, name: str, config: FunctionGroup... method add_function (line 663) | async def add_function(self, name: str | FunctionRef, config: Function... method add_function_group (line 679) | async def add_function_group(self, name: str | FunctionGroupRef, confi... method _check_backwards_compatibility_function_name (line 706) | def _check_backwards_compatibility_function_name(self, name: str) -> str: method get_function (line 717) | async def get_function(self, name: str | FunctionRef) -> Function: method get_function_group (line 729) | async def get_function_group(self, name: str | FunctionGroupRef) -> Fu... method get_function_config (line 738) | def get_function_config(self, name: str | FunctionRef) -> FunctionBase... method get_function_group_config (line 748) | def get_function_group_config(self, name: str | FunctionGroupRef) -> F... method set_workflow (line 757) | async def set_workflow(self, config: FunctionBaseConfig) -> Function: method get_workflow (line 769) | def get_workflow(self) -> Function: method get_workflow_config (line 777) | def get_workflow_config(self) -> FunctionBaseConfig: method get_function_dependencies (line 784) | def get_function_dependencies(self, fn_name: str | FunctionRef) -> Fun... method get_function_group_dependencies (line 790) | def get_function_group_dependencies(self, fn_name: str | FunctionGroup... method get_tools (line 796) | async def get_tools(self, method get_tool (line 830) | async def get_tool(self, fn_name: str | FunctionRef, wrapper_type: LLM... method add_llm (line 850) | async def add_llm(self, name: str | LLMRef, config: LLMBaseConfig) -> ... method get_llm (line 867) | async def get_llm(self, llm_name: str | LLMRef, wrapper_type: LLMFrame... method get_llm_config (line 890) | def get_llm_config(self, llm_name: str | LLMRef) -> LLMBaseConfig: method add_auth_provider (line 900) | async def add_auth_provider(self, name: str | AuthenticationRef, method get_auth_provider (line 943) | async def get_auth_provider(self, auth_provider_name: str) -> AuthProv... method add_embedder (line 971) | async def add_embedder(self, name: str | EmbedderRef, config: Embedder... method get_embedder (line 989) | async def get_embedder(self, embedder_name: str | EmbedderRef, wrapper... method get_embedder_config (line 1013) | def get_embedder_config(self, embedder_name: str | EmbedderRef) -> Emb... method add_memory_client (line 1022) | async def add_memory_client(self, name: str | MemoryRef, config: Memor... method get_memory_client (line 1037) | async def get_memory_client(self, memory_name: str | MemoryRef) -> Mem... method get_memory_client_config (line 1047) | def get_memory_client_config(self, memory_name: str | MemoryRef) -> Me... method add_object_store (line 1056) | async def add_object_store(self, name: str | ObjectStoreRef, config: O... method get_object_store_client (line 1071) | async def get_object_store_client(self, object_store_name: str | Objec... method get_object_store_config (line 1078) | def get_object_store_config(self, object_store_name: str | ObjectStore... method add_retriever (line 1085) | async def add_retriever(self, name: str | RetrieverRef, config: Retrie... method get_retriever (line 1104) | async def get_retriever(self, method get_retriever_config (line 1130) | async def get_retriever_config(self, retriever_name: str | RetrieverRe... method add_trainer (line 1139) | async def add_trainer(self, name: str | TrainerRef, config: TrainerCon... method add_trainer_adapter (line 1160) | async def add_trainer_adapter(self, name: str | TrainerAdapterRef, con... method add_trajectory_builder (line 1181) | async def add_trajectory_builder(self, name: str | TrajectoryBuilderRef, method get_trainer (line 1202) | async def get_trainer(self, method get_trainer_config (line 1216) | async def get_trainer_config(self, trainer_name: str | TrainerRef) -> ... method get_trainer_adapter_config (line 1223) | async def get_trainer_adapter_config(self, trainer_adapter_name: str |... method get_trajectory_builder_config (line 1230) | async def get_trajectory_builder_config( method get_trainer_adapter (line 1238) | async def get_trainer_adapter(self, trainer_adapter_name: str | Traine... method get_trajectory_builder (line 1245) | async def get_trajectory_builder(self, trajectory_builder_name: str | ... method add_ttc_strategy (line 1253) | async def add_ttc_strategy(self, name: str | TTCStrategyRef, config: T... method get_ttc_strategy (line 1271) | async def get_ttc_strategy(self, method get_ttc_strategy_config (line 1300) | async def get_ttc_strategy_config(self, method add_middleware (line 1320) | async def add_middleware(self, name: str | MiddlewareRef, config: Midd... method get_middleware (line 1350) | async def get_middleware(self, middleware_name: str | MiddlewareRef) -... method get_middleware_config (line 1368) | def get_middleware_config(self, middleware_name: str | MiddlewareRef) ... method add_telemetry_exporter (line 1385) | async def add_telemetry_exporter(self, name: str, config: TelemetryExp... method populate_builder (line 1406) | async def populate_builder(self, config: Config, skip_workflow: bool =... method _validate_dependencies (line 1529) | def _validate_dependencies(self, config: Config): method from_config (line 1610) | async def from_config(cls, config: Config): class WorkflowEvalBuilderBase (line 1617) | class WorkflowEvalBuilderBase(WorkflowBuilder, EvalBuilder, ABC): FILE: packages/nvidia_nat_core/src/nat/cli/cli_utils/config_override.py class _Placeholder (line 31) | class _Placeholder: class LayeredConfig (line 36) | class LayeredConfig: method __init__ (line 38) | def __init__(self, base_config: dict[str, Any]): method validate_path (line 45) | def validate_path(self, path: str) -> None: method set_override (line 62) | def set_override(self, path: str, value: str) -> None: method get_value (line 111) | def get_value(self, path: str) -> Any: method _update_config_value (line 134) | def _update_config_value(self, config: dict[str, Any], path: str, valu... method get_effective_config (line 155) | def get_effective_config(self) -> dict[str, Any]: function load_and_override_config (line 185) | def load_and_override_config(config_file: Path, overrides: tuple[tuple[s... function add_override_option (line 225) | def add_override_option(command): FILE: packages/nvidia_nat_core/src/nat/cli/cli_utils/validation.py function validate_url (line 25) | def validate_url(_ctx: click.Context, _param: click.Parameter, value: st... function validate_config (line 55) | def validate_config(config_file: Path) -> Config: FILE: packages/nvidia_nat_core/src/nat/cli/commands/configure/channel/add.py function add (line 25) | def add(channel_type: str) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/commands/configure/channel/channel.py function channel (line 28) | def channel(**kwargs): FILE: packages/nvidia_nat_core/src/nat/cli/commands/configure/channel/remove.py function remove (line 27) | def remove(channel: str): FILE: packages/nvidia_nat_core/src/nat/cli/commands/configure/channel/update.py function update (line 27) | def update(channel): FILE: packages/nvidia_nat_core/src/nat/cli/commands/configure/configure.py function configure_command (line 26) | def configure_command(**kwargs): FILE: packages/nvidia_nat_core/src/nat/cli/commands/finetune.py function finetune_command (line 84) | def finetune_command( FILE: packages/nvidia_nat_core/src/nat/cli/commands/info/info.py function info_command (line 23) | def info_command(**kwargs): function info_mcp_deprecated (line 38) | def info_mcp_deprecated(): FILE: packages/nvidia_nat_core/src/nat/cli/commands/info/list_channels.py function list_channels (line 25) | def list_channels(channel_type: str): FILE: packages/nvidia_nat_core/src/nat/cli/commands/info/list_components.py function search_artifacts (line 29) | async def search_artifacts(registry_handler_config: RegistryHandlerBaseC... function list_components (line 103) | def list_components(fields: list[SearchFields], FILE: packages/nvidia_nat_core/src/nat/cli/commands/object_store/object_store.py function get_object_store_config (line 45) | def get_object_store_config(**kwargs) -> ObjectStoreBaseConfig: function upload_file (line 54) | async def upload_file(object_store: ObjectStore, file_path: Path, key: s... function object_store_command_decorator (line 83) | def object_store_command_decorator(async_func): function upload_command (line 118) | async def upload_command(store: ObjectStore, local_dir: Path, **_kwargs): function delete_command (line 149) | async def delete_command(store: ObjectStore, keys: list[str], **_kwargs): function object_store_command (line 174) | def object_store_command(**_kwargs): function register_object_store_commands (line 179) | def register_object_store_commands(): FILE: packages/nvidia_nat_core/src/nat/cli/commands/registry/publish.py function publish_artifact (line 29) | async def publish_artifact(registry_handler_config: RegistryHandlerBaseC... function publish (line 67) | def publish(channel: str, config_file: str, package_root: str) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/commands/registry/pull.py function pull_artifact (line 29) | async def pull_artifact(registry_handler_config: RegistryHandlerBaseConf... function pull (line 94) | def pull(channel: str, config_file: str, packages: str) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/commands/registry/registry.py function registry_command (line 29) | def registry_command(**kwargs): FILE: packages/nvidia_nat_core/src/nat/cli/commands/registry/remove.py function remove_artifact (line 29) | async def remove_artifact(registry_handler_config: RegistryHandlerBaseCo... function remove (line 67) | def remove(channel: str, config_file: str, packages: str) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/commands/registry/search.py function search_artifacts (line 32) | async def search_artifacts(registry_handler_config: RegistryHandlerBaseC... function search (line 118) | def search(config_file: str, FILE: packages/nvidia_nat_core/src/nat/cli/commands/start.py class StartCommandGroup (line 36) | class StartCommandGroup(click.Group): method __init__ (line 38) | def __init__( method _build_params (line 59) | def _build_params(self, front_end: RegisteredFrontEndInfo) -> list[cli... method _load_commands (line 142) | def _load_commands(self) -> dict[str, click.Command]: method invoke_subcommand (line 176) | def invoke_subcommand(self, method get_command (line 246) | def get_command(self, ctx: click.Context, cmd_name: str) -> click.Comm... method list_commands (line 250) | def list_commands(self, ctx: click.Context) -> list[str]: function start_command (line 259) | def start_command(ctx: click.Context, **kwargs) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/commands/uninstall.py function uninstall_packages (line 25) | async def uninstall_packages(packages: list[dict[str, str]]) -> None: function uninstall_command (line 58) | def uninstall_command(packages: str) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/commands/validate.py function validate_command (line 26) | def validate_command(config_file: Path): FILE: packages/nvidia_nat_core/src/nat/cli/commands/workflow/workflow.py function workflow_command (line 28) | def workflow_command(**kwargs): FILE: packages/nvidia_nat_core/src/nat/cli/commands/workflow/workflow_commands.py function _get_nat_version (line 31) | def _get_nat_version() -> str | None: function _is_nat_version_prerelease (line 64) | def _is_nat_version_prerelease() -> bool: function _get_nat_dependency (line 75) | def _get_nat_dependency(versioned: bool = True) -> str: class PackageError (line 102) | class PackageError(Exception): function get_repo_root (line 106) | def get_repo_root(): function _get_module_name (line 114) | def _get_module_name(workflow_name: str): function _generate_valid_classname (line 118) | def _generate_valid_classname(class_name: str): function find_package_root (line 122) | def find_package_root(package_name: str) -> Path | None: function get_workflow_path_from_name (line 175) | def get_workflow_path_from_name(workflow_name: str): function create_command (line 209) | def create_command(workflow_name: str, install: bool, workflow_dir: str,... function reinstall_command (line 330) | def reinstall_command(workflow_name): function delete_command (line 367) | def delete_command(workflow_name: str, yes_flag: bool): FILE: packages/nvidia_nat_core/src/nat/cli/entrypoint.py function setup_logging (line 46) | def setup_logging(log_level: str): function get_version (line 53) | def get_version(): function cli (line 73) | def cli(ctx: click.Context, log_level: str): function after_pipeline (line 106) | def after_pipeline(ctx: click.Context, pipeline_start_time: float, *_, *... FILE: packages/nvidia_nat_core/src/nat/cli/main.py function run_cli (line 19) | def run_cli(): FILE: packages/nvidia_nat_core/src/nat/cli/plugin_loader.py function discover_and_load_cli_plugins (line 25) | def discover_and_load_cli_plugins(cli_group: click.Group) -> None: FILE: packages/nvidia_nat_core/src/nat/cli/register_workflow.py function register_telemetry_exporter (line 97) | def register_telemetry_exporter(config_type: type[TelemetryExporterConfi... function register_logging_method (line 123) | def register_logging_method(config_type: type[LoggingMethodConfigT]): function register_front_end (line 146) | def register_front_end(config_type: type[FrontEndConfigT]): function register_function (line 172) | def register_function(config_type: type[FunctionConfigT], function register_per_user_function (line 208) | def register_per_user_function(config_type: type[FunctionConfigT], function register_function_group (line 266) | def register_function_group(config_type: type[FunctionGroupConfigT], function register_per_user_function_group (line 300) | def register_per_user_function_group(config_type: type[FunctionGroupConf... function register_middleware (line 337) | def register_middleware(config_type: type[MiddlewareBaseConfigT]): function register_llm_provider (line 380) | def register_llm_provider(config_type: type[LLMBaseConfigT]): function register_auth_provider (line 403) | def register_auth_provider(config_type: type[AuthProviderBaseConfigT]): function register_llm_client (line 427) | def register_llm_client(config_type: type[LLMBaseConfigT], wrapper_type:... function register_embedder_provider (line 452) | def register_embedder_provider(config_type: type[EmbedderBaseConfigT]): function register_embedder_client (line 476) | def register_embedder_client(config_type: type[EmbedderBaseConfigT], wra... function register_evaluator (line 504) | def register_evaluator(config_type: type[EvaluatorBaseConfigT]): function register_optimizer (line 527) | def register_optimizer(config_type: type[OptimizerStrategyBaseConfigT]): function register_dataset_loader (line 557) | def register_dataset_loader(config_type: type[EvalDatasetBaseConfigT]): function register_memory (line 581) | def register_memory(config_type: type[MemoryBaseConfigT]): function register_object_store (line 604) | def register_object_store(config_type: type[ObjectStoreBaseConfigT]): function register_ttc_strategy (line 628) | def register_ttc_strategy(config_type: type[TTCStrategyBaseConfigT]): function register_trainer (line 652) | def register_trainer(config_type: type[TrainerConfigT]): function register_trainer_adapter (line 674) | def register_trainer_adapter(config_type: type[TrainerAdapterConfigT]): function register_trajectory_builder (line 698) | def register_trajectory_builder(config_type: type[TrajectoryBuilderConfi... function register_retriever_provider (line 722) | def register_retriever_provider(config_type: type[RetrieverBaseConfigT]): function register_retriever_client (line 746) | def register_retriever_client(config_type: type[RetrieverBaseConfigT], w... function register_tool_wrapper (line 775) | def register_tool_wrapper(wrapper_type: LLMFrameworkEnum | str): function register_registry_handler (line 791) | def register_registry_handler(config_type: type[RegistryHandlerBaseConfi... function register_eval_callback (line 815) | def register_eval_callback( function register_optimizer_callback (line 833) | def register_optimizer_callback( FILE: packages/nvidia_nat_core/src/nat/cli/type_registry.py class RegisteredInfo (line 162) | class RegisteredInfo(BaseModel, typing.Generic[TypedBaseModelT]): method module_name (line 178) | def module_name(self) -> str: method local_name (line 183) | def local_name(self) -> str: method validate_full_type (line 188) | def validate_full_type(cls, full_type: str) -> str: class RegisteredTelemetryExporter (line 197) | class RegisteredTelemetryExporter(RegisteredInfo[TelemetryExporterBaseCo... class RegisteredEvalCallback (line 202) | class RegisteredEvalCallback(BaseModel): class RegisteredOptimizerCallback (line 210) | class RegisteredOptimizerCallback(BaseModel): class RegisteredLoggingMethod (line 218) | class RegisteredLoggingMethod(RegisteredInfo[LoggingBaseConfig]): class RegisteredTrainerInfo (line 223) | class RegisteredTrainerInfo(RegisteredInfo[TrainerConfig]): class RegisteredTrainerAdapterInfo (line 231) | class RegisteredTrainerAdapterInfo(RegisteredInfo[TrainerAdapterConfig]): class RegisteredTrajectoryBuilderInfo (line 240) | class RegisteredTrajectoryBuilderInfo(RegisteredInfo[TrajectoryBuilderCo... class RegisteredFrontEndInfo (line 249) | class RegisteredFrontEndInfo(RegisteredInfo[FrontEndBaseConfig]): class RegisteredFunctionInfo (line 258) | class RegisteredFunctionInfo(RegisteredInfo[FunctionBaseConfig]): method validate_per_user_function_schema_declaration (line 284) | def validate_per_user_function_schema_declaration(self) -> Self: class RegisteredFunctionGroupInfo (line 302) | class RegisteredFunctionGroupInfo(RegisteredInfo[FunctionGroupBaseConfig]): class RegisteredMiddlewareInfo (line 312) | class RegisteredMiddlewareInfo(RegisteredInfo[MiddlewareBaseConfig]): class RegisteredLLMProviderInfo (line 321) | class RegisteredLLMProviderInfo(RegisteredInfo[LLMBaseConfig]): class RegisteredAuthProviderInfo (line 330) | class RegisteredAuthProviderInfo(RegisteredInfo[AuthProviderBaseConfig]): class RegisteredLLMClientInfo (line 338) | class RegisteredLLMClientInfo(RegisteredInfo[LLMBaseConfig]): class RegisteredEmbedderProviderInfo (line 348) | class RegisteredEmbedderProviderInfo(RegisteredInfo[EmbedderBaseConfig]): class RegisteredEmbedderClientInfo (line 357) | class RegisteredEmbedderClientInfo(RegisteredInfo[EmbedderBaseConfig]): class RegisteredEvaluatorInfo (line 367) | class RegisteredEvaluatorInfo(RegisteredInfo[EvaluatorBaseConfig]): class RegisteredOptimizerInfo (line 375) | class RegisteredOptimizerInfo(RegisteredInfo[OptimizerStrategyBaseConfig]): class RegisteredDatasetLoaderInfo (line 383) | class RegisteredDatasetLoaderInfo(RegisteredInfo[EvalDatasetBaseConfig]): class RegisteredMemoryInfo (line 389) | class RegisteredMemoryInfo(RegisteredInfo[MemoryBaseConfig]): class RegisteredObjectStoreInfo (line 397) | class RegisteredObjectStoreInfo(RegisteredInfo[ObjectStoreBaseConfig]): class RegisteredTTCStrategyInfo (line 405) | class RegisteredTTCStrategyInfo(RegisteredInfo[TTCStrategyBaseConfig]): class RegisteredToolWrapper (line 413) | class RegisteredToolWrapper(BaseModel): class RegisteredRetrieverProviderInfo (line 424) | class RegisteredRetrieverProviderInfo(RegisteredInfo[RetrieverBaseConfig]): class RegisteredRetrieverClientInfo (line 432) | class RegisteredRetrieverClientInfo(RegisteredInfo[RetrieverBaseConfig]): class RegisteredRegistryHandlerInfo (line 441) | class RegisteredRegistryHandlerInfo(RegisteredInfo[RegistryHandlerBaseCo... class RegisteredPackage (line 450) | class RegisteredPackage(BaseModel): class TypeRegistry (line 455) | class TypeRegistry: method __init__ (line 457) | def __init__(self) -> None: method _registration_changed (line 545) | def _registration_changed(self): method add_registration_changed_hook (line 555) | def add_registration_changed_hook(self, cb: Callable[[], typing.Any]) ... method pause_registration_changed_hooks (line 560) | def pause_registration_changed_hooks(self): method register_telemetry_exporter (line 572) | def register_telemetry_exporter(self, registration: RegisteredTelemetr... method get_telemetry_exporter (line 582) | def get_telemetry_exporter(self, config_type: type[TelemetryExporterBa... method get_registered_telemetry_exporters (line 590) | def get_registered_telemetry_exporters(self) -> list[RegisteredInfo[Te... method register_eval_callback (line 594) | def register_eval_callback(self, registration: RegisteredEvalCallback): method get_eval_callback (line 602) | def get_eval_callback(self, config_type: type[TelemetryExporterBaseCon... method register_optimizer_callback (line 609) | def register_optimizer_callback(self, registration: RegisteredOptimize... method get_optimizer_callback (line 618) | def get_optimizer_callback(self, config_type: type[TelemetryExporterBa... method register_logging_method (line 625) | def register_logging_method(self, registration: RegisteredLoggingMethod): method get_logging_method (line 635) | def get_logging_method(self, config_type: type[LoggingBaseConfig]) -> ... method get_registered_logging_method (line 642) | def get_registered_logging_method(self) -> list[RegisteredInfo[Logging... method register_trainer (line 646) | def register_trainer(self, registration: RegisteredTrainerInfo): method register_trainer_adapter (line 656) | def register_trainer_adapter(self, registration: RegisteredTrainerAdap... method register_trajectory_builder (line 665) | def register_trajectory_builder(self, registration: RegisteredTrajecto... method get_trainer (line 674) | def get_trainer(self, config_type: type[TrainerConfig]) -> RegisteredT... method get_trainer_adapter (line 682) | def get_trainer_adapter(self, config_type: type[TrainerAdapterConfig])... method get_trajectory_builder (line 689) | def get_trajectory_builder(self, config_type: type[TrajectoryBuilderCo... method get_registered_trainers (line 696) | def get_registered_trainers(self) -> list[RegisteredInfo[TrainerConfig]]: method get_registered_trainer_adapters (line 699) | def get_registered_trainer_adapters(self) -> list[RegisteredInfo[Train... method get_registered_trajectory_builders (line 702) | def get_registered_trajectory_builders(self) -> list[RegisteredInfo[Tr... method register_front_end (line 705) | def register_front_end(self, registration: RegisteredFrontEndInfo): method get_front_end (line 715) | def get_front_end(self, config_type: type[FrontEndBaseConfig]) -> Regi... method get_registered_front_ends (line 723) | def get_registered_front_ends(self) -> list[RegisteredInfo[FrontEndBas... method register_function (line 727) | def register_function(self, registration: RegisteredFunctionInfo): method get_function (line 737) | def get_function(self, config_type: type[FunctionBaseConfig]) -> Regis... method get_registered_functions (line 745) | def get_registered_functions(self) -> list[RegisteredInfo[FunctionBase... method register_function_group (line 749) | def register_function_group(self, registration: RegisteredFunctionGrou... method get_function_group (line 767) | def get_function_group(self, config_type: type[FunctionGroupBaseConfig... method get_registered_function_groups (line 785) | def get_registered_function_groups(self) -> list[RegisteredInfo[Functi... method register_middleware (line 793) | def register_middleware(self, registration: RegisteredMiddlewareInfo): method get_middleware (line 810) | def get_middleware(self, config_type: type[MiddlewareBaseConfig]) -> R... method get_registered_middleware (line 828) | def get_registered_middleware(self) -> list[RegisteredInfo[MiddlewareB... method register_llm_provider (line 836) | def register_llm_provider(self, info: RegisteredLLMProviderInfo): method get_llm_provider (line 846) | def get_llm_provider(self, config_type: type[LLMBaseConfig]) -> Regist... method get_registered_llm_providers (line 854) | def get_registered_llm_providers(self) -> list[RegisteredInfo[LLMBaseC... method register_auth_provider (line 857) | def register_auth_provider(self, info: RegisteredAuthProviderInfo): method get_auth_provider (line 868) | def get_auth_provider(self, config_type: type[AuthProviderBaseConfig])... method get_registered_auth_providers (line 875) | def get_registered_auth_providers(self) -> list[RegisteredInfo[AuthPro... method register_llm_client (line 878) | def register_llm_client(self, info: RegisteredLLMClientInfo): method get_llm_client (line 890) | def get_llm_client(self, config_type: type[LLMBaseConfig], wrapper_typ... method register_embedder_provider (line 904) | def register_embedder_provider(self, info: RegisteredEmbedderProviderI... method get_embedder_provider (line 914) | def get_embedder_provider(self, config_type: type[EmbedderBaseConfig])... method get_registered_embedder_providers (line 922) | def get_registered_embedder_providers(self) -> list[RegisteredInfo[Emb... method register_embedder_client (line 926) | def register_embedder_client(self, info: RegisteredEmbedderClientInfo): method get_embedder_client (line 938) | def get_embedder_client(self, config_type: type[EmbedderBaseConfig], method register_evaluator (line 953) | def register_evaluator(self, info: RegisteredEvaluatorInfo): method get_evaluator (line 963) | def get_evaluator(self, config_type: type[EvaluatorBaseConfig]) -> Reg... method get_registered_evaluators (line 971) | def get_registered_evaluators(self) -> list[RegisteredInfo[EvaluatorBa... method register_optimizer (line 975) | def register_optimizer(self, info: RegisteredOptimizerInfo): method get_optimizer (line 985) | def get_optimizer(self, config_type: type[OptimizerStrategyBaseConfig]... method get_registered_optimizers (line 993) | def get_registered_optimizers(self) -> list[RegisteredInfo[OptimizerSt... method register_dataset_loader (line 997) | def register_dataset_loader(self, info: RegisteredDatasetLoaderInfo): method get_dataset_loader (line 1007) | def get_dataset_loader(self, config_type: type[EvalDatasetBaseConfig])... method get_registered_dataset_loaders (line 1015) | def get_registered_dataset_loaders(self) -> list[RegisteredInfo[EvalDa... method register_memory (line 1019) | def register_memory(self, info: RegisteredMemoryInfo): method get_memory (line 1029) | def get_memory(self, config_type: type[MemoryBaseConfig]) -> Registere... method get_registered_memorys (line 1037) | def get_registered_memorys(self) -> list[RegisteredInfo[MemoryBaseConf... method register_object_store (line 1041) | def register_object_store(self, info: RegisteredObjectStoreInfo): method get_object_store (line 1051) | def get_object_store(self, config_type: type[ObjectStoreBaseConfig]) -... method get_registered_object_stores (line 1059) | def get_registered_object_stores(self) -> list[RegisteredInfo[ObjectSt... method register_retriever_provider (line 1063) | def register_retriever_provider(self, info: RegisteredRetrieverProvide... method get_retriever_provider (line 1073) | def get_retriever_provider(self, config_type: type[RetrieverBaseConfig... method get_registered_retriever_providers (line 1081) | def get_registered_retriever_providers(self) -> list[RegisteredInfo[Re... method register_retriever_client (line 1085) | def register_retriever_client(self, info: RegisteredRetrieverClientInfo): method get_retriever_client (line 1097) | def get_retriever_client(self, config_type: type[RetrieverBaseConfig], method register_tool_wrapper (line 1112) | def register_tool_wrapper(self, registration: RegisteredToolWrapper): method get_tool_wrapper (line 1122) | def get_tool_wrapper(self, llm_framework: str) -> RegisteredToolWrapper: method register_ttc_strategy (line 1130) | def register_ttc_strategy(self, info: RegisteredTTCStrategyInfo): method get_ttc_strategy (line 1139) | def get_ttc_strategy(self, config_type: type[TTCStrategyBaseConfig]) -... method get_registered_ttc_strategies (line 1146) | def get_registered_ttc_strategies(self) -> list[RegisteredInfo[TTCStra... method register_registry_handler (line 1149) | def register_registry_handler(self, info: RegisteredRegistryHandlerInfo): method get_registry_handler (line 1160) | def get_registry_handler(self, config_type: type[RegistryHandlerBaseCo... method get_registered_registry_handlers (line 1168) | def get_registered_registry_handlers(self) -> list[RegisteredInfo[Regi... method register_package (line 1172) | def register_package(self, package_name: str, package_version: str | N... method get_infos_by_type (line 1181) | def get_infos_by_type(self, component_type: ComponentEnum) -> dict: method get_registered_types_by_component_type (line 1272) | def get_registered_types_by_component_type(self, component_type: Compo... method get_registered_channel_info_by_channel_type (line 1332) | def get_registered_channel_info_by_channel_type(self, channel_type: st... method _do_compute_annotation (line 1335) | def _do_compute_annotation(self, cls: type[TypedBaseModelT], registrat... method compute_annotation (line 1358) | def compute_annotation(self, cls: type[TypedBaseModelT]): class GlobalTypeRegistry (line 1423) | class GlobalTypeRegistry: method get (line 1428) | def get() -> TypeRegistry: method push (line 1433) | def push(): FILE: packages/nvidia_nat_core/src/nat/data_models/agent.py class AgentBaseConfig (line 23) | class AgentBaseConfig(FunctionBaseConfig): FILE: packages/nvidia_nat_core/src/nat/data_models/api_server.py class UserMessageContentRoleType (line 40) | class UserMessageContentRoleType(StrEnum): class Request (line 49) | class Request(BaseModel): class ChatContentType (line 72) | class ChatContentType(StrEnum): class InputAudio (line 81) | class InputAudio(BaseModel): class AudioContent (line 86) | class AudioContent(BaseModel): class ImageUrl (line 93) | class ImageUrl(BaseModel): class ImageContent (line 98) | class ImageContent(BaseModel): class TextContent (line 105) | class TextContent(BaseModel): class Message (line 115) | class Message(BaseModel): class ChatRequest (line 120) | class ChatRequest(BaseModel): method from_string (line 165) | def from_string(data: str, method from_content (line 179) | def from_content(content: list[UserContent], class ChatRequestOrMessage (line 193) | class ChatRequestOrMessage(BaseModel): method is_string (line 252) | def is_string(self) -> bool: method is_conversation (line 256) | def is_conversation(self) -> bool: method validate_model (line 260) | def validate_model(self): class ChoiceMessage (line 272) | class ChoiceMessage(BaseModel): class ChoiceDeltaToolCallFunction (line 277) | class ChoiceDeltaToolCallFunction(BaseModel): class ChoiceDeltaToolCall (line 283) | class ChoiceDeltaToolCall(BaseModel): class ChoiceDelta (line 291) | class ChoiceDelta(BaseModel): class ChoiceBase (line 298) | class ChoiceBase(BaseModel): class ChatResponseChoice (line 305) | class ChatResponseChoice(ChoiceBase): class ChatResponseChunkChoice (line 310) | class ChatResponseChunkChoice(ChoiceBase): class Usage (line 319) | class Usage(BaseModel): class ResponseSerializable (line 325) | class ResponseSerializable(abc.ABC): method get_stream_data (line 332) | def get_stream_data(self) -> str: class ResponseBaseModelOutput (line 336) | class ResponseBaseModelOutput(BaseModel, ResponseSerializable): method get_stream_data (line 338) | def get_stream_data(self) -> str: class ResponseBaseModelIntermediate (line 342) | class ResponseBaseModelIntermediate(BaseModel, ResponseSerializable): method get_stream_data (line 344) | def get_stream_data(self) -> str: class ChatResponse (line 348) | class ChatResponse(ResponseBaseModelOutput): method serialize_created (line 366) | def serialize_created(self, created: datetime.datetime) -> int: method from_string (line 371) | def from_string(data: str, class ChatResponseChunk (line 401) | class ChatResponseChunk(ResponseBaseModelOutput): method serialize_created (line 420) | def serialize_created(self, created: datetime.datetime) -> int: method from_string (line 425) | def from_string(data: str, method create_streaming_chunk (line 457) | def create_streaming_chunk(content: str, class ResponseIntermediateStep (line 495) | class ResponseIntermediateStep(ResponseBaseModelIntermediate): class ResponseObservabilityTrace (line 510) | class ResponseObservabilityTrace(BaseModel, ResponseSerializable): method get_stream_data (line 518) | def get_stream_data(self) -> str: class ResponsePayloadOutput (line 522) | class ResponsePayloadOutput(BaseModel, ResponseSerializable): method get_stream_data (line 526) | def get_stream_data(self) -> str: class ResponseATIFStep (line 534) | class ResponseATIFStep(BaseModel, ResponseSerializable): method get_stream_data (line 548) | def get_stream_data(self) -> str: class ResponseATIFTrajectory (line 552) | class ResponseATIFTrajectory(BaseModel, ResponseSerializable): method get_stream_data (line 560) | def get_stream_data(self) -> str: class GenerateResponse (line 564) | class GenerateResponse(BaseModel): class WebSocketMessageType (line 574) | class WebSocketMessageType(StrEnum): class WorkflowSchemaType (line 589) | class WorkflowSchemaType(StrEnum): class WebSocketMessageStatus (line 599) | class WebSocketMessageStatus(StrEnum): class UserMessages (line 607) | class UserMessages(BaseModel): class UserMessageContent (line 614) | class UserMessageContent(BaseModel): class User (line 619) | class User(BaseModel): class ErrorTypes (line 626) | class ErrorTypes(StrEnum): class Error (line 636) | class Error(BaseModel): class WebSocketUserMessage (line 644) | class WebSocketUserMessage(BaseModel): class WebSocketUserInteractionResponseMessage (line 663) | class WebSocketUserInteractionResponseMessage(BaseModel): class AuthMethod (line 680) | class AuthMethod(StrEnum): class JwtAuthPayload (line 687) | class JwtAuthPayload(BaseModel): class ApiKeyAuthPayload (line 694) | class ApiKeyAuthPayload(BaseModel): class BasicAuthPayload (line 701) | class BasicAuthPayload(BaseModel): class WebSocketAuthMessage (line 715) | class WebSocketAuthMessage(BaseModel): class AuthMessageStatus (line 723) | class AuthMessageStatus(StrEnum): class WebSocketAuthResponseMessage (line 729) | class WebSocketAuthResponseMessage(BaseModel): class SystemIntermediateStepContent (line 739) | class SystemIntermediateStepContent(BaseModel): class WebSocketSystemIntermediateStepMessage (line 745) | class WebSocketSystemIntermediateStepMessage(BaseModel): class SystemResponseContent (line 765) | class SystemResponseContent(BaseModel): class WebSocketSystemResponseTokenMessage (line 771) | class WebSocketSystemResponseTokenMessage(BaseModel): method validate_content_by_type (line 790) | def validate_content_by_type(cls, value: SystemResponseContent | Error... class WebSocketSystemInteractionMessage (line 801) | class WebSocketSystemInteractionMessage(BaseModel): class ObservabilityTraceContent (line 820) | class ObservabilityTraceContent(BaseModel): class WebSocketObservabilityTraceMessage (line 825) | class WebSocketObservabilityTraceMessage(BaseModel): function _generate_response_to_str (line 845) | def _generate_response_to_str(response: GenerateResponse) -> str: function _generate_response_to_chat_response (line 852) | def _generate_response_to_chat_response(response: GenerateResponse) -> C... function _nat_chat_request_to_string (line 869) | def _nat_chat_request_to_string(data: ChatRequest) -> str: function _string_to_nat_chat_request (line 878) | def _string_to_nat_chat_request(data: str) -> ChatRequest: function _chat_request_or_message_to_chat_request (line 885) | def _chat_request_or_message_to_chat_request(data: ChatRequestOrMessage)... function _chat_request_to_chat_request_or_message (line 894) | def _chat_request_to_chat_request_or_message(data: ChatRequest) -> ChatR... function _chat_request_or_message_to_string (line 901) | def _chat_request_or_message_to_string(data: ChatRequestOrMessage) -> str: function _string_to_chat_request_or_message (line 918) | def _string_to_chat_request_or_message(data: str) -> ChatRequestOrMessage: function _nat_chat_response_to_string (line 926) | def _nat_chat_response_to_string(data: ChatResponse) -> str: function _string_to_nat_chat_response (line 935) | def _string_to_nat_chat_response(data: str) -> ChatResponse: function _chat_response_chunk_to_string (line 952) | def _chat_response_chunk_to_string(data: ChatResponseChunk) -> str: function _string_to_nat_chat_response_chunk (line 963) | def _string_to_nat_chat_response_chunk(data: str) -> ChatResponseChunk: FILE: packages/nvidia_nat_core/src/nat/data_models/authentication.py class AuthProviderBaseConfig (line 31) | class AuthProviderBaseConfig(TypedBaseModel, BaseModelRegistryTag): class CredentialLocation (line 43) | class CredentialLocation(StrEnum): class AuthFlowType (line 53) | class AuthFlowType(StrEnum): class AuthenticatedContext (line 66) | class AuthenticatedContext(BaseModel): class HeaderAuthScheme (line 80) | class HeaderAuthScheme(StrEnum): class HTTPMethod (line 90) | class HTTPMethod(StrEnum): class CredentialKind (line 103) | class CredentialKind(StrEnum): class _CredBase (line 114) | class _CredBase(BaseModel): class HeaderCred (line 122) | class HeaderCred(_CredBase): class QueryCred (line 131) | class QueryCred(_CredBase): class CookieCred (line 140) | class CookieCred(_CredBase): class BasicAuthCred (line 149) | class BasicAuthCred(_CredBase): class BearerTokenCred (line 158) | class BearerTokenCred(_CredBase): class TokenValidationResult (line 174) | class TokenValidationResult(BaseModel): class AuthResult (line 194) | class AuthResult(BaseModel): method is_expired (line 206) | def is_expired(self) -> bool: method as_requests_kwargs (line 212) | def as_requests_kwargs(self) -> dict[str, typing.Any]: method attach (line 236) | def attach(self, target_kwargs: dict[str, typing.Any]) -> None: FILE: packages/nvidia_nat_core/src/nat/data_models/common.py class HashableBaseModel (line 33) | class HashableBaseModel(BaseModel): method __hash__ (line 38) | def __hash__(self): method __lt__ (line 43) | def __lt__(self, other): method __eq__ (line 46) | def __eq__(self, other): method __ne__ (line 49) | def __ne__(self, other): method __gt__ (line 52) | def __gt__(self, other): method generate_json_schema (line 56) | def generate_json_schema(cls) -> dict[str, typing.Any]: method write_json_schema (line 60) | def write_json_schema(cls, schema_path: str) -> None: function subclass_depth (line 70) | def subclass_depth(cls: type) -> int: function _get_origin_or_base (line 81) | def _get_origin_or_base(cls: type) -> type: class BaseModelRegistryTag (line 91) | class BaseModelRegistryTag: class TypedBaseModel (line 96) | class TypedBaseModel(BaseModel): method __init_subclass__ (line 112) | def __init_subclass__(cls, name: str | None = None): method model_post_init (line 131) | def model_post_init(self, __context): method model_json_schema (line 138) | def model_json_schema(cls, method static_type (line 157) | def static_type(cls): method static_full_type (line 161) | def static_full_type(cls): method discriminator (line 165) | def discriminator(v: typing.Any) -> str | None: function get_secret_value (line 177) | def get_secret_value(v: SecretStr | None) -> str | None: function set_secret_from_env (line 196) | def set_secret_from_env(model: BaseModel, field_name: str, env_var: str): FILE: packages/nvidia_nat_core/src/nat/data_models/component.py class ComponentEnum (line 22) | class ComponentEnum(StrEnum): class ComponentGroup (line 52) | class ComponentGroup(StrEnum): FILE: packages/nvidia_nat_core/src/nat/data_models/component_ref.py function generate_instance_id (line 28) | def generate_instance_id(input_object: typing.Any) -> str: class ComponentRefNode (line 41) | class ComponentRefNode(HashableBaseModel): class ComponentRef (line 53) | class ComponentRef(str, ABC): method __new__ (line 58) | def __new__(cls, value: "ComponentRef | str"): method component_group (line 69) | def component_group(self) -> ComponentGroup: method __get_pydantic_core_schema__ (line 79) | def __get_pydantic_core_schema__(cls, source_type, handler, **kwargs) ... class EmbedderRef (line 83) | class EmbedderRef(ComponentRef): method component_group (line 90) | def component_group(self): class FunctionRef (line 94) | class FunctionRef(ComponentRef): method component_group (line 101) | def component_group(self): class FunctionGroupRef (line 105) | class FunctionGroupRef(ComponentRef): method component_group (line 112) | def component_group(self): class LLMRef (line 116) | class LLMRef(ComponentRef): method component_group (line 123) | def component_group(self): class MemoryRef (line 127) | class MemoryRef(ComponentRef): method component_group (line 134) | def component_group(self): class ObjectStoreRef (line 138) | class ObjectStoreRef(ComponentRef): method component_group (line 145) | def component_group(self): class RetrieverRef (line 149) | class RetrieverRef(ComponentRef): method component_group (line 156) | def component_group(self): class AuthenticationRef (line 160) | class AuthenticationRef(ComponentRef): method component_group (line 167) | def component_group(self): class TTCStrategyRef (line 171) | class TTCStrategyRef(ComponentRef): method component_group (line 178) | def component_group(self): class MiddlewareRef (line 182) | class MiddlewareRef(ComponentRef): method component_group (line 189) | def component_group(self): class TrainerRef (line 193) | class TrainerRef(ComponentRef): method component_group (line 200) | def component_group(self): class TrajectoryBuilderRef (line 204) | class TrajectoryBuilderRef(ComponentRef): method component_group (line 211) | def component_group(self): class TrainerAdapterRef (line 215) | class TrainerAdapterRef(ComponentRef): method component_group (line 222) | def component_group(self): FILE: packages/nvidia_nat_core/src/nat/data_models/config.py function _process_validation_error (line 58) | def _process_validation_error(err: ValidationError, handler: ValidatorFu... class TelemetryConfig (line 154) | class TelemetryConfig(BaseModel): method validate_components (line 161) | def validate_components(cls, value: typing.Any, handler: ValidatorFunc... method rebuild_annotations (line 170) | def rebuild_annotations(cls): class GeneralConfig (line 202) | class GeneralConfig(BaseModel): method validate_components (line 236) | def validate_components(cls, value: typing.Any, handler: ValidatorFunc... method rebuild_annotations (line 245) | def rebuild_annotations(cls): class Config (line 270) | class Config(HashableBaseModel): method print_summary (line 322) | def print_summary(self, stream: typing.TextIO = sys.stdout): method validate_components (line 355) | def validate_components(cls, value: typing.Any, handler: ValidatorFunc... method rebuild_annotations (line 364) | def rebuild_annotations(cls): FILE: packages/nvidia_nat_core/src/nat/data_models/dataset_handler.py class EvalS3Config (line 31) | class EvalS3Config(BaseModel): class EvalFilterEntryConfig (line 42) | class EvalFilterEntryConfig(BaseModel): class EvalFilterConfig (line 50) | class EvalFilterConfig(BaseModel): class EvalDatasetStructureConfig (line 58) | class EvalDatasetStructureConfig(BaseModel): class EvalDatasetBaseConfig (line 71) | class EvalDatasetBaseConfig(TypedBaseModel, BaseModelRegistryTag): class EvalDatasetJsonConfig (line 87) | class EvalDatasetJsonConfig(EvalDatasetBaseConfig, name="json"): method parser (line 90) | def parser() -> tuple[Callable, dict]: function read_jsonl (line 94) | def read_jsonl(file_path: FilePath): class EvalDatasetJsonlConfig (line 100) | class EvalDatasetJsonlConfig(EvalDatasetBaseConfig, name="jsonl"): method parser (line 103) | def parser() -> tuple[Callable, dict]: class EvalDatasetCsvConfig (line 107) | class EvalDatasetCsvConfig(EvalDatasetBaseConfig, name="csv"): method parser (line 110) | def parser() -> tuple[Callable, dict]: class EvalDatasetParquetConfig (line 114) | class EvalDatasetParquetConfig(EvalDatasetBaseConfig, name="parquet"): method parser (line 117) | def parser() -> tuple[Callable, dict]: class EvalDatasetXlsConfig (line 121) | class EvalDatasetXlsConfig(EvalDatasetBaseConfig, name="xls"): method parser (line 124) | def parser() -> tuple[Callable, dict]: class EvalDatasetCustomConfig (line 128) | class EvalDatasetCustomConfig(EvalDatasetBaseConfig, name="custom"): method parser (line 137) | def parser(self) -> tuple[Callable, dict]: method _load_custom_function (line 148) | def _load_custom_function(self) -> Callable: FILE: packages/nvidia_nat_core/src/nat/data_models/discovery_metadata.py class DiscoveryStatusEnum (line 39) | class DiscoveryStatusEnum(StrEnum): class DiscoveryContractFieldsEnum (line 44) | class DiscoveryContractFieldsEnum(StrEnum): class DiscoveryMetadata (line 53) | class DiscoveryMetadata(BaseModel): method ensure_description_string (line 76) | def ensure_description_string(cls, v: typing.Any): method get_preferred_item (line 82) | def get_preferred_item(items: list, preferred: str) -> str: method get_distribution_name_from_metadata (line 87) | def get_distribution_name_from_metadata(root_package_name: str) -> str... method get_distribution_name_from_module (line 104) | def get_distribution_name_from_module(module: ModuleType | None) -> str: method get_distribution_name_from_config_type (line 139) | def get_distribution_name_from_config_type(config_type: type["TypedBas... method from_config_type (line 152) | def from_config_type(config_type: type["TypedBaseModelT"], method from_fn_wrapper (line 192) | def from_fn_wrapper(fn: "ToolWrapperBuildCallableT", method from_package_name (line 233) | def from_package_name(package_name: str, package_version: str | None) ... method from_provider_framework_map (line 265) | def from_provider_framework_map(config_type: type["TypedBaseModelT"], FILE: packages/nvidia_nat_core/src/nat/data_models/embedder.py class EmbedderBaseConfig (line 22) | class EmbedderBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/evaluate_config.py class JobEvictionPolicy (line 34) | class JobEvictionPolicy(StrEnum): class EvalCustomScriptConfig (line 40) | class EvalCustomScriptConfig(BaseModel): class JobManagementConfig (line 50) | class JobManagementConfig(BaseModel): class EvalOutputConfig (line 66) | class EvalOutputConfig(BaseModel): class EvalGeneralConfig (line 101) | class EvalGeneralConfig(BaseModel): method override_output_dir (line 138) | def override_output_dir(cls, values): method rebuild_annotations (line 144) | def rebuild_annotations(cls): class EvalConfig (line 167) | class EvalConfig(BaseModel): method rebuild_annotations (line 177) | def rebuild_annotations(cls): FILE: packages/nvidia_nat_core/src/nat/data_models/evaluate_runtime.py class EndpointRetryConfig (line 34) | class EndpointRetryConfig(BaseModel): class EvaluationRunConfig (line 52) | class EvaluationRunConfig(BaseModel): class UsageStatsLLM (line 120) | class UsageStatsLLM(BaseModel): class UsageStatsItem (line 130) | class UsageStatsItem(BaseModel): class UsageStats (line 141) | class UsageStats(BaseModel): class InferenceMetricsModel (line 151) | class InferenceMetricsModel(BaseModel): class WorkflowRuntimeMetrics (line 164) | class WorkflowRuntimeMetrics(BaseModel): class ProfilerResults (line 172) | class ProfilerResults(BaseModel): class EvaluationRunOutput (line 179) | class EvaluationRunOutput(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/evaluator.py class EvaluatorBaseConfig (line 31) | class EvaluatorBaseConfig(TypedBaseModel, BaseModelRegistryTag): class EvaluatorLLMConfig (line 35) | class EvaluatorLLMConfig(EvaluatorBaseConfig, RetryMixin): class EvalInputItem (line 44) | class EvalInputItem(BaseModel): method copy_with_updates (line 61) | def copy_with_updates(self, **updates) -> "EvalInputItem": class EvalInput (line 68) | class EvalInput(BaseModel): class EvalOutputItemLike (line 75) | class EvalOutputItemLike(Protocol): class EvalOutputLike (line 85) | class EvalOutputLike(Protocol): FILE: packages/nvidia_nat_core/src/nat/data_models/finetuning.py class RewardFunctionConfig (line 32) | class RewardFunctionConfig(BaseModel): class TrainerConfig (line 39) | class TrainerConfig(TypedBaseModel, BaseModelRegistryTag): class TrajectoryBuilderConfig (line 47) | class TrajectoryBuilderConfig(TypedBaseModel, BaseModelRegistryTag): class TrainerAdapterConfig (line 55) | class TrainerAdapterConfig(TypedBaseModel, BaseModelRegistryTag): class TrainingJobRef (line 68) | class TrainingJobRef(BaseModel): class TrainingStatusEnum (line 77) | class TrainingStatusEnum(StrEnum): class TrainingJobStatus (line 85) | class TrainingJobStatus(BaseModel): class EpisodeItemRole (line 99) | class EpisodeItemRole(StrEnum): class EpisodeItem (line 109) | class EpisodeItem(BaseModel): method check_logprobs (line 120) | def check_logprobs(self) -> "EpisodeItem": class OpenAIMessage (line 126) | class OpenAIMessage(BaseModel): class DPOItem (line 134) | class DPOItem(BaseModel): class Trajectory (line 143) | class Trajectory(BaseModel): class TrajectoryCollection (line 154) | class TrajectoryCollection(BaseModel): class CurriculumLearningConfig (line 163) | class CurriculumLearningConfig(BaseModel): method validate_percentiles (line 189) | def validate_percentiles(self) -> "CurriculumLearningConfig": class FinetuneRunConfig (line 198) | class FinetuneRunConfig(BaseModel): class FinetuneConfig (line 217) | class FinetuneConfig(BaseModel): method validate_finetuning_enabled (line 248) | def validate_finetuning_enabled(cls, values: dict[str, Any]) -> dict[s... FILE: packages/nvidia_nat_core/src/nat/data_models/front_end.py class FrontEndBaseConfig (line 22) | class FrontEndBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/function.py class FunctionBaseConfig (line 26) | class FunctionBaseConfig(TypedBaseModel, BaseModelRegistryTag): class FunctionGroupBaseConfig (line 45) | class FunctionGroupBaseConfig(TypedBaseModel, BaseModelRegistryTag): method _validate_fields_include_exclude (line 65) | def _validate_fields_include_exclude(cls, value: list[str]) -> list[str]: method _validate_include_exclude (line 71) | def _validate_include_exclude(self): class EmptyFunctionConfig (line 77) | class EmptyFunctionConfig(FunctionBaseConfig, name="EmptyFunctionConfig"): FILE: packages/nvidia_nat_core/src/nat/data_models/function_dependencies.py class FunctionDependencies (line 21) | class FunctionDependencies(BaseModel): method serialize_functions (line 34) | def serialize_functions(self, v: set[str]) -> list[str]: method serialize_function_groups (line 38) | def serialize_function_groups(self, v: set[str]) -> list[str]: method serialize_llms (line 42) | def serialize_llms(self, v: set[str]) -> list[str]: method serialize_embedders (line 46) | def serialize_embedders(self, v: set[str]) -> list[str]: method serialize_memory_clients (line 50) | def serialize_memory_clients(self, v: set[str]) -> list[str]: method serialize_object_stores (line 54) | def serialize_object_stores(self, v: set[str]) -> list[str]: method serialize_retrievers (line 58) | def serialize_retrievers(self, v: set[str]) -> list[str]: method add_function (line 61) | def add_function(self, function: str): method add_function_group (line 64) | def add_function_group(self, function_group: str): method add_llm (line 67) | def add_llm(self, llm: str): method add_embedder (line 70) | def add_embedder(self, embedder: str): method add_memory_client (line 73) | def add_memory_client(self, memory_client: str): method add_object_store (line 76) | def add_object_store(self, object_store: str): method add_retriever (line 79) | def add_retriever(self, retriever: str): FILE: packages/nvidia_nat_core/src/nat/data_models/gated_field_mixin.py class GatedFieldMixinConfig (line 24) | class GatedFieldMixinConfig: class GatedFieldMixin (line 34) | class GatedFieldMixin: method __init_subclass__ (line 56) | def __init_subclass__( method _setup_direct_mixin (line 85) | def _setup_direct_mixin( method _validate_mixin_parameters (line 115) | def _validate_mixin_parameters( method _create_gated_field_validator (line 130) | def _create_gated_field_validator( method _check_field_support (line 157) | def _check_field_support( method _find_blocking_key (line 180) | def _find_blocking_key( method _collect_all_mixin_configs (line 202) | def _collect_all_mixin_configs(cls) -> list[GatedFieldMixinConfig]: method _create_combined_validator (line 211) | def _create_combined_validator(cls, all_mixins: list[GatedFieldMixinCo... FILE: packages/nvidia_nat_core/src/nat/data_models/interactive.py class HumanPromptModelType (line 26) | class HumanPromptModelType(StrEnum): class BinaryChoiceOptionsType (line 39) | class BinaryChoiceOptionsType(StrEnum): class MultipleChoiceOptionType (line 47) | class MultipleChoiceOptionType(StrEnum): class BinaryHumanPromptOption (line 56) | class BinaryHumanPromptOption(BaseModel): class MultipleChoiceOption (line 65) | class MultipleChoiceOption(BaseModel): class HumanResponseText (line 72) | class HumanResponseText(BaseModel): class HumanResponseNotification (line 80) | class HumanResponseNotification(BaseModel): class HumanResponseBinary (line 88) | class HumanResponseBinary(BaseModel): class HumanResponseRadio (line 96) | class HumanResponseRadio(BaseModel): class HumanResponseCheckbox (line 104) | class HumanResponseCheckbox(BaseModel): class HumanResponseDropdown (line 112) | class HumanResponseDropdown(BaseModel): class HumanPromptBase (line 126) | class HumanPromptBase(BaseModel): class HumanPromptText (line 142) | class HumanPromptText(HumanPromptBase): class HumanPromptNotification (line 151) | class HumanPromptNotification(HumanPromptBase): class _HumanPromptOAuthConsent (line 158) | class _HumanPromptOAuthConsent(HumanPromptBase): class HumanPromptBinary (line 166) | class HumanPromptBinary(HumanPromptBase): method validate_options (line 176) | def validate_options(cls, options): class HumanPromptMultipleChoiceBase (line 182) | class HumanPromptMultipleChoiceBase(HumanPromptBase): class HumanPromptRadio (line 189) | class HumanPromptRadio(HumanPromptMultipleChoiceBase): class HumanPromptCheckbox (line 196) | class HumanPromptCheckbox(HumanPromptMultipleChoiceBase): class HumanPromptDropdown (line 203) | class HumanPromptDropdown(HumanPromptMultipleChoiceBase): class InteractionStatus (line 215) | class InteractionStatus(StrEnum): class InteractionBase (line 225) | class InteractionBase(BaseModel): method validate_timestamp (line 238) | def validate_timestamp(cls, timestamp): class InteractionPrompt (line 244) | class InteractionPrompt(InteractionBase): class InteractionResponse (line 251) | class InteractionResponse(InteractionBase): FILE: packages/nvidia_nat_core/src/nat/data_models/interactive_http.py class ExecutionStatus (line 38) | class ExecutionStatus(StrEnum): class _ExecutionStatusBase (line 52) | class _ExecutionStatusBase(BaseModel): class ExecutionRunningStatus (line 57) | class ExecutionRunningStatus(_ExecutionStatusBase): class ExecutionInteractionRequiredStatus (line 62) | class ExecutionInteractionRequiredStatus(_ExecutionStatusBase): class ExecutionOAuthRequiredStatus (line 70) | class ExecutionOAuthRequiredStatus(_ExecutionStatusBase): class ExecutionCompletedStatus (line 77) | class ExecutionCompletedStatus(_ExecutionStatusBase): class ExecutionFailedStatus (line 83) | class ExecutionFailedStatus(_ExecutionStatusBase): class _ExecutionAcceptedBase (line 103) | class _ExecutionAcceptedBase(_ExecutionStatusBase): class ExecutionAcceptedInteraction (line 108) | class ExecutionAcceptedInteraction(_ExecutionAcceptedBase): class ExecutionAcceptedOAuth (line 116) | class ExecutionAcceptedOAuth(_ExecutionAcceptedBase): class InteractionResponseRequest (line 133) | class InteractionResponseRequest(BaseModel): class StreamInteractionEvent (line 149) | class StreamInteractionEvent(BaseModel, ResponseSerializable): method get_stream_data (line 160) | def get_stream_data(self) -> str: class StreamOAuthEvent (line 164) | class StreamOAuthEvent(BaseModel, ResponseSerializable): method get_stream_data (line 174) | def get_stream_data(self) -> str: FILE: packages/nvidia_nat_core/src/nat/data_models/intermediate_step.py class IntermediateStepCategory (line 33) | class IntermediateStepCategory(StrEnum): class IntermediateStepType (line 44) | class IntermediateStepType(StrEnum): class IntermediateStepState (line 65) | class IntermediateStepState(StrEnum): class StreamEventData (line 71) | class StreamEventData(BaseModel): class TTCEventData (line 85) | class TTCEventData(StreamEventData): class UsageInfo (line 99) | class UsageInfo(BaseModel): class ToolParameters (line 105) | class ToolParameters(BaseModel): class ToolDetails (line 114) | class ToolDetails(BaseModel): class ToolSchema (line 120) | class ToolSchema(BaseModel): class ServerToolUseSchema (line 125) | class ServerToolUseSchema(BaseModel): class TraceMetadata (line 133) | class TraceMetadata(BaseModel): class IntermediateStepPayload (line 149) | class IntermediateStepPayload(BaseModel): method event_category (line 172) | def event_category(self) -> IntermediateStepCategory: method event_state (line 214) | def event_state(self) -> IntermediateStepState: method check_span_event_timestamp (line 256) | def check_span_event_timestamp(self) -> "IntermediateStepPayload": class IntermediateStep (line 262) | class IntermediateStep(BaseModel): method event_type (line 292) | def event_type(self) -> IntermediateStepType: method event_timestamp (line 296) | def event_timestamp(self) -> float: method span_event_timestamp (line 300) | def span_event_timestamp(self) -> float | None: method framework (line 304) | def framework(self) -> LLMFrameworkEnum | None: method name (line 308) | def name(self) -> str | None: method tags (line 312) | def tags(self) -> list[str] | None: method metadata (line 316) | def metadata(self) -> dict[str, typing.Any] | TraceMetadata | None: method data (line 320) | def data(self) -> StreamEventData | None: method usage_info (line 324) | def usage_info(self) -> UsageInfo | None: method UUID (line 328) | def UUID(self) -> str: method event_category (line 332) | def event_category(self) -> IntermediateStepCategory: method event_state (line 336) | def event_state(self) -> IntermediateStepState: FILE: packages/nvidia_nat_core/src/nat/data_models/invocation_node.py class InvocationNode (line 19) | class InvocationNode(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/llm.py class APITypeEnum (line 25) | class APITypeEnum(StrEnum): class LLMBaseConfig (line 30) | class LLMBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/logging.py class LoggingBaseConfig (line 22) | class LoggingBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/memory.py class MemoryBaseConfig (line 22) | class MemoryBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/middleware.py class MiddlewareBaseConfig (line 24) | class MiddlewareBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/object_store.py class ObjectStoreBaseConfig (line 22) | class ObjectStoreBaseConfig(TypedBaseModel, BaseModelRegistryTag): class KeyAlreadyExistsError (line 29) | class KeyAlreadyExistsError(Exception): method __init__ (line 31) | def __init__(self, key: str, additional_message: str | None = None): class NoSuchKeyError (line 38) | class NoSuchKeyError(Exception): method __init__ (line 40) | def __init__(self, key: str, additional_message: str | None = None): FILE: packages/nvidia_nat_core/src/nat/data_models/openai_mcp.py class MCPApprovalRequiredEnum (line 23) | class MCPApprovalRequiredEnum(StrEnum): class OpenAIMCPSchemaTool (line 32) | class OpenAIMCPSchemaTool(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/optimizable.py class _TrialLike (line 34) | class _TrialLike(Protocol): method suggest_categorical (line 36) | def suggest_categorical(self, name: str, choices: Sequence[Any]) -> Any: method suggest_int (line 39) | def suggest_int(self, name: str, low: int, high: int, *, log: bool = F... method suggest_float (line 42) | def suggest_float(self, name: str, low: float, high: float, *, log: bo... class SearchSpace (line 49) | class SearchSpace(BaseModel, Generic[T]): method validate_search_space_parameters (line 63) | def validate_search_space_parameters(self): method suggest (line 95) | def suggest(self, trial: _TrialLike, name: str): method to_grid_values (line 105) | def to_grid_values(self) -> list[Any]: function OptimizableField (line 172) | def OptimizableField( class OptimizableMixin (line 214) | class OptimizableMixin(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/optimizer.py class OptimizerStrategyBaseConfig (line 28) | class OptimizerStrategyBaseConfig(TypedBaseModel, BaseModelRegistryTag): class OptimizerMetric (line 34) | class OptimizerMetric(BaseModel): class PromptOptimizerInputSchema (line 43) | class PromptOptimizerInputSchema(BaseModel): class SamplerType (line 51) | class SamplerType(StrEnum): class OptunaParameterOptimizationConfig (line 56) | class OptunaParameterOptimizationConfig(OptimizerStrategyBaseConfig, nam... class PromptOptimizationConfig (line 71) | class PromptOptimizationConfig(OptimizerStrategyBaseConfig): class GAPromptOptimizationConfig (line 86) | class GAPromptOptimizationConfig(PromptOptimizationConfig, name="ga"): class BaseOptimizerConfig (line 171) | class BaseOptimizerConfig(BaseModel): class OptimizerConfig (line 203) | class OptimizerConfig(BaseOptimizerConfig): class OptimizerRunConfig (line 216) | class OptimizerRunConfig(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/profiler.py class PromptCachingConfig (line 20) | class PromptCachingConfig(BaseModel): class BottleneckConfig (line 25) | class BottleneckConfig(BaseModel): class ConcurrencySpikeConfig (line 30) | class ConcurrencySpikeConfig(BaseModel): class PrefixSpanConfig (line 35) | class PrefixSpanConfig(BaseModel): class PredictionTrieConfig (line 44) | class PredictionTrieConfig(BaseModel): class DynamoMetricsConfig (line 55) | class DynamoMetricsConfig(BaseModel): method core_metrics_only (line 188) | def core_metrics_only( class ProfilerConfig (line 237) | class ProfilerConfig(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/profiler_callback.py class BaseProfilerCallback (line 19) | class BaseProfilerCallback(ABC): FILE: packages/nvidia_nat_core/src/nat/data_models/registry_handler.py class RegistryHandlerBaseConfig (line 22) | class RegistryHandlerBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/retriever.py class RetrieverBaseConfig (line 22) | class RetrieverBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/retry_mixin.py class RetryMixin (line 20) | class RetryMixin(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/runtime_enum.py class RuntimeTypeEnum (line 19) | class RuntimeTypeEnum(enum.StrEnum): FILE: packages/nvidia_nat_core/src/nat/data_models/span.py class SpanKind (line 32) | class SpanKind(Enum): function event_type_to_span_kind (line 80) | def event_type_to_span_kind(event_type: str) -> SpanKind: class SpanAttributes (line 92) | class SpanAttributes(Enum): class MimeTypes (line 109) | class MimeTypes(Enum): class SpanStatusCode (line 114) | class SpanStatusCode(Enum): class SpanEvent (line 120) | class SpanEvent(BaseModel): class SpanStatus (line 126) | class SpanStatus(BaseModel): function _generate_nonzero_trace_id (line 131) | def _generate_nonzero_trace_id() -> int: function _generate_nonzero_span_id (line 136) | def _generate_nonzero_span_id() -> int: class SpanContext (line 141) | class SpanContext(BaseModel): method _validate_trace_id (line 149) | def _validate_trace_id(cls, v: int | str | None) -> int: method _validate_span_id (line 161) | def _validate_span_id(cls, v: int | str | None) -> int: class Span (line 175) | class Span(BaseModel): method set_default_context (line 187) | def set_default_context(cls, v: SpanContext | None) -> SpanContext: method set_attribute (line 200) | def set_attribute(self, key: str, value: Any) -> None: method add_event (line 209) | def add_event(self, name: str, attributes: dict[str, Any] | None = Non... method end (line 220) | def end(self, end_time: int | None = None) -> None: FILE: packages/nvidia_nat_core/src/nat/data_models/ssl_verification_mixin.py class SSLVerificationMixin (line 20) | class SSLVerificationMixin(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/step_adaptor.py class StepAdaptorMode (line 28) | class StepAdaptorMode(StrEnum): class StepAdaptorConfig (line 34) | class StepAdaptorConfig(BaseModel): method check_custom_event_types (line 51) | def check_custom_event_types(self) -> "StepAdaptorConfig": FILE: packages/nvidia_nat_core/src/nat/data_models/streaming.py class Streaming (line 23) | class Streaming(typing.Generic[_T]): method __init__ (line 25) | def __init__(self, *, convert: Callable[[typing.Any], _T] = None): FILE: packages/nvidia_nat_core/src/nat/data_models/swe_bench_model.py class SWEBenchInput (line 23) | class SWEBenchInput(BaseModel): method parse_list_fields (line 42) | def parse_list_fields(cls, value): class SWEBenchOutput (line 49) | class SWEBenchOutput(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/telemetry_exporter.py class TelemetryExporterBaseConfig (line 22) | class TelemetryExporterBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/thinking_mixin.py class ThinkingMixin (line 29) | class ThinkingMixin( method thinking_system_prompt (line 49) | def thinking_system_prompt(self) -> str | None: FILE: packages/nvidia_nat_core/src/nat/data_models/token_usage.py class TokenUsageBaseModel (line 20) | class TokenUsageBaseModel(BaseModel): FILE: packages/nvidia_nat_core/src/nat/data_models/ttc_strategy.py class TTCStrategyBaseConfig (line 22) | class TTCStrategyBaseConfig(TypedBaseModel, BaseModelRegistryTag): FILE: packages/nvidia_nat_core/src/nat/data_models/user_info.py class JwtUserInfo (line 34) | class JwtUserInfo(BaseModel): method identity_claim (line 59) | def identity_claim(self) -> str | None: class BasicUserInfo (line 74) | class BasicUserInfo(BaseModel): method model_post_init (line 92) | def model_post_init(self, __context: typing.Any) -> None: method credential (line 100) | def credential(self) -> str: class UserInfo (line 105) | class UserInfo(BaseModel): method _validate_single_identity_source (line 126) | def _validate_single_identity_source(self) -> "UserInfo": method model_post_init (line 132) | def model_post_init(self, __context: typing.Any) -> None: method get_user_id (line 138) | def get_user_id(self) -> str: method _set_user_id (line 142) | def _set_user_id(self, identity_key: str) -> None: method get_user_details (line 147) | def get_user_details(self) -> JwtUserInfo | BasicUserInfo | str | None: method _from_session_cookie (line 166) | def _from_session_cookie(cls, cookie: str) -> "UserInfo": method _from_api_key (line 173) | def _from_api_key(cls, api_key: str) -> "UserInfo": method _from_jwt (line 177) | def _from_jwt(cls, jwt_info: JwtUserInfo) -> "UserInfo": FILE: packages/nvidia_nat_core/src/nat/embedder/azure_openai_embedder.py class AzureOpenAIEmbedderModelConfig (line 29) | class AzureOpenAIEmbedderModelConfig(EmbedderBaseConfig, RetryMixin, SSL... function azure_openai_embedder_model (line 46) | async def azure_openai_embedder_model(config: AzureOpenAIEmbedderModelCo... FILE: packages/nvidia_nat_core/src/nat/embedder/huggingface_embedder.py class HuggingFaceEmbedderConfig (line 28) | class HuggingFaceEmbedderConfig(EmbedderBaseConfig, RetryMixin, name="hu... method validate_mode (line 55) | def validate_mode(self): function huggingface_embedder_provider (line 63) | async def huggingface_embedder_provider(config: HuggingFaceEmbedderConfi... FILE: packages/nvidia_nat_core/src/nat/embedder/nim_embedder.py function option_in_allowed_values (line 34) | def option_in_allowed_values(v): class NIMEmbedderModelConfig (line 43) | class NIMEmbedderModelConfig(EmbedderBaseConfig, RetryMixin, SSLVerifica... function nim_embedder_model (line 60) | async def nim_embedder_model(embedder_config: NIMEmbedderModelConfig, bu... FILE: packages/nvidia_nat_core/src/nat/embedder/openai_embedder.py class OpenAIEmbedderModelConfig (line 29) | class OpenAIEmbedderModelConfig(EmbedderBaseConfig, RetryMixin, SSLVerif... function openai_embedder_model (line 42) | async def openai_embedder_model(config: OpenAIEmbedderModelConfig, _buil... FILE: packages/nvidia_nat_core/src/nat/eval/__init__.py function _alias_module (line 41) | def _alias_module(old_name: str, new_name: str) -> None: function _populate_aliases (line 52) | def _populate_aliases() -> None: FILE: packages/nvidia_nat_core/src/nat/experimental/decorators/experimental_warning_decorator.py function issue_experimental_warning (line 37) | def issue_experimental_warning(function_name: str, function experimental (line 66) | def experimental(func: F, *, feature_name: str | None = None, metadata: ... function experimental (line 72) | def experimental(*, feature_name: str | None = None, metadata: dict[str,... function experimental (line 77) | def experimental(func: Any = None, *, feature_name: str | None = None, m... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/editing/iterative_plan_refinement_editor.py class IterativePlanRefinementEditor (line 34) | class IterativePlanRefinementEditor(StrategyBase): method __init__ (line 40) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method supported_pipeline_types (line 44) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 47) | def stage_type(self) -> StageTypeEnum: method build_components (line 50) | async def build_components(self, builder: Builder) -> None: method refine_single (line 57) | async def refine_single(self, prompt: str, context: str, ttc_item: TTC... method ainvoke (line 98) | async def ainvoke(self, function register_iterative_plan_refinement_editor (line 133) | async def register_iterative_plan_refinement_editor(config: IterativePla... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/editing/llm_as_a_judge_editor.py class LLMAsAJudgeEditor (line 34) | class LLMAsAJudgeEditor(StrategyBase): method __init__ (line 40) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 45) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 54) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 57) | def stage_type(self) -> StageTypeEnum: method generate_feedback (line 60) | async def generate_feedback(self, llm, template, context: str, prompt:... method edit_plan (line 92) | async def edit_plan(self, llm, template, context: str, prompt: str, it... method ainvoke (line 129) | async def ainvoke(self, function register_llm_as_a_judge_editor (line 196) | async def register_llm_as_a_judge_editor(config: TTCStrategyBaseConfig, ... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/editing/motivation_aware_summarization.py class MotivationAwareSummarization (line 31) | class MotivationAwareSummarization(StrategyBase): method __init__ (line 37) | def __init__(self, config: MotivationAwareSummarizationConfig) -> None: method build_components (line 42) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 49) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 52) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 55) | async def ainvoke(self, function register_multi_query_retrieval_search (line 104) | async def register_multi_query_retrieval_search(config: MotivationAwareS... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/functions/execute_score_select_function.py class ExecuteScoreSelectFunctionConfig (line 34) | class ExecuteScoreSelectFunctionConfig(FunctionBaseConfig, name="execute... function execute_score_select_function (line 43) | async def execute_score_select_function(config: ExecuteScoreSelectFuncti... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/functions/multi_llm_judge_function.py class MultiLLMJudgeFunctionConfig (line 32) | class MultiLLMJudgeFunctionConfig(FunctionBaseConfig, name="multi_llm_ju... function execute_multi_llm_judge_function (line 44) | async def execute_multi_llm_judge_function(config: MultiLLMJudgeFunction... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/functions/plan_select_execute_function.py class PlanSelectExecuteFunctionConfig (line 36) | class PlanSelectExecuteFunctionConfig(FunctionBaseConfig, name="plan_sel... function plan_select_execute_function (line 70) | async def plan_select_execute_function(config: PlanSelectExecuteFunction... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py class TTCToolOrchestrationFunctionConfig (line 37) | class TTCToolOrchestrationFunctionConfig(FunctionBaseConfig, name="ttc_t... function register_ttc_tool_orchestration_function (line 68) | async def register_ttc_tool_orchestration_function( FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py class TTCToolWrapperFunctionConfig (line 34) | class TTCToolWrapperFunctionConfig(FunctionBaseConfig, name="ttc_tool_wr... function register_ttc_tool_wrapper_function (line 68) | async def register_ttc_tool_wrapper_function( FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/editor_config.py class LLMAsAJudgeEditorConfig (line 25) | class LLMAsAJudgeEditorConfig(TTCStrategyBaseConfig, name="llm_as_a_judg... method validate_strategies (line 79) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class IterativePlanRefinementConfig (line 90) | class IterativePlanRefinementConfig(TTCStrategyBaseConfig, name="iterati... method validate_iterative_strategies (line 104) | def validate_iterative_strategies(cls, values: dict) -> dict: class MotivationAwareSummarizationConfig (line 112) | class MotivationAwareSummarizationConfig(TTCStrategyBaseConfig, name="mo... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/scoring_config.py class LLMBasedPlanScoringConfig (line 25) | class LLMBasedPlanScoringConfig(TTCStrategyBaseConfig, name="llm_based_p... method validate_strategies (line 45) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class LLMBasedAgentScoringConfig (line 55) | class LLMBasedAgentScoringConfig(TTCStrategyBaseConfig, name="llm_based_... method validate_strategies (line 77) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class MotivationAwareScoringConfig (line 87) | class MotivationAwareScoringConfig(TTCStrategyBaseConfig, name="motivati... method validate_scoring_llm (line 109) | def validate_scoring_llm(cls, values): FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/search_config.py class SingleShotMultiPlanConfig (line 25) | class SingleShotMultiPlanConfig(TTCStrategyBaseConfig, name="single_shot... method validate_strategies (line 54) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class MultiLLMPlanConfig (line 65) | class MultiLLMPlanConfig(TTCStrategyBaseConfig, name="multi_llm_plan"): method validate_multi_llm_strategies (line 92) | def validate_multi_llm_strategies(cls, values: dict) -> dict: class MultiQueryRetrievalSearchConfig (line 98) | class MultiQueryRetrievalSearchConfig(TTCStrategyBaseConfig, name="multi... method validate_llms (line 120) | def validate_llms(cls, values): class MultiLLMGenerationConfig (line 126) | class MultiLLMGenerationConfig(TTCStrategyBaseConfig, name="multi_llm_ge... method validate_config (line 135) | def validate_config(cls, values: dict) -> dict: FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/selection_config.py class LLMBasedPlanSelectionConfig (line 25) | class LLMBasedPlanSelectionConfig(TTCStrategyBaseConfig, name="llm_based... method validate_strategies (line 53) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class LLMBasedAgentOutputSelectionConfig (line 64) | class LLMBasedAgentOutputSelectionConfig(TTCStrategyBaseConfig, name="ll... method validate_strategies (line 96) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class LLMBasedOutputMergingConfig (line 107) | class LLMBasedOutputMergingConfig(TTCStrategyBaseConfig, name="llm_based... method validate_strategies (line 134) | def validate_strategies(cls, values: dict[str, typing.Any]) -> dict[st... class ThresholdSelectionConfig (line 145) | class ThresholdSelectionConfig(TTCStrategyBaseConfig, name="threshold_se... class BestOfNSelectionConfig (line 153) | class BestOfNSelectionConfig(TTCStrategyBaseConfig, name="best_of_n_sele... class LLMJudgeSelectionConfig (line 160) | class LLMJudgeSelectionConfig(TTCStrategyBaseConfig, name="llm_judge_sel... method validate_config (line 182) | def validate_config(cls, values: dict) -> dict: FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/stage_enums.py class PipelineTypeEnum (line 19) | class PipelineTypeEnum(StrEnum): method __str__ (line 28) | def __str__(self) -> str: class StageTypeEnum (line 32) | class StageTypeEnum(StrEnum): method __str__ (line 42) | def __str__(self) -> str: FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/strategy_base.py class StrategyBase (line 26) | class StrategyBase(ABC): method __init__ (line 35) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 40) | async def build_components(self, builder: Builder) -> None: method ainvoke (line 45) | async def ainvoke(self, method supported_pipeline_types (line 53) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 58) | def stage_type(self) -> StageTypeEnum: method set_pipeline_type (line 62) | def set_pipeline_type(self, pipeline_type: PipelineTypeEnum) -> None: FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/tool_use_config.py class ToolUseInputSchema (line 20) | class ToolUseInputSchema(BaseModel): class ToolUselist (line 36) | class ToolUselist(BaseModel): FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/models/ttc_item.py class TTCItem (line 23) | class TTCItem(BaseModel): FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/scoring/llm_based_agent_scorer.py class LLMBasedAgentScorer (line 34) | class LLMBasedAgentScorer(StrategyBase): method __init__ (line 36) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 40) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 46) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 49) | def stage_type(self) -> StageTypeEnum: method score_single (line 52) | async def score_single(self, original_prompt: str, agent_context: str,... method ainvoke (line 114) | async def ainvoke(self, function register_llm_based_agent_scorer (line 155) | async def register_llm_based_agent_scorer(config: LLMBasedAgentScoringCo... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/scoring/llm_based_plan_scorer.py class LLMBasedPlanScorer (line 34) | class LLMBasedPlanScorer(StrategyBase): method __init__ (line 36) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 40) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 46) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 49) | def stage_type(self) -> StageTypeEnum: method score_single (line 52) | async def score_single(self, original_prompt: str, agent_context: str,... method ainvoke (line 113) | async def ainvoke(self, function register_llm_based_plan_scorer (line 155) | async def register_llm_based_plan_scorer(config: LLMBasedPlanScoringConf... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/scoring/motivation_aware_scorer.py class MotivationAwareScorer (line 34) | class MotivationAwareScorer(StrategyBase): method __init__ (line 40) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 44) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 47) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 50) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 53) | async def ainvoke(self, function register_motivation_aware_scorer (line 108) | async def register_motivation_aware_scorer(config: MotivationAwareScorin... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/search/multi_llm_generation.py class MultiLLMGeneration (line 32) | class MultiLLMGeneration(StrategyBase): method __init__ (line 37) | def __init__(self, config: MultiLLMGenerationConfig) -> None: method build_components (line 42) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 52) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 55) | def stage_type(self) -> StageTypeEnum: method _generate_response (line 58) | async def _generate_response(self, llm, prompt: str) -> TTCItem: method ainvoke (line 68) | async def ainvoke(self, function register_multi_llm_generation (line 112) | async def register_multi_llm_generation(config: MultiLLMGenerationConfig... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/search/multi_llm_planner.py class MultiLLMPlanner (line 33) | class MultiLLMPlanner(StrategyBase): method __init__ (line 39) | def __init__(self, config: MultiLLMPlanConfig) -> None: method build_components (line 44) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 55) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 58) | def stage_type(self) -> StageTypeEnum: method _generate_plan_for_temperature (line 61) | async def _generate_plan_for_temperature(self, llm, base_prompt: str, ... method _generate_plans_for_llm (line 75) | async def _generate_plans_for_llm(self, llm, base_prompt: str) -> list... method ainvoke (line 86) | async def ainvoke(self, function register_multi_llm_planner (line 122) | async def register_multi_llm_planner(config: MultiLLMPlanConfig, builder... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/search/multi_query_retrieval_search.py class MultiQueryRetrievalSearch (line 31) | class MultiQueryRetrievalSearch(StrategyBase): method __init__ (line 38) | def __init__(self, config: MultiQueryRetrievalSearchConfig) -> None: method build_components (line 43) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 52) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 55) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 58) | async def ainvoke(self, function register_multi_query_retrieval_search (line 119) | async def register_multi_query_retrieval_search(config: MultiQueryRetrie... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/search/single_shot_multi_plan_planner.py class SingleShotMultiPlanPlanner (line 34) | class SingleShotMultiPlanPlanner(StrategyBase): method __init__ (line 40) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 44) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 47) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 50) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 53) | async def ainvoke(self, function register_single_shot_multi_plan_planner (line 122) | async def register_single_shot_multi_plan_planner(config: SingleShotMult... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/selection/best_of_n_selector.py class BestOfNSelector (line 29) | class BestOfNSelector(StrategyBase): method build_components (line 31) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 34) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 37) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 40) | async def ainvoke(self, function register_best_of_n_selector (line 58) | async def register_best_of_n_selector(config: BestOfNSelectionConfig, bu... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/selection/llm_based_agent_output_selector.py class LLMBasedAgentOutputSelector (line 33) | class LLMBasedAgentOutputSelector(StrategyBase): method __init__ (line 35) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 39) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 45) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 48) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 51) | async def ainvoke(self, function register_llm_based_agent_output_selector (line 125) | async def register_llm_based_agent_output_selector(config: LLMBasedAgent... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/selection/llm_based_output_merging_selector.py class LLMBasedOutputMergingSelector (line 32) | class LLMBasedOutputMergingSelector(StrategyBase): method __init__ (line 34) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 38) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 44) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 47) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 50) | async def ainvoke(self, function register_llm_based_output_merging_selector (line 151) | async def register_llm_based_output_merging_selector(config: LLMBasedOut... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/selection/llm_based_plan_selector.py class LLMBasedPlanSelector (line 33) | class LLMBasedPlanSelector(StrategyBase): method __init__ (line 35) | def __init__(self, config: TTCStrategyBaseConfig) -> None: method build_components (line 39) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 45) | def supported_pipeline_types(self) -> [PipelineTypeEnum]: method stage_type (line 48) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 51) | async def ainvoke(self, function register_llm_based_plan_selection (line 122) | async def register_llm_based_plan_selection(config: LLMBasedPlanSelectio... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/selection/llm_judge_selection.py class LLMJudgeSelection (line 32) | class LLMJudgeSelection(StrategyBase): method __init__ (line 37) | def __init__(self, config: LLMJudgeSelectionConfig) -> None: method build_components (line 42) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 49) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 52) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 55) | async def ainvoke(self, function register_llm_judge_selection (line 124) | async def register_llm_judge_selection(config: LLMJudgeSelectionConfig, ... FILE: packages/nvidia_nat_core/src/nat/experimental/test_time_compute/selection/threshold_selector.py class ThresholdSelector (line 29) | class ThresholdSelector(StrategyBase): method build_components (line 34) | async def build_components(self, builder: Builder) -> None: method supported_pipeline_types (line 38) | def supported_pipeline_types(self) -> list[PipelineTypeEnum]: method stage_type (line 41) | def stage_type(self) -> StageTypeEnum: method ainvoke (line 44) | async def ainvoke(self, function register_threshold_selector (line 56) | async def register_threshold_selector(config: ThresholdSelectionConfig, ... FILE: packages/nvidia_nat_core/src/nat/finetuning/finetuning_runtime.py function run_finetuning (line 28) | async def run_finetuning(runner: Trainer) -> None: function finetuning_main (line 95) | async def finetuning_main(run_config: FinetuneRunConfig) -> None: function run_finetuning_sync (line 136) | def run_finetuning_sync(run_config: FinetuneRunConfig) -> None: FILE: packages/nvidia_nat_core/src/nat/finetuning/interfaces/finetuning_runner.py class Trainer (line 34) | class Trainer(ABC): method __init__ (line 44) | def __init__(self, trainer_config: TrainerConfig, **kwargs) -> None: method bind_components (line 63) | async def bind_components(self, trajectory_builder: TrajectoryBuilder,... method initialize (line 74) | async def initialize(self, run_config: FinetuneConfig) -> None: method run_epoch (line 98) | async def run_epoch(self, epoch: int, run_id: str) -> TrainingJobRef: method run (line 112) | async def run(self, num_epochs: int) -> list[TrainingJobStatus]: method get_metrics (line 125) | async def get_metrics(self, run_id: str) -> dict[str, Any]: method cleanup (line 138) | async def cleanup(self) -> None: method log_progress (line 145) | def log_progress(self, epoch: int, metrics: dict[str, Any], output_dir... method run_validation_evaluation (line 156) | async def run_validation_evaluation(self, epoch: int, run_id: str) -> ... method _calculate_validation_metrics (line 210) | def _calculate_validation_metrics(self, eval_output: EvaluationRunOutp... method apply_curriculum_learning (line 239) | def apply_curriculum_learning(self, trajectory_collection: TrajectoryC... method get_curriculum_state (line 246) | def get_curriculum_state(self) -> dict[str, Any]: FILE: packages/nvidia_nat_core/src/nat/finetuning/interfaces/trainer_adapter.py class TrainerAdapter (line 27) | class TrainerAdapter(ABC): method __init__ (line 32) | def __init__(self, adapter_config: TrainerAdapterConfig): method initialize (line 36) | async def initialize(self, run_config: FinetuneConfig) -> None: method is_healthy (line 44) | async def is_healthy(self) -> bool: method submit (line 54) | async def submit(self, trajectories: TrajectoryCollection) -> Training... method status (line 67) | async def status(self, ref: TrainingJobRef) -> TrainingJobStatus: method wait_until_complete (line 80) | async def wait_until_complete(self, ref: TrainingJobRef, poll_interval... method log_progress (line 94) | def log_progress(self, ref: TrainingJobRef, metrics: dict[str, Any], o... FILE: packages/nvidia_nat_core/src/nat/finetuning/interfaces/trajectory_builder.py class TrajectoryBuilder (line 28) | class TrajectoryBuilder(ABC): method __init__ (line 33) | def __init__(self, trajectory_builder_config: TrajectoryBuilderConfig): method initialize (line 37) | async def initialize(self, run_config: FinetuneConfig) -> None: method run_eval (line 44) | async def run_eval(self) -> EvaluationRunOutput: method start_run (line 68) | async def start_run(self, run_id: str, meta: dict | None = None) -> None: method finalize (line 79) | async def finalize(self, run_id: str, meta: dict | None = None) -> Tra... method compute_reward (line 92) | async def compute_reward(self, output_item: EvalOutputItemLike, meta: ... method log_progress (line 106) | def log_progress(self, run_id: str, metrics: dict[str, Any], output_di... FILE: packages/nvidia_nat_core/src/nat/finetuning/utils/parsers/base_parser.py function parse_to_openai_messages (line 27) | def parse_to_openai_messages(steps: list[IntermediateStep]) -> list[dict]: function _validate_message_sequence (line 116) | def _validate_message_sequence(messages: list[dict]) -> list[dict]: FILE: packages/nvidia_nat_core/src/nat/finetuning/utils/parsers/common.py function extract_content (line 24) | def extract_content(data: Any) -> str: function parse_generic_message (line 64) | def parse_generic_message(message: IntermediateStep) -> dict: FILE: packages/nvidia_nat_core/src/nat/front_ends/console/authentication_flow_handler.py class _FlowState (line 45) | class _FlowState: class ConsoleAuthenticationFlowHandler (line 56) | class ConsoleAuthenticationFlowHandler(FlowHandlerBase): method __init__ (line 65) | def __init__(self) -> None: method authenticate (line 75) | async def authenticate( method construct_oauth_client (line 91) | def construct_oauth_client(self, cfg: OAuth2AuthCodeFlowProviderConfig... method _create_authorization_url (line 112) | def _create_authorization_url(self, method _handle_http_basic (line 145) | def _handle_http_basic() -> AuthenticatedContext: method _handle_oauth2_auth_code_flow (line 161) | async def _handle_oauth2_auth_code_flow(self, cfg: OAuth2AuthCodeFlowP... method _build_redirect_app (line 220) | async def _build_redirect_app(self) -> FastAPI: method _start_redirect_server (line 256) | async def _start_redirect_server(self) -> None: method _stop_redirect_server (line 273) | async def _stop_redirect_server(self) -> None: method redirect_app (line 280) | def redirect_app(self) -> FastAPI | None: FILE: packages/nvidia_nat_core/src/nat/front_ends/console/console_front_end_config.py class ConsoleFrontEndConfig (line 23) | class ConsoleFrontEndConfig(FrontEndBaseConfig, name="console"): FILE: packages/nvidia_nat_core/src/nat/front_ends/console/console_front_end_plugin.py function _normalize_unicode (line 47) | def _normalize_unicode(text: str) -> str: function _format_output (line 58) | def _format_output(runner_outputs) -> str: function prompt_for_input_cli (line 65) | async def prompt_for_input_cli(question: InteractionPrompt) -> HumanResp... class ConsoleFrontEndPlugin (line 102) | class ConsoleFrontEndPlugin(SimpleFrontEndPluginBase[ConsoleFrontEndConf... method __init__ (line 104) | def __init__(self, full_config): method pre_run (line 110) | async def pre_run(self): method run_workflow (line 116) | async def run_workflow(self, session_manager: SessionManager): FILE: packages/nvidia_nat_core/src/nat/front_ends/console/register.py function register_fastapi_front_end (line 22) | async def register_fastapi_front_end(config: ConsoleFrontEndConfig, full... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/async_jobs/async_job.py function _configure_logging (line 25) | def _configure_logging(configure_logging: bool, log_level: int) -> loggi... function run_generation (line 33) | async def run_generation(configure_logging: bool, function periodic_cleanup (line 95) | async def periodic_cleanup(*, function setup_worker (line 139) | def setup_worker(): FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/async_jobs/dask_client_mixin.py class DaskClientMixin (line 23) | class DaskClientMixin(ABC): method dask_client (line 26) | def dask_client(self) -> "DaskClient": FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/async_jobs/job_store.py class JobStatus (line 54) | class JobStatus(StrEnum): class Base (line 81) | class Base(DeclarativeBase): class JobInfo (line 85) | class JobInfo(Base): method __repr__ (line 132) | def __repr__(self): class JobStore (line 136) | class JobStore(DaskClientMixin): method __init__ (line 159) | def __init__( method session (line 182) | async def session(self) -> AsyncGenerator["AsyncSession"]: method ensure_job_id (line 204) | def ensure_job_id(self, job_id: str | None) -> str: method _create_job (line 221) | async def _create_job(self, method submit_job (line 255) | async def submit_job(self, method update_status (line 312) | async def update_status(self, method get_all_jobs (line 364) | async def get_all_jobs(self) -> list[JobInfo]: method get_job (line 382) | async def get_job(self, job_id: str) -> JobInfo | None: method get_status (line 399) | async def get_status(self, job_id: str) -> JobStatus: method get_last_job (line 419) | async def get_last_job(self) -> JobInfo | None: method get_jobs_by_status (line 440) | async def get_jobs_by_status(self, status: str | JobStatus) -> list[Jo... method get_expires_at (line 462) | def get_expires_at(self, job: JobInfo) -> datetime | None: method cleanup_expired_jobs (line 490) | async def cleanup_expired_jobs(self) -> int: function get_db_engine (line 560) | def get_db_engine(db_url: str | None = None, echo: bool = False, use_asy... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/auth_flow_handlers/http_flow_handler.py class _OAuthExecutionContext (line 45) | class _OAuthExecutionContext: class HTTPAuthenticationFlowHandler (line 57) | class HTTPAuthenticationFlowHandler(FlowHandlerBase): method __init__ (line 79) | def __init__( method set_execution_context (line 94) | def set_execution_context( method clear_execution_context (line 108) | def clear_execution_context() -> None: method authenticate (line 115) | async def authenticate(self, config: AuthProviderBaseConfig, method: A... method _create_oauth_client (line 130) | def _create_oauth_client(self, config: OAuth2AuthCodeFlowProviderConfi... method _create_authorization_url (line 146) | def _create_authorization_url( method _handle_oauth2_auth_code_flow (line 166) | async def _handle_oauth2_auth_code_flow( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/auth_flow_handlers/websocket_flow_handler.py class FlowState (line 39) | class FlowState: class WebSocketAuthenticationFlowHandler (line 47) | class WebSocketAuthenticationFlowHandler(FlowHandlerBase): method __init__ (line 49) | def __init__(self, method authenticate (line 60) | async def authenticate( method create_oauth_client (line 69) | def create_oauth_client(self, config: OAuth2AuthCodeFlowProviderConfig... method _create_authorization_url (line 83) | def _create_authorization_url(self, method _handle_oauth2_auth_code_flow (line 114) | async def _handle_oauth2_auth_code_flow(self, config: OAuth2AuthCodeFl... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/execution_store.py class PendingInteraction (line 41) | class PendingInteraction: class PendingOAuth (line 50) | class PendingOAuth: class ExecutionRecord (line 58) | class ExecutionRecord: class ExecutionStore (line 84) | class ExecutionStore: method __init__ (line 87) | def __init__(self, ttl_seconds: int = DEFAULT_EXECUTION_TTL) -> None: method create_execution (line 96) | async def create_execution(self) -> ExecutionRecord: method get (line 108) | async def get(self, execution_id: str) -> ExecutionRecord | None: method set_interaction_required (line 116) | async def set_interaction_required( method set_oauth_required (line 143) | async def set_oauth_required( method set_running (line 158) | async def set_running(self, execution_id: str) -> None: method set_completed (line 168) | async def set_completed(self, execution_id: str, result: typing.Any) -... method set_failed (line 179) | async def set_failed(self, execution_id: str, error: str) -> None: method resolve_interaction (line 194) | async def resolve_interaction( method cleanup_expired (line 224) | async def cleanup_expired(self) -> int: method remove (line 238) | async def remove(self, execution_id: str) -> None: FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/fastapi_front_end_config.py function _is_reserved (line 38) | def _is_reserved(path: Path) -> bool: class EvaluateRequest (line 52) | class EvaluateRequest(BaseModel): method validate_job_id (line 64) | def validate_job_id(cls, job_id: str): method validate_config_file (line 80) | def validate_config_file(cls, config_file: str): class BaseAsyncResponse (line 99) | class BaseAsyncResponse(BaseModel): class EvaluateResponse (line 105) | class EvaluateResponse(BaseAsyncResponse): class AsyncGenerateResponse (line 110) | class AsyncGenerateResponse(BaseAsyncResponse): class BaseAsyncStatusResponse (line 115) | class BaseAsyncStatusResponse(BaseModel): class EvaluateStatusResponse (line 125) | class EvaluateStatusResponse(BaseAsyncStatusResponse): class AsyncGenerationStatusResponse (line 132) | class AsyncGenerationStatusResponse(BaseAsyncStatusResponse): class EvaluateItemRequest (line 138) | class EvaluateItemRequest(BaseModel): class EvaluateItemResponse (line 144) | class EvaluateItemResponse(BaseModel): class FastApiFrontEndConfig (line 151) | class FastApiFrontEndConfig(FrontEndBaseConfig, name="fastapi"): class EndpointBase (line 156) | class EndpointBase(BaseModel): class Endpoint (line 192) | class Endpoint(EndpointBase): class CrossOriginResourceSharing (line 195) | class CrossOriginResourceSharing(BaseModel): FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/fastapi_front_end_controller.py class _FastApiFrontEndController (line 26) | class _FastApiFrontEndController: method __init__ (line 32) | def __init__(self, app: FastAPI): method start_server (line 37) | async def start_server(self, host: str, port: int) -> None: method stop_server (line 57) | async def stop_server(self) -> None: FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/fastapi_front_end_plugin.py class FastApiFrontEndPlugin (line 41) | class FastApiFrontEndPlugin(DaskClientMixin, FrontEndBase[FastApiFrontEn... method __init__ (line 43) | def __init__(self, full_config: "Config"): method get_worker_class (line 52) | def get_worker_class(self) -> type[FastApiFrontEndPluginWorkerBase]: method get_worker_class_name (line 58) | def get_worker_class_name(self) -> str: method _submit_cleanup_task (line 67) | async def _submit_cleanup_task(self, scheduler_address: str, db_url: s... method run (line 76) | async def run(self): FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py class FastApiFrontEndPluginWorkerBase (line 57) | class FastApiFrontEndPluginWorkerBase(ABC): method __init__ (line 59) | def __init__(self, config: Config): method config (line 94) | def config(self) -> Config: method front_end_config (line 98) | def front_end_config(self) -> FastApiFrontEndConfig: method build_app (line 101) | def build_app(self) -> FastAPI: method set_cors_config (line 138) | def set_cors_config(self, nat_app: FastAPI) -> None: method _suppress_authentication_logs (line 170) | async def _suppress_authentication_logs(self, request: Request, method configure (line 191) | async def configure(self, app: FastAPI, builder: WorkflowBuilder): method get_step_adaptor (line 195) | def get_step_adaptor(self) -> StepAdaptor: class RouteInfo (line 199) | class RouteInfo(BaseModel): class FastApiFrontEndPluginWorker (line 204) | class FastApiFrontEndPluginWorker(FastApiFrontEndPluginWorkerBase): method __init__ (line 206) | def __init__(self, config: Config): method get_conversation_handler (line 231) | def get_conversation_handler(self, conversation_id: str) -> "WebSocket... method set_conversation_handler (line 235) | def set_conversation_handler(self, conversation_id: str, handler: "Web... method remove_conversation_handler (line 239) | def remove_conversation_handler(self, conversation_id: str) -> None: method initialize_evaluators (line 243) | async def initialize_evaluators(self, config: Config): method _create_session_manager (line 284) | async def _create_session_manager(self, method cleanup_session_managers (line 294) | async def cleanup_session_managers(self): method cleanup_evaluators (line 305) | async def cleanup_evaluators(self): method get_step_adaptor (line 317) | def get_step_adaptor(self) -> StepAdaptor: method configure (line 321) | async def configure(self, app: FastAPI, builder: WorkflowBuilder): method add_routes (line 332) | async def add_routes(self, app: FastAPI, builder: WorkflowBuilder): method add_default_route (line 370) | async def add_default_route(self, app: FastAPI, session_manager: Sessi... method _add_flow (line 388) | async def _add_flow(self, state: str, flow_state: FlowState): method _remove_flow (line 392) | async def _remove_flow(self, state: str): FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/http_interactive_runner.py class HTTPInteractiveRunner (line 55) | class HTTPInteractiveRunner: method __init__ (line 72) | def __init__( method _build_hitl_callback (line 86) | def _build_hitl_callback( method _build_auth_callback (line 148) | def _build_auth_callback( method start_non_streaming (line 181) | async def start_non_streaming( method _streaming_generator_impl (line 219) | async def _streaming_generator_impl( method streaming_generator (line 294) | async def streaming_generator( method streaming_generator_raw (line 324) | async def streaming_generator_raw( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/intermediate_steps_subscriber.py function pull_intermediate (line 32) | async def pull_intermediate(_q, adapter): function pull_intermediate_atif (line 100) | async def pull_intermediate_atif(_q, converter: "ATIFStreamConverter"): FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/main.py function get_app (line 31) | def get_app() -> "FastAPI": FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/message_handler.py class UserInteraction (line 73) | class UserInteraction(BaseModel): class WebSocketMessageHandler (line 83) | class WebSocketMessageHandler: method __init__ (line 87) | def __init__(self, method set_flow_handler (line 115) | def set_flow_handler(self, flow_handler: FlowHandlerBase) -> None: method _initialize_workflow_request (line 118) | def _initialize_workflow_request(self, message: WebSocketUserMessage) ... method _restore_execution_state (line 132) | async def _restore_execution_state(self) -> None: method __aenter__ (line 170) | async def __aenter__(self) -> "WebSocketMessageHandler": method __aexit__ (line 175) | async def __aexit__(self, exc_type, exc_value, traceback) -> None: method run (line 178) | async def run(self) -> None: method _extract_last_user_message_content (line 204) | def _extract_last_user_message_content(self, messages: list[UserMessag... method _process_auth_message (line 224) | async def _process_auth_message(self, message: WebSocketAuthMessage) -... method _process_websocket_user_interaction_response_message (line 244) | async def _process_websocket_user_interaction_response_message( method _process_websocket_user_message (line 251) | async def _process_websocket_user_message(self, user_content: WebSocke... method process_workflow_request (line 263) | async def process_workflow_request(self, user_message_as_validated_typ... method create_websocket_message (line 319) | async def create_websocket_message(self, method human_interaction_callback (line 399) | async def human_interaction_callback(self, prompt: InteractionPrompt) ... method _run_workflow (line 446) | async def _run_workflow(self, FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/message_validator.py class MessageValidator (line 66) | class MessageValidator: method __init__ (line 68) | def __init__(self): method _get_observability_trace_id_from_context (line 83) | def _get_observability_trace_id_from_context(self) -> str | None: method validate_message (line 95) | async def validate_message(self, message: dict[str, Any]) -> BaseModel: method get_message_schema_by_type (line 126) | async def get_message_schema_by_type(self, message_type: str) -> type[... method convert_data_to_message_content (line 145) | async def convert_data_to_message_content(self, data_model: BaseModel)... method convert_text_content_to_human_response (line 183) | async def convert_text_content_to_human_response(self, text_content: T... method resolve_message_type_by_data (line 218) | async def resolve_message_type_by_data(self, data_model: BaseModel) ->... method get_intermediate_step_parent_id (line 251) | async def get_intermediate_step_parent_id(self, data_model: ResponseIn... method create_system_response_token_message (line 260) | async def create_system_response_token_message( method create_system_intermediate_step_message (line 299) | async def create_system_intermediate_step_message( method create_system_interaction_message (line 338) | async def create_system_interaction_message( method create_observability_trace_message (line 378) | async def create_observability_trace_message( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/register.py function register_fastapi_front_end (line 22) | async def register_fastapi_front_end(config: FastApiFrontEndConfig, full... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/response_helpers.py function generate_streaming_response_as_str (line 35) | async def generate_streaming_response_as_str(payload: typing.Any, function generate_streaming_response (line 67) | async def generate_streaming_response(payload: typing.Any, function generate_single_response (line 110) | async def generate_single_response( function generate_streaming_response_full (line 123) | async def generate_streaming_response_full(payload: typing.Any, function generate_streaming_response_full_as_str (line 178) | async def generate_streaming_response_full_as_str(payload: typing.Any, function generate_streaming_response_atif (line 204) | async def generate_streaming_response_atif(payload: typing.Any, function generate_streaming_response_atif_as_str (line 254) | async def generate_streaming_response_atif_as_str(payload: typing.Any, FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/async_generation.py function _job_status_to_response (line 39) | def _job_status_to_response(worker: Any, job): function post_async_generation (line 57) | def post_async_generation(*, worker: Any, session_manager: SessionManage... function get_async_job_status (line 96) | def get_async_job_status(*, worker: Any, session_manager: SessionManager): function add_async_generation_routes (line 113) | async def add_async_generation_routes( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/auth.py function add_authorization_route (line 34) | async def add_authorization_route(worker: "FastApiFrontEndPluginWorker",... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/chat.py class _ChatEndpointType (line 35) | class _ChatEndpointType(StrEnum): class _ChatEndpointMethod (line 40) | class _ChatEndpointMethod(StrEnum): function _add_chat_route (line 45) | def _add_chat_route(app: FastAPI, function add_chat_routes (line 93) | async def add_chat_routes( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/common_utils.py function _serialize_request (line 50) | def _serialize_request(request: Request) -> dict: function add_context_headers_to_response (line 71) | def add_context_headers_to_response(response: Response) -> None: function _build_interactive_runner (line 78) | def _build_interactive_runner(worker: Any, session_manager: SessionManag... function _with_annotation (line 88) | def _with_annotation(handler: Any, param_name: str, annotation: Any): function get_single_endpoint (line 95) | def get_single_endpoint(*, worker: Any, session_manager: SessionManager,... function get_streaming_endpoint (line 121) | def get_streaming_endpoint(*, function post_single_endpoint (line 143) | def post_single_endpoint(*, function post_streaming_endpoint (line 216) | def post_streaming_endpoint(*, FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/execution.py function build_accepted_response (line 44) | def build_accepted_response(record: "ExecutionRecord") -> ExecutionAccep... function add_execution_routes (line 68) | async def add_execution_routes(worker: "FastApiFrontEndPluginWorker", ap... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/generate.py function get_streaming_raw_endpoint (line 43) | def get_streaming_raw_endpoint(*, function post_streaming_raw_endpoint (line 63) | def post_streaming_raw_endpoint(*, function post_streaming_atif_endpoint (line 100) | def post_streaming_atif_endpoint(*, class _GenerateEndpointType (line 122) | class _GenerateEndpointType(StrEnum): class _GenerateEndpointMethod (line 129) | class _GenerateEndpointMethod(StrEnum): function _response_for_endpoint_type (line 134) | def _response_for_endpoint_type(session_manager: SessionManager, endpoin... function add_generate_route (line 147) | async def add_generate_route( function add_generate_routes (line 254) | async def add_generate_routes( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/health.py function add_health_route (line 26) | async def add_health_route(app: FastAPI) -> None: FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/monitor.py function add_monitor_route (line 33) | async def add_monitor_route(worker: "FastApiFrontEndPluginWorker", app: ... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/static.py function add_static_files_route (line 40) | async def add_static_files_route(worker: "FastApiFrontEndPluginWorker", ... FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/v1_chat_completions.py function post_openai_api_compatible_endpoint (line 44) | def post_openai_api_compatible_endpoint(*, worker: Any, session_manager:... function add_v1_chat_completions_route (line 140) | async def add_v1_chat_completions_route( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/routes/websocket.py function websocket_endpoint (line 35) | def websocket_endpoint(*, worker: Any, session_manager: SessionManager): function add_websocket_routes (line 82) | async def add_websocket_routes( FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/step_adaptor.py class StepAdaptor (line 35) | class StepAdaptor: method __init__ (line 37) | def __init__(self, config: StepAdaptorConfig): method _step_matches_filter (line 42) | def _step_matches_filter(self, step: IntermediateStep, config: StepAda... method _handle_llm (line 66) | def _handle_llm(self, step: IntermediateStepPayload, ancestry: Invocat... method _handle_tool (line 123) | def _handle_tool(self, step: IntermediateStepPayload, ancestry: Invoca... method _handle_function (line 178) | def _handle_function(self, step: IntermediateStepPayload, ancestry: In... method _handle_custom (line 267) | def _handle_custom(self, payload: IntermediateStepPayload, ancestry: I... method process (line 292) | def process(self, step: IntermediateStep) -> ResponseSerializable | None: FILE: packages/nvidia_nat_core/src/nat/front_ends/fastapi/utils.py function get_config_file_path (line 20) | def get_config_file_path() -> str: function import_class_from_string (line 32) | def import_class_from_string(class_full_name: str) -> type: function get_class_name (line 53) | def get_class_name(cls: type) -> str: FILE: packages/nvidia_nat_core/src/nat/front_ends/simple_base/simple_front_end_plugin_base.py class SimpleFrontEndPluginBase (line 31) | class SimpleFrontEndPluginBase(FrontEndBase[FrontEndConfigT], ABC): method pre_run (line 33) | async def pre_run(self): method run (line 36) | async def run(self): method run_workflow (line 57) | async def run_workflow(self, session_manager: SessionManager): FILE: packages/nvidia_nat_core/src/nat/llm/aws_bedrock_llm.py class AWSBedrockModelConfig (line 31) | class AWSBedrockModelConfig(LLMBaseConfig, RetryMixin, OptimizableMixin,... function aws_bedrock_model (line 69) | async def aws_bedrock_model(llm_config: AWSBedrockModelConfig, _builder:... FILE: packages/nvidia_nat_core/src/nat/llm/azure_openai_llm.py class AzureOpenAIModelConfig (line 33) | class AzureOpenAIModelConfig( method model_name (line 68) | def model_name(self) -> str: function azure_openai_llm (line 76) | async def azure_openai_llm(config: AzureOpenAIModelConfig, _builder: Bui... FILE: packages/nvidia_nat_core/src/nat/llm/dynamo_llm.py class CachePinType (line 107) | class CachePinType(StrEnum): class CacheControlMode (line 121) | class CacheControlMode(StrEnum): class DynamoPrefixContext (line 140) | class DynamoPrefixContext(metaclass=Singleton): method _get_current_depth (line 170) | def _get_current_depth(cls) -> int: method _get_or_create_depth_map (line 179) | def _get_or_create_depth_map(cls) -> dict[int, str]: method set (line 188) | def set(cls, prefix_id: str) -> None: method clear (line 202) | def clear(cls) -> None: method get (line 209) | def get(cls) -> str: method is_set (line 247) | def is_set(cls) -> bool: method scope (line 253) | def scope(cls, prefix_id: str) -> Iterator[None]: class DynamoModelConfig (line 284) | class DynamoModelConfig(OpenAIModelConfig, name="dynamo"): method _coerce_nvext_prefix_osl (line 390) | def _coerce_nvext_prefix_osl(cls, v: object) -> int: method _coerce_nvext_prefix_iat (line 404) | def _coerce_nvext_prefix_iat(cls, v: object) -> int: method get_dynamo_field_names (line 421) | def get_dynamo_field_names() -> frozenset[str]: class _DynamoTransport (line 457) | class _DynamoTransport(httpx.AsyncBaseTransport): method __init__ (line 472) | def __init__( method handle_async_request (line 505) | async def handle_async_request(self, request: "httpx.Request") -> "htt... method aclose (line 697) | async def aclose(self) -> None: function _create_httpx_client_with_dynamo_hooks (line 708) | async def _create_httpx_client_with_dynamo_hooks(config: DynamoModelConf... function dynamo_llm (line 778) | async def dynamo_llm(config: DynamoModelConfig, _builder: Builder): FILE: packages/nvidia_nat_core/src/nat/llm/huggingface_inference_llm.py class HuggingFaceInferenceLLMConfig (line 31) | class HuggingFaceInferenceLLMConfig(LLMBaseConfig, function huggingface_inference_provider (line 77) | async def huggingface_inference_provider(config: HuggingFaceInferenceLLM... FILE: packages/nvidia_nat_core/src/nat/llm/huggingface_llm.py class ModelCacheEntry (line 33) | class ModelCacheEntry: class ModelCache (line 39) | class ModelCache: method __new__ (line 51) | def __new__(cls) -> "ModelCache": method get (line 57) | def get(self, model_name: str) -> ModelCacheEntry | None: method set (line 61) | def set(self, model_name: str, data: ModelCacheEntry) -> None: method remove (line 65) | def remove(self, model_name: str) -> None: method __contains__ (line 69) | def __contains__(self, model_name: str) -> bool: class HuggingFaceConfig (line 74) | class HuggingFaceConfig(LLMBaseConfig, name="huggingface"): function get_cached_model (line 91) | def get_cached_model(model_name: str) -> ModelCacheEntry | None: function _cleanup_model (line 96) | async def _cleanup_model(model_name: str) -> None: function huggingface_provider (line 128) | async def huggingface_provider( FILE: packages/nvidia_nat_core/src/nat/llm/litellm_llm.py class LiteLlmModelConfig (line 35) | class LiteLlmModelConfig( function litellm_model (line 69) | async def litellm_model( FILE: packages/nvidia_nat_core/src/nat/llm/nim_llm.py class NIMModelConfig (line 34) | class NIMModelConfig(LLMBaseConfig, RetryMixin, OptimizableMixin, Thinki... function nim_model (line 60) | async def nim_model(llm_config: NIMModelConfig, _builder: Builder): FILE: packages/nvidia_nat_core/src/nat/llm/oci_llm.py class OCIModelConfig (line 34) | class OCIModelConfig(LLMBaseConfig, RetryMixin, OptimizableMixin, Thinki... method _derive_endpoint_from_region (line 51) | def _derive_endpoint_from_region(self) -> "OCIModelConfig": function oci_llm (line 90) | async def oci_llm(config: OCIModelConfig, _builder: Builder) -> AsyncIte... FILE: packages/nvidia_nat_core/src/nat/llm/openai_llm.py class OpenAIModelConfig (line 33) | class OpenAIModelConfig(LLMBaseConfig, RetryMixin, OptimizableMixin, Thi... function openai_llm (line 60) | async def openai_llm(config: OpenAIModelConfig, _builder: Builder): FILE: packages/nvidia_nat_core/src/nat/llm/prediction_context.py class LLMCallTracker (line 28) | class LLMCallTracker: method increment (line 33) | def increment(self, parent_function_id: str) -> int: method reset (line 46) | def reset(self, parent_function_id: str) -> None: function get_call_tracker (line 60) | def get_call_tracker() -> LLMCallTracker: FILE: packages/nvidia_nat_core/src/nat/llm/utils/constants.py class LLMHeaderPrefix (line 19) | class LLMHeaderPrefix(StrEnum): class LLMFinishReason (line 26) | class LLMFinishReason(StrEnum): FILE: packages/nvidia_nat_core/src/nat/llm/utils/env_config_value.py class EnvConfigValueSource (line 21) | class EnvConfigValueSource(Enum): class EnvConfigValue (line 27) | class EnvConfigValue(ABC): method __init__ (line 39) | def __init__(self, value: str | None = None, use_env: bool = True): method source (line 84) | def source(self) -> EnvConfigValueSource: method use_env (line 88) | def use_env(self) -> bool: method value (line 92) | def value(self) -> str | None: FILE: packages/nvidia_nat_core/src/nat/llm/utils/hooks.py function _create_metadata_injection_client (line 39) | async def _create_metadata_injection_client(llm_config: "LLMBaseConfig")... FILE: packages/nvidia_nat_core/src/nat/llm/utils/http_client.py function _create_http_client (line 25) | def _create_http_client(llm_config: "LLMBaseConfig", function http_client (line 57) | def http_client(llm_config: "LLMBaseConfig", **kwargs) -> "httpx.Client": function async_http_client (line 69) | async def async_http_client(llm_config: "LLMBaseConfig", **kwargs) -> "h... class HttpClients (line 80) | class HttpClients(typing.TypedDict): function http_clients (line 89) | async def http_clients(llm_config: "LLMBaseConfig", **kwargs) -> HttpCli... function _handle_litellm_verify_ssl (line 101) | def _handle_litellm_verify_ssl(llm_config: "LLMBaseConfig") -> None: FILE: packages/nvidia_nat_core/src/nat/llm/utils/thinking.py class FunctionArgumentWrapper (line 34) | class FunctionArgumentWrapper: method __init__ (line 41) | def __init__(self, *args: Any, **kwargs: Any): method __repr__ (line 52) | def __repr__(self) -> str: class BaseThinkingInjector (line 57) | class BaseThinkingInjector: method inject (line 70) | def inject(self, *args, **kwargs) -> FunctionArgumentWrapper: function _make_thinking_decorator (line 84) | def _make_thinking_decorator(injector: BaseThinkingInjector): function patch_with_thinking (line 121) | def patch_with_thinking(obj: ModelType, injector: BaseThinkingInjector) ... FILE: packages/nvidia_nat_core/src/nat/memory/interfaces.py class MemoryEditor (line 23) | class MemoryEditor(ABC): method add_items (line 36) | async def add_items(self, items: list[MemoryItem]) -> None: method search (line 46) | async def search(self, query: str, top_k: int = 5, **kwargs) -> list[M... method remove_items (line 62) | async def remove_items(self, **kwargs) -> None: class MemoryIOBase (line 73) | class MemoryIOBase(ABC): method __init__ (line 85) | def __init__(self, editor: MemoryEditor) -> None: class MemoryReader (line 89) | class MemoryReader(MemoryIOBase): method retrieve (line 96) | async def retrieve(self, context: str, top_k: int = 5) -> list[MemoryI... class MemoryWriter (line 112) | class MemoryWriter(MemoryIOBase): method write (line 120) | async def write(self, observation: str, context: str | None = None) ->... class MemoryManager (line 135) | class MemoryManager(ABC): method summarize (line 144) | async def summarize(self) -> None: method reflect (line 152) | async def reflect(self) -> None: method forget (line 162) | async def forget(self, criteria: Callable[[MemoryItem], bool]) -> None: method merge (line 174) | async def merge(self, criteria: Callable[[MemoryItem, MemoryItem], boo... FILE: packages/nvidia_nat_core/src/nat/memory/models.py class MemoryItem (line 23) | class MemoryItem(BaseModel): class SearchMemoryInput (line 93) | class SearchMemoryInput(BaseModel): class DeleteMemoryInput (line 110) | class DeleteMemoryInput(BaseModel): FILE: packages/nvidia_nat_core/src/nat/middleware/cache/cache_middleware.py class CacheMiddleware (line 47) | class CacheMiddleware(FunctionMiddleware): method __init__ (line 70) | def __init__(self, *, enabled_mode: str, similarity_threshold: float) ... method enabled (line 87) | def enabled(self) -> bool: method pre_invoke (line 91) | async def pre_invoke(self, context: InvocationContext) -> InvocationCo... method post_invoke (line 95) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method _should_cache (line 101) | def _should_cache(self) -> bool: method _serialize_input (line 115) | def _serialize_input(self, value: Any) -> str | None: method _find_similar_key (line 132) | def _find_similar_key(self, input_str: str) -> str | None: method function_middleware_invoke (line 162) | async def function_middleware_invoke(self, method function_middleware_stream (line 220) | async def function_middleware_stream(self, FILE: packages/nvidia_nat_core/src/nat/middleware/cache/cache_middleware_config.py class CacheMiddlewareConfig (line 24) | class CacheMiddlewareConfig(FunctionMiddlewareBaseConfig, name="cache"): FILE: packages/nvidia_nat_core/src/nat/middleware/cache/register.py function cache_middleware (line 23) | async def cache_middleware(config: CacheMiddlewareConfig, builder: Build... FILE: packages/nvidia_nat_core/src/nat/middleware/common.py class TargetLocation (line 19) | class TargetLocation(StrEnum): FILE: packages/nvidia_nat_core/src/nat/middleware/defense/defense_middleware.py class MultipleTargetFieldMatchesError (line 41) | class MultipleTargetFieldMatchesError(ValueError): method __init__ (line 44) | def __init__(self, target_field: str | None) -> None: class UnknownTargetFieldResolutionStrategyError (line 48) | class UnknownTargetFieldResolutionStrategyError(ValueError): method __init__ (line 51) | def __init__(self, strategy: str) -> None: class DefenseMiddlewareConfig (line 55) | class DefenseMiddlewareConfig(FunctionMiddlewareBaseConfig): class DefenseMiddleware (line 99) | class DefenseMiddleware(FunctionMiddleware): method __init__ (line 128) | def __init__(self, config: DefenseMiddlewareConfig, builder): method _should_apply_defense (line 142) | def _should_apply_defense(self, context_name: str) -> bool: method _get_llm_for_defense (line 181) | async def _get_llm_for_defense(self, llm_name: str, wrapper_type: LLMF... method _resolve_multiple_field_matches (line 199) | def _resolve_multiple_field_matches(self, matches): method _extract_field_from_value (line 223) | def _extract_field_from_value(self, value: Any) -> tuple[Any, dict | N... method _apply_field_result_to_value (line 305) | def _apply_field_result_to_value(self, original_value: Any, field_info... FILE: packages/nvidia_nat_core/src/nat/middleware/defense/defense_middleware_content_guard.py class ContentSafetyGuardMiddlewareConfig (line 42) | class ContentSafetyGuardMiddlewareConfig(DefenseMiddlewareConfig, name="... class ContentSafetyGuardMiddleware (line 54) | class ContentSafetyGuardMiddleware(DefenseMiddleware): method __init__ (line 68) | def __init__(self, config: ContentSafetyGuardMiddlewareConfig, builder): method _get_llm (line 80) | async def _get_llm(self): method _extract_unsafe_categories (line 86) | def _extract_unsafe_categories(self, response_text: str, is_safe: bool... method _parse_guard_response (line 144) | def _parse_guard_response(self, response_text: str) -> GuardResponseRe... method _should_refuse (line 197) | def _should_refuse(self, parsed_result: GuardResponseResult) -> bool: method _analyze_content (line 208) | async def _analyze_content(self, method _handle_threat (line 261) | async def _handle_threat(self, method _process_content_safety_detection (line 293) | async def _process_content_safety_detection( method post_invoke (line 339) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method function_middleware_stream (line 368) | async def function_middleware_stream(self, FILE: packages/nvidia_nat_core/src/nat/middleware/defense/defense_middleware_data_models.py class PIIAnalysisResult (line 22) | class PIIAnalysisResult(BaseModel): class GuardResponseResult (line 38) | class GuardResponseResult(BaseModel): class ContentAnalysisResult (line 52) | class ContentAnalysisResult(BaseModel): class OutputVerificationResult (line 72) | class OutputVerificationResult(BaseModel): class PreToolVerificationResult (line 94) | class PreToolVerificationResult(BaseModel): FILE: packages/nvidia_nat_core/src/nat/middleware/defense/defense_middleware_output_verifier.py class OutputVerifierMiddlewareConfig (line 41) | class OutputVerifierMiddlewareConfig(DefenseMiddlewareConfig, name="outp... class OutputVerifierMiddleware (line 61) | class OutputVerifierMiddleware(DefenseMiddleware): method __init__ (line 77) | def __init__(self, config: OutputVerifierMiddlewareConfig, builder): method _get_llm (line 89) | async def _get_llm(self): method _extract_json_from_response (line 95) | def _extract_json_from_response(self, response_text: str) -> str: method _analyze_content (line 117) | async def _analyze_content(self, method _handle_threat (line 210) | async def _handle_threat(self, method _process_output_verification (line 272) | async def _process_output_verification( method post_invoke (line 322) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method function_middleware_stream (line 353) | async def function_middleware_stream(self, FILE: packages/nvidia_nat_core/src/nat/middleware/defense/defense_middleware_pii.py class PIIDefenseMiddlewareConfig (line 39) | class PIIDefenseMiddlewareConfig(DefenseMiddlewareConfig, name="pii_defe... class PIIDefenseMiddleware (line 65) | class PIIDefenseMiddleware(DefenseMiddleware): method __init__ (line 79) | def __init__(self, config: PIIDefenseMiddlewareConfig, builder): method _lazy_load_presidio (line 89) | def _lazy_load_presidio(self): method _analyze_content (line 103) | def _analyze_content(self, text: str) -> PIIAnalysisResult: method _process_pii_detection (line 147) | def _process_pii_detection( method _handle_threat (line 194) | def _handle_threat( method post_invoke (line 238) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method function_middleware_stream (line 268) | async def function_middleware_stream( FILE: packages/nvidia_nat_core/src/nat/middleware/defense/defense_middleware_pre_tool_verifier.py class PreToolVerifierMiddlewareConfig (line 43) | class PreToolVerifierMiddlewareConfig(DefenseMiddlewareConfig, name="pre... class PreToolVerifierMiddleware (line 93) | class PreToolVerifierMiddleware(DefenseMiddleware): method __init__ (line 112) | def __init__(self, config: PreToolVerifierMiddlewareConfig, builder): method _get_llm (line 124) | async def _get_llm(self) -> Any: method _extract_json_from_response (line 130) | def _extract_json_from_response(self, response_text: str) -> str: method _analyze_chunk (line 163) | async def _analyze_chunk(self, chunk: str, function_name: str | None =... method _analyze_content (line 261) | async def _analyze_content(self, content: Any, function_name: str | No... method _handle_threat (line 339) | async def _handle_threat(self, method _process_input_verification (line 387) | async def _process_input_verification( method function_middleware_invoke (line 425) | async def function_middleware_invoke(self, method function_middleware_stream (line 462) | async def function_middleware_stream(self, FILE: packages/nvidia_nat_core/src/nat/middleware/defense/register.py function content_safety_guard_middleware (line 34) | async def content_safety_guard_middleware( function output_verifier_middleware (line 52) | async def output_verifier_middleware( function pii_defense_middleware (line 70) | async def pii_defense_middleware( function pre_tool_verifier_middleware (line 88) | async def pre_tool_verifier_middleware( FILE: packages/nvidia_nat_core/src/nat/middleware/dynamic/dynamic_function_middleware.py class DynamicFunctionMiddleware (line 42) | class DynamicFunctionMiddleware(FunctionMiddleware): method __init__ (line 48) | def __init__(self, config: DynamicMiddlewareConfig, builder: Builder): method enabled (line 78) | def enabled(self) -> bool: method pre_invoke (line 86) | async def pre_invoke(self, context: InvocationContext) -> InvocationCo... method post_invoke (line 107) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method _discover_and_register_llm (line 130) | async def _discover_and_register_llm(self, llm_name: str, wrapper_type... method _discover_and_register_embedder (line 169) | async def _discover_and_register_embedder(self, embedder_name: str, wr... method _discover_and_register_retriever (line 209) | async def _discover_and_register_retriever(self, retriever_name: str, ... method _discover_and_register_memory (line 248) | async def _discover_and_register_memory(self, memory_name: str): method _discover_and_register_object_store (line 286) | async def _discover_and_register_object_store(self, object_store_name:... method _discover_and_register_auth_provider (line 326) | async def _discover_and_register_auth_provider(self, auth_provider_nam... method _discover_and_register_function (line 366) | async def _discover_and_register_function(self, name: str | FunctionRe... method _discover_workflow (line 396) | def _discover_workflow(self) -> None: method _discover_functions (line 404) | def _discover_functions(self) -> None: method _should_intercept_llm (line 429) | def _should_intercept_llm(self, llm_name: str) -> bool: method _should_intercept_embedder (line 449) | def _should_intercept_embedder(self, embedder_name: str) -> bool: method _should_intercept_retriever (line 469) | def _should_intercept_retriever(self, retriever_name: str) -> bool: method _should_intercept_memory (line 489) | def _should_intercept_memory(self, memory_name: str) -> bool: method _should_intercept_object_store (line 509) | def _should_intercept_object_store(self, store_name: str) -> bool: method _should_intercept_auth_provider (line 529) | def _should_intercept_auth_provider(self, auth_name: str) -> bool: method _register_function (line 549) | def _register_function(self, discovered: DiscoveredFunction) -> None: method _register_component_function (line 569) | def _register_component_function(self, discovered: DiscoveredComponent... method get_registered (line 619) | def get_registered(self, key: str) -> RegisteredFunction | RegisteredC... method get_registered_keys (line 630) | def get_registered_keys(self) -> list[str]: method unregister (line 638) | def unregister(self, registered: RegisteredFunction | RegisteredCompon... method _configure_component_function_middleware (line 665) | def _configure_component_function_middleware(self, discovered: Discove... method _build_component_allowlists (line 716) | def _build_component_allowlists(self) -> dict[ComponentGroup, set[str]]: method _extract_component_attributes (line 736) | def _extract_component_attributes(self, discovered: DiscoveredComponen... method _get_callable_functions (line 762) | def _get_callable_functions(self, instance: Any, component_type: str |... method _is_valid_wrappable_function (line 796) | def _is_valid_wrappable_function(self, instance: Any, function_name: s... method _patch_components (line 850) | def _patch_components(self): method _patch_get_llm (line 860) | def _patch_get_llm(self): method _patch_get_embedder (line 868) | def _patch_get_embedder(self): method _patch_get_retriever (line 876) | def _patch_get_retriever(self): method _patch_get_memory (line 884) | def _patch_get_memory(self): method _patch_get_object_store (line 892) | def _patch_get_object_store(self): method _patch_get_auth_provider (line 901) | def _patch_get_auth_provider(self): method _patch_get_function (line 909) | def _patch_get_function(self): method _get_builder_get_llm (line 919) | def _get_builder_get_llm(self): method _get_builder_get_embedder (line 925) | def _get_builder_get_embedder(self): method _get_builder_get_retriever (line 931) | def _get_builder_get_retriever(self): method _get_builder_get_memory_client (line 937) | def _get_builder_get_memory_client(self): method _get_builder_get_object_store (line 943) | def _get_builder_get_object_store(self): method _get_builder_get_auth_provider (line 949) | def _get_builder_get_auth_provider(self): method _get_builder_get_function (line 955) | def _get_builder_get_function(self): FILE: packages/nvidia_nat_core/src/nat/middleware/dynamic/dynamic_middleware_config.py class AllowedComponentFunctions (line 33) | class AllowedComponentFunctions(BaseModel): method merge_with_defaults (line 57) | def merge_with_defaults(self): class DynamicMiddlewareConfig (line 77) | class DynamicMiddlewareConfig(FunctionMiddlewareBaseConfig, name="dynami... FILE: packages/nvidia_nat_core/src/nat/middleware/dynamic/register.py function dynamic_middleware (line 24) | async def dynamic_middleware(config: DynamicMiddlewareConfig, builder: B... FILE: packages/nvidia_nat_core/src/nat/middleware/function_middleware.py class FunctionMiddleware (line 44) | class FunctionMiddleware(Middleware): method enabled (line 90) | def enabled(self) -> bool: method pre_invoke (line 99) | async def pre_invoke(self, context: InvocationContext) -> InvocationCo... method post_invoke (line 112) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method middleware_invoke (line 126) | async def middleware_invoke(self, method middleware_stream (line 134) | async def middleware_stream(self, method function_middleware_invoke (line 145) | async def function_middleware_invoke( method function_middleware_stream (line 197) | async def function_middleware_stream( class FunctionMiddlewareChain (line 253) | class FunctionMiddlewareChain: method __init__ (line 269) | def __init__(self, *, middleware: Sequence[FunctionMiddleware], contex... method build_single (line 279) | def build_single(self, final_call: CallNext) -> CallNext: method build_stream (line 310) | def build_stream(self, final_call: CallNextStream) -> CallNextStream: function validate_middleware (line 343) | def validate_middleware(middleware: Sequence[Middleware] | None) -> tupl... FILE: packages/nvidia_nat_core/src/nat/middleware/logging/logging_middleware.py class LoggingMiddleware (line 26) | class LoggingMiddleware(DynamicFunctionMiddleware): method __init__ (line 34) | def __init__(self, config: LoggingMiddlewareConfig, builder: Builder): method pre_invoke (line 44) | async def pre_invoke(self, context: InvocationContext) -> InvocationCo... method post_invoke (line 59) | async def post_invoke(self, context: InvocationContext) -> InvocationC... FILE: packages/nvidia_nat_core/src/nat/middleware/logging/logging_middleware_config.py class LoggingMiddlewareConfig (line 21) | class LoggingMiddlewareConfig(DynamicMiddlewareConfig, name="logging_mid... FILE: packages/nvidia_nat_core/src/nat/middleware/logging/register.py function logging_middleware (line 23) | async def logging_middleware(config: LoggingMiddlewareConfig, builder: B... FILE: packages/nvidia_nat_core/src/nat/middleware/middleware.py class FunctionMiddlewareContext (line 45) | class FunctionMiddlewareContext: class InvocationContext (line 72) | class InvocationContext(BaseModel): class Middleware (line 99) | class Middleware(ABC): method __init__ (line 131) | def __init__(self, *, is_final: bool = False) -> None: method enabled (line 138) | def enabled(self) -> bool: method pre_invoke (line 144) | async def pre_invoke(self, context: InvocationContext) -> InvocationCo... method post_invoke (line 173) | async def post_invoke(self, context: InvocationContext) -> InvocationC... method is_final (line 207) | def is_final(self) -> bool: method middleware_invoke (line 218) | async def middleware_invoke(self, method middleware_stream (line 254) | async def middleware_stream(self, FILE: packages/nvidia_nat_core/src/nat/middleware/red_teaming/red_teaming_middleware.py class RedTeamingMiddleware (line 48) | class RedTeamingMiddleware(FunctionMiddleware): method __init__ (line 83) | def __init__( method _should_apply_payload (line 123) | def _should_apply_payload(self, context_name: str) -> bool: method _find_middle_sentence_index (line 152) | def _find_middle_sentence_index(self, text: str) -> int: method _apply_payload_to_simple_type (line 176) | def _apply_payload_to_simple_type(self, method _resolve_multiple_field_matches (line 231) | def _resolve_multiple_field_matches(self, matches): method _apply_payload_to_complex_type (line 245) | def _apply_payload_to_complex_type(self, value: list | dict | BaseMode... method _apply_payload_to_function_value (line 286) | def _apply_payload_to_function_value(self, value: Any) -> Any: method _apply_payload_to_function_value_with_exception (line 301) | def _apply_payload_to_function_value_with_exception(self, value: Any, ... method pre_invoke (line 308) | async def pre_invoke(self, context: InvocationContext) -> InvocationCo... method post_invoke (line 332) | async def post_invoke(self, context: InvocationContext) -> InvocationC... FILE: packages/nvidia_nat_core/src/nat/middleware/red_teaming/red_teaming_middleware_config.py class RedTeamingMiddlewareConfig (line 27) | class RedTeamingMiddlewareConfig(FunctionMiddlewareBaseConfig, name="red... FILE: packages/nvidia_nat_core/src/nat/middleware/red_teaming/register.py function red_teaming_middleware (line 28) | async def red_teaming_middleware( FILE: packages/nvidia_nat_core/src/nat/middleware/timeout/register.py function timeout_middleware (line 26) | async def timeout_middleware( FILE: packages/nvidia_nat_core/src/nat/middleware/timeout/timeout_middleware.py class TimeoutMiddleware (line 34) | class TimeoutMiddleware(DynamicFunctionMiddleware): method __init__ (line 42) | def __init__(self, config: TimeoutMiddlewareConfig, builder: Builder) ... method function_middleware_invoke (line 46) | async def function_middleware_invoke( method function_middleware_stream (line 80) | async def function_middleware_stream( FILE: packages/nvidia_nat_core/src/nat/middleware/timeout/timeout_middleware_config.py class TimeoutMiddlewareConfig (line 24) | class TimeoutMiddlewareConfig(DynamicMiddlewareConfig, name="timeout"): FILE: packages/nvidia_nat_core/src/nat/middleware/utils/workflow_inventory.py class DiscoveredBase (line 56) | class DiscoveredBase(BaseModel): class DiscoveredComponent (line 66) | class DiscoveredComponent(DiscoveredBase): class DiscoveredFunction (line 83) | class DiscoveredFunction(BaseModel): class RegisteredCallableBase (line 102) | class RegisteredCallableBase(BaseModel): class RegisteredFunction (line 110) | class RegisteredFunction(RegisteredCallableBase): class RegisteredComponentMethod (line 116) | class RegisteredComponentMethod(RegisteredCallableBase): class WorkflowInventory (line 124) | class WorkflowInventory(BaseModel): FILE: packages/nvidia_nat_core/src/nat/object_store/in_memory_object_store.py class InMemoryObjectStoreConfig (line 29) | class InMemoryObjectStoreConfig(ObjectStoreBaseConfig, name="in_memory"): class InMemoryObjectStore (line 36) | class InMemoryObjectStore(ObjectStore): method __init__ (line 41) | def __init__(self) -> None: method put_object (line 46) | async def put_object(self, key: str, item: ObjectStoreItem) -> None: method upsert_object (line 53) | async def upsert_object(self, key: str, item: ObjectStoreItem) -> None: method get_object (line 58) | async def get_object(self, key: str) -> ObjectStoreItem: method delete_object (line 66) | async def delete_object(self, key: str) -> None: function in_memory_object_store (line 75) | async def in_memory_object_store(config: InMemoryObjectStoreConfig, buil... FILE: packages/nvidia_nat_core/src/nat/object_store/interfaces.py class ObjectStore (line 22) | class ObjectStore(ABC): method put_object (line 31) | async def put_object(self, key: str, item: ObjectStoreItem) -> None: method upsert_object (line 46) | async def upsert_object(self, key: str, item: ObjectStoreItem) -> None: method get_object (line 58) | async def get_object(self, key: str) -> ObjectStoreItem: method delete_object (line 74) | async def delete_object(self, key: str) -> None: FILE: packages/nvidia_nat_core/src/nat/object_store/models.py class ObjectStoreItem (line 21) | class ObjectStoreItem(BaseModel): FILE: packages/nvidia_nat_core/src/nat/observability/exporter/base_exporter.py class IsolatedAttribute (line 40) | class IsolatedAttribute(Generic[IsolatedAttributeT]): method __init__ (line 68) | def __init__(self, factory: Callable[[], IsolatedAttributeT]): method __set_name__ (line 73) | def __set_name__(self, owner, name): method __get__ (line 78) | def __get__(self, obj: None, objtype: type[Any] | None = None) -> "Iso... method __get__ (line 82) | def __get__(self, obj: Any, objtype: type[Any] | None = None) -> Isola... method __get__ (line 85) | def __get__(self, obj, objtype=None): method __set__ (line 94) | def __set__(self, obj, value: IsolatedAttributeT): method reset_for_copy (line 97) | def reset_for_copy(self, obj): class BaseExporter (line 103) | class BaseExporter(Exporter): method __init__ (line 133) | def __init__(self, context_state: ContextState | None = None): method _cleanup_instance_tracking (line 152) | def _cleanup_instance_tracking(cls, ref): method get_active_instance_count (line 158) | def get_active_instance_count(cls) -> int: method get_isolated_instance_count (line 168) | def get_isolated_instance_count(cls) -> int: method log_instance_stats (line 177) | def log_instance_stats(cls) -> None: method __del__ (line 190) | def __del__(self): method name (line 234) | def name(self) -> str: method is_isolated_instance (line 248) | def is_isolated_instance(self) -> bool: method export (line 257) | def export(self, event: IntermediateStep) -> None: method on_error (line 269) | def on_error(self, exc: Exception) -> None: method on_complete (line 278) | def on_complete(self) -> None: method _start (line 285) | def _start(self) -> Subject | None: method _pre_start (line 312) | async def _pre_start(self): method start (line 318) | async def start(self) -> AsyncGenerator[None]: method _cleanup (line 339) | async def _cleanup(self): method _cancel_tasks (line 343) | async def _cancel_tasks(self): method wait_for_tasks (line 360) | async def wait_for_tasks(self, timeout: float = 5.0): method stop (line 381) | async def stop(self): method wait_ready (line 409) | async def wait_ready(self): method create_isolated_instance (line 416) | def create_isolated_instance(self, context_state: ContextState) -> "Ba... FILE: packages/nvidia_nat_core/src/nat/observability/exporter/exporter.py class Exporter (line 26) | class Exporter(ABC): method start (line 29) | async def start(self) -> AsyncGenerator[None]: method stop (line 50) | async def stop(self) -> None: method export (line 55) | def export(self, event: IntermediateStep) -> None: method on_error (line 64) | def on_error(self, exc: Exception) -> None: method on_complete (line 73) | def on_complete(self) -> None: FILE: packages/nvidia_nat_core/src/nat/observability/exporter/file_exporter.py class FileExporter (line 27) | class FileExporter(FileExportMixin, RawExporter[IntermediateStep, str]): method __init__ (line 30) | def __init__(self, context_state: ContextState | None = None, **file_k... FILE: packages/nvidia_nat_core/src/nat/observability/exporter/processing_exporter.py class ProcessingExporter (line 39) | class ProcessingExporter(Generic[PipelineInputT, PipelineOutputT], BaseE... method __init__ (line 59) | def __init__(self, context_state: ContextState | None = None, drop_non... method add_processor (line 72) | def add_processor(self, method remove_processor (line 132) | def remove_processor(self, processor: Processor | str | int) -> None: method clear_processors (line 186) | def clear_processors(self) -> None: method reset_pipeline (line 192) | def reset_pipeline(self) -> None: method get_processor_by_name (line 211) | def get_processor_by_name(self, name: str) -> Processor | None: method _check_pipeline_locked (line 228) | def _check_pipeline_locked(self) -> None: method _calculate_insertion_position (line 234) | def _calculate_insertion_position(self, position: int | None, before: ... method _validate_insertion_compatibility (line 283) | def _validate_insertion_compatibility(self, processor: Processor, posi... method _check_processor_compatibility (line 310) | def _check_processor_compatibility(self, method _pre_start (line 331) | async def _pre_start(self) -> None: method _process_pipeline (line 358) | async def _process_pipeline(self, item: PipelineInputT) -> PipelineOut... method _process_through_processors (line 369) | async def _process_through_processors(self, processors: list[Processor... method _export_final_item (line 394) | async def _export_final_item(self, processed_item: Any, raise_on_inval... method _continue_pipeline_after (line 417) | async def _continue_pipeline_after(self, source_processor: Processor, ... method _export_with_processing (line 452) | async def _export_with_processing(self, item: PipelineInputT) -> None: method export (line 479) | def export(self, event: IntermediateStep) -> None: method export_processed (line 497) | async def export_processed(self, item: PipelineOutputT | list[Pipeline... method _create_export_task (line 508) | def _create_export_task(self, coro: Coroutine) -> None: method _cleanup (line 539) | async def _cleanup(self) -> None: FILE: packages/nvidia_nat_core/src/nat/observability/exporter/raw_exporter.py class RawExporter (line 30) | class RawExporter(ProcessingExporter[InputT, OutputT]): method export_processed (line 44) | async def export_processed(self, item: OutputT): method export (line 48) | def export(self, event: IntermediateStep): FILE: packages/nvidia_nat_core/src/nat/observability/exporter/span_exporter.py class SpanExporter (line 48) | class SpanExporter(ProcessingExporter[InputSpanT, OutputSpanT], Serializ... method __init__ (line 90) | def __init__(self, context_state: "ContextState | None" = None, span_p... method export_processed (line 98) | async def export_processed(self, item: OutputSpanT) -> None: method export (line 107) | def export(self, event: IntermediateStep) -> None: method _process_start_event (line 121) | def _process_start_event(self, event: IntermediateStep): method _process_end_event (line 267) | def _process_end_event(self, event: IntermediateStep): method _to_json_string (line 334) | def _to_json_string(self, data: typing.Any) -> str: method _cleanup (line 384) | async def _cleanup(self): FILE: packages/nvidia_nat_core/src/nat/observability/exporter_manager.py class ExporterManager (line 26) | class ExporterManager: method __init__ (line 46) | def __init__(self, shutdown_timeout: int = 120): method _create_with_shared_registry (line 59) | def _create_with_shared_registry(cls, shutdown_timeout: int, method _ensure_registry_owned (line 73) | def _ensure_registry_owned(self): method add_exporter (line 79) | def add_exporter(self, name: str, exporter: BaseExporter) -> None: method remove_exporter (line 94) | def remove_exporter(self, name: str) -> None: method get_exporter (line 107) | def get_exporter(self, name: str) -> BaseExporter: method get_all_exporters (line 127) | async def get_all_exporters(self) -> dict[str, BaseExporter]: method create_isolated_exporters (line 136) | def create_isolated_exporters(self, context_state: ContextState | None... method _cleanup_isolated_exporters (line 164) | async def _cleanup_isolated_exporters(self): method _cleanup_single_exporter (line 192) | async def _cleanup_single_exporter(self, name: str, exporter: BaseExpo... method start (line 201) | async def start(self, context_state: ContextState | None = None): method _run_exporter (line 259) | async def _run_exporter(self, name: str, exporter: BaseExporter): method stop (line 282) | async def stop(self) -> None: method from_exporters (line 316) | def from_exporters(exporters: dict[str, BaseExporter], shutdown_timeou... method get (line 326) | def get(self) -> "ExporterManager": FILE: packages/nvidia_nat_core/src/nat/observability/mixin/batch_config_mixin.py class BatchConfigMixin (line 20) | class BatchConfigMixin(BaseModel): FILE: packages/nvidia_nat_core/src/nat/observability/mixin/collector_config_mixin.py class CollectorConfigMixin (line 20) | class CollectorConfigMixin(BaseModel): FILE: packages/nvidia_nat_core/src/nat/observability/mixin/file_mixin.py class FileExportMixin (line 28) | class FileExportMixin(ResourceConflictMixin): method __init__ (line 38) | def __init__( method _setup_file_paths (line 80) | def _setup_file_paths(self): method _get_resource_identifiers (line 108) | def _get_resource_identifiers(self) -> dict[str, Any]: method _format_conflict_error (line 124) | def _format_conflict_error(self, resource_type: str, identifier: Any, ... method _cleanup_old_files_sync (line 141) | def _cleanup_old_files_sync(self) -> None: method _should_roll_file (line 162) | async def _should_roll_file(self) -> bool: method _roll_file (line 175) | async def _roll_file(self) -> None: method _cleanup_old_files (line 196) | async def _cleanup_old_files(self) -> None: method export_processed (line 217) | async def export_processed(self, item: str | list[str]) -> None: method get_current_file_path (line 253) | def get_current_file_path(self) -> Path: method get_file_info (line 261) | def get_file_info(self) -> dict: FILE: packages/nvidia_nat_core/src/nat/observability/mixin/file_mode.py class FileMode (line 19) | class FileMode(StrEnum): FILE: packages/nvidia_nat_core/src/nat/observability/mixin/redaction_config_mixin.py class RedactionConfigMixin (line 20) | class RedactionConfigMixin(BaseModel): class HeaderRedactionConfigMixin (line 34) | class HeaderRedactionConfigMixin(RedactionConfigMixin): FILE: packages/nvidia_nat_core/src/nat/observability/mixin/resource_conflict_mixin.py class ResourceConflictError (line 25) | class ResourceConflictError(ValueError): class ResourceConflictMixin (line 30) | class ResourceConflictMixin(ABC): method __init__ (line 45) | def __init__(self, *args, **kwargs): method _get_resource_identifiers (line 51) | def _get_resource_identifiers(self) -> dict[str, Any]: method _format_conflict_error (line 65) | def _format_conflict_error(self, resource_type: str, identifier: Any, ... method _register_resources (line 78) | def _register_resources(self): method _cleanup_dead_references (line 111) | def _cleanup_dead_references(self, registry: dict[str, weakref.ref]): method get_active_resource_count (line 122) | def get_active_resource_count(cls) -> int: FILE: packages/nvidia_nat_core/src/nat/observability/mixin/serialize_mixin.py class SerializeMixin (line 23) | class SerializeMixin: method _process_streaming_output (line 25) | def _process_streaming_output(self, input_value: Any) -> Any: method _serialize_payload (line 35) | def _serialize_payload(self, input_value: Any) -> tuple[str, bool]: FILE: packages/nvidia_nat_core/src/nat/observability/mixin/tagging_config_mixin.py class BaseTaggingConfigMixin (line 33) | class BaseTaggingConfigMixin(BaseModel, Generic[TagMappingT]): class PrivacyLevel (line 38) | class PrivacyLevel(StrEnum): class PrivacyTaggingConfigMixin (line 55) | class PrivacyTaggingConfigMixin(BaseTaggingConfigMixin[PrivacyTagSchema]): class CustomTaggingConfigMixin (line 60) | class CustomTaggingConfigMixin(BaseTaggingConfigMixin[dict[str, str]]): FILE: packages/nvidia_nat_core/src/nat/observability/mixin/type_introspection_mixin.py class TypeIntrospectionMixin (line 35) | class TypeIntrospectionMixin: method _extract_types_from_signature_method (line 42) | def _extract_types_from_signature_method(self) -> tuple[type[Any], typ... method _discover_signature_method (line 103) | def _discover_signature_method(self) -> str | None: method _resolve_typevar_recursively (line 152) | def _resolve_typevar_recursively(self, type_arg: Any, typevar_mapping:... method _contains_typevar (line 186) | def _contains_typevar(self, type_arg: Any) -> bool: method _build_typevar_mapping (line 207) | def _build_typevar_mapping(self) -> dict[TypeVar, type[Any]]: method _extract_instance_types_from_mro (line 247) | def _extract_instance_types_from_mro(self) -> tuple[type[Any], type[An... method _extract_input_output_types (line 281) | def _extract_input_output_types(self) -> tuple[type[Any], type[Any]]: method input_type (line 305) | def input_type(self) -> type[Any]: method output_type (line 314) | def output_type(self) -> type[Any]: method _get_union_info (line 323) | def _get_union_info(self, type_obj: type[Any]) -> tuple[bool, tuple[ty... method has_union_input (line 336) | def has_union_input(self) -> bool: method has_union_output (line 345) | def has_union_output(self) -> bool: method input_union_types (line 354) | def input_union_types(self) -> tuple[type, ...] | None: method output_union_types (line 363) | def output_union_types(self) -> tuple[type, ...] | None: method is_compatible_with_input (line 371) | def is_compatible_with_input(self, source_type: type) -> bool: method is_output_compatible_with (line 385) | def is_output_compatible_with(self, target_type: type) -> bool: method _is_pydantic_type_compatible (line 399) | def _is_pydantic_type_compatible(self, source_type: type, target_type:... method _get_input_validator (line 427) | def _get_input_validator(self) -> type[BaseModel]: method _get_output_validator (line 437) | def _get_output_validator(self) -> type[BaseModel]: method validate_input_type (line 446) | def validate_input_type(self, item: Any) -> bool: method validate_output_type (line 463) | def validate_output_type(self, item: Any) -> bool: method extract_non_optional_type (line 481) | def extract_non_optional_type(self, type_obj: type | types.UnionType) ... FILE: packages/nvidia_nat_core/src/nat/observability/processor/batching_processor.py class BatchingProcessor (line 33) | class BatchingProcessor(CallbackProcessor[T, list[T]], Generic[T]): method __init__ (line 85) | def __init__(self, method process (line 117) | async def process(self, item: T) -> list[T]: method set_done_callback (line 174) | def set_done_callback(self, callback: Callable[[list[T]], Awaitable[No... method _schedule_flush (line 182) | async def _schedule_flush(self): method _create_batch (line 205) | async def _create_batch(self) -> list[T]: method force_flush (line 222) | async def force_flush(self) -> list[T]: method shutdown (line 231) | async def shutdown(self) -> None: method get_stats (line 290) | def get_stats(self) -> dict[str, Any]: FILE: packages/nvidia_nat_core/src/nat/observability/processor/callback_processor.py class CallbackProcessor (line 28) | class CallbackProcessor(Processor[InputT, OutputT]): method set_done_callback (line 36) | def set_done_callback(self, callback: Callable[[Any], Awaitable[None]]... FILE: packages/nvidia_nat_core/src/nat/observability/processor/falsy_batch_filter_processor.py class FalsyBatchFilterProcessor (line 27) | class FalsyBatchFilterProcessor(Processor[list[FalsyT], list[FalsyT]]): method process (line 31) | async def process(self, item: list[FalsyT]) -> list[FalsyT]: class DictBatchFilterProcessor (line 43) | class DictBatchFilterProcessor(FalsyBatchFilterProcessor[dict]): class ListBatchFilterProcessor (line 48) | class ListBatchFilterProcessor(FalsyBatchFilterProcessor[list]): class SetBatchFilterProcessor (line 53) | class SetBatchFilterProcessor(FalsyBatchFilterProcessor[set]): FILE: packages/nvidia_nat_core/src/nat/observability/processor/intermediate_step_serializer.py class IntermediateStepSerializer (line 22) | class IntermediateStepSerializer(SerializeMixin, Processor[IntermediateS... method process (line 26) | async def process(self, item: IntermediateStep) -> str: FILE: packages/nvidia_nat_core/src/nat/observability/processor/processor.py class Processor (line 27) | class Processor(Generic[InputT, OutputT], TypeIntrospectionMixin, ABC): method process (line 65) | async def process(self, item: InputT) -> OutputT: FILE: packages/nvidia_nat_core/src/nat/observability/processor/processor_factory.py function processor_factory (line 21) | def processor_factory(processor_class: type, from_type: type[Any], to_ty... function processor_factory_from_type (line 39) | def processor_factory_from_type(processor_class: type, from_type: type[A... function processor_factory_to_type (line 56) | def processor_factory_to_type(processor_class: type, to_type: type[Any])... FILE: packages/nvidia_nat_core/src/nat/observability/processor/redaction/contextual_redaction_processor.py class ContextualRedactionProcessor (line 34) | class ContextualRedactionProcessor(RedactionProcessor[RedactionInputT, R... method __init__ (line 53) | def __init__( method extract_data_from_context (line 67) | def extract_data_from_context(self) -> RedactionDataT | None: method validate_data (line 79) | def validate_data(self, data: RedactionDataT) -> bool: method should_redact (line 94) | async def should_redact(self, item: RedactionInputT) -> bool: FILE: packages/nvidia_nat_core/src/nat/observability/processor/redaction/contextual_span_redaction_processor.py class ContextualSpanRedactionProcessor (line 25) | class ContextualSpanRedactionProcessor(ContextualRedactionProcessor[Span... method __init__ (line 36) | def __init__(self, method redact_item (line 48) | async def redact_item(self, item: Span) -> Span: FILE: packages/nvidia_nat_core/src/nat/observability/processor/redaction/redaction_processor.py class RedactionProcessor (line 38) | class RedactionProcessor(Processor[RedactionInputT, RedactionInputT], Ge... method should_redact (line 42) | async def should_redact(self, item: RedactionInputT) -> bool: method redact_item (line 54) | async def redact_item(self, item: RedactionInputT) -> RedactionInputT: method process (line 66) | async def process(self, item: RedactionInputT) -> RedactionInputT: class RedactionContextState (line 81) | class RedactionContextState: class RedactionManager (line 92) | class RedactionManager(Generic[RedactionDataT]): method __init__ (line 102) | def __init__(self, context_state: RedactionContextState): method set_redaction_result (line 105) | def set_redaction_result(self, result: bool) -> None: method clear_redaction_result (line 113) | def clear_redaction_result(self) -> None: method redaction_check (line 117) | async def redaction_check(self, callback: Callable[..., Any], data: Re... class RedactionContext (line 145) | class RedactionContext(Generic[RedactionDataT]): method __init__ (line 155) | def __init__(self, context: RedactionContextState): method redaction_result (line 159) | def redaction_result(self) -> bool | None: method redaction_manager (line 168) | async def redaction_manager(self) -> AsyncGenerator[RedactionManager[R... FILE: packages/nvidia_nat_core/src/nat/observability/processor/redaction/span_header_redaction_processor.py class SpanHeaderRedactionProcessor (line 29) | class SpanHeaderRedactionProcessor(ContextualSpanRedactionProcessor[dict... method __init__ (line 45) | def __init__(self, method extract_data_from_context (line 64) | def extract_data_from_context(self) -> dict[str, Any] | None: method validate_data (line 82) | def validate_data(self, data: dict[str, Any]) -> bool: FILE: packages/nvidia_nat_core/src/nat/observability/processor/span_tagging_processor.py class SpanTaggingProcessor (line 28) | class SpanTaggingProcessor(Processor[Span, Span]): method __init__ (line 41) | def __init__(self, tags: Mapping[str, Enum | str] | None = None, span_... method process (line 50) | async def process(self, item: Span) -> Span: FILE: packages/nvidia_nat_core/src/nat/observability/register.py class FileTelemetryExporterConfig (line 30) | class FileTelemetryExporterConfig(TelemetryExporterBaseConfig, name="fil... function file_telemetry_exporter (line 48) | async def file_telemetry_exporter(config: FileTelemetryExporterConfig, b... class ConsoleLoggingMethodConfig (line 64) | class ConsoleLoggingMethodConfig(LoggingBaseConfig, name="console"): function console_logging_method (line 71) | async def console_logging_method(config: ConsoleLoggingMethodConfig, bui... class FileLoggingMethod (line 91) | class FileLoggingMethod(LoggingBaseConfig, name="file"): function file_logging_method (line 100) | async def file_logging_method(config: FileLoggingMethod, builder: Builder): FILE: packages/nvidia_nat_core/src/nat/observability/utils/dict_utils.py class KeyedLock (line 26) | class KeyedLock: method __init__ (line 37) | def __init__(self): method get_lock (line 44) | async def get_lock(self, key: Any) -> AsyncGenerator[None]: method delete (line 61) | async def delete(self, key: Any) -> None: method clear (line 70) | async def clear(self) -> None: class AsyncDictionary (line 77) | class AsyncDictionary: method __init__ (line 89) | def __init__(self): method get (line 96) | async def get(self, key: Any, default: Any | None = None) -> Any | None: method keys (line 110) | async def keys(self) -> list[Any]: method values (line 120) | async def values(self) -> list[Any]: method set (line 130) | async def set(self, key: Any, value: Any) -> None: method set_strict (line 141) | async def set_strict(self, key: Any, value: Any) -> None: method delete (line 157) | async def delete(self, key: Any) -> None: method delete_strict (line 167) | async def delete_strict(self, key: Any) -> None: method clear (line 182) | async def clear(self) -> None: method items (line 189) | async def items(self) -> dict[Any, Any]: class AsyncSafeWeakKeyDictionary (line 200) | class AsyncSafeWeakKeyDictionary(AsyncDictionary): method __init__ (line 212) | def __init__(self): function merge_dicts (line 221) | def merge_dicts(dict1: dict, dict2: dict) -> dict: FILE: packages/nvidia_nat_core/src/nat/observability/utils/time_utils.py function ns_timestamp (line 21) | def ns_timestamp(seconds_float: float) -> int: FILE: packages/nvidia_nat_core/src/nat/observability/utils/tracing_utils.py function get_tracing_configs (line 19) | def get_tracing_configs(config: Any) -> dict[str, Any]: FILE: packages/nvidia_nat_core/src/nat/parameter_optimization/eval_runtime_loader.py function load_evaluation_run (line 20) | def load_evaluation_run() -> type: FILE: packages/nvidia_nat_core/src/nat/profiler/parameter_optimization/optimizer_callbacks.py class TrialResult (line 31) | class TrialResult: class OptimizerCallback (line 42) | class OptimizerCallback(Protocol): method pre_create_experiment (line 44) | def pre_create_experiment(self, dataset_items: list[EvalInputItem]) ->... method on_trial_end (line 47) | def on_trial_end(self, result: TrialResult) -> None: method on_study_end (line 50) | def on_study_end(self, *, best_trial: TrialResult, total_trials: int) ... class OptimizerCallbackManager (line 54) | class OptimizerCallbackManager: method __init__ (line 56) | def __init__(self) -> None: method register (line 59) | def register(self, callback: OptimizerCallback) -> None: method has_callbacks (line 63) | def has_callbacks(self) -> bool: method set_prompt_param_names (line 66) | def set_prompt_param_names(self, names: list[str]) -> None: method pre_create_experiment (line 75) | def pre_create_experiment(self, dataset_items: list[EvalInputItem]) ->... method on_trial_end (line 82) | def on_trial_end(self, result: TrialResult) -> None: method get_trial_project_name (line 89) | def get_trial_project_name(self, trial_number: int) -> str | None: method on_study_end (line 100) | def on_study_end(self, *, best_trial: TrialResult, total_trials: int) ... FILE: packages/nvidia_nat_core/src/nat/profiler/prediction_trie/data_models.py class PredictionMetrics (line 22) | class PredictionMetrics(BaseModel): class LLMCallPrediction (line 32) | class LLMCallPrediction(BaseModel): class PredictionTrieNode (line 54) | class PredictionTrieNode(BaseModel): FILE: packages/nvidia_nat_core/src/nat/profiler/prediction_trie/metrics_accumulator.py class MetricsAccumulator (line 21) | class MetricsAccumulator: method __init__ (line 24) | def __init__(self) -> None: method add_sample (line 27) | def add_sample(self, value: float) -> None: method has_samples (line 31) | def has_samples(self) -> bool: method compute_metrics (line 35) | def compute_metrics(self) -> PredictionMetrics: method _percentile (line 53) | def _percentile(sorted_data: list[float], pct: float) -> float: FILE: packages/nvidia_nat_core/src/nat/profiler/prediction_trie/serialization.py function save_prediction_trie (line 29) | def save_prediction_trie( function load_prediction_trie (line 53) | def load_prediction_trie(path: Path) -> PredictionTrieNode: function _serialize_node (line 69) | def _serialize_node(node: PredictionTrieNode) -> dict[str, Any]: function _deserialize_node (line 86) | def _deserialize_node(data: dict[str, Any]) -> PredictionTrieNode: FILE: packages/nvidia_nat_core/src/nat/profiler/prediction_trie/trie_builder.py class _SiblingSpan (line 30) | class _SiblingSpan: class SensitivityConfig (line 41) | class SensitivityConfig: class LLMCallContext (line 52) | class LLMCallContext: class _NodeAccumulators (line 69) | class _NodeAccumulators: class PredictionTrieBuilder (line 84) | class PredictionTrieBuilder: method __init__ (line 87) | def __init__(self, sensitivity_config: SensitivityConfig | None = None... method add_trace (line 92) | def add_trace(self, steps: list[IntermediateStep]) -> None: method _extract_llm_contexts (line 100) | def _extract_llm_contexts(self, steps: list[IntermediateStep]) -> list... method _compute_sensitivity_scores (line 186) | def _compute_sensitivity_scores(self, contexts: list[LLMCallContext]) ... method _compute_logical_positions (line 275) | def _compute_logical_positions(contexts: list[LLMCallContext]) -> list... method _build_sibling_map (line 316) | def _build_sibling_map(steps: list[IntermediateStep]) -> dict[str, lis... method _compute_parallel_slack (line 364) | def _compute_parallel_slack(llm_uuid: str, llm_start: float, llm_end: ... method _build_path (line 392) | def _build_path(self, step: IntermediateStep) -> list[str]: method _update_accumulators (line 404) | def _update_accumulators(self, ctx: LLMCallContext) -> None: method _add_to_accumulators (line 415) | def _add_to_accumulators(self, path_key: tuple[str, ...], ctx: LLMCall... method build (line 436) | def build(self) -> PredictionTrieNode: method _get_or_create_node (line 446) | def _get_or_create_node(self, root: PredictionTrieNode, path_key: tupl... method _populate_node_predictions (line 458) | def _populate_node_predictions(self, node: PredictionTrieNode, accs: _... method _score_to_sensitivity (line 482) | def _score_to_sensitivity(self, acc: MetricsAccumulator | None) -> int... FILE: packages/nvidia_nat_core/src/nat/profiler/prediction_trie/trie_lookup.py class PredictionTrieLookup (line 20) | class PredictionTrieLookup: method __init__ (line 23) | def __init__(self, root: PredictionTrieNode) -> None: method find (line 26) | def find(self, path: list[str], call_index: int) -> LLMCallPrediction ... method _get_prediction (line 58) | def _get_prediction(self, node: PredictionTrieNode, call_index: int) -... FILE: packages/nvidia_nat_core/src/nat/registry_handlers/local/local_handler.py class LocalRegistryHandler (line 38) | class LocalRegistryHandler(AbstractRegistryHandler): method publish (line 44) | async def publish(self, artifact: Artifact) -> AsyncGenerator[PublishR... method pull (line 64) | async def pull(self, packages: PullRequestPackages) -> AsyncGenerator[... method search (line 85) | async def search(self, query: SearchQuery) -> AsyncGenerator[SearchRes... method remove (line 144) | async def remove(self, packages: PackageNameVersionList) -> AsyncGener... FILE: packages/nvidia_nat_core/src/nat/registry_handlers/local/register_local.py class LocalRegistryHandlerConfig (line 24) | class LocalRegistryHandlerConfig(RegistryHandlerBaseConfig, name="local"): function local_registry_handler (line 31) | async def local_registry_handler(config: LocalRegistryHandlerConfig): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/metadata_factory.py class ComponentDiscoveryMetadata (line 26) | class ComponentDiscoveryMetadata: method __init__ (line 28) | def __init__(self, component_type: ComponentEnum, wheel_data: WheelDat... method load_metadata (line 33) | def load_metadata(self): method get_metadata_items (line 55) | def get_metadata_items(self) -> list[dict | DiscoveryMetadata]: method from_package_component_type (line 59) | def from_package_component_type(component_type: ComponentEnum, FILE: packages/nvidia_nat_core/src/nat/registry_handlers/package_utils.py function get_module_name_from_distribution (line 36) | def get_module_name_from_distribution(distro_name: str) -> str | None: function parse_requirement (line 61) | def parse_requirement(requirement: str) -> str: function resolve_extras_to_packages (line 87) | def resolve_extras_to_packages(package_name: str, extras: list[str]) -> ... function extract_dependencies_with_extras_resolved (line 138) | def extract_dependencies_with_extras_resolved(pyproject_path: str) -> se... function get_distributions (line 206) | def get_distributions() -> list[importlib.metadata.Distribution]: function find_distribution_name (line 211) | def find_distribution_name(name: str) -> str | None: function get_transitive_dependencies (line 283) | def get_transitive_dependencies(distribution_names: list[str]) -> dict[s... function get_all_transitive_dependencies (line 405) | def get_all_transitive_dependencies(distribution_names: list[str]) -> se... function build_wheel (line 427) | def build_wheel(package_root: str) -> WheelData: function build_package_metadata (line 503) | def build_package_metadata(wheel_data: WheelData | None) -> dict[Compone... function build_artifact (line 550) | def build_artifact(package_root: str) -> Artifact: FILE: packages/nvidia_nat_core/src/nat/registry_handlers/pypi/pypi_handler.py class PypiRegistryHandler (line 39) | class PypiRegistryHandler(AbstractRegistryHandler): method __init__ (line 47) | def __init__(self, method publish (line 61) | async def publish(self, artifact: Artifact) -> AsyncGenerator[PublishR... method _upload_to_pypi (line 95) | def _upload_to_pypi(self, wheel_path: str) -> None: method pull (line 102) | async def pull(self, packages: PullRequestPackages) -> AsyncGenerator[... method search (line 160) | async def search(self, query: SearchQuery) -> AsyncGenerator[SearchRes... method remove (line 229) | async def remove(self, packages: PackageNameVersionList) -> AsyncGener... FILE: packages/nvidia_nat_core/src/nat/registry_handlers/pypi/register_pypi.py class PypiRegistryHandlerConfig (line 24) | class PypiRegistryHandlerConfig(RegistryHandlerBaseConfig, name="pypi"): function pypi_publish_registry_handler (line 36) | async def pypi_publish_registry_handler(config: PypiRegistryHandlerConfig): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/registry_handler_base.py class AbstractRegistryHandler (line 35) | class AbstractRegistryHandler(ABC): method __init__ (line 38) | def __init__(self): method publish (line 47) | async def publish(self, artifact: Artifact) -> AsyncGenerator[PublishR... method pull (line 63) | async def pull(self, packages: PullRequestPackages) -> AsyncGenerator[... method search (line 78) | async def search(self, query: SearchQuery) -> AsyncGenerator[SearchRes... method remove (line 93) | async def remove(self, packages: PackageNameVersionList) -> AsyncGener... method visualize_search_results (line 107) | def visualize_search_results(search_response: SearchResponse, pager: b... method save_search_results (line 144) | def save_search_results(search_response: SearchResponse, save_path: st... FILE: packages/nvidia_nat_core/src/nat/registry_handlers/rest/register_rest.py class RestRegistryHandlerConfig (line 26) | class RestRegistryHandlerConfig(RegistryHandlerBaseConfig, name="rest"): function rest_search_handler (line 39) | async def rest_search_handler(config: RestRegistryHandlerConfig): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/rest/rest_handler.py class RestRegistryHandler (line 42) | class RestRegistryHandler(AbstractRegistryHandler): method __init__ (line 45) | def __init__(self, method publish (line 63) | async def publish(self, artifact: Artifact) -> AsyncGenerator[PublishR... method pull (line 99) | async def pull(self, packages: PullRequestPackages) -> AsyncGenerator[... method search (line 166) | async def search(self, query: SearchQuery) -> AsyncGenerator[SearchRes... method remove (line 204) | async def remove(self, packages: PackageNameVersionList) -> AsyncGener... FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/headers.py class RequestHeaders (line 24) | class RequestHeaders(BaseModel): class ResponseHeaders (line 38) | class ResponseHeaders(BaseModel): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/package.py class WheelData (line 23) | class WheelData(BaseModel): class PackageNameVersion (line 49) | class PackageNameVersion(BaseModel): class PackageNameVersionList (line 61) | class PackageNameVersionList(BaseModel): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/publish.py class BuiltArtifact (line 27) | class BuiltArtifact(BaseModel): class Artifact (line 41) | class Artifact(BaseModel): class PublishResponse (line 55) | class PublishResponse(BaseModel): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/pull.py class PulledPackage (line 26) | class PulledPackage(BaseModel): class PullResponse (line 38) | class PullResponse(BaseModel): class PullPackageWhl (line 53) | class PullPackageWhl(BaseModel): class PullRequestPackage (line 63) | class PullRequestPackage(BaseModel): class PullRequestPackages (line 74) | class PullRequestPackages(BaseModel): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/remove.py class RemoveResponse (line 26) | class RemoveResponse(BaseModel): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/search.py class SearchFields (line 27) | class SearchFields(StrEnum): class VisualizeFields (line 36) | class VisualizeFields(StrEnum): class SearchQuery (line 44) | class SearchQuery(BaseModel): class SearchResponseItem (line 60) | class SearchResponseItem(BaseModel): class SearchResponse (line 79) | class SearchResponse(BaseModel): FILE: packages/nvidia_nat_core/src/nat/registry_handlers/schemas/status.py class ActionEnum (line 24) | class ActionEnum(StrEnum): class StatusEnum (line 31) | class StatusEnum(StrEnum): class StatusMessage (line 36) | class StatusMessage(BaseModel): FILE: packages/nvidia_nat_core/src/nat/retriever/interface.py class Retriever (line 22) | class Retriever(ABC): method search (line 32) | async def search(self, query: str, **kwargs) -> RetrieverOutput: FILE: packages/nvidia_nat_core/src/nat/retriever/milvus/register.py class MilvusRetrieverConfig (line 27) | class MilvusRetrieverConfig(RetrieverBaseConfig, name="milvus_retriever"): function milvus_retriever (line 55) | async def milvus_retriever(retriever_config: MilvusRetrieverConfig, buil... function milvus_retriever_client (line 61) | async def milvus_retriever_client(config: MilvusRetrieverConfig, builder... FILE: packages/nvidia_nat_core/src/nat/retriever/milvus/retriever.py class CollectionNotFoundError (line 36) | class CollectionNotFoundError(RetrieverError): class MilvusRetriever (line 40) | class MilvusRetriever(Retriever): method __init__ (line 45) | def __init__( method bind (line 77) | def bind(self, **kwargs) -> None: method get_unbound_params (line 90) | def get_unbound_params(self) -> list[str]: method _validate_collection (line 96) | async def _validate_collection(self, collection_name: str) -> bool: method search (line 104) | async def search(self, query: str, **kwargs): method _search_with_iterator (line 107) | async def _search_with_iterator(self, method _search (line 202) | async def _search(self, function _wrap_milvus_results (line 274) | def _wrap_milvus_results(res: list[Hit], content_field: str): function _wrap_milvus_single_results (line 278) | def _wrap_milvus_single_results(res: Hit | dict, content_field: str) -> ... FILE: packages/nvidia_nat_core/src/nat/retriever/models.py class Document (line 27) | class Document(BaseModel): method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> Document: class RetrieverOutput (line 51) | class RetrieverOutput(BaseModel): method __len__ (line 54) | def __len__(self): method __str__ (line 57) | def __str__(self): class RetrieverError (line 61) | class RetrieverError(Exception): function retriever_output_to_dict (line 65) | def retriever_output_to_dict(obj: RetrieverOutput) -> dict: function retriever_output_to_str (line 69) | def retriever_output_to_str(obj: RetrieverOutput) -> str: FILE: packages/nvidia_nat_core/src/nat/retriever/nemo_retriever/register.py class NemoRetrieverConfig (line 27) | class NemoRetrieverConfig(RetrieverBaseConfig, name="nemo_retriever"): function nemo_retriever (line 45) | async def nemo_retriever(retriever_config: NemoRetrieverConfig, builder:... function nemo_retriever_client (line 51) | async def nemo_retriever_client(config: NemoRetrieverConfig, builder: Bu... FILE: packages/nvidia_nat_core/src/nat/retriever/nemo_retriever/retriever.py class Collection (line 37) | class Collection(BaseModel): class RetrieverPayload (line 45) | class RetrieverPayload(BaseModel): class CollectionUnavailableError (line 50) | class CollectionUnavailableError(RetrieverError): class NemoRetriever (line 54) | class NemoRetriever(Retriever): method __init__ (line 59) | def __init__(self, uri: str | HttpUrl, timeout: int = 60, nvidia_api_k... method bind (line 69) | def bind(self, **kwargs) -> None: method get_unbound_params (line 82) | def get_unbound_params(self) -> list[str]: method get_collections (line 88) | async def get_collections(self, client) -> list[Collection]: method get_collection_by_name (line 103) | async def get_collection_by_name(self, collection_name, client) -> Col... method search (line 112) | async def search(self, query: str, **kwargs): method _search (line 115) | async def _search( function _wrap_nemo_results (line 151) | def _wrap_nemo_results(output: list[dict], content_field: str): function _wrap_nemo_single_results (line 155) | def _wrap_nemo_single_results(output: dict, content_field: str): function _flatten (line 163) | def _flatten(obj: dict, output_fields: list[str]) -> list[str]: class NemoLangchainRetriever (line 183) | class NemoLangchainRetriever(BaseRetriever, BaseModel): method _get_relevant_documents (line 186) | def _get_relevant_documents(self, query, *, run_manager, **kwargs): method _aget_relevant_documents (line 189) | async def _aget_relevant_documents(self, query, *, run_manager, **kwar... FILE: packages/nvidia_nat_core/src/nat/runtime/loader.py class PluginTypes (line 39) | class PluginTypes(IntFlag): function load_config (line 69) | def load_config(config_file: StrPath) -> Config: function load_workflow (line 97) | async def load_workflow(config_file: StrPath, max_concurrency: int = -1): function discover_entrypoints (line 128) | def discover_entrypoints(plugin_type: PluginTypes): function get_all_entrypoints_distro_mapping (line 157) | def get_all_entrypoints_distro_mapping() -> dict[str, str]: function discover_and_register_plugins (line 175) | def discover_and_register_plugins(plugin_type: PluginTypes): FILE: packages/nvidia_nat_core/src/nat/runtime/metrics.py class PerUserSessionMetrics (line 32) | class PerUserSessionMetrics(BaseModel): class PerUserRequestMetrics (line 41) | class PerUserRequestMetrics(BaseModel): class PerUserMemoryMetrics (line 50) | class PerUserMemoryMetrics(BaseModel): class PerUserResourceUsage (line 58) | class PerUserResourceUsage(BaseModel): class PerUserMonitorResponse (line 67) | class PerUserMonitorResponse(BaseModel): class PerUserMetricsCollector (line 75) | class PerUserMetricsCollector: method __init__ (line 82) | def __init__(self, session_manager: SessionManager): method collect_user_metrics (line 90) | async def collect_user_metrics(self, user_id: str) -> PerUserResourceU... method collect_all_metrics (line 106) | async def collect_all_metrics(self) -> PerUserMonitorResponse: method _build_user_metrics (line 128) | def _build_user_metrics(self, user_id: str, builder_info) -> PerUserRe... FILE: packages/nvidia_nat_core/src/nat/runtime/runner.py class RunnerState (line 38) | class RunnerState(Enum): class Runner (line 49) | class Runner: method __init__ (line 51) | def __init__(self, method context (line 100) | def context(self) -> Context: method convert (line 103) | def convert(self, value: typing.Any, to_type: type[_T]) -> _T: method __aenter__ (line 106) | async def __aenter__(self): method __aexit__ (line 144) | async def __aexit__(self, exc_type, exc_value, traceback): method result (line 157) | async def result(self) -> typing.Any: method result (line 161) | async def result(self, to_type: type[_T]) -> _T: method result (line 164) | async def result(self, to_type: type | None = None): method result_stream (line 255) | async def result_stream(self, to_type: type | None = None): FILE: packages/nvidia_nat_core/src/nat/runtime/session.py class PerUserBuilderInfo (line 58) | class PerUserBuilderInfo(BaseModel): method record_request (line 81) | def record_request(self, latency_ms: float, success: bool) -> None: class Session (line 94) | class Session: method __init__ (line 112) | def __init__(self, method user_id (line 123) | def user_id(self) -> str | None: method workflow (line 127) | def workflow(self) -> Workflow: method session_manager (line 131) | def session_manager(self) -> "SessionManager": method run (line 135) | async def run(self, class SessionManager (line 176) | class SessionManager: method __init__ (line 178) | def __init__(self, method config (line 257) | def config(self) -> Config: method workflow (line 261) | def workflow(self) -> Workflow: method shared_builder (line 277) | def shared_builder(self) -> "WorkflowBuilder": method is_workflow_per_user (line 281) | def is_workflow_per_user(self) -> bool: method get_workflow_input_schema (line 284) | def get_workflow_input_schema(self) -> type[BaseModel]: method get_workflow_single_output_schema (line 292) | def get_workflow_single_output_schema(self) -> type[BaseModel]: method get_workflow_streaming_output_schema (line 300) | def get_workflow_streaming_output_schema(self) -> type[BaseModel]: method create (line 309) | async def create(cls, method _run_periodic_cleanup (line 350) | async def _run_periodic_cleanup(self): method _cleanup_inactive_per_user_builders (line 369) | async def _cleanup_inactive_per_user_builders(self) -> int: method _get_user_id_from_context (line 395) | def _get_user_id_from_context(self) -> str | None: method _get_or_create_per_user_builder (line 410) | async def _get_or_create_per_user_builder(self, user_id: str) -> tuple... method session (line 455) | async def session(self, method run (line 548) | async def run(self, message, runtime_type: RuntimeTypeEnum = RuntimeTy... method shutdown (line 559) | async def shutdown(self) -> None: method set_metadata_from_http_request (line 589) | async def set_metadata_from_http_request(self, request: Request) -> tu... method set_metadata_from_websocket (line 668) | def set_metadata_from_websocket(self, FILE: packages/nvidia_nat_core/src/nat/runtime/user_manager.py class UserManager (line 40) | class UserManager: method extract_user_from_connection (line 44) | def extract_user_from_connection(cls, connection: Request | WebSocket)... method _resolve_from_auth_header (line 75) | def _resolve_from_auth_header(cls, auth_header: str) -> UserInfo | None: method _from_auth_payload (line 111) | def _from_auth_payload(payload: AuthPayload) -> UserInfo: method _get_session_cookie (line 149) | def _get_session_cookie(connection: Request | WebSocket) -> str | None: method _get_api_key_header (line 173) | def _get_api_key_header(connection: Request | WebSocket) -> str | None: method _get_auth_header (line 189) | def _get_auth_header(connection: Request | WebSocket) -> str | None: method _user_info_from_session_cookie (line 205) | def _user_info_from_session_cookie(cookie_value: str) -> UserInfo: method _user_info_from_jwt (line 210) | def _user_info_from_jwt(claims: dict[str, typing.Any]) -> UserInfo: method _user_info_from_basic_auth (line 277) | def _user_info_from_basic_auth(b64_credential: str) -> UserInfo: FILE: packages/nvidia_nat_core/src/nat/runtime/user_metadata.py class RequestAttributes (line 24) | class RequestAttributes: method __init__ (line 30) | def __init__(self) -> None: method method (line 34) | def method(self) -> str | None: method url_path (line 45) | def url_path(self) -> str | None: method url_port (line 55) | def url_port(self) -> int | None: method url_scheme (line 65) | def url_scheme(self) -> str | None: method headers (line 75) | def headers(self) -> Headers | None: method query_params (line 85) | def query_params(self) -> QueryParams | None: method path_params (line 95) | def path_params(self) -> dict[str, str] | None: method client_host (line 105) | def client_host(self) -> str | None: method client_port (line 115) | def client_port(self) -> int | None: method cookies (line 125) | def cookies(self) -> dict[str, str] | None: method payload (line 135) | def payload(self) -> dict[str, typing.Any] | None: method to_dict (line 139) | def to_dict(self) -> dict[str, object]: FILE: packages/nvidia_nat_core/src/nat/settings/global_settings.py class Settings (line 43) | class Settings(HashableBaseModel): method validate_components (line 62) | def validate_components(cls, value: typing.Any, handler: ValidatorFunc... method rebuild_annotations (line 104) | def rebuild_annotations(cls): method channel_names (line 146) | def channel_names(self) -> list: method configuration_directory (line 150) | def configuration_directory(self) -> str: method configuration_file (line 154) | def configuration_file(self) -> str: method from_file (line 158) | def from_file(): method set_configuration_directory (line 183) | def set_configuration_directory(self, directory: str, remove: bool = F... method reset_configuration_directory (line 189) | def reset_configuration_directory(self, remove: bool = False) -> None: method _save_settings (line 195) | def _save_settings(self) -> None: method update_settings (line 205) | def update_settings(self, config_obj: "dict | Settings"): method _update_settings (line 208) | def _update_settings(self, config_obj: "dict | Settings"): method _revalidate (line 217) | def _revalidate(self, config_dict) -> bool: method print_channel_settings (line 237) | def print_channel_settings(self, channel_type: str | None = None) -> N... method override_settings (line 258) | def override_settings(self, config_file: str) -> "Settings": method _settings_changed (line 270) | def _settings_changed(self): method pause_settings_changed_hooks (line 279) | def pause_settings_changed_hooks(self): method add_settings_changed_hook (line 291) | def add_settings_changed_hook(self, cb: Callable[[], None]) -> None: class GlobalSettings (line 299) | class GlobalSettings: method get (line 304) | def get() -> Settings: method push (line 318) | def push(): FILE: packages/nvidia_nat_core/src/nat/tool/chat_completion.py class ChatCompletionConfig (line 42) | class ChatCompletionConfig(FunctionBaseConfig, name="chat_completion"): function _messages_to_langchain_messages (line 53) | def _messages_to_langchain_messages( function register_chat_completion (line 68) | async def register_chat_completion(config: ChatCompletionConfig, builder... FILE: packages/nvidia_nat_core/src/nat/tool/code_execution/code_sandbox.py class Sandbox (line 31) | class Sandbox(abc.ABC): method __init__ (line 46) | def __init__( method _send_request (line 58) | def _send_request(self, request: dict[str, Any], timeout_seconds: floa... method _parse_request_output (line 72) | def _parse_request_output(self, output: requests.Response) -> dict[str... method _get_execute_url (line 76) | def _get_execute_url(self, uri: HttpUrl) -> str: method _prepare_request (line 80) | def _prepare_request(self, generated_code: str, timeout_seconds: float... method execute_code (line 83) | async def execute_code( class LocalSandbox (line 139) | class LocalSandbox(Sandbox): method __init__ (line 142) | def __init__(self, *, uri: HttpUrl): method _get_execute_url (line 146) | def _get_execute_url(self, uri: HttpUrl) -> str: method _parse_request_output (line 150) | def _parse_request_output(self, output: requests.Response) -> dict[str... method _prepare_request (line 160) | def _prepare_request(self, method execute_code (line 173) | async def execute_code( class PistonSandbox (line 223) | class PistonSandbox(Sandbox): method _get_execute_url (line 227) | def _get_execute_url(self, uri: HttpUrl) -> str: method _parse_request_output (line 231) | def _parse_request_output(self, output: requests.Response) -> dict[str... method _prepare_request (line 242) | def _prepare_request(self, generated_code: str, timeout_seconds: float... function get_sandbox (line 257) | def get_sandbox(sandbox_type: str = "local", **kwargs): FILE: packages/nvidia_nat_core/src/nat/tool/code_execution/local_sandbox/local_sandbox_server.py class CodeExecutionStatus (line 37) | class CodeExecutionStatus(StrEnum): class CodeExecutionResult (line 46) | class CodeExecutionResult(BaseModel): class CodeExecutionResponse (line 56) | class CodeExecutionResponse(Response): method __init__ (line 61) | def __init__(self, status_code: int, result: CodeExecutionResult): method with_error (line 65) | def with_error(cls, status_code: int, error_message: str) -> CodeExecu... function add_hsts_header (line 71) | def add_hsts_header(response): function execute_python (line 80) | def execute_python(generated_code: str, timeout: float) -> CodeExecution... function execute_code_subprocess (line 108) | def execute_code_subprocess(generated_code: str, queue): function do_execute (line 144) | def do_execute(request: Request) -> CodeExecutionResponse: function execute (line 193) | def execute(): function status (line 198) | def status() -> tuple[dict[str, str], int]: FILE: packages/nvidia_nat_core/src/nat/tool/code_execution/register.py class CodeExecutionToolConfig (line 31) | class CodeExecutionToolConfig(FunctionBaseConfig, name="code_execution"): function code_execution_tool (line 43) | async def code_execution_tool(config: CodeExecutionToolConfig, builder: ... FILE: packages/nvidia_nat_core/src/nat/tool/code_execution/utils.py function format_code_output (line 22) | def format_code_output(execution_dict: dict[str, str], function _extract_between_separators (line 50) | def _extract_between_separators(generation: str, separators: tuple[str, ... function extract_code_to_execute (line 62) | def extract_code_to_execute(generation: str, code_begin: str, code_end: ... function extract_code_output (line 66) | def extract_code_output(generation: str, code_output_begin: str, code_ou... function unroll_files (line 70) | def unroll_files(input_files): function python_doc_to_cmd_help (line 82) | def python_doc_to_cmd_help(doc_class, docs_prefix="", arg_prefix=""): FILE: packages/nvidia_nat_core/src/nat/tool/datetime_tools.py class CurrentTimeToolConfig (line 28) | class CurrentTimeToolConfig(FunctionBaseConfig, name="current_datetime"): class CurrentTimeZoneToolConfig (line 37) | class CurrentTimeZoneToolConfig(FunctionBaseConfig, name="current_timezo... function _get_timezone_from_headers (line 44) | def _get_timezone_from_headers(headers: Headers | None) -> zoneinfo.Zone... function _get_system_timezone (line 56) | def _get_system_timezone(fallback_tz: str = "Etc/UTC") -> zoneinfo.ZoneI... function _get_timezone_obj (line 72) | def _get_timezone_obj(headers: Headers | None) -> zoneinfo.ZoneInfo: function current_datetime (line 91) | async def current_datetime(_config: CurrentTimeToolConfig, _builder: Bui... function current_timezone (line 116) | async def current_timezone(_config: CurrentTimeZoneToolConfig, _builder:... FILE: packages/nvidia_nat_core/src/nat/tool/document_search.py class MilvusDocumentSearchToolConfig (line 31) | class MilvusDocumentSearchToolConfig(FunctionBaseConfig, name="milvus_do... function document_search (line 49) | async def document_search(config: MilvusDocumentSearchToolConfig, builde... FILE: packages/nvidia_nat_core/src/nat/tool/github_tools.py class GithubCreateIssueModel (line 34) | class GithubCreateIssueModel(BaseModel): class GithubCreateIssueModelList (line 39) | class GithubCreateIssueModelList(BaseModel): class GithubGetIssueModel (line 45) | class GithubGetIssueModel(BaseModel): method validate_since (line 57) | def validate_since(cls, v): class GithubGetIssueModelList (line 69) | class GithubGetIssueModelList(BaseModel): class GithubUpdateIssueModel (line 75) | class GithubUpdateIssueModel(BaseModel): class GithubUpdateIssueModelList (line 88) | class GithubUpdateIssueModelList(BaseModel): class GithubCreatePullModel (line 94) | class GithubCreatePullModel(BaseModel): class GithubCreatePullList (line 105) | class GithubCreatePullList(BaseModel): class GithubGetPullsModel (line 110) | class GithubGetPullsModel(BaseModel): class GithubGetPullsModelList (line 118) | class GithubGetPullsModelList(BaseModel): class GithubCommitCodeModel (line 125) | class GithubCommitCodeModel(BaseModel): class GithubCommitCodeModelList (line 134) | class GithubCommitCodeModelList(BaseModel): class GithubGroupConfig (line 139) | class GithubGroupConfig(FunctionGroupBaseConfig, name="github"): function github_tool (line 152) | async def github_tool(config: GithubGroupConfig, _builder: Builder): class GithubFilesGroupConfig (line 373) | class GithubFilesGroupConfig(FunctionBaseConfig, name="github_files_tool"): function github_files_tool (line 378) | async def github_files_tool(config: GithubFilesGroupConfig, _builder: Bu... FILE: packages/nvidia_nat_core/src/nat/tool/memory_tools/add_memory_tool.py class AddToolConfig (line 30) | class AddToolConfig(FunctionBaseConfig, name="add_memory"): function add_memory_tool (line 42) | async def add_memory_tool(config: AddToolConfig, builder: Builder): FILE: packages/nvidia_nat_core/src/nat/tool/memory_tools/delete_memory_tool.py class DeleteToolConfig (line 30) | class DeleteToolConfig(FunctionBaseConfig, name="delete_memory"): function delete_memory_tool (line 41) | async def delete_memory_tool(config: DeleteToolConfig, builder: Builder): FILE: packages/nvidia_nat_core/src/nat/tool/memory_tools/get_memory_tool.py class GetToolConfig (line 30) | class GetToolConfig(FunctionBaseConfig, name="get_memory"): function get_memory_tool (line 42) | async def get_memory_tool(config: GetToolConfig, builder: Builder): FILE: packages/nvidia_nat_core/src/nat/tool/nvidia_rag.py class BaseRagResult (line 38) | class BaseRagResult(BaseModel): method get_document_title (line 44) | def get_document_title(self) -> str: method to_document (line 48) | def to_document(self) -> Document: class SourceResult (line 61) | class SourceResult(BaseRagResult): method get_document_title (line 66) | def get_document_title(self) -> str: class DocumentChunk (line 70) | class DocumentChunk(BaseRagResult): method get_document_title (line 75) | def get_document_title(self) -> str: function parse_rag_response (line 79) | def parse_rag_response(data: dict[str, Any]) -> list[Document]: class NVIDIARAGToolConfig (line 94) | class NVIDIARAGToolConfig(FunctionBaseConfig, name="nvidia_rag"): function nvidia_rag_tool (line 110) | async def nvidia_rag_tool(config: NVIDIARAGToolConfig, builder: Builder)... FILE: packages/nvidia_nat_core/src/nat/tool/retriever.py class RetrieverConfig (line 33) | class RetrieverConfig(FunctionBaseConfig, name="nat_retriever"): function _get_description_from_config (line 47) | def _get_description_from_config(config: RetrieverConfig) -> str: function retriever_tool (line 59) | async def retriever_tool(config: RetrieverConfig, builder: Builder): FILE: packages/nvidia_nat_core/src/nat/tool/server_tools.py class RequestAttributesTool (line 22) | class RequestAttributesTool(FunctionBaseConfig, name="current_request_at... function current_request_attributes (line 33) | async def current_request_attributes(config: RequestAttributesTool, buil... FILE: packages/nvidia_nat_core/src/nat/utils/__init__.py function run_workflow (line 28) | async def run_workflow(*, FILE: packages/nvidia_nat_core/src/nat/utils/atif_converter.py function _epoch_to_iso (line 60) | def _epoch_to_iso(epoch: float) -> str: function _iso_to_epoch (line 65) | def _iso_to_epoch(timestamp: str) -> float: function _extract_tool_definitions (line 70) | def _extract_tool_definitions(step: IntermediateStep) -> list[dict[str, ... function _extract_metrics (line 80) | def _extract_metrics(step: IntermediateStep) -> ATIFStepMetrics | None: function _safe_str (line 99) | def _safe_str(value: Any) -> str: function _extract_user_input (line 106) | def _extract_user_input(value: Any) -> str: function _atif_ancestry_from_ist (line 134) | def _atif_ancestry_from_ist(ist: IntermediateStep) -> AtifAncestry: function _atif_invocation_from_ist (line 144) | def _atif_invocation_from_ist(ist: IntermediateStep, *, invocation_id: s... function _atif_step_extra_model_from_ist (line 157) | def _atif_step_extra_model_from_ist(ist: IntermediateStep) -> AtifStepEx... function _parse_tool_arguments (line 165) | def _parse_tool_arguments(raw_input: Any) -> dict[str, Any]: class _ObservedInvocation (line 199) | class _ObservedInvocation: class _PendingAgentTurn (line 209) | class _PendingAgentTurn: method __init__ (line 212) | def __init__(self, message: str, timestamp: float, model_name: str | N... function _record_observed_invocation (line 223) | def _record_observed_invocation(pending: _PendingAgentTurn, ist: Interme... class IntermediateStepToATIFConverter (line 250) | class IntermediateStepToATIFConverter: method convert (line 253) | def convert( class ATIFStreamConverter (line 493) | class ATIFStreamConverter: method __init__ (line 496) | def __init__(self, agent_name: str = "nat-agent"): method agent_config (line 507) | def agent_config(self) -> ATIFAgentConfig: method push (line 511) | def push(self, ist: IntermediateStep) -> ATIFStep | None: method finalize (line 662) | def finalize(self) -> list[ATIFStep]: method get_trajectory (line 670) | def get_trajectory(self) -> ATIFTrajectory: method _flush_pending (line 687) | def _flush_pending(self) -> ATIFStep | None: FILE: packages/nvidia_nat_core/src/nat/utils/atif_message_utils.py function content_part_to_text (line 25) | def content_part_to_text(part: ATIFContentPart) -> str: function message_to_text (line 34) | def message_to_text(message: str | Sequence[ATIFContentPart] | None) -> ... function trajectory_to_user_input (line 43) | def trajectory_to_user_input(trajectory: ATIFTrajectory) -> str: FILE: packages/nvidia_nat_core/src/nat/utils/callable_utils.py function ainvoke_any (line 21) | async def ainvoke_any(func: Callable[..., Any], *args: Any, **kwargs: An... function is_async_callable (line 61) | def is_async_callable(func: Callable[..., Any]) -> bool: FILE: packages/nvidia_nat_core/src/nat/utils/data_models/schema_validator.py function validate_schema (line 24) | def validate_schema(metadata, Schema): function validate_yaml (line 34) | def validate_yaml(ctx, param, value): FILE: packages/nvidia_nat_core/src/nat/utils/debugging_utils.py function is_debugger_attached (line 17) | def is_debugger_attached() -> bool: FILE: packages/nvidia_nat_core/src/nat/utils/decorators.py function issue_deprecation_warning (line 50) | def issue_deprecation_warning(function_name: str, function deprecated (line 101) | def deprecated(func: F, function deprecated (line 113) | def deprecated(*, function deprecated (line 123) | def deprecated(func: Any = None, FILE: packages/nvidia_nat_core/src/nat/utils/dump_distro_mapping.py function dump_distro_mapping (line 22) | def dump_distro_mapping(path: str): FILE: packages/nvidia_nat_core/src/nat/utils/exception_handlers/automatic_retries.py function _shallow_copy_args (line 41) | def _shallow_copy_args(args: tuple, kwargs: dict) -> tuple[tuple, dict]: function _deep_copy_args (line 47) | def _deep_copy_args(args: tuple, kwargs: dict, skip_first: bool = False)... function _clear_exception_context (line 61) | def _clear_exception_context(exc: BaseException) -> None: function _run_gc_if_needed (line 83) | def _run_gc_if_needed(attempt: int, gc_frequency: int = 3) -> None: function _extract_status_code (line 95) | def _extract_status_code(exc: BaseException) -> int | None: function _pattern_to_regex (line 111) | def _pattern_to_regex(pat: str) -> re.Pattern[str]: function _code_matches (line 121) | def _code_matches(code: int, pat: CodePattern) -> bool: function _want_retry (line 132) | def _want_retry( function _retry_decorator (line 168) | def _retry_decorator( function patch_with_retry (line 412) | def patch_with_retry( FILE: packages/nvidia_nat_core/src/nat/utils/exception_handlers/schemas.py function schema_exception_handler (line 24) | def schema_exception_handler(func, **kwargs): function yaml_exception_handler (line 82) | def yaml_exception_handler(func): FILE: packages/nvidia_nat_core/src/nat/utils/io/model_processing.py function remove_r1_think_tags (line 19) | def remove_r1_think_tags(text: str): FILE: packages/nvidia_nat_core/src/nat/utils/io/supress_logs.py function suppress_logs (line 21) | async def suppress_logs(prefix, level=logging.ERROR): FILE: packages/nvidia_nat_core/src/nat/utils/io/yaml_tools.py function _load_file_content (line 35) | def _load_file_content(file_path: StrPath) -> str: function _validate_file_extension (line 56) | def _validate_file_extension(file_path: Path) -> None: function _resolve_file_references (line 73) | def _resolve_file_references(config: dict, base_path: Path) -> dict: function _interpolate_variables (line 116) | def _interpolate_variables(value: str | int | float | bool | None) -> st... function deep_merge (line 135) | def deep_merge(base: dict, override: dict) -> dict: function yaml_load (line 155) | def yaml_load(config_path: StrPath, _visited: set[Path] | None = None) -... function yaml_loads (line 224) | def yaml_loads(config: str, base_path: Path) -> dict: function yaml_dump (line 256) | def yaml_dump(config: dict, fp: typing.TextIO) -> None: function yaml_dumps (line 268) | def yaml_dumps(config: dict) -> str: FILE: packages/nvidia_nat_core/src/nat/utils/log_utils.py class LogFilter (line 22) | class LogFilter(logging.Filter): method __init__ (line 27) | def __init__(self, filter_criteria: list[str]): method filter (line 31) | def filter(self, record: logging.LogRecord): function setup_logging (line 43) | def setup_logging(log_level: int): FILE: packages/nvidia_nat_core/src/nat/utils/metadata_utils.py function generate_config_type_docs (line 22) | def generate_config_type_docs(config_type: TypedBaseModelT) -> str: FILE: packages/nvidia_nat_core/src/nat/utils/optional_imports.py class OptionalImportError (line 23) | class OptionalImportError(Exception): method __init__ (line 26) | def __init__(self, module_name: str, additional_message: str = ""): class TelemetryOptionalImportError (line 30) | class TelemetryOptionalImportError(OptionalImportError): method __init__ (line 33) | def __init__(self, module_name: str): function optional_import (line 41) | def optional_import(module_name: str) -> ModuleType: function telemetry_optional_import (line 49) | def telemetry_optional_import(module_name: str) -> ModuleType: function try_import_opentelemetry (line 57) | def try_import_opentelemetry() -> ModuleType: function try_import_phoenix (line 62) | def try_import_phoenix() -> ModuleType: class DummySpan (line 68) | class DummySpan: method __init__ (line 71) | def __init__(self, *args, **kwargs): method end (line 74) | def end(self, *args, **kwargs): method set_attribute (line 77) | def set_attribute(self, *args, **kwargs): class DummyTracer (line 81) | class DummyTracer: method start_span (line 84) | def start_span(self, *args, **kwargs): class DummyTracerProvider (line 88) | class DummyTracerProvider: method get_tracer (line 92) | def get_tracer(*args, **kwargs): method add_span_processor (line 96) | def add_span_processor(*args, **kwargs): class DummyTrace (line 100) | class DummyTrace: method get_tracer_provider (line 104) | def get_tracer_provider(): method set_tracer_provider (line 108) | def set_tracer_provider(*args, **kwargs): method get_tracer (line 112) | def get_tracer(*args, **kwargs): class DummySpanExporter (line 116) | class DummySpanExporter: method export (line 120) | def export(*args, **kwargs): method shutdown (line 124) | def shutdown(*args, **kwargs): class DummyBatchSpanProcessor (line 128) | class DummyBatchSpanProcessor: method __init__ (line 131) | def __init__(self, *args, **kwargs): method shutdown (line 135) | def shutdown(*args, **kwargs): function dummy_set_span_in_context (line 140) | def dummy_set_span_in_context(*args, **kwargs) -> None: FILE: packages/nvidia_nat_core/src/nat/utils/producer_consumer_queue.py class QueueClosed (line 22) | class QueueClosed(Exception): class AsyncIOProducerConsumerQueue (line 27) | class AsyncIOProducerConsumerQueue(asyncio.Queue, typing.Generic[_T]): method __init__ (line 32) | def __init__(self, maxsize=0) -> None: method __aiter__ (line 38) | async def __aiter__(self): method join (line 45) | async def join(self): method put (line 60) | async def put(self, item): method get (line 91) | async def get(self) -> _T: method put_blocking (line 121) | def put_blocking(self, item: _T): method close (line 165) | async def close(self): method is_closed (line 176) | def is_closed(self) -> bool: FILE: packages/nvidia_nat_core/src/nat/utils/reactive/base/observable_base.py class ObservableBase (line 36) | class ObservableBase(Generic[_T_out_co], ABC): method subscribe (line 43) | def subscribe(self, on_next: ObserverBase[_T_out_co]) -> Subscription: method subscribe (line 47) | def subscribe(self, method subscribe (line 54) | def subscribe(self, FILE: packages/nvidia_nat_core/src/nat/utils/reactive/base/observer_base.py class ObserverBase (line 26) | class ObserverBase(Generic[_T_in_contra], ABC): method on_next (line 34) | def on_next(self, value: _T_in_contra) -> None: method on_error (line 42) | def on_error(self, exc: Exception) -> None: method on_complete (line 50) | def on_complete(self) -> None: FILE: packages/nvidia_nat_core/src/nat/utils/reactive/base/subject_base.py class SubjectBase (line 34) | class SubjectBase(ObserverBase[T], ObservableBase[T]): method _unsubscribe_observer (line 40) | def _unsubscribe_observer(self, observer: object) -> None: method subscribe (line 44) | def subscribe(self, method on_next (line 58) | def on_next(self, value: T) -> None: method on_error (line 66) | def on_error(self, exc: Exception) -> None: method on_complete (line 74) | def on_complete(self) -> None: FILE: packages/nvidia_nat_core/src/nat/utils/reactive/observable.py class Observable (line 35) | class Observable(ObservableBase[_T_out_co]): method _subscribe_core (line 43) | def _subscribe_core(self, observer: ObserverBase) -> Subscription: method subscribe (line 51) | def subscribe(self, FILE: packages/nvidia_nat_core/src/nat/utils/reactive/observer.py class Observer (line 34) | class Observer(ObserverBase[_T_in_contra]): method __init__ (line 39) | def __init__( method on_next (line 50) | def on_next(self, value: _T) -> None: method on_error (line 61) | def on_error(self, exc: Exception) -> None: method on_complete (line 69) | def on_complete(self) -> None: FILE: packages/nvidia_nat_core/src/nat/utils/reactive/subject.py class Subject (line 32) | class Subject(Observable[T], Observer[T], SubjectBase[T]): method __init__ (line 42) | def __init__(self) -> None: method _subscribe_core (line 53) | def _subscribe_core(self, observer: Observer[T]) -> Subscription: method on_next (line 69) | def on_next(self, value: T) -> None: method on_error (line 84) | def on_error(self, exc: Exception) -> None: method on_complete (line 96) | def on_complete(self) -> None: method _unsubscribe_observer (line 113) | def _unsubscribe_observer(self, observer: Observer[T]) -> None: method dispose (line 121) | def dispose(self) -> None: FILE: packages/nvidia_nat_core/src/nat/utils/reactive/subscription.py class Subscription (line 31) | class Subscription(Generic[_T]): method __init__ (line 37) | def __init__(self, subject: "SubjectBase", observer: object | None): ... method unsubscribe (line 42) | def unsubscribe(self) -> None: FILE: packages/nvidia_nat_core/src/nat/utils/responses_api.py function validate_no_responses_api (line 21) | def validate_no_responses_api(llm_config, framework: LLMFrameworkEnum): FILE: packages/nvidia_nat_core/src/nat/utils/settings/global_settings.py function configure_registry_channel (line 27) | def configure_registry_channel(config_type: RegistryHandlerBaseConfig, c... function add_channel_interative (line 68) | def add_channel_interative(channel_type: str) -> None: function get_existing_channel_interactive (line 99) | def get_existing_channel_interactive(channel_name: str) -> tuple[str, bo... function remove_channel (line 132) | def remove_channel(channel_name: str) -> None: function remove_channel_interactive (line 145) | def remove_channel_interactive(channel_name: str) -> None: function match_valid_channel (line 152) | def match_valid_channel(channel_name: str) -> None: function update_channel_interactive (line 188) | def update_channel_interactive(channel_name: str): FILE: packages/nvidia_nat_core/src/nat/utils/string_utils.py function convert_to_str (line 21) | def convert_to_str(value: Any) -> str: function truncate_string (line 41) | def truncate_string(text: str | None, max_length: int = 100) -> str | None: FILE: packages/nvidia_nat_core/src/nat/utils/type_converter.py class ConvertException (line 29) | class ConvertException(Exception): class TypeConverter (line 33) | class TypeConverter: method __init__ (line 36) | def __init__(self, converters: list[Callable[[typing.Any], typing.Any]... method add_converter (line 56) | def add_converter(self, converter: Callable) -> None: method _convert (line 86) | def _convert(self, data: typing.Any, to_type: type[_T]) -> _T | None: method convert (line 119) | def convert(self, data: typing.Any, to_type: type[_T]) -> _T: method try_convert (line 150) | def try_convert(self, data: typing.Any, to_type: type[_T]) -> _T | typ... method _try_direct_conversion (line 177) | def _try_direct_conversion(self, data: typing.Any, target_root_type: t... method _try_indirect_convert (line 205) | def _try_indirect_convert(self, data: typing.Any, to_type: type[_T]) -... method _try_indirect_conversion (line 227) | def _try_indirect_conversion(self, data: typing.Any, to_type: type[_T]... method _maybe_warn_indirect (line 269) | def _maybe_warn_indirect(self, source_type: type, to_type: type): class GlobalTypeConverter (line 285) | class GlobalTypeConverter: method get (line 289) | def get() -> TypeConverter: method register_converter (line 293) | def register_converter(converter: Callable) -> None: method convert (line 297) | def convert(data, to_type: type[_T]) -> _T: method try_convert (line 301) | def try_convert(data: typing.Any, to_type: type[_T]) -> _T | typing.Any: function _text_io_wrapper_to_string (line 308) | def _text_io_wrapper_to_string(data: TextIOWrapper) -> str: FILE: packages/nvidia_nat_core/src/nat/utils/type_utils.py function is_valid_json (line 40) | def is_valid_json(string): function override (line 56) | def override(func): class DecomposedType (line 60) | class DecomposedType: method __init__ (line 62) | def __init__(self, original: type): method origin (line 71) | def origin(self): method args (line 86) | def args(self): method root (line 101) | def root(self): method is_empty (line 115) | def is_empty(self): method is_class (line 128) | def is_class(self): method is_generic (line 143) | def is_generic(self): method is_annotated (line 158) | def is_annotated(self): method is_union (line 173) | def is_union(self): method is_async_generator (line 188) | def is_async_generator(self): method is_optional (line 207) | def is_optional(self): method has_base_type (line 222) | def has_base_type(self): method get_optional_type (line 229) | def get_optional_type(self) -> "DecomposedType": method get_annotated_type (line 259) | def get_annotated_type(self) -> "DecomposedType": method get_async_generator_type (line 280) | def get_async_generator_type(self) -> "DecomposedType": method get_base_type (line 301) | def get_base_type(self) -> "DecomposedType": method is_subtype (line 321) | def is_subtype(self, class_or_tuple: ClassInfo) -> bool: method is_instance (line 346) | def is_instance(self, instance: typing.Any) -> bool: method get_pydantic_schema (line 366) | def get_pydantic_schema(self, method extract_generic_parameters_from_class (line 408) | def extract_generic_parameters_from_class(target_class: type, method is_type_compatible (line 453) | def is_type_compatible(source_type: type, target_type: type) -> bool: FILE: packages/nvidia_nat_core/src/nat/utils/url_utils.py function url_join (line 17) | def url_join(*parts): FILE: packages/nvidia_nat_core/tests/eval/test_eval_callbacks.py class TestEvalCallbackManager (line 27) | class TestEvalCallbackManager: method test_on_eval_complete (line 29) | def test_on_eval_complete(self): method test_on_dataset_loaded (line 37) | def test_on_dataset_loaded(self): method test_multiple_callbacks (line 45) | def test_multiple_callbacks(self): method test_callback_error_is_swallowed (line 56) | def test_callback_error_is_swallowed(self): method test_empty_manager (line 63) | def test_empty_manager(self): method test_optional_sync_hooks (line 67) | def test_optional_sync_hooks(self): method test_optional_async_hooks (line 81) | async def test_optional_async_hooks(self): method test_evaluation_context_optional (line 98) | def test_evaluation_context_optional(self): FILE: packages/nvidia_nat_core/tests/nat/authentication/test_api_key_auth.py function make_config (line 39) | def make_config( function test_config_valid_bearer (line 58) | def test_config_valid_bearer(): function test_config_valid_x_api_key (line 66) | def test_config_valid_x_api_key(): function test_config_valid_custom (line 75) | def test_config_valid_custom(): function test_config_invalid_raw_key (line 86) | def test_config_invalid_raw_key(bad_key): function test_config_invalid_header_name_format (line 91) | def test_config_invalid_header_name_format(): function test_config_invalid_header_prefix_nonascii (line 96) | def test_config_invalid_header_prefix_nonascii(): function test_construct_header_bearer (line 104) | async def test_construct_header_bearer(monkeypatch: pytest.MonkeyPatch): function test_construct_header_x_api_key (line 122) | async def test_construct_header_x_api_key(): function test_construct_header_custom (line 144) | async def test_construct_header_custom(): FILE: packages/nvidia_nat_core/tests/nat/authentication/test_bearer_token_validator.py function rsa_private_pem (line 31) | def rsa_private_pem() -> str: function jwks_from_private (line 43) | def jwks_from_private(rsa_private_pem: str) -> dict[str, Any]: function _make_jwt (line 76) | def _make_jwt( class _MockHTTPResponse (line 105) | class _MockHTTPResponse: method __init__ (line 107) | def __init__(self, json_data: dict[str, Any], status: int = 200): method json (line 111) | def json(self) -> dict[str, Any]: method raise_for_status (line 114) | def raise_for_status(self): class _MockAsyncHTTPClient (line 119) | class _MockAsyncHTTPClient: method __init__ (line 121) | def __init__(self, *args, **kwargs): method __aenter__ (line 124) | async def __aenter__(self): method __aexit__ (line 127) | async def __aexit__(self, exc_type, exc, tb): method get (line 130) | async def get(self, url: str, *args, **kwargs): class _MockAsyncOAuth2Client (line 141) | class _MockAsyncOAuth2Client: method __init__ (line 146) | def __init__(self, *args, **kwargs): method __aenter__ (line 149) | async def __aenter__(self): method __aexit__ (line 152) | async def __aexit__(self, exc_type, exc, tb): method introspect_token (line 155) | async def introspect_token(self, endpoint: str, token: str, token_type... function patch_httpx_and_oauth (line 161) | def patch_httpx_and_oauth(monkeypatch, jwks_from_private): function validator_with_discovery (line 190) | def validator_with_discovery(): function validator_with_jwks (line 202) | def validator_with_jwks(): function validator_opaque (line 214) | def validator_opaque(): function validator_both (line 228) | def validator_both(): function test_jwt_happy_path_via_discovery (line 243) | async def test_jwt_happy_path_via_discovery(rsa_private_pem): function test_jwt_wrong_audience_rejected (line 261) | async def test_jwt_wrong_audience_rejected(validator_with_jwks, rsa_priv... function test_jwt_insufficient_scopes_rejected (line 267) | async def test_jwt_insufficient_scopes_rejected(validator_with_jwks, rsa... function test_jwt_expired_token_rejected (line 275) | async def test_jwt_expired_token_rejected(validator_with_jwks, rsa_priva... function test_opaque_happy_path (line 284) | async def test_opaque_happy_path(validator_opaque): function test_opaque_missing_scope_rejected (line 308) | async def test_opaque_missing_scope_rejected(validator_opaque): function test_opaque_expired_token_rejected (line 324) | async def test_opaque_expired_token_rejected(validator_opaque): function test_routing_uses_jwt_when_three_segments (line 342) | async def test_routing_uses_jwt_when_three_segments(validator_both, rsa_... function test_routing_uses_opaque_when_non_jwt (line 348) | async def test_routing_uses_opaque_when_non_jwt(validator_both): FILE: packages/nvidia_nat_core/tests/nat/authentication/test_data_models.py function test_enum_values (line 74) | def test_enum_values(enum_member, expected_value): function test_authenticated_context_all_fields (line 82) | def test_authenticated_context_all_fields(): function test_authenticated_context_extra_forbidden (line 97) | def test_authenticated_context_extra_forbidden(): function test_credential_discriminator_parsing (line 132) | def test_credential_discriminator_parsing(payload, expected_cls): function test_credential_invalid_kind (line 139) | def test_credential_invalid_kind(): function _make_all_creds (line 147) | def _make_all_creds(): function test_as_requests_kwargs (line 158) | def test_as_requests_kwargs(): function test_attach_merges_in_place (line 175) | def test_attach_merges_in_place(): function test_is_expired (line 206) | def test_is_expired(delta, expected): function test_bearer_token_custom_header_and_scheme (line 215) | def test_bearer_token_custom_header_and_scheme(): FILE: packages/nvidia_nat_core/tests/nat/authentication/test_http_basic_auth_exchanger.py function _patch_context (line 31) | def _patch_context(monkeypatch: pytest.MonkeyPatch, callback): function test_success (line 47) | async def test_success(monkeypatch): function test_caching (line 75) | async def test_caching(monkeypatch): function test_missing_authorization_header (line 97) | async def test_missing_authorization_header(monkeypatch): function test_callback_exception_bubbles (line 111) | async def test_callback_exception_bubbles(monkeypatch): FILE: packages/nvidia_nat_core/tests/nat/authentication/test_oauth_exchanger.py function _patch_context (line 37) | def _patch_context( function cfg (line 51) | def cfg() -> OAuth2AuthCodeFlowProviderConfig: function _bearer_ctx (line 61) | def _bearer_ctx(token: str, expires_at: datetime) -> AuthenticatedContext: function test_config_redirect_uri_defaults (line 76) | def test_config_redirect_uri_defaults(): function test_config_redirect_uri_custom (line 87) | def test_config_redirect_uri_custom(cfg): function test_authenticate_success (line 95) | async def test_authenticate_success(monkeypatch, cfg): function test_authenticate_caches (line 122) | async def test_authenticate_caches(monkeypatch, cfg): function test_refresh_expired_token (line 144) | async def test_refresh_expired_token(monkeypatch, cfg): function test_refresh_fallback_to_callback (line 199) | async def test_refresh_fallback_to_callback(monkeypatch, cfg): function test_invalid_authorization_header (line 253) | async def test_invalid_authorization_header(monkeypatch, cfg): function test_callback_error (line 265) | async def test_callback_error(monkeypatch, cfg): FILE: packages/nvidia_nat_core/tests/nat/authentication/test_oauth_resource_server_config.py function base_config (line 24) | def base_config() -> OAuth2ResourceServerConfig: function _build_from (line 42) | def _build_from(base: OAuth2ResourceServerConfig, **updates) -> OAuth2Re... function test_issuer_url_valid (line 59) | def test_issuer_url_valid(base_config: OAuth2ResourceServerConfig, value... function test_issuer_url_invalid (line 72) | def test_issuer_url_invalid(base_config: OAuth2ResourceServerConfig, val... function test_scopes_valid (line 88) | def test_scopes_valid(base_config: OAuth2ResourceServerConfig, value): function test_scopes_invalid (line 101) | def test_scopes_invalid(base_config: OAuth2ResourceServerConfig, value): function test_audience_valid (line 117) | def test_audience_valid(base_config: OAuth2ResourceServerConfig, value): function test_audience_invalid (line 132) | def test_audience_invalid(base_config: OAuth2ResourceServerConfig, value): function test_jwks_uri_valid (line 148) | def test_jwks_uri_valid(base_config: OAuth2ResourceServerConfig, value): function test_jwks_uri_invalid (line 161) | def test_jwks_uri_invalid(base_config: OAuth2ResourceServerConfig, value): function test_discovery_url_valid (line 177) | def test_discovery_url_valid(base_config: OAuth2ResourceServerConfig, va... function test_discovery_url_invalid (line 189) | def test_discovery_url_invalid(base_config: OAuth2ResourceServerConfig, ... function test_introspection_endpoint_valid (line 206) | def test_introspection_endpoint_valid(base_config: OAuth2ResourceServerC... function test_introspection_endpoint_invalid_url (line 232) | def test_introspection_endpoint_invalid_url(base_config: OAuth2ResourceS... function test_introspection_endpoint_missing_credentials_invalid (line 250) | def test_introspection_endpoint_missing_credentials_invalid(base_config:... function test_client_id_valid_without_introspection (line 272) | def test_client_id_valid_without_introspection(base_config: OAuth2Resour... function test_client_id_invalid_with_introspection_when_counterpart_missing (line 284) | def test_client_id_invalid_with_introspection_when_counterpart_missing(b... function test_client_secret_valid_without_introspection (line 305) | def test_client_secret_valid_without_introspection(base_config: OAuth2Re... function test_client_secret_invalid_with_introspection_when_counterpart_missing (line 320) | def test_client_secret_invalid_with_introspection_when_counterpart_missi... FILE: packages/nvidia_nat_core/tests/nat/builder/test_builder.py class FunctionReturningFunctionConfig (line 83) | class FunctionReturningFunctionConfig(FunctionBaseConfig, name="fn_retur... class FunctionReturningInfoConfig (line 87) | class FunctionReturningInfoConfig(FunctionBaseConfig, name="fn_return_in... class FunctionReturningDerivedConfig (line 91) | class FunctionReturningDerivedConfig(FunctionBaseConfig, name="fn_return... class TLLMProviderConfig (line 95) | class TLLMProviderConfig(LLMBaseConfig, name="test_llm"): class TEmbedderProviderConfig (line 99) | class TEmbedderProviderConfig(EmbedderBaseConfig, name="test_embedder_pr... class TMemoryConfig (line 103) | class TMemoryConfig(MemoryBaseConfig, name="test_memory"): class TRetrieverProviderConfig (line 107) | class TRetrieverProviderConfig(RetrieverBaseConfig, name="test_retriever"): class TTelemetryExporterConfig (line 111) | class TTelemetryExporterConfig(TelemetryExporterBaseConfig, name="test_t... class TObjectStoreConfig (line 115) | class TObjectStoreConfig(ObjectStoreBaseConfig, name="test_object_store"): class TTTCStrategyConfig (line 119) | class TTTCStrategyConfig(TTCStrategyBaseConfig, name="test_ttc_strategy"): class TTrainerConfig (line 123) | class TTrainerConfig(TrainerConfig, name="test_trainer"): class TTrainerAdapterConfig (line 127) | class TTrainerAdapterConfig(TrainerAdapterConfig, name="test_trainer_ada... class TTrajectoryBuilderConfig (line 131) | class TTrajectoryBuilderConfig(TrajectoryBuilderConfig, name="test_traje... class FailingFunctionConfig (line 135) | class FailingFunctionConfig(FunctionBaseConfig, name="failing_function"): class IncludesFunctionGroupConfig (line 140) | class IncludesFunctionGroupConfig(FunctionGroupBaseConfig, name="test_in... class ExcludesFunctionGroupConfig (line 146) | class ExcludesFunctionGroupConfig(FunctionGroupBaseConfig, name="test_ex... class DefaultFunctionGroup (line 152) | class DefaultFunctionGroup(FunctionGroupBaseConfig, name="default_functi... class AllIncludesFunctionGroupConfig (line 158) | class AllIncludesFunctionGroupConfig(FunctionGroupBaseConfig, name="all_... class AllExcludesFunctionGroupConfig (line 164) | class AllExcludesFunctionGroupConfig(FunctionGroupBaseConfig, name="all_... class FailingFunctionGroupConfig (line 170) | class FailingFunctionGroupConfig(FunctionGroupBaseConfig, name="failing_... function _register (line 176) | async def _register(): function test_build (line 473) | async def test_build(): function test_add_function (line 490) | async def test_add_function(): function test_get_function (line 519) | async def test_get_function(): function test_get_function_config (line 530) | async def test_get_function_config(): function test_set_workflow (line 544) | async def test_set_workflow(): function test_get_workflow (line 578) | async def test_get_workflow(): function test_get_workflow_config (line 589) | async def test_get_workflow_config(): function test_get_tool (line 603) | async def test_get_tool(): function test_add_llm (line 631) | async def test_add_llm(): function test_get_llm (line 645) | async def test_get_llm(): function test_get_llm_config (line 673) | async def test_get_llm_config(): function test_add_embedder (line 687) | async def test_add_embedder(): function test_get_embedder (line 701) | async def test_get_embedder(): function test_get_embedder_config (line 729) | async def test_get_embedder_config(): function test_add_memory (line 743) | async def test_add_memory(): function test_get_memory (line 757) | async def test_get_memory(): function test_get_memory_config (line 771) | async def test_get_memory_config(): function test_add_retriever (line 785) | async def test_add_retriever(): function test_add_object_store (line 797) | async def test_add_object_store(): function test_get_object_store (line 809) | async def test_get_object_store(): function test_get_object_store_config (line 821) | async def test_get_object_store_config(): function test_get_retriever (line 835) | async def test_get_retriever(): function test_get_retriever_config (line 880) | async def test_get_retriever_config(): function test_add_ttc_strategy (line 894) | async def test_add_ttc_strategy(): function test_get_ttc_strategy_and_config (line 909) | async def test_get_ttc_strategy_and_config(): function test_add_trainer (line 943) | async def test_add_trainer(): function test_get_trainer (line 956) | async def test_get_trainer(): function test_get_trainer_config (line 976) | async def test_get_trainer_config(): function test_add_trainer_adapter (line 989) | async def test_add_trainer_adapter(): function test_get_trainer_adapter (line 1002) | async def test_get_trainer_adapter(): function test_get_trainer_adapter_config (line 1015) | async def test_get_trainer_adapter_config(): function test_add_trajectory_builder (line 1028) | async def test_add_trajectory_builder(): function test_get_trajectory_builder (line 1041) | async def test_get_trajectory_builder(): function test_get_trajectory_builder_config (line 1054) | async def test_get_trajectory_builder_config(): function test_built_config (line 1067) | async def test_built_config(): function test_add_function_group (line 1127) | async def test_add_function_group(): function test_get_function_group (line 1157) | async def test_get_function_group(): function test_get_function_group_config (line 1173) | async def test_get_function_group_config(): function test_function_group_included_functions (line 1191) | async def test_function_group_included_functions(): function test_function_group_excluded_functions (line 1211) | async def test_function_group_excluded_functions(): function test_function_group_empty_includes_and_excludes (line 1237) | async def test_function_group_empty_includes_and_excludes(): function test_function_group_all_includes (line 1257) | async def test_function_group_all_includes(): function test_function_group_all_excludes (line 1281) | async def test_function_group_all_excludes(): function test_function_group_name_conflicts (line 1304) | async def test_function_group_name_conflicts(): function test_function_group_dependencies_tracking (line 1316) | async def test_function_group_dependencies_tracking(): function test_function_group_integration_with_workflow (line 1329) | async def test_function_group_integration_with_workflow(): function test_function_group_config_validation (line 1363) | async def test_function_group_config_validation(): function test_function_group_add_function_validation (line 1381) | async def test_function_group_add_function_validation(): function test_function_group_get_excluded_functions (line 1413) | async def test_function_group_get_excluded_functions(): function test_function_group_invalid_include_configuration (line 1436) | async def test_function_group_invalid_include_configuration(): function test_function_group_invalid_exclude_configuration (line 1459) | async def test_function_group_invalid_exclude_configuration(): function test_function_group_get_config (line 1489) | async def test_function_group_get_config(): function test_function_group_function_execution (line 1500) | async def test_function_group_function_execution(): function test_function_group_custom_instance_name (line 1517) | async def test_function_group_custom_instance_name(): function test_add_telemetry_exporter (line 1542) | async def test_add_telemetry_exporter(): function caplog_fixture (line 1571) | def caplog_fixture(caplog): function mock_component_data (line 1578) | def mock_component_data(): function test_log_build_failure_helper_method (line 1588) | def test_log_build_failure_helper_method(caplog_fixture, mock_component_... function test_log_build_failure_workflow_helper_method (line 1614) | def test_log_build_failure_workflow_helper_method(caplog_fixture): function test_log_build_failure_no_completed_components (line 1634) | def test_log_build_failure_no_completed_components(caplog_fixture, mock_... function test_log_build_failure_no_remaining_components (line 1655) | def test_log_build_failure_no_remaining_components(caplog_fixture, mock_... function test_integration_error_logging_with_failing_function (line 1676) | async def test_integration_error_logging_with_failing_function(caplog_fi... function test_integration_error_logging_with_workflow_failure (line 1721) | async def test_integration_error_logging_with_workflow_failure(caplog_fi... class TMiddlewareConfig (line 1763) | class TMiddlewareConfig(MiddlewareBaseConfig, name="test_middleware"): function register_test_middleware (line 1768) | async def register_test_middleware(config: TMiddlewareConfig, b: Builder): function test_add_middleware (line 1793) | async def test_add_middleware(): function test_get_middleware (line 1806) | async def test_get_middleware(): function test_get_middleware_config (line 1819) | async def test_get_middleware_config(): function test_get_middlewares_batch (line 1832) | async def test_get_middlewares_batch(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_call_tracker_integration.py function test_llm_start_increments_call_tracker (line 22) | def test_llm_start_increments_call_tracker(): function test_non_llm_start_does_not_increment_tracker (line 57) | def test_non_llm_start_does_not_increment_tracker(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_component_utils.py function nested_nat_config_fixture (line 75) | def nested_nat_config_fixture(): function mock_env_vars_fixture (line 166) | def mock_env_vars_fixture(): function test_iterate_to_root (line 171) | def test_iterate_to_root(): function test_group_from_component (line 185) | def test_group_from_component(): function test_component_group_order (line 222) | def test_component_group_order(): function test_recursive_componentref_discovery (line 231) | def test_recursive_componentref_discovery(): function test_update_dependency_graph (line 310) | def test_update_dependency_graph(nested_nat_config: Config): function test_config_to_dependency_objects (line 344) | def test_config_to_dependency_objects(nested_nat_config: Config): function test_build_dependency_sequence (line 378) | def test_build_dependency_sequence(nested_nat_config: Config): function test_load_hierarchial_workflow (line 467) | async def test_load_hierarchial_workflow(nested_nat_config: Config): function test_finetuning_component_dependencies (line 478) | def test_finetuning_component_dependencies(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_context.py function test_has_manual_latency_sensitivity_false_by_default (line 20) | def test_has_manual_latency_sensitivity_false_by_default(): function test_has_manual_latency_sensitivity_true_when_pushed (line 30) | def test_has_manual_latency_sensitivity_true_when_pushed(): function test_has_manual_latency_sensitivity_false_after_pop (line 40) | def test_has_manual_latency_sensitivity_false_after_pop(): function test_has_manual_latency_sensitivity_nested (line 51) | def test_has_manual_latency_sensitivity_nested(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_evaluator.py function test_evaluator_info_allows_missing_evaluate_fn (line 21) | def test_evaluator_info_allows_missing_evaluate_fn(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_function.py class DummyConfig (line 32) | class DummyConfig(FunctionBaseConfig, name="dummy"): class LambdaFnConfig (line 36) | class LambdaFnConfig(FunctionBaseConfig, name="test_lambda"): class LambdaStreamFnConfig (line 40) | class LambdaStreamFnConfig(FunctionBaseConfig, name="test_lambda_stream"): class OrderedMiddlewareConfig (line 44) | class OrderedMiddlewareConfig(FunctionBaseConfig, name="test_ordered_mid... class FinalMiddlewareConfig (line 48) | class FinalMiddlewareConfig(FunctionBaseConfig, name="test_final_middlew... function _register_lambda_fn (line 53) | async def _register_lambda_fn(): function _register_lambda_stream_fn (line 68) | async def _register_lambda_stream_fn(): function test_direct_create_with_lambda (line 82) | async def test_direct_create_with_lambda(): function test_direct_create_with_class (line 93) | async def test_direct_create_with_class(): function test_functions_call_functions (line 128) | async def test_functions_call_functions(): function test_functions_single_pod_input_pod_output (line 155) | async def test_functions_single_pod_input_pod_output(): function test_functions_single_dict_input_pod_output (line 183) | async def test_functions_single_dict_input_pod_output(): function test_functions_multi_pod_input_pod_output (line 209) | async def test_functions_multi_pod_input_pod_output(): function test_stream_functions_single_pod_input_pod_output (line 237) | async def test_stream_functions_single_pod_input_pod_output(): function test_stream_functions_single_dict_input_pod_output (line 308) | async def test_stream_functions_single_dict_input_pod_output(): function test_stream_functions_multi_pod_input_pod_output (line 358) | async def test_stream_functions_multi_pod_input_pod_output(): function test_auto_streaming_conversion (line 412) | async def test_auto_streaming_conversion(): function test_auto_streaming_conversion_multi_pod_input_pod_output (line 449) | async def test_auto_streaming_conversion_multi_pod_input_pod_output(): function test_manual_single_to_stream_conversion (line 492) | async def test_manual_single_to_stream_conversion(): function test_manual_stream_to_single_conversion (line 533) | async def test_manual_stream_to_single_conversion(): function test_ainvoke_output_type_conversion_failure (line 579) | async def test_ainvoke_output_type_conversion_failure(): function test_astream_output_type_conversion_failure (line 609) | async def test_astream_output_type_conversion_failure(): function test_ainvoke_primitive_type_conversion_failure (line 642) | async def test_ainvoke_primitive_type_conversion_failure(): function test_astream_primitive_type_conversion_failure (line 667) | async def test_astream_primitive_type_conversion_failure(): function test_workflow_instance_name_equals_constant (line 695) | async def test_workflow_instance_name_equals_constant(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_function_group.py class FunctionGroupTestConfig (line 27) | class FunctionGroupTestConfig(FunctionGroupBaseConfig, name="test_functi... class FunctionGroupTestIncludeConfig (line 31) | class FunctionGroupTestIncludeConfig(FunctionGroupBaseConfig, name="test... class FunctionGroupTestExcludeConfig (line 35) | class FunctionGroupTestExcludeConfig(FunctionGroupBaseConfig, name="test... function test_function_group_basic_initialization (line 39) | def test_function_group_basic_initialization(): function test_function_group_add_function_validation (line 63) | def test_function_group_add_function_validation(): function test_function_group_filter_fn (line 94) | async def test_function_group_filter_fn(): function test_function_group_per_function_filter (line 136) | async def test_function_group_per_function_filter(): function test_function_group_filter_interaction_with_include_config (line 172) | async def test_function_group_filter_interaction_with_include_config(): function test_function_group_filter_interaction_with_exclude_config (line 200) | async def test_function_group_filter_interaction_with_exclude_config(): function test_function_group_complex_filter_interaction (line 224) | async def test_function_group_complex_filter_interaction(): function test_function_group_set_filter_fn (line 258) | async def test_function_group_set_filter_fn(): function test_function_group_set_per_function_filter_fn (line 287) | async def test_function_group_set_per_function_filter_fn(): function test_function_group_config_validation_errors (line 319) | async def test_function_group_config_validation_errors(): function test_function_group_exclude_config_validation_errors (line 339) | async def test_function_group_exclude_config_validation_errors(): function test_function_group_empty_filter_behavior (line 360) | async def test_function_group_empty_filter_behavior(): function test_function_group_filter_override_precedence (line 385) | async def test_function_group_filter_override_precedence(): function test_function_group_instance_name_defaults (line 417) | def test_function_group_instance_name_defaults(): function test_function_group_get_config (line 425) | def test_function_group_get_config(): function test_function_group_with_pydantic_input_schema (line 433) | def test_function_group_with_pydantic_input_schema(): function test_function_group_with_converters (line 455) | def test_function_group_with_converters(): function test_function_group_function_name_generation (line 478) | async def test_function_group_function_name_generation(): function test_function_group_both_include_and_exclude (line 502) | def test_function_group_both_include_and_exclude(): function test_function_group_empty_include_exclude (line 517) | async def test_function_group_empty_include_exclude(): function test_function_group_preserves_function_metadata (line 539) | async def test_function_group_preserves_function_metadata(): function test_function_group_lambda_function_creation (line 555) | def test_function_group_lambda_function_creation(): function test_function_group_get_excluded_functions_no_exclusions (line 573) | async def test_function_group_get_excluded_functions_no_exclusions(): function test_function_group_get_included_functions_no_includes (line 589) | async def test_function_group_get_included_functions_no_includes(): function test_function_group_per_function_filter_logic (line 606) | async def test_function_group_per_function_filter_logic(): function test_function_group_comprehensive_metadata (line 634) | async def test_function_group_comprehensive_metadata(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_function_info.py function _compare_dicts_partial (line 30) | def _compare_dicts_partial(test_dict: dict, valid_dict: dict): class SingleInputModel (line 47) | class SingleInputModel(BaseModel): class MultipleInputModel (line 51) | class MultipleInputModel(BaseModel): function fn_int_to_str (line 58) | async def fn_int_to_str(param: int) -> str: function fn_int_annotated_to_str (line 62) | async def fn_int_annotated_to_str(param: typing.Annotated[int, ...]) -> ... function fn_int_to_str_annotated (line 66) | async def fn_int_to_str_annotated(param: int) -> typing.Annotated[str, .... function fn_int_annotated_to_str_annotated (line 70) | async def fn_int_annotated_to_str_annotated(param: typing.Annotated[int,... function fn_int_to_str_stream (line 75) | async def fn_int_to_str_stream(param: int) -> AsyncGenerator[str]: function fn_int_annotated_to_str_stream (line 79) | async def fn_int_annotated_to_str_stream(param: typing.Annotated[int, ..... function fn_int_to_str_annotated_stream (line 83) | async def fn_int_to_str_annotated_stream(param: int) -> typing.Annotated... function fn_int_annotated_to_str_annotated_stream (line 87) | async def fn_int_annotated_to_str_annotated_stream( function fn_multiple_args_to_str (line 93) | async def fn_multiple_args_to_str(param1: int, param2: MultipleInputMode... function fn_multiple_args_annotated_to_str (line 97) | async def fn_multiple_args_annotated_to_str(param1: typing.Annotated[int... function fn_multiple_args_to_str_annotated (line 102) | async def fn_multiple_args_to_str_annotated(param1: int, param2: Multipl... function fn_multiple_args_annotated_to_str_annotated (line 106) | async def fn_multiple_args_annotated_to_str_annotated( function fn_multiple_args_to_str_stream (line 113) | async def fn_multiple_args_to_str_stream(param1: int, param2: MultipleIn... function fn_multiple_args_annotated_to_str_stream (line 117) | async def fn_multiple_args_annotated_to_str_stream( function fn_multiple_args_to_str_annotated_stream (line 122) | async def fn_multiple_args_to_str_annotated_stream( function fn_multiple_args_annotated_to_str_annotated_stream (line 127) | async def fn_multiple_args_annotated_to_str_annotated_stream( function fn_union_to_str (line 134) | async def fn_union_to_str(param: int | float) -> str: function fn_int_to_union (line 138) | async def fn_int_to_union(param: int) -> str | float: function fn_union_to_union (line 145) | async def fn_union_to_union(param: int | float) -> str | float: function fn_union_annotated_to_str (line 152) | async def fn_union_annotated_to_str(param: typing.Annotated[int | float,... function fn_int_to_union_annotated (line 156) | async def fn_int_to_union_annotated(param: int) -> typing.Annotated[str ... function fn_union_to_str_stream (line 164) | async def fn_union_to_str_stream(param: int | float) -> AsyncGenerator[s... function fn_int_to_union_stream (line 168) | async def fn_int_to_union_stream(param: int) -> AsyncGenerator[str | flo... function fn_union_to_union_stream (line 175) | async def fn_union_to_union_stream(param: int | float) -> AsyncGenerator... function fn_union_annotated_to_str_stream (line 182) | async def fn_union_annotated_to_str_stream(param: typing.Annotated[int |... function fn_int_to_union_annotated_stream (line 186) | async def fn_int_to_union_annotated_stream(param: int) -> typing.Annotat... function fn_base_model_to_str (line 194) | async def fn_base_model_to_str(param: SingleInputModel) -> str: function fn_int_to_base_model (line 198) | async def fn_int_to_base_model(param: int) -> SingleInputModel: function fn_base_model_to_base_model (line 202) | async def fn_base_model_to_base_model(param: SingleInputModel) -> Single... function fn_base_model_to_str_stream (line 207) | async def fn_base_model_to_str_stream(param: SingleInputModel) -> AsyncG... function fn_int_to_base_model_stream (line 211) | async def fn_int_to_base_model_stream(param: int) -> AsyncGenerator[Sing... function fn_base_model_to_base_model_stream (line 215) | async def fn_base_model_to_base_model_stream(param: SingleInputModel) ->... function _build_schema_params (line 318) | def _build_schema_params(functions: list[tuple[list[Callable], dict, dic... function test_schema_from_function (line 391) | def test_schema_from_function(function: Callable, input_schema: dict, ou... function test_constructor (line 405) | def test_constructor(): function test_constructor_single_input_types (line 538) | def test_constructor_single_input_types(function: Callable, input_type: ... function test_constructor_stream_input_types (line 567) | def test_constructor_stream_input_types(function: Callable, input_type: ... function test_single_fn_bad_signatures (line 583) | def test_single_fn_bad_signatures(): function test_create_and_from_fn (line 662) | def test_create_and_from_fn(function: Callable, function test_create_and_from_fn_call (line 796) | async def test_create_and_from_fn_call(function: Callable, is_streaming:... function test_create_and_from_fn_description (line 827) | async def test_create_and_from_fn_description(): function test_create_and_from_fn_input_schema (line 836) | async def test_create_and_from_fn_input_schema(): function test_create_and_from_fn_converters (line 848) | async def test_create_and_from_fn_converters(): function test_create_output_schema (line 865) | async def test_create_output_schema(): function test_create_single_to_stream_conversion (line 879) | async def test_create_single_to_stream_conversion(): function test_create_stream_to_single_conversion (line 925) | async def test_create_stream_to_single_conversion(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_function_path_stack.py function test_function_path_stack_default_empty (line 20) | def test_function_path_stack_default_empty(): function test_function_path_stack_can_be_set (line 30) | def test_function_path_stack_can_be_set(): function test_push_active_function_updates_path_stack (line 39) | def test_push_active_function_updates_path_stack(): function test_context_function_path_property (line 69) | def test_context_function_path_property(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_interactive.py function test_human_prompt_text_creation (line 34) | def test_human_prompt_text_creation(): function test_human_prompt_binary_valid (line 44) | def test_human_prompt_binary_valid(): function test_human_prompt_binary_invalid (line 60) | def test_human_prompt_binary_invalid(): function test_human_response_discriminator_text (line 78) | def test_human_response_discriminator_text(): function test_prompt_user_input_text (line 94) | async def test_prompt_user_input_text(): function test_human_prompt_text_timeout_and_error_defaults (line 128) | def test_human_prompt_text_timeout_and_error_defaults(): function test_human_prompt_text_with_timeout_and_error (line 135) | def test_human_prompt_text_with_timeout_and_error(): function test_human_prompt_base_timeout_validation_gt_zero (line 148) | def test_human_prompt_base_timeout_validation_gt_zero(): FILE: packages/nvidia_nat_core/tests/nat/builder/test_intermediate_step_manager.py class _DummyFunction (line 37) | class _DummyFunction(InvocationNode): # what active_function.get() returns method __init__ (line 39) | def __init__(self, name="fn", fid=None, parent_id=None, parent_name=No... function ctx_state_fixture (line 52) | def ctx_state_fixture(): function output_steps_fixture (line 64) | def output_steps_fixture(): function ctx_fixture (line 69) | def ctx_fixture(ctx_state: ContextState): function mgr_fixture (line 74) | def mgr_fixture(ctx_state: ContextState, output_steps): function _payload (line 85) | def _payload(step_id=None, name="step", etype: IntermediateStepType = In... function test_context_returns_same_manager_instance (line 99) | def test_context_returns_same_manager_instance(ctx: Context): function test_start_pushes_event_and_tracks_open_step (line 125) | def test_start_pushes_event_and_tracks_open_step(mgr: IntermediateStepMa... function test_chunk_preserves_parent_id (line 139) | def test_chunk_preserves_parent_id(ctx: Context, mgr: IntermediateStepMa... function test_end_same_context_restores_parent (line 155) | def test_end_same_context_restores_parent(ctx: Context, mgr: Intermediat... function _end_in_thread (line 179) | def _end_in_thread(manager, payload): function test_end_other_thread_no_token_error (line 184) | def test_end_other_thread_no_token_error(mgr: IntermediateStepManager): function test_mismatched_chunk_logs_warning (line 197) | def test_mismatched_chunk_logs_warning(mgr: IntermediateStepManager, cap... function _nested_fn (line 205) | async def _nested_fn(mgr: IntermediateStepManager, to_call: list[str]): function _nested_fn_sync (line 217) | def _nested_fn_sync(mgr: IntermediateStepManager, to_call: list[str]): function test_async_nested (line 227) | async def test_async_nested(mgr: IntermediateStepManager, output_steps: ... function test_async_nested_with_coroutine (line 245) | async def test_async_nested_with_coroutine(mgr: IntermediateStepManager,... function test_async_with_task_end (line 273) | async def test_async_with_task_end(mgr: IntermediateStepManager, output_... function test_push_intermediate_steps_injects_steps_into_stream_without_updating_stack (line 331) | def test_push_intermediate_steps_injects_steps_into_stream_without_updat... function test_push_intermediate_steps_empty_list_no_op (line 381) | def test_push_intermediate_steps_empty_list_no_op(ctx_state: ContextStat... FILE: packages/nvidia_nat_core/tests/nat/builder/test_per_user_builder.py class PerUserInputSchema (line 35) | class PerUserInputSchema(BaseModel): class PerUserOutputSchema (line 39) | class PerUserOutputSchema(BaseModel): class SharedFunctionConfig (line 44) | class SharedFunctionConfig(FunctionBaseConfig, name="shared_fn"): class PerUserFunctionConfig (line 49) | class PerUserFunctionConfig(FunctionBaseConfig, name="per_user_fn"): class PerUserFunctionBConfig (line 54) | class PerUserFunctionBConfig(FunctionBaseConfig, name="per_user_fn_b"): class PerUserWorkflowConfig (line 59) | class PerUserWorkflowConfig(FunctionBaseConfig, name="per_user_workflow"): class SharedWorkflowConfig (line 64) | class SharedWorkflowConfig(FunctionBaseConfig, name=WORKFLOW_COMPONENT_N... class PerUserDependentFnConfig (line 69) | class PerUserDependentFnConfig(FunctionBaseConfig, name="per_user_depend... class SharedDependentFnConfig (line 74) | class SharedDependentFnConfig(FunctionBaseConfig, name="bad_shared_fn"): class CounterInput (line 80) | class CounterInput(BaseModel): class CounterOutput (line 84) | class CounterOutput(BaseModel): class PerUserCounterConfig (line 88) | class PerUserCounterConfig(FunctionBaseConfig, name="per_user_counter"): class PerUserCounterWorkflowConfig (line 93) | class PerUserCounterWorkflowConfig(FunctionBaseConfig, name="per_user_co... function register_components (line 100) | async def register_components(): function test_workflow_builder_skips_per_user_functions (line 197) | async def test_workflow_builder_skips_per_user_functions(): function test_workflow_builder_skips_per_user_workflow (line 221) | async def test_workflow_builder_skips_per_user_workflow(): function test_workflow_builder_builds_shared_workflow (line 235) | async def test_workflow_builder_builds_shared_workflow(): function test_workflow_builder_validates_shared_depends_on_per_user (line 247) | async def test_workflow_builder_validates_shared_depends_on_per_user(): function test_workflow_builder_validates_shared_fn_depends_on_per_user_function_group (line 274) | async def test_workflow_builder_validates_shared_fn_depends_on_per_user_... function test_workflow_builder_validates_shared_fg_depends_on_per_user_function (line 324) | async def test_workflow_builder_validates_shared_fg_depends_on_per_user_... function test_workflow_builder_validates_shared_fg_depends_on_per_user_fg (line 363) | async def test_workflow_builder_validates_shared_fg_depends_on_per_user_... function test_workflow_builder_validates_shared_workflow_depends_on_per_user_fg (line 418) | async def test_workflow_builder_validates_shared_workflow_depends_on_per... function test_per_user_workflow_builder_initialization (line 465) | async def test_per_user_workflow_builder_initialization(): function test_per_user_workflow_builder_populate_builds_per_user_functions (line 479) | async def test_per_user_workflow_builder_populate_builds_per_user_functi... function test_per_user_workflow_builder_populate_builds_per_user_workflow (line 504) | async def test_per_user_workflow_builder_populate_builds_per_user_workfl... function test_per_user_workflow_builder_delegates_to_shared_workflow (line 521) | async def test_per_user_workflow_builder_delegates_to_shared_workflow(): function test_per_user_workflow_builder_build_creates_workflow (line 539) | async def test_per_user_workflow_builder_build_creates_workflow(): function test_per_user_workflow_builder_build_merges_shared_and_per_user (line 564) | async def test_per_user_workflow_builder_build_merges_shared_and_per_use... function test_per_user_workflow_builder_from_config (line 583) | async def test_per_user_workflow_builder_from_config(): function test_per_user_function_can_call_shared_function (line 601) | async def test_per_user_function_can_call_shared_function(): function test_per_user_function_can_call_another_per_user_function (line 640) | async def test_per_user_function_can_call_another_per_user_function(): function test_per_user_workflow_builder_delegates_llm_access (line 663) | async def test_per_user_workflow_builder_delegates_llm_access(): function test_per_user_workflow_builder_multiple_users (line 686) | async def test_per_user_workflow_builder_multiple_users(): function test_per_user_workflow_builder_get_function_priority (line 719) | async def test_per_user_workflow_builder_get_function_priority(): function test_per_user_workflow_builder_build_with_entry_function (line 742) | async def test_per_user_workflow_builder_build_with_entry_function(): function test_per_user_workflow_builder_build_with_shared_entry_function (line 763) | async def test_per_user_workflow_builder_build_with_shared_entry_functio... function test_per_user_function_isolation_with_session_manager (line 788) | async def test_per_user_function_isolation_with_session_manager(): function test_per_user_builder_caching_with_session_manager (line 833) | async def test_per_user_builder_caching_with_session_manager(): function test_session_manager_schemas_for_per_user_workflow (line 861) | async def test_session_manager_schemas_for_per_user_workflow(): class FunctionGroupToolInput (line 890) | class FunctionGroupToolInput(BaseModel): class FunctionGroupToolOutput (line 894) | class FunctionGroupToolOutput(BaseModel): class SharedFunctionGroupConfig (line 898) | class SharedFunctionGroupConfig(FunctionGroupBaseConfig, name="shared_fu... class PerUserFunctionGroupConfig (line 903) | class PerUserFunctionGroupConfig(FunctionGroupBaseConfig, name="per_user... function test_register_per_user_function_group (line 908) | async def test_register_per_user_function_group(): function test_workflow_builder_skips_per_user_function_groups (line 939) | async def test_workflow_builder_skips_per_user_function_groups(): function test_per_user_builder_builds_per_user_function_groups (line 999) | async def test_per_user_builder_builds_per_user_function_groups(): function test_per_user_builder_function_groups_expose_functions (line 1045) | async def test_per_user_builder_function_groups_expose_functions(): function test_per_user_builder_get_function_group_delegates_to_shared (line 1101) | async def test_per_user_builder_get_function_group_delegates_to_shared(): function test_per_user_builder_get_function_group_config (line 1139) | async def test_per_user_builder_get_function_group_config(): function test_per_user_builder_build_merges_function_groups (line 1202) | async def test_per_user_builder_build_merges_function_groups(): function test_per_user_builder_get_tools_with_function_groups (line 1263) | async def test_per_user_builder_get_tools_with_function_groups(): function test_per_user_builder_populate_builds_function_groups_before_functions (line 1351) | async def test_per_user_builder_populate_builds_function_groups_before_f... FILE: packages/nvidia_nat_core/tests/nat/cli/cli_utils/test_config_override.py function fixture_base_config (line 24) | def fixture_base_config() -> dict: function test_layered_config_set_override (line 28) | def test_layered_config_set_override(base_config: dict): function test_layered_config_set_override_error (line 51) | def test_layered_config_set_override_error(base_config: dict): function test_layered_config_constructor_error (line 67) | def test_layered_config_constructor_error(base_config: dict): function test_config_casting (line 73) | def test_config_casting(): FILE: packages/nvidia_nat_core/tests/nat/cli/cli_utils/test_validation.py function do_register_test_workflow (line 26) | def do_register_test_workflow(register_test_workflow): function test_validate_config (line 32) | def test_validate_config(config_file: str): function test_validate_config_error (line 42) | def test_validate_config_error(test_data_dir: str, config_file_name: str... FILE: packages/nvidia_nat_core/tests/nat/cli/commands/test_validate.py function do_register_test_workflow (line 27) | def do_register_test_workflow(register_test_workflow): function test_validate_command (line 37) | def test_validate_command(test_data_dir: str, config_file_name: str, exp... FILE: packages/nvidia_nat_core/tests/nat/cli/commands/test_workflow_commands.py function test_get_repo_root (line 28) | def test_get_repo_root(project_dir: str): function test_get_nat_version_unknown (line 33) | def test_get_nat_version_unknown(mock_get_version): function test_get_nat_version_variants (line 49) | def test_get_nat_version_variants(mock_get_version, input_version, expec... function test_is_nat_version_prerelease (line 66) | def test_is_nat_version_prerelease(mock_get_version, input_version, expe... function test_get_nat_dependency (line 76) | def test_get_nat_dependency(mock_get_version, versioned, expected_dep): function test_nat_workflow_create (line 82) | def test_nat_workflow_create(tmp_path): function test_create_workflow_with_invalid_name (line 128) | def test_create_workflow_with_invalid_name(tmp_path): FILE: packages/nvidia_nat_core/tests/nat/cli/test_plugin_loader.py class TestPluginLoader (line 27) | class TestPluginLoader: method test_discover_and_load_valid_plugin (line 30) | def test_discover_and_load_valid_plugin(self): method test_skip_non_click_command (line 51) | def test_skip_non_click_command(self): method test_handle_import_error_gracefully (line 72) | def test_handle_import_error_gracefully(self): method test_handle_unexpected_error (line 94) | def test_handle_unexpected_error(self): method test_load_multiple_plugins (line 116) | def test_load_multiple_plugins(self): method test_load_click_group (line 144) | def test_load_click_group(self): class TestPluginLoaderIntegration (line 166) | class TestPluginLoaderIntegration: method test_core_commands_discovered (line 183) | def test_core_commands_discovered(self): method test_all_commands_together (line 193) | def test_all_commands_together(self): method test_command_aliases_created (line 207) | def test_command_aliases_created(self): FILE: packages/nvidia_nat_core/tests/nat/cli/test_register_workflow.py function test_add_registration_changed_hook (line 64) | def test_add_registration_changed_hook(registry: TypeRegistry): function test_register_function (line 85) | def test_register_function(registry: TypeRegistry): function test_register_llm_provider (line 104) | def test_register_llm_provider(registry: TypeRegistry): function test_register_llm_client (line 119) | def test_register_llm_client(registry: TypeRegistry): function test_register_embedder_provider (line 136) | def test_register_embedder_provider(registry: TypeRegistry): function test_register_embedder_client (line 151) | def test_register_embedder_client(registry: TypeRegistry): function test_register_memory_client (line 167) | def test_register_memory_client(registry: TypeRegistry): function test_register_object_store (line 195) | def test_register_object_store(registry: TypeRegistry): function test_register_tool_wrapper (line 211) | def test_register_tool_wrapper(registry: TypeRegistry): function test_register_registry_handler (line 224) | def test_register_registry_handler(registry: TypeRegistry): function test_register_trainer (line 258) | def test_register_trainer(registry: TypeRegistry): function test_register_trainer_adapter (line 277) | def test_register_trainer_adapter(registry: TypeRegistry): function test_register_trajectory_builder (line 296) | def test_register_trajectory_builder(registry: TypeRegistry): function test_register_per_user_function_with_single_output (line 315) | def test_register_per_user_function_with_single_output(registry: TypeReg... function test_register_per_user_function_with_streaming (line 349) | def test_register_per_user_function_with_streaming(registry: TypeRegistry): function test_register_per_user_function_with_both_outputs (line 380) | def test_register_per_user_function_with_both_outputs(registry: TypeRegi... function test_register_per_user_function_missing_output_schema (line 415) | def test_register_per_user_function_missing_output_schema(registry: Type... function test_register_per_user_function_missing_input_schema (line 439) | def test_register_per_user_function_missing_input_schema(registry: TypeR... function test_register_per_user_function_vs_regular_function (line 463) | def test_register_per_user_function_vs_regular_function(registry: TypeRe... function test_register_per_user_function_with_framework_wrappers (line 512) | def test_register_per_user_function_with_framework_wrappers(registry: Ty... function test_register_per_user_function_with_simple_input_type (line 545) | def test_register_per_user_function_with_simple_input_type(registry: Typ... function test_register_per_user_function_with_simple_output_type (line 580) | def test_register_per_user_function_with_simple_output_type(registry: Ty... function test_register_per_user_function_with_all_simple_types (line 615) | def test_register_per_user_function_with_all_simple_types(registry: Type... function test_register_per_user_function_pydantic_model_unchanged (line 651) | def test_register_per_user_function_pydantic_model_unchanged(registry: T... function test_register_per_user_function_with_complex_simple_type (line 681) | def test_register_per_user_function_with_complex_simple_type(registry: T... FILE: packages/nvidia_nat_core/tests/nat/cli/test_type_registry.py function test_register_function (line 24) | def test_register_function(registry: TypeRegistry): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_auth_payload.py class TestAuthMethodEnum (line 32) | class TestAuthMethodEnum: method test_values (line 34) | def test_values(self): method test_membership (line 39) | def test_membership(self): class TestJwtAuthPayload (line 43) | class TestJwtAuthPayload: method test_valid_construction (line 45) | def test_valid_construction(self): method test_wrong_method_rejected (line 50) | def test_wrong_method_rejected(self): method test_extra_fields_rejected (line 54) | def test_extra_fields_rejected(self): method test_missing_token_rejected (line 58) | def test_missing_token_rejected(self): class TestApiKeyAuthPayload (line 63) | class TestApiKeyAuthPayload: method test_valid_construction (line 65) | def test_valid_construction(self): method test_wrong_method_rejected (line 70) | def test_wrong_method_rejected(self): method test_extra_fields_rejected (line 74) | def test_extra_fields_rejected(self): class TestBasicAuthPayload (line 79) | class TestBasicAuthPayload: method test_valid_construction (line 81) | def test_valid_construction(self): method test_wrong_method_rejected (line 87) | def test_wrong_method_rejected(self): method test_extra_fields_rejected (line 91) | def test_extra_fields_rejected(self): method test_missing_username_rejected (line 95) | def test_missing_username_rejected(self): method test_missing_password_rejected (line 99) | def test_missing_password_rejected(self): class TestAuthPayloadDiscriminator (line 104) | class TestAuthPayloadDiscriminator: method _parse (line 109) | def _parse(self, data: dict) -> AuthPayload: method test_routes_to_jwt (line 112) | def test_routes_to_jwt(self): method test_routes_to_api_key (line 116) | def test_routes_to_api_key(self): method test_routes_to_basic (line 120) | def test_routes_to_basic(self): method test_unknown_method_rejected (line 124) | def test_unknown_method_rejected(self): method test_missing_method_rejected (line 128) | def test_missing_method_rejected(self): class TestWebSocketAuthMessage (line 133) | class TestWebSocketAuthMessage: method test_valid_jwt_message (line 135) | def test_valid_jwt_message(self): method test_valid_api_key_message (line 143) | def test_valid_api_key_message(self): method test_valid_basic_message (line 150) | def test_valid_basic_message(self): method test_wrong_type_rejected (line 157) | def test_wrong_type_rejected(self): method test_extra_fields_rejected (line 164) | def test_extra_fields_rejected(self): method test_missing_payload_rejected (line 172) | def test_missing_payload_rejected(self): method test_from_raw_dict_with_discriminator (line 176) | def test_from_raw_dict_with_discriminator(self): class TestWebSocketAuthResponseMessage (line 188) | class TestWebSocketAuthResponseMessage: method test_success_response (line 190) | def test_success_response(self): method test_failure_response (line 197) | def test_failure_response(self): method test_extra_fields_rejected (line 206) | def test_extra_fields_rejected(self): method test_type_defaults_to_auth_response (line 210) | def test_type_defaults_to_auth_response(self): method test_invalid_status_rejected (line 214) | def test_invalid_status_rejected(self): method test_serialization_roundtrip (line 218) | def test_serialization_roundtrip(self): method test_error_serialization_roundtrip (line 228) | def test_error_serialization_roundtrip(self): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_common.py class ԊashableTĕstModel (line 28) | class ԊashableTĕstModel(common.HashableBaseModel): # noqa: PLC2401 allo... function test_hashable_base_model_is_hashable (line 36) | def test_hashable_base_model_is_hashable(): function test_hashable_base_model_write_json_schema (line 48) | def test_hashable_base_model_write_json_schema(tmp_path: Path): function test_subclass_depth (line 60) | def test_subclass_depth(): function test_type_discriminator (line 88) | def test_type_discriminator(v: typing.Any, expected_value: str | None): class TestTypedBaseModelInheritance (line 92) | class TestTypedBaseModelInheritance: method test_simple_inheritance_static_type (line 95) | def test_simple_inheritance_static_type(self): method test_instance_type_field_correct (line 112) | def test_instance_type_field_correct(self): method test_no_cross_contamination (line 129) | def test_no_cross_contamination(self): method test_mixin_inheritance_patterns (line 156) | def test_mixin_inheritance_patterns(self): method test_deep_inheritance_chains (line 192) | def test_deep_inheritance_chains(self): method test_type_field_assignment (line 218) | def test_type_field_assignment(self): method test_unnamed_class_handling (line 236) | def test_unnamed_class_handling(self): method test_model_post_init_behavior (line 249) | def test_model_post_init_behavior(self): method test_json_schema_generation_basic (line 263) | def test_json_schema_generation_basic(self): method test_json_schema_generation_multiple_components (line 288) | def test_json_schema_generation_multiple_components(self): method test_json_schema_generation_unnamed_component (line 307) | def test_json_schema_generation_unnamed_component(self): method test_json_schema_generation_mixin_inheritance (line 318) | def test_json_schema_generation_mixin_inheritance(self): method test_json_schema_consistency_with_runtime (line 343) | def test_json_schema_consistency_with_runtime(self): method test_json_schema_field_metadata_preserved (line 368) | def test_json_schema_field_metadata_preserved(self): method test_json_schema_deep_inheritance (line 407) | def test_json_schema_deep_inheritance(self): class ModelWithSecret (line 429) | class ModelWithSecret(pydantic.BaseModel): function test_get_secret_value (line 440) | def test_get_secret_value(input_value: str | pydantic.SecretStr, expecte... function test_optional_secret_str (line 452) | def test_optional_secret_str(): function test_optional_secret_str_none (line 467) | def test_optional_secret_str_none(): function test_set_secret_from_env (line 482) | def test_set_secret_from_env(initial_value: str | None): function test_set_secret_from_env_unset (line 492) | def test_set_secret_from_env_unset(initial_value: str | None): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_component_ref.py function test_generate_instance_id (line 35) | def test_generate_instance_id(): function test_component_ref_type_checks (line 57) | def test_component_ref_type_checks(): function test_component_ref_pydantic_validation (line 78) | def test_component_ref_pydantic_validation(): function test_component_ref_interface (line 102) | def test_component_ref_interface(): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_config.py function do_register_test_workflow (line 27) | def do_register_test_workflow(register_test_workflow): function test_nat_config_print_summary (line 32) | def test_nat_config_print_summary(workflow_config: WorkflowTestConfig): function test_invalid_config_path (line 47) | def test_invalid_config_path(): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_gated_field_mixin.py function gpt_pattern (line 28) | def gpt_pattern(): function claude_pattern (line 33) | def claude_pattern(): function llama_pattern (line 38) | def llama_pattern(): function gpt4_pattern (line 43) | def gpt4_pattern(): function gpt3_pattern (line 48) | def gpt3_pattern(): class TestGatedFieldMixin (line 52) | class TestGatedFieldMixin: method test_selector_validation (line 68) | def test_selector_validation(self, test_case): method test_empty_model_keys_raises_error (line 84) | def test_empty_model_keys_raises_error(self): method test_supported_model_default (line 99) | def test_supported_model_default(self): method test_custom_model_keys_supported (line 114) | def test_custom_model_keys_supported(self): method test_unsupported_model_validation_error (line 129) | def test_unsupported_model_validation_error(self): method test_unsupported_model_none_value (line 144) | def test_unsupported_model_none_value(self): method test_first_key_supported (line 159) | def test_first_key_supported(self): method test_first_key_unsupported (line 176) | def test_first_key_unsupported(self): method test_numeric_model_values (line 193) | def test_numeric_model_values(self): method test_no_model_keys_fallback (line 209) | def test_no_model_keys_fallback(self): method test_find_blocking_key_edge_cases (line 223) | def test_find_blocking_key_edge_cases(self): method test_deep_inheritance_chain (line 239) | def test_deep_inheritance_chain(self, gpt_pattern, claude_pattern): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_interactive_http.py function test_execution_status_values (line 80) | def test_execution_status_values(): function test_execution_running_status (line 93) | def test_execution_running_status(): function test_execution_completed_status (line 99) | def test_execution_completed_status(): function test_execution_failed_status (line 105) | def test_execution_failed_status(): function test_execution_interaction_required_status_all_prompt_types (line 112) | def test_execution_interaction_required_status_all_prompt_types(prompt): function test_execution_oauth_required_status (line 128) | def test_execution_oauth_required_status(): function test_execution_status_serialization_roundtrip (line 139) | def test_execution_status_serialization_roundtrip(): function test_execution_accepted_interaction_all_prompt_types (line 158) | def test_execution_accepted_interaction_all_prompt_types(prompt): function test_execution_accepted_oauth (line 174) | def test_execution_accepted_oauth(): function test_interaction_response_request_all_types (line 192) | def test_interaction_response_request_all_types(response): function test_interaction_response_request_serialization_roundtrip (line 198) | def test_interaction_response_request_serialization_roundtrip(response): function test_stream_interaction_event_serialization_all_prompt_types (line 211) | def test_stream_interaction_event_serialization_all_prompt_types(prompt): function test_stream_oauth_event_serialization (line 234) | def test_stream_oauth_event_serialization(): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_optimizable.py class TestSearchSpaceSuggest (line 27) | class TestSearchSpaceSuggest: method test_prompt_not_supported (line 29) | def test_prompt_not_supported(self): method test_categorical_choice (line 36) | def test_categorical_choice(self): method test_integer_range (line 46) | def test_integer_range(self): method test_float_range (line 56) | def test_float_range(self): method test_suggest_type_hints_resolve_without_optuna (line 66) | def test_suggest_type_hints_resolve_without_optuna(self): class TestOptimizableField (line 72) | class TestOptimizableField: method test_basic_metadata_added (line 74) | def test_basic_metadata_added(self): method test_space_optional (line 84) | def test_space_optional(self): method test_preserves_user_extras_and_merges (line 93) | def test_preserves_user_extras_and_merges(self): method test_merge_conflict_overwrite (line 111) | def test_merge_conflict_overwrite(self): method test_merge_conflict_keep (line 129) | def test_merge_conflict_keep(self): method test_merge_conflict_error (line 147) | def test_merge_conflict_error(self): method test_json_schema_extra_type_validation (line 170) | def test_json_schema_extra_type_validation(self): class TestSearchSpaceToGridValues (line 188) | class TestSearchSpaceToGridValues: method test_prompt_not_supported (line 191) | def test_prompt_not_supported(self): method test_explicit_values (line 196) | def test_explicit_values(self): method test_integer_range_with_step (line 201) | def test_integer_range_with_step(self): method test_float_range_with_step (line 206) | def test_float_range_with_step(self): method test_range_without_step_raises_error (line 217) | def test_range_without_step_raises_error(self): method test_log_scale_not_supported_for_integer_ranges (line 222) | def test_log_scale_not_supported_for_integer_ranges(self): method test_log_scale_not_supported_for_float_ranges (line 227) | def test_log_scale_not_supported_for_float_ranges(self): method test_missing_low_high_raises_error (line 232) | def test_missing_low_high_raises_error(self): method test_categorical_values_returned_as_list (line 237) | def test_categorical_values_returned_as_list(self): method test_small_float_step (line 242) | def test_small_float_step(self): method test_integer_range_with_non_integral_step_returns_floats (line 250) | def test_integer_range_with_non_integral_step_returns_floats(self): method test_integer_range_with_negative_step_raises_error (line 261) | def test_integer_range_with_negative_step_raises_error(self): method test_integer_range_with_zero_step_raises_error (line 267) | def test_integer_range_with_zero_step_raises_error(self): method test_integer_range_with_float_integral_step_works (line 273) | def test_integer_range_with_float_integral_step_works(self): class TestSearchSpaceValidation (line 280) | class TestSearchSpaceValidation: method test_prompt_with_low_high_raises_error (line 283) | def test_prompt_with_low_high_raises_error(self): method test_prompt_with_only_low_raises_error (line 288) | def test_prompt_with_only_low_raises_error(self): method test_prompt_with_only_high_raises_error (line 293) | def test_prompt_with_only_high_raises_error(self): method test_prompt_with_log_raises_error (line 298) | def test_prompt_with_log_raises_error(self): method test_prompt_with_step_raises_error (line 303) | def test_prompt_with_step_raises_error(self): method test_empty_values_raises_error (line 308) | def test_empty_values_raises_error(self): method test_low_equals_high_raises_error (line 313) | def test_low_equals_high_raises_error(self): method test_low_greater_than_high_raises_error (line 318) | def test_low_greater_than_high_raises_error(self): method test_valid_prompt_space (line 323) | def test_valid_prompt_space(self): method test_valid_values_space (line 330) | def test_valid_values_space(self): method test_valid_range_space (line 335) | def test_valid_range_space(self): class TestOptimizableMixin (line 343) | class TestOptimizableMixin: method test_default_and_assignment (line 345) | def test_default_and_assignment(self): method test_schema_contains_description (line 358) | def test_schema_contains_description(self): class TestSearchSpacePromptFormat (line 369) | class TestSearchSpacePromptFormat: method test_accepts_valid_formats (line 373) | def test_accepts_valid_formats(self, fmt): method test_accepts_none (line 377) | def test_accepts_none(self): method test_rejects_invalid_format (line 381) | def test_rejects_invalid_format(self): method test_prompt_format_ignored_for_numeric_space (line 385) | def test_prompt_format_ignored_for_numeric_space(self): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_optimizer_oracle_feedback.py class TestGAPromptOptimizationConfigOracleFeedback (line 26) | class TestGAPromptOptimizationConfigOracleFeedback: method test_oracle_feedback_fields_as_typed_attributes (line 29) | def test_oracle_feedback_fields_as_typed_attributes(self): method test_oracle_feedback_defaults (line 40) | def test_oracle_feedback_defaults(self): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_thinking_mixin.py class TestThinkingMixin (line 22) | class TestThinkingMixin: method test_supported_nvidia_thinking_prompts (line 25) | def test_supported_nvidia_thinking_prompts(self): method test_supported_llama_thinking_prompts_case_insensitive (line 36) | def test_supported_llama_thinking_prompts_case_insensitive(self): method test_supported_default_remains_none (line 65) | def test_supported_default_remains_none(self): method test_unsupported_model_allows_none (line 74) | def test_unsupported_model_allows_none(self): method test_unsupported_model_rejects_non_none_value (line 83) | def test_unsupported_model_rejects_non_none_value(self): method test_support_detected_on_model_key_when_model_name_missing (line 91) | def test_support_detected_on_model_key_when_model_name_missing(self): method test_support_detected_on_azure_deployment_when_others_missing (line 99) | def test_support_detected_on_azure_deployment_when_others_missing(self): method test_no_keys_present_defaults_supported_and_prompt_none (line 107) | def test_no_keys_present_defaults_supported_and_prompt_none(self): FILE: packages/nvidia_nat_core/tests/nat/data_models/test_user_info.py class TestBasicUserInfo (line 30) | class TestBasicUserInfo: method test_credential_derived_from_username_password (line 33) | def test_credential_derived_from_username_password(self): method test_password_is_secret (line 39) | def test_password_is_secret(self): method test_frozen (line 45) | def test_frozen(self): method test_empty_username_rejected (line 51) | def test_empty_username_rejected(self): method test_extra_fields_forbidden (line 56) | def test_extra_fields_forbidden(self): method test_different_users_produce_different_credentials (line 61) | def test_different_users_produce_different_credentials(self): method test_same_input_produces_same_credential (line 67) | def test_same_input_produces_same_credential(self): class TestJwtUserInfo (line 74) | class TestJwtUserInfo: method test_identity_claim_prefers_sub (line 77) | def test_identity_claim_prefers_sub(self): method test_identity_claim_falls_back_to_email (line 89) | def test_identity_claim_falls_back_to_email(self): method test_identity_claim_falls_back_to_preferred_username (line 100) | def test_identity_claim_falls_back_to_preferred_username(self): method test_identity_claim_returns_none_when_empty (line 108) | def test_identity_claim_returns_none_when_empty(self): method test_identity_claim_ignores_whitespace_only (line 113) | def test_identity_claim_ignores_whitespace_only(self): method test_identity_claim_strips_whitespace (line 118) | def test_identity_claim_strips_whitespace(self): method test_frozen (line 123) | def test_frozen(self): class TestUserInfoFromBasicUser (line 130) | class TestUserInfoFromBasicUser: method test_get_user_id_returns_deterministic_uuid (line 133) | def test_get_user_id_returns_deterministic_uuid(self): method test_same_basic_user_same_uuid (line 139) | def test_same_basic_user_same_uuid(self): method test_different_basic_users_different_uuids (line 145) | def test_different_basic_users_different_uuids(self): method test_get_user_details_returns_basic_user (line 151) | def test_get_user_details_returns_basic_user(self): method test_uuid_is_valid (line 157) | def test_uuid_is_valid(self): class TestUserInfoFromApiKey (line 164) | class TestUserInfoFromApiKey: method test_deterministic_uuid_from_api_key (line 167) | def test_deterministic_uuid_from_api_key(self): method test_same_key_same_uuid (line 173) | def test_same_key_same_uuid(self): method test_different_keys_different_uuids (line 179) | def test_different_keys_different_uuids(self): method test_get_user_details_returns_api_key_string (line 185) | def test_get_user_details_returns_api_key_string(self): method test_api_key_uuid_matches_cookie_for_same_value (line 190) | def test_api_key_uuid_matches_cookie_for_same_value(self): method test_uuid_is_valid (line 196) | def test_uuid_is_valid(self): class TestUserInfoFromSessionCookie (line 203) | class TestUserInfoFromSessionCookie: method test_deterministic_uuid_from_cookie (line 206) | def test_deterministic_uuid_from_cookie(self): method test_same_cookie_same_uuid (line 212) | def test_same_cookie_same_uuid(self): method test_different_cookies_different_uuids (line 218) | def test_different_cookies_different_uuids(self): method test_get_user_details_returns_cookie_string (line 224) | def test_get_user_details_returns_cookie_string(self): class TestUserInfoFromJwt (line 230) | class TestUserInfoFromJwt: method _jwt_info (line 233) | def _jwt_info(self, **overrides) -> JwtUserInfo: method test_deterministic_uuid_from_jwt (line 242) | def test_deterministic_uuid_from_jwt(self): method test_same_jwt_same_uuid (line 249) | def test_same_jwt_same_uuid(self): method test_different_identity_claims_different_uuids (line 256) | def test_different_identity_claims_different_uuids(self): method test_get_user_details_returns_jwt_info (line 262) | def test_get_user_details_returns_jwt_info(self): method test_raises_without_identity_claim (line 268) | def test_raises_without_identity_claim(self): class TestUserInfoNoSource (line 275) | class TestUserInfoNoSource: method test_empty_user_info_has_empty_user_id (line 278) | def test_empty_user_info_has_empty_user_id(self): method test_empty_user_info_details_none (line 283) | def test_empty_user_info_details_none(self): class TestUserInfoCrossSourceUniqueness (line 289) | class TestUserInfoCrossSourceUniqueness: method test_cookie_vs_basic_user_different_uuids (line 292) | def test_cookie_vs_basic_user_different_uuids(self): method test_cookie_vs_jwt_different_uuids (line 298) | def test_cookie_vs_jwt_different_uuids(self): class TestConsoleRunUserCreation (line 306) | class TestConsoleRunUserCreation: method test_console_run_user_produces_stable_id (line 309) | def test_console_run_user_produces_stable_id(self): method test_console_run_user_id_differs_from_eval_user (line 319) | def test_console_run_user_id_differs_from_eval_user(self): class TestIdentityClaimEdgeCases (line 328) | class TestIdentityClaimEdgeCases: method test_identity_claim_non_string_value_skipped (line 331) | def test_identity_claim_non_string_value_skipped(self): method test_identity_claim_empty_string_skipped (line 336) | def test_identity_claim_empty_string_skipped(self): class TestCredentialEncoding (line 342) | class TestCredentialEncoding: method test_credential_with_colon_in_password (line 345) | def test_credential_with_colon_in_password(self): method test_credential_with_unicode_characters (line 352) | def test_credential_with_unicode_characters(self): class TestFromJwtFactoryDetails (line 361) | class TestFromJwtFactoryDetails: method test_from_jwt_stores_jwt_info_accessible_via_get_user_details (line 364) | def test_from_jwt_stores_jwt_info_accessible_via_get_user_details(self): class TestBasicUserPostInit (line 372) | class TestBasicUserPostInit: method test_basic_user_with_special_chars_in_password (line 375) | def test_basic_user_with_special_chars_in_password(self): method test_basic_user_min_length_username_accepted (line 382) | def test_basic_user_min_length_username_accepted(self): class TestGetUserDetailsPrecedence (line 388) | class TestGetUserDetailsPrecedence: method test_get_user_details_returns_api_key_not_cookie_when_both_set (line 391) | def test_get_user_details_returns_api_key_not_cookie_when_both_set(self): class TestUserInfoFrozen (line 398) | class TestUserInfoFrozen: method test_cannot_set_basic_user_after_creation (line 401) | def test_cannot_set_basic_user_after_creation(self): class TestUserInfoFromPublicApiKey (line 408) | class TestUserInfoFromPublicApiKey: method test_deterministic_uuid_from_api_key_field (line 411) | def test_deterministic_uuid_from_api_key_field(self): method test_api_key_field_matches_from_api_key_factory (line 417) | def test_api_key_field_matches_from_api_key_factory(self): method test_api_key_secret_not_in_repr (line 423) | def test_api_key_secret_not_in_repr(self): method test_get_user_details_returns_raw_key_string (line 428) | def test_get_user_details_returns_raw_key_string(self): class TestSingleIdentitySourceValidator (line 434) | class TestSingleIdentitySourceValidator: method test_basic_user_and_api_key_raises (line 437) | def test_basic_user_and_api_key_raises(self): method test_zero_sources_allowed (line 445) | def test_zero_sources_allowed(self): method test_single_basic_user_allowed (line 450) | def test_single_basic_user_allowed(self): method test_single_api_key_allowed (line 455) | def test_single_api_key_allowed(self): class TestUserIdDerivationConsistency (line 461) | class TestUserIdDerivationConsistency: method test_api_key_field_matches_from_api_key_runtime (line 464) | def test_api_key_field_matches_from_api_key_runtime(self): method test_basic_user_matches_runtime_basic_auth (line 470) | def test_basic_user_matches_runtime_basic_auth(self): class TestSerializableSecretStrRoundTrip (line 480) | class TestSerializableSecretStrRoundTrip: method _round_trip (line 489) | def _round_trip(user: UserInfo) -> UserInfo: method test_basic_user_password_survives_round_trip (line 493) | def test_basic_user_password_survives_round_trip(self): method test_api_key_survives_round_trip (line 500) | def test_api_key_survives_round_trip(self): FILE: packages/nvidia_nat_core/tests/nat/experimental/test_decorator.py function clear_warnings (line 28) | def clear_warnings(): function test_sync_function_logs_warning_once (line 34) | def test_sync_function_logs_warning_once(caplog): function test_async_function_logs_warning_once (line 52) | async def test_async_function_logs_warning_once(caplog): function test_sync_generator_logs_and_yields (line 72) | def test_sync_generator_logs_and_yields(caplog): function test_async_generator_logs_and_yields (line 92) | async def test_async_generator_logs_and_yields(caplog): function test_issue_warning_idempotent (line 117) | def test_issue_warning_idempotent(caplog): function test_metadata_must_be_dict (line 128) | def test_metadata_must_be_dict(): function test_metadata_keys_must_be_str (line 136) | def test_metadata_keys_must_be_str(): FILE: packages/nvidia_nat_core/tests/nat/experimental/test_test_time_compute.py class DummyConfig (line 28) | class DummyConfig(TTCStrategyBaseConfig, name="dummy_ttc_config"): class DummyStrategy (line 32) | class DummyStrategy(StrategyBase): method __init__ (line 42) | def __init__(self, config: DummyConfig): method build_components (line 47) | async def build_components(self, builder): method ainvoke (line 51) | async def ainvoke(self, method supported_pipeline_types (line 66) | def supported_pipeline_types(self): method stage_type (line 69) | def stage_type(self): function test_pipeline_and_stage_enum_strings (line 76) | def test_pipeline_and_stage_enum_strings(): function test_ttc_item_accepts_extra_fields_and_preserves_data (line 87) | def test_ttc_item_accepts_extra_fields_and_preserves_data(): function test_set_pipeline_type_validation (line 108) | async def test_set_pipeline_type_validation(): function test_build_components_and_ainvoke_roundtrip (line 121) | async def test_build_components_and_ainvoke_roundtrip(): FILE: packages/nvidia_nat_core/tests/nat/finetuning/interfaces/test_trainer.py class ConcreteTrainer (line 37) | class ConcreteTrainer(Trainer): method __init__ (line 40) | def __init__(self, trainer_config: TrainerConfig, **kwargs): method run_epoch (line 45) | async def run_epoch(self, epoch: int, run_id: str) -> TrainingJobRef: method run (line 50) | async def run(self, num_epochs: int) -> list[TrainingJobStatus]: method get_metrics (line 64) | async def get_metrics(self, run_id: str) -> dict[str, Any]: method cleanup (line 68) | async def cleanup(self) -> None: method log_progress (line 72) | def log_progress(self, epoch: int, metrics: dict[str, Any], output_dir... class TestTrainer (line 77) | class TestTrainer: method trainer_config (line 81) | def trainer_config(self): method finetune_config (line 91) | def finetune_config(self, tmp_path): method trainer (line 107) | def trainer(self, trainer_config): method test_trainer_initialization (line 111) | async def test_trainer_initialization(self, trainer, trainer_config): method test_trainer_initialize (line 119) | async def test_trainer_initialize(self, trainer, finetune_config): method test_trainer_bind_components (line 137) | async def test_trainer_bind_components(self, trainer): method test_trainer_run_epoch (line 147) | async def test_trainer_run_epoch(self, trainer): method test_trainer_run (line 157) | async def test_trainer_run(self, trainer): method test_trainer_get_metrics (line 166) | async def test_trainer_get_metrics(self, trainer): method test_trainer_cleanup (line 174) | async def test_trainer_cleanup(self, trainer): method test_trainer_log_progress (line 179) | def test_trainer_log_progress(self, trainer): method test_trainer_run_validation_evaluation (line 189) | async def test_trainer_run_validation_evaluation(self, trainer, finetu... method test_trainer_run_validation_evaluation_error_handling (line 221) | async def test_trainer_run_validation_evaluation_error_handling(self, ... method test_trainer_calculate_validation_metrics (line 244) | def test_trainer_calculate_validation_metrics(self, trainer, trainer_c... method test_trainer_calculate_validation_metrics_no_rewards (line 264) | def test_trainer_calculate_validation_metrics_no_rewards(self, trainer... method test_trainer_apply_curriculum_learning_not_implemented (line 276) | async def test_trainer_apply_curriculum_learning_not_implemented(self,... method test_trainer_curriculum_state_initialization (line 283) | async def test_trainer_curriculum_state_initialization(self, trainer, ... method test_trainer_config_reward_field (line 302) | async def test_trainer_config_reward_field(self, trainer_config): method test_trainer_config_reward_field_default (line 308) | async def test_trainer_config_reward_field_default(self): FILE: packages/nvidia_nat_core/tests/nat/finetuning/interfaces/test_trainer_adapter.py class ConcreteTrainerAdapter (line 32) | class ConcreteTrainerAdapter(TrainerAdapter): method __init__ (line 35) | def __init__(self, adapter_config: TrainerAdapterConfig): method is_healthy (line 42) | async def is_healthy(self) -> bool: method submit (line 46) | async def submit(self, trajectories: TrajectoryCollection) -> Training... method status (line 58) | async def status(self, ref: TrainingJobRef) -> TrainingJobStatus: method wait_until_complete (line 68) | async def wait_until_complete(self, ref: TrainingJobRef, poll_interval... method log_progress (line 80) | def log_progress(self, ref: TrainingJobRef, metrics: dict[str, Any], o... class TestTrainerAdapter (line 85) | class TestTrainerAdapter: method adapter_config (line 89) | def adapter_config(self): method finetune_config (line 94) | def finetune_config(self, tmp_path): method adapter (line 110) | def adapter(self, adapter_config): method sample_trajectories (line 115) | def sample_trajectories(self): method test_adapter_initialization (line 124) | async def test_adapter_initialization(self, adapter, adapter_config): method test_adapter_initialize (line 129) | async def test_adapter_initialize(self, adapter, finetune_config): method test_adapter_is_healthy (line 134) | async def test_adapter_is_healthy(self, adapter): method test_adapter_submit (line 141) | async def test_adapter_submit(self, adapter, sample_trajectories): method test_adapter_submit_multiple_jobs (line 150) | async def test_adapter_submit_multiple_jobs(self, adapter, sample_traj... method test_adapter_status (line 158) | async def test_adapter_status(self, adapter, sample_trajectories): method test_adapter_wait_until_complete (line 167) | async def test_adapter_wait_until_complete(self, adapter, sample_traje... method test_adapter_log_progress (line 175) | async def test_adapter_log_progress(self, adapter, sample_trajectories): method test_adapter_job_metadata (line 187) | async def test_adapter_job_metadata(self, adapter, sample_trajectories): method test_adapter_status_with_unknown_job (line 194) | async def test_adapter_status_with_unknown_job(self, adapter): class TestTrainerAdapterErrorHandling (line 202) | class TestTrainerAdapterErrorHandling: method failing_adapter_config (line 206) | def failing_adapter_config(self): method finetune_config (line 211) | def finetune_config(self, tmp_path): class FailingTrainerAdapter (line 226) | class FailingTrainerAdapter(TrainerAdapter): method is_healthy (line 229) | async def is_healthy(self) -> bool: method submit (line 232) | async def submit(self, trajectories: TrajectoryCollection) -> Traini... method status (line 235) | async def status(self, ref: TrainingJobRef) -> TrainingJobStatus: method wait_until_complete (line 238) | async def wait_until_complete(self, ref: TrainingJobRef, poll_interv... method log_progress (line 241) | def log_progress(self, ref: TrainingJobRef, metrics: dict[str, Any],... method test_adapter_unhealthy_backend (line 244) | async def test_adapter_unhealthy_backend(self, failing_adapter_config): method test_adapter_submission_failure (line 250) | async def test_adapter_submission_failure(self, failing_adapter_config): method test_trainer_adapter_config_reward_field (line 258) | async def test_trainer_adapter_config_reward_field(self): method test_trainer_adapter_config_reward_field_default (line 269) | async def test_trainer_adapter_config_reward_field_default(self): FILE: packages/nvidia_nat_core/tests/nat/finetuning/interfaces/test_trajectory_builder.py class ConcreteTrajectoryBuilder (line 37) | class ConcreteTrajectoryBuilder(TrajectoryBuilder): method __init__ (line 40) | def __init__(self, trajectory_builder_config: TrajectoryBuilderConfig): method start_run (line 48) | async def start_run(self, run_id: str, meta: dict | None = None) -> None: method finalize (line 52) | async def finalize(self, run_id: str, meta: dict | None = None) -> Tra... method log_progress (line 69) | def log_progress(self, run_id: str, metrics: dict[str, Any], output_di... class TestTrajectoryBuilder (line 74) | class TestTrajectoryBuilder: method builder_config (line 78) | def builder_config(self): method finetune_config (line 83) | def finetune_config(self, tmp_path): method builder (line 99) | def builder(self, builder_config): method test_builder_initialization (line 103) | async def test_builder_initialization(self, builder, builder_config): method test_builder_initialize (line 108) | async def test_builder_initialize(self, builder, finetune_config): method test_builder_start_run (line 113) | async def test_builder_start_run(self, builder): method test_builder_start_run_without_meta (line 121) | async def test_builder_start_run_without_meta(self, builder): method test_builder_finalize (line 128) | async def test_builder_finalize(self, builder): method test_builder_finalize_with_empty_data (line 141) | async def test_builder_finalize_with_empty_data(self, builder): method test_builder_compute_reward (line 148) | async def test_builder_compute_reward(self, builder): method test_builder_compute_reward_with_none_score (line 157) | async def test_builder_compute_reward_with_none_score(self, builder): method test_builder_compute_reward_with_metadata (line 166) | async def test_builder_compute_reward_with_metadata(self, builder): method test_builder_log_progress (line 177) | def test_builder_log_progress(self, builder): method test_builder_run_eval (line 188) | async def test_builder_run_eval(self, mock_eval_run, builder, finetune... method test_builder_trajectory_structure (line 204) | async def test_builder_trajectory_structure(self, builder): class TestTrajectoryBuilderEdgeCases (line 223) | class TestTrajectoryBuilderEdgeCases: method builder_config (line 227) | def builder_config(self): method finetune_config (line 232) | def finetune_config(self, tmp_path): class FailingTrajectoryBuilder (line 247) | class FailingTrajectoryBuilder(TrajectoryBuilder): method start_run (line 250) | async def start_run(self, run_id: str, meta: dict | None = None) -> ... method finalize (line 253) | async def finalize(self, run_id: str, meta: dict | None = None) -> T... method log_progress (line 256) | def log_progress(self, run_id: str, metrics: dict[str, Any], output_... method test_builder_start_run_failure (line 259) | async def test_builder_start_run_failure(self, builder_config): method test_builder_finalize_failure (line 266) | async def test_builder_finalize_failure(self, builder_config): method test_builder_log_progress_failure (line 273) | async def test_builder_log_progress_failure(self, builder_config): method test_builder_multiple_runs (line 280) | async def test_builder_multiple_runs(self, builder_config): method test_builder_trajectory_with_logprobs (line 301) | async def test_builder_trajectory_with_logprobs(self, builder_config): method test_trajectory_builder_config_reward_field (line 315) | async def test_trajectory_builder_config_reward_field(self): method test_trajectory_builder_config_reward_field_default (line 326) | async def test_trajectory_builder_config_reward_field_default(self): FILE: packages/nvidia_nat_core/tests/nat/finetuning/utils/parsers/test_base_parser.py class TestParseToOpenAIMessages (line 25) | class TestParseToOpenAIMessages: method test_empty_steps (line 28) | def test_empty_steps(self): method test_unsupported_framework_is_skipped (line 33) | def test_unsupported_framework_is_skipped(self): method test_none_framework_is_skipped (line 42) | def test_none_framework_is_skipped(self): class TestValidateMessageSequence (line 50) | class TestValidateMessageSequence: method test_empty_messages (line 53) | def test_empty_messages(self): method test_valid_user_assistant_alternation (line 58) | def test_valid_user_assistant_alternation(self): method test_system_messages_at_beginning (line 73) | def test_system_messages_at_beginning(self): method test_system_message_after_non_system_raises_error (line 86) | def test_system_message_after_non_system_raises_error(self): method test_consecutive_user_messages_raises_error (line 93) | def test_consecutive_user_messages_raises_error(self): method test_consecutive_assistant_messages_raises_error (line 100) | def test_consecutive_assistant_messages_raises_error(self): method test_non_user_messages_at_start_are_concatenated (line 113) | def test_non_user_messages_at_start_are_concatenated(self): method test_user_and_non_user_messages_at_start_are_concatenated (line 131) | def test_user_and_non_user_messages_at_start_are_concatenated(self): method test_valid_with_tool_messages (line 149) | def test_valid_with_tool_messages(self): method test_system_then_non_user_at_start_are_concatenated (line 166) | def test_system_then_non_user_at_start_are_concatenated(self): method test_empty_content_in_non_user_messages (line 184) | def test_empty_content_in_non_user_messages(self): FILE: packages/nvidia_nat_core/tests/nat/front_ends/auth_flow_handlers/mock_oauth2_server.py class _Client (line 44) | class _Client: class _AuthCode (line 51) | class _AuthCode: class _DeviceCodeEntry (line 65) | class _DeviceCodeEntry: class _Token (line 75) | class _Token(BaseModel): function _pkce_verify (line 86) | def _pkce_verify(code_verifier: str, code_challenge: str, method: str) -... function _parse_basic_auth (line 96) | def _parse_basic_auth(auth_header: str | None) -> tuple[str, str] | None: class MockOAuth2Server (line 110) | class MockOAuth2Server: method __init__ (line 112) | def __init__(self, host: str = "localhost", port: int = 0) -> None: method register_client (line 126) | def register_client(self, *, client_id: str, client_secret: str | None... method base_url (line 135) | def base_url(self) -> str: method authorization_url (line 140) | def authorization_url(self) -> str: method token_url (line 143) | def token_url(self) -> str: method device_code_url (line 146) | def device_code_url(self) -> str: method start_server (line 150) | def start_server(self, *, threaded: bool = True, log_level: str = "err... method stop_server (line 167) | def stop_server(self): method __enter__ (line 173) | def __enter__(self): method __exit__ (line 177) | def __exit__(self, *exc): method _mount_routes (line 181) | def _mount_routes(self): method _handle_auth_code_grant (line 277) | def _handle_auth_code_grant( method _handle_device_code_grant (line 316) | def _handle_device_code_grant(self, client_id: str | None, device_code... method _generate_token (line 329) | def _generate_token(self, *, scope: str) -> _Token: FILE: packages/nvidia_nat_core/tests/nat/front_ends/auth_flow_handlers/test_console_flow_handler.py function _free_port (line 32) | def _free_port() -> int: class _TestHandler (line 38) | class _TestHandler(ConsoleAuthenticationFlowHandler): method __init__ (line 44) | def __init__(self, oauth_server: MockOAuth2Server): method construct_oauth_client (line 48) | def construct_oauth_client(self, cfg): method _start_redirect_server (line 64) | async def _start_redirect_server(self) -> None: method _stop_redirect_server (line 68) | async def _stop_redirect_server(self) -> None: function mock_server (line 77) | def mock_server() -> MockOAuth2Server: function test_oauth2_flow_in_process (line 87) | async def test_oauth2_flow_in_process(monkeypatch, mock_server): function test_console_oauth2_flow_error_handling (line 164) | async def test_console_oauth2_flow_error_handling(monkeypatch, mock_serv... FILE: packages/nvidia_nat_core/tests/nat/front_ends/auth_flow_handlers/test_http_flow_handler.py function _free_port (line 39) | def _free_port() -> int: function test_authenticate_raises_without_execution_context (line 48) | async def test_authenticate_raises_without_execution_context(): function test_authenticate_raises_for_unsupported_method (line 63) | async def test_authenticate_raises_for_unsupported_method(): class _HTTPFlowHandler (line 91) | class _HTTPFlowHandler(HTTPAuthenticationFlowHandler): method __init__ (line 94) | def __init__(self, oauth_server: MockOAuth2Server, **kwargs): method _create_oauth_client (line 98) | def _create_oauth_client(self, config): function mock_server (line 114) | def mock_server() -> MockOAuth2Server: function test_http_oauth2_flow_with_execution_context (line 121) | async def test_http_oauth2_flow_with_execution_context(monkeypatch, mock... function test_http_oauth2_flow_publishes_stream_event (line 216) | async def test_http_oauth2_flow_publishes_stream_event(monkeypatch, mock... FILE: packages/nvidia_nat_core/tests/nat/front_ends/auth_flow_handlers/test_oauth_security_tests.py function oauth_config (line 34) | def oauth_config() -> OAuth2AuthCodeFlowProviderConfig: function mock_server (line 46) | def mock_server(oauth_config) -> MockOAuth2Server: class TestOAuth2RedirectURIValidation (line 59) | class TestOAuth2RedirectURIValidation: method test_valid_redirect_uri (line 62) | async def test_valid_redirect_uri(self, mock_server, oauth_config): method test_invalid_redirect_uri (line 100) | async def test_invalid_redirect_uri(self, mock_server, oauth_config, m... method test_uri_validation_logic (line 195) | async def test_uri_validation_logic(self, mock_server, oauth_config, a... class TestOAuth2AuthorizationRequest (line 238) | class TestOAuth2AuthorizationRequest: method test_valid_response_type_code (line 241) | async def test_valid_response_type_code(self, mock_server, oauth_config): method test_scope_parameter_formatting (line 270) | async def test_scope_parameter_formatting(self, mock_server, oauth_con... method test_state_parameter_compliance (line 303) | async def test_state_parameter_compliance(self, mock_server, oauth_con... method test_validate_state_parameter_generation_and_usage (line 355) | async def test_validate_state_parameter_generation_and_usage(self, moc... class TestOAuth2ErrorHandlingAndRecovery (line 406) | class TestOAuth2ErrorHandlingAndRecovery: method test_invalid_request_handling (line 418) | async def test_invalid_request_handling(self, function test_authorization_code_security_handling (line 484) | async def test_authorization_code_security_handling(mock_server, class TestSecurityBestPractices (line 648) | class TestSecurityBestPractices: method test_validate_authentication_log_suppression (line 652) | async def test_validate_authentication_log_suppression(self, caplog): FILE: packages/nvidia_nat_core/tests/nat/front_ends/auth_flow_handlers/test_websocket_flow_handler.py function _free_port (line 36) | def _free_port() -> int: class _AuthHandler (line 42) | class _AuthHandler(WebSocketAuthenticationFlowHandler): method __init__ (line 48) | def __init__(self, oauth_server: MockOAuth2Server, **kwargs): method create_oauth_client (line 52) | def create_oauth_client(self, config): function mock_server (line 73) | def mock_server() -> MockOAuth2Server: function test_websocket_oauth2_flow (line 84) | async def test_websocket_oauth2_flow(monkeypatch, mock_server, tmp_path): function test_websocket_oauth2_flow_error_handling (line 183) | async def test_websocket_oauth2_flow_error_handling(monkeypatch, mock_se... FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/conftest.py function fixture_auto_set_env_vars (line 27) | async def fixture_auto_set_env_vars(setup_db, function patch_job_store_get_dask_client (line 35) | def patch_job_store_get_dask_client(dask_client: "DaskClient"): FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_execution_store.py function test_create_execution_returns_record_with_running_status (line 57) | async def test_create_execution_returns_record_with_running_status(): function test_get_returns_none_for_unknown_id (line 64) | async def test_get_returns_none_for_unknown_id(): function test_get_returns_created_record (line 70) | async def test_get_returns_created_record(): function test_set_interaction_required (line 82) | async def test_set_interaction_required(): function test_set_oauth_required (line 94) | async def test_set_oauth_required(): function test_set_running_clears_pending (line 105) | async def test_set_running_clears_pending(): function test_set_completed (line 117) | async def test_set_completed(): function test_set_failed (line 127) | async def test_set_failed(): function test_first_outcome_is_set_on_interaction_required (line 137) | async def test_first_outcome_is_set_on_interaction_required(): function test_first_outcome_is_set_on_completed (line 148) | async def test_first_outcome_is_set_on_completed(): function test_resolve_interaction_sets_future_result (line 160) | async def test_resolve_interaction_sets_future_result(): function test_resolve_interaction_all_types (line 176) | async def test_resolve_interaction_all_types(prompt, response): function test_resolve_interaction_raises_on_unknown_execution (line 190) | async def test_resolve_interaction_raises_on_unknown_execution(): function test_resolve_interaction_raises_on_wrong_interaction_id (line 196) | async def test_resolve_interaction_raises_on_wrong_interaction_id(): function test_resolve_interaction_raises_on_already_resolved (line 206) | async def test_resolve_interaction_raises_on_already_resolved(): function test_cleanup_expired_removes_old_completed (line 223) | async def test_cleanup_expired_removes_old_completed(): function test_cleanup_does_not_remove_running (line 233) | async def test_cleanup_does_not_remove_running(): function test_remove (line 242) | async def test_remove(): function test_set_interaction_required_raises_on_unknown (line 254) | async def test_set_interaction_required_raises_on_unknown(): function test_set_running_raises_on_unknown (line 260) | async def test_set_running_raises_on_unknown(): FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_fastapi_front_end_config.py function _test_model_instantiation (line 68) | def _test_model_instantiation(model_class, model_kwargs): function test_endpoint_base (line 92) | def test_endpoint_base(endpoint_kwargs: dict): function test_endpoint_base_invalid_method (line 96) | def test_endpoint_base_invalid_method(): function test_endpoint (line 103) | def test_endpoint(endpoint_kwargs: dict): function test_cross_origin_resource_sharing (line 109) | def test_cross_origin_resource_sharing(cors_kwargs: dict): function test_fast_api_front_end_config (line 124) | def test_fast_api_front_end_config(config_kwargs: dict): FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_fastapi_front_end_plugin.py class CustomWorker (line 48) | class CustomWorker(FastApiFrontEndPluginWorker): method add_routes (line 51) | async def add_routes(self, app: FastAPI, builder: WorkflowBuilder): function test_generate_and_openai_single (line 62) | async def test_generate_and_openai_single(fn_use_openai_api: bool): function test_generate_and_openai_stream (line 103) | async def test_generate_and_openai_stream(fn_use_openai_api: bool): function test_custom_endpoint (line 143) | async def test_custom_endpoint(): function test_specified_endpoints (line 157) | async def test_specified_endpoints(): function test_generate_async (line 187) | async def test_generate_async(dask_client: "DaskClient", fn_use_openai_a... function test_generate_async_propagates_headers (line 250) | async def test_generate_async_propagates_headers(dask_client: "DaskClien... function test_async_job_status_not_found (line 302) | async def test_async_job_status_not_found(): function test_static_file_endpoints (line 320) | async def test_static_file_endpoints(): function test_health_endpoint (line 383) | async def test_health_endpoint(): FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_job_store.py class _TestModel (line 33) | class _TestModel(BaseModel): function simple_job_function (line 37) | async def simple_job_function(x: int, y: int = 10) -> int: function failing_job_function (line 43) | async def failing_job_function() -> None: function test_job_store_init_with_engine (line 48) | async def test_job_store_init_with_engine(db_engine: "AsyncEngine", dask... function test_job_store_init_with_db_url (line 58) | async def test_job_store_init_with_db_url(db_url: str, dask_scheduler_ad... function test_job_store_init_missing_db_params (line 68) | def test_job_store_init_missing_db_params(dask_scheduler_address: str): function test_ensure_job_id_with_existing_id (line 76) | def test_ensure_job_id_with_existing_id(db_engine: "AsyncEngine", dask_s... function test_ensure_job_id_generates_new_id (line 87) | def test_ensure_job_id_generates_new_id(db_engine: "AsyncEngine", dask_s... function test_create_job_default_params (line 100) | async def test_create_job_default_params(db_engine: "AsyncEngine", dask_... function test_create_job_with_params (line 121) | async def test_create_job_with_params(db_engine: "AsyncEngine", dask_sch... function test_create_job_clamps_expiry (line 142) | async def test_create_job_clamps_expiry(db_engine: "AsyncEngine", dask_s... function test_submit_job_success (line 162) | async def test_submit_job_success(db_engine: "AsyncEngine", dask_schedul... function test_submit_job_with_sync_timeout (line 181) | async def test_submit_job_with_sync_timeout(db_engine: "AsyncEngine", da... function test_submit_job_with_kwargs (line 199) | async def test_submit_job_with_kwargs(db_engine: "AsyncEngine", dask_sch... function test_update_status_basic (line 219) | async def test_update_status_basic(db_engine: "AsyncEngine", dask_schedu... function test_update_status_with_error (line 244) | async def test_update_status_with_error(db_engine: "AsyncEngine", dask_s... function test_update_status_with_pydantic_output (line 263) | async def test_update_status_with_pydantic_output(db_engine: "AsyncEngin... function test_update_status_with_dict_output (line 286) | async def test_update_status_with_dict_output(db_engine: "AsyncEngine", ... function test_update_status_nonexistent_job (line 309) | async def test_update_status_nonexistent_job(db_engine: "AsyncEngine", d... function test_get_job_existing (line 321) | async def test_get_job_existing(db_engine: "AsyncEngine", dask_scheduler... function test_get_job_nonexistent (line 337) | async def test_get_job_nonexistent(db_engine: "AsyncEngine", dask_schedu... function test_get_status_existing (line 348) | async def test_get_status_existing(db_engine: "AsyncEngine", dask_schedu... function test_get_status_nonexistent (line 362) | async def test_get_status_nonexistent(db_engine: "AsyncEngine", dask_sch... function test_get_all_jobs_empty (line 374) | async def test_get_all_jobs_empty(db_engine: "AsyncEngine", dask_schedul... function test_get_all_jobs_multiple (line 385) | async def test_get_all_jobs_multiple(db_engine: "AsyncEngine", dask_sche... function test_get_last_job_empty (line 404) | async def test_get_last_job_empty(db_engine: "AsyncEngine", dask_schedul... function test_get_last_job_multiple (line 415) | async def test_get_last_job_multiple(db_engine: "AsyncEngine", dask_sche... function test_get_jobs_by_status (line 434) | async def test_get_jobs_by_status(db_engine: "AsyncEngine", dask_schedul... function test_get_expires_at_active_job (line 468) | async def test_get_expires_at_active_job(db_engine: "AsyncEngine", dask_... function test_get_expires_at_finished_job (line 493) | async def test_get_expires_at_finished_job(db_engine: "AsyncEngine", das... function test_cleanup_expired_jobs_no_expired (line 521) | async def test_cleanup_expired_jobs_no_expired(db_engine: "AsyncEngine",... function test_cleanup_expired_jobs_with_output_files (line 549) | async def test_cleanup_expired_jobs_with_output_files(db_engine: "AsyncE... function test_cleanup_expired_jobs_keeps_active (line 602) | async def test_cleanup_expired_jobs_keeps_active(db_engine: "AsyncEngine", function test_get_db_engine_with_url (line 643) | def test_get_db_engine_with_url(): function test_get_db_engine_async (line 654) | def test_get_db_engine_async(): function test_get_db_engine_from_env_var (line 666) | def test_get_db_engine_from_env_var(set_nat_job_store_db_url_env_var: str): function test_get_db_engine_creates_default_sqlite (line 677) | def test_get_db_engine_creates_default_sqlite(): function test_job_store_dask_client_property (line 700) | def test_job_store_dask_client_property(dask_client: "DaskClient", function test_session_context_manager (line 713) | async def test_session_context_manager(db_engine: "AsyncEngine", dask_sc... function test_job_info_default_time_fields (line 728) | async def test_job_info_default_time_fields(db_engine: "AsyncEngine", da... FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_openai_compatibility.py function test_fastapi_config_openai_api_v1_path_field (line 34) | def test_fastapi_config_openai_api_v1_path_field(): function test_nat_chat_request_openai_fields (line 52) | def test_nat_chat_request_openai_fields(): function test_nat_choice_delta_class (line 109) | def test_nat_choice_delta_class(): function test_nat_chat_response_chunk_create_streaming_chunk (line 132) | def test_nat_chat_response_chunk_create_streaming_chunk(): function test_nat_chat_response_timestamp_serialization (line 149) | def test_nat_chat_response_timestamp_serialization(): function test_legacy_vs_openai_v1_mode_endpoints (line 172) | async def test_legacy_vs_openai_v1_mode_endpoints(openai_api_v1_path: st... function test_openai_compatible_mode_stream_parameter (line 247) | async def test_openai_compatible_mode_stream_parameter(): function test_legacy_non_streaming_response_format (line 286) | async def test_legacy_non_streaming_response_format(): function test_legacy_streaming_response_format (line 360) | async def test_legacy_streaming_response_format(): function test_openai_compatible_non_streaming_response_format (line 429) | async def test_openai_compatible_non_streaming_response_format(): function test_openai_compatible_streaming_response_format (line 504) | async def test_openai_compatible_streaming_response_format(): FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_per_user_fastapi_integration.py class SimpleInput (line 51) | class SimpleInput(BaseModel): class SimpleOutput (line 55) | class SimpleOutput(BaseModel): class CounterInput (line 59) | class CounterInput(BaseModel): class CounterOutput (line 63) | class CounterOutput(BaseModel): class SharedWorkflowConfig (line 69) | class SharedWorkflowConfig(FunctionBaseConfig, name="shared_workflow_fas... class PerUserCounterWorkflowConfig (line 74) | class PerUserCounterWorkflowConfig(FunctionBaseConfig, name="per_user_co... function _register_components (line 81) | def _register_components(): function create_shared_workflow_config (line 122) | def create_shared_workflow_config() -> Config: function create_per_user_workflow_config (line 131) | def create_per_user_workflow_config() -> Config: function _create_managed_app (line 139) | async def _create_managed_app(config: Config) -> AsyncGenerator["FastAPI"]: function app_fixture (line 150) | async def app_fixture() -> AsyncGenerator["FastAPI"]: function per_user_app_fixture (line 158) | async def per_user_app_fixture() -> AsyncGenerator["FastAPI"]: class TestSessionManagerCreate (line 166) | class TestSessionManagerCreate: method test_create_session_manager_shared_workflow (line 169) | async def test_create_session_manager_shared_workflow(self): method test_create_session_manager_per_user_workflow (line 185) | async def test_create_session_manager_per_user_workflow(self): method test_create_multiple_session_managers (line 201) | async def test_create_multiple_session_managers(self): class TestSessionManagerCleanup (line 218) | class TestSessionManagerCleanup: method test_cleanup_session_managers (line 221) | async def test_cleanup_session_managers(self): method test_cleanup_per_user_session_managers (line 236) | async def test_cleanup_per_user_session_managers(self): class TestSharedWorkflowEndpoint (line 255) | class TestSharedWorkflowEndpoint: method test_post_endpoint_shared_workflow (line 258) | async def test_post_endpoint_shared_workflow(self, app: "FastAPI"): method test_multiple_requests_shared_workflow (line 267) | async def test_multiple_requests_shared_workflow(self, app: "FastAPI"): class TestPerUserWorkflowEndpoint (line 279) | class TestPerUserWorkflowEndpoint: method test_post_endpoint_per_user_workflow (line 282) | async def test_post_endpoint_per_user_workflow(self, per_user_app: "Fa... method test_per_user_isolation (line 294) | async def test_per_user_isolation(self, per_user_app: "FastAPI"): method test_per_user_state_persists_across_requests (line 321) | async def test_per_user_state_persists_across_requests(self, per_user_... class TestSessionManagerSchemas (line 337) | class TestSessionManagerSchemas: method test_shared_workflow_schema_access (line 340) | async def test_shared_workflow_schema_access(self): method test_per_user_workflow_schema_access (line 357) | async def test_per_user_workflow_schema_access(self): function create_per_user_workflow_config_with_monitoring (line 378) | def create_per_user_workflow_config_with_monitoring() -> Config: class TestPerUserMonitoringEndpoint (line 387) | class TestPerUserMonitoringEndpoint: method monitored_app_fixture (line 391) | async def monitored_app_fixture(self) -> AsyncGenerator["FastAPI"]: method test_monitor_endpoint_disabled_by_default (line 397) | async def test_monitor_endpoint_disabled_by_default(self, per_user_app... method test_monitor_endpoint_enabled (line 404) | async def test_monitor_endpoint_enabled(self, monitored_app: "FastAPI"): method test_monitor_endpoint_shows_active_users (line 416) | async def test_monitor_endpoint_shows_active_users(self, monitored_app... method test_monitor_endpoint_filter_by_user_id (line 447) | async def test_monitor_endpoint_filter_by_user_id(self, monitored_app:... method test_monitor_endpoint_tracks_errors (line 479) | async def test_monitor_endpoint_tracks_errors(self, monitored_app: "Fa... FILE: packages/nvidia_nat_core/tests/nat/front_ends/fastapi/test_step_adaptor.py function default_config (line 30) | def default_config(): function custom_config (line 36) | def custom_config(): function disabled_config (line 48) | def disabled_config(): function step_adaptor_default (line 60) | def step_adaptor_default(default_config): function step_adaptor_custom (line 66) | def step_adaptor_custom(custom_config): function step_adaptor_disabled (line 72) | def step_adaptor_disabled(disabled_config): function make_intermediate_step (line 78) | def make_intermediate_step(): function test_process_llm_events_in_default (line 103) | def test_process_llm_events_in_default(step_adaptor_default, make_interm... function test_process_tool_in_default (line 117) | def test_process_tool_in_default(step_adaptor_default, make_intermediate... function test_process_other_events_in_default_returns_none (line 158) | def test_process_other_events_in_default_returns_none(step_adaptor_defau... function test_process_custom_events_in_custom_mode (line 173) | def test_process_custom_events_in_custom_mode(step_adaptor_custom, make_... function test_process_custom_events_empty_list (line 205) | def test_process_custom_events_empty_list(step_adaptor_custom, make_inte... function test_process_llm_in_custom_mode_no_op (line 220) | def test_process_llm_in_custom_mode_no_op(step_adaptor_custom, make_inte... function test_process_llm_in_disabled_mode_no_op (line 232) | def test_process_llm_in_disabled_mode_no_op(step_adaptor_disabled, make_... function test_llm_output_markdown_structure (line 246) | def test_llm_output_markdown_structure(step_adaptor_default, make_interm... function test_tool_end_markdown_structure (line 286) | def test_tool_end_markdown_structure(step_adaptor_default, make_intermed... function test_custom_end_markdown_structure (line 313) | def test_custom_end_markdown_structure(step_adaptor_custom, make_interme... function test_process_function_start_in_default (line 336) | def test_process_function_start_in_default(step_adaptor_default, make_in... function test_process_function_end_in_default (line 357) | def test_process_function_end_in_default(step_adaptor_default, make_inte... function test_function_end_with_matching_start_event (line 378) | def test_function_end_with_matching_start_event(step_adaptor_default, ma... function test_function_events_markdown_structure (line 412) | def test_function_events_markdown_structure(step_adaptor_default, make_i... function test_process_function_start_without_input (line 457) | def test_process_function_start_without_input(step_adaptor_default, make... function test_process_function_end_without_output (line 478) | def test_process_function_end_without_output(step_adaptor_default, make_... function test_function_events_in_custom_mode (line 499) | def test_function_events_in_custom_mode(step_adaptor_custom, make_interm... FILE: packages/nvidia_nat_core/tests/nat/front_ends/test_message_validator.py function fixture_validator (line 27) | def fixture_validator() -> MessageValidator: class TestAuthMessageSchemaMapping (line 31) | class TestAuthMessageSchemaMapping: method test_schema_lookup_returns_auth_message (line 33) | async def test_schema_lookup_returns_auth_message(self, validator: Mes... method test_auth_message_in_mapping (line 37) | async def test_auth_message_in_mapping(self, validator: MessageValidat... method test_schema_lookup_returns_auth_response (line 40) | async def test_schema_lookup_returns_auth_response(self, validator: Me... method test_auth_response_in_mapping (line 44) | async def test_auth_response_in_mapping(self, validator: MessageValida... class TestValidateAuthMessage (line 48) | class TestValidateAuthMessage: method test_validate_jwt_auth_message (line 50) | async def test_validate_jwt_auth_message(self, validator: MessageValid... method test_validate_api_key_auth_message (line 61) | async def test_validate_api_key_auth_message(self, validator: MessageV... method test_validate_basic_auth_message (line 72) | async def test_validate_basic_auth_message(self, validator: MessageVal... method test_malformed_payload_returns_error (line 83) | async def test_malformed_payload_returns_error(self, validator: Messag... method test_missing_payload_returns_error (line 94) | async def test_missing_payload_returns_error(self, validator: MessageV... method test_unknown_method_returns_error (line 100) | async def test_unknown_method_returns_error(self, validator: MessageVa... method test_extra_fields_on_auth_message_returns_error (line 111) | async def test_extra_fields_on_auth_message_returns_error(self, valida... FILE: packages/nvidia_nat_core/tests/nat/llm/test_dynamic_prediction_hook.py function fixture_sample_trie_lookup (line 35) | def fixture_sample_trie_lookup() -> PredictionTrieLookup: class TestDynamicPredictionTransport (line 66) | class TestDynamicPredictionTransport: method test_transport_injects_prediction_agent_hints_raw (line 69) | async def test_transport_injects_prediction_agent_hints_raw(self, samp... method test_transport_uses_root_fallback (line 111) | async def test_transport_uses_root_fallback(self, sample_trie_lookup): method test_transport_handles_empty_context (line 147) | async def test_transport_handles_empty_context(self, sample_trie_lookup): method test_transport_no_prediction_found (line 182) | async def test_transport_no_prediction_found(self): method test_prediction_overrides_agent_hints (line 220) | async def test_prediction_overrides_agent_hints(self, sample_trie_look... FILE: packages/nvidia_nat_core/tests/nat/llm/test_dynamo_llm.py class TestDynamoModelConfig (line 33) | class TestDynamoModelConfig: method test_default_values (line 36) | def test_default_values(self): method test_enable_nvext_hints_toggle (line 51) | def test_enable_nvext_hints_toggle(self): method test_custom_prefix_values (line 59) | def test_custom_prefix_values(self): method test_prefix_template_none_does_not_toggle_hints (line 76) | def test_prefix_template_none_does_not_toggle_hints(self): method test_prefix_total_requests_validation (line 89) | def test_prefix_total_requests_validation(self): method test_prefix_osl_iat_accept_integers (line 106) | def test_prefix_osl_iat_accept_integers(self): method test_prefix_osl_iat_reject_invalid (line 112) | def test_prefix_osl_iat_reject_invalid(self): method test_backward_compat_categorical_strings (line 126) | def test_backward_compat_categorical_strings(self): method test_backward_compat_case_insensitive (line 140) | def test_backward_compat_case_insensitive(self): method test_request_timeout_validation (line 146) | def test_request_timeout_validation(self): method test_inherits_openai_config_fields (line 157) | def test_inherits_openai_config_fields(self): method test_cache_pin_type_none_disables (line 170) | def test_cache_pin_type_none_disables(self): method test_cache_pin_type_accepts_enum (line 175) | def test_cache_pin_type_accepts_enum(self): method test_cache_pin_type_accepts_string (line 180) | def test_cache_pin_type_accepts_string(self): method test_cache_pin_type_rejects_invalid_string (line 185) | def test_cache_pin_type_rejects_invalid_string(self): method test_cache_control_mode_default (line 190) | def test_cache_control_mode_default(self): method test_cache_control_mode_accepts_enum (line 195) | def test_cache_control_mode_accepts_enum(self): method test_cache_control_mode_accepts_string (line 200) | def test_cache_control_mode_accepts_string(self): method test_cache_control_mode_rejects_invalid_string (line 205) | def test_cache_control_mode_rejects_invalid_string(self): method test_max_sensitivity_validation (line 210) | def test_max_sensitivity_validation(self): method test_get_dynamo_field_names (line 224) | def test_get_dynamo_field_names(self): class TestDynamoPrefixContext (line 250) | class TestDynamoPrefixContext: method test_auto_generates_depth_based_prefix (line 253) | def test_auto_generates_depth_based_prefix(self): method test_set_and_get_override_prefix_id (line 262) | def test_set_and_get_override_prefix_id(self): method test_clear_removes_override_but_auto_generates (line 273) | def test_clear_removes_override_but_auto_generates(self): method test_overwrite_prefix_id (line 285) | def test_overwrite_prefix_id(self): method test_scope_context_manager (line 297) | def test_scope_context_manager(self): method test_scope_context_manager_cleanup_on_exception (line 309) | def test_scope_context_manager_cleanup_on_exception(self): method test_scope_nested_restores_outer (line 323) | def test_scope_nested_restores_outer(self): method test_is_set_always_true (line 339) | def test_is_set_always_true(self): method test_prefix_id_stable_across_multiple_calls (line 344) | def test_prefix_id_stable_across_multiple_calls(self): method test_override_prefix_id_stable_across_multiple_calls (line 355) | def test_override_prefix_id_stable_across_multiple_calls(self): method test_prefix_id_consistent_across_transport_requests (line 366) | async def test_prefix_id_consistent_across_transport_requests(self): class TestCreateHttpxClient (line 411) | class TestCreateHttpxClient: method test_uses_custom_timeout (line 414) | async def test_uses_custom_timeout(self): method test_uses_default_timeout (line 422) | async def test_uses_default_timeout(self): method test_creates_client_with_custom_transport (line 428) | async def test_creates_client_with_custom_transport(self): method test_creates_client_with_cache_pin_type_none (line 453) | async def test_creates_client_with_cache_pin_type_none(self): method test_creates_client_with_cache_control_mode_first_only (line 466) | async def test_creates_client_with_cache_control_mode_first_only(self): method test_verify_ssl_passed_to_client (line 488) | async def test_verify_ssl_passed_to_client(self, class TestDynamoTransport (line 505) | class TestDynamoTransport: method test_transport_injects_raw_agent_hints_by_default (line 508) | async def test_transport_injects_raw_agent_hints_by_default(self): method test_transport_injects_nvext_agent_hints (line 544) | async def test_transport_injects_nvext_agent_hints(self): method test_transport_merges_existing_agent_hints (line 602) | async def test_transport_merges_existing_agent_hints(self): method test_transport_handles_non_json_gracefully (line 656) | async def test_transport_handles_non_json_gracefully(self): method test_transport_uses_prediction_override_raw (line 688) | async def test_transport_uses_prediction_override_raw(self): method test_transport_injects_all_agent_hints_fields (line 746) | async def test_transport_injects_all_agent_hints_fields(self): method test_transport_injects_latency_sensitivity_in_agent_hints (line 787) | async def test_transport_injects_latency_sensitivity_in_agent_hints(se... method test_transport_injects_cache_control_by_default (line 824) | async def test_transport_injects_cache_control_by_default(self): method test_transport_cache_control_ttl_formatted_as_minutes (line 861) | async def test_transport_cache_control_ttl_formatted_as_minutes(self): method test_transport_cache_control_ttl_formatted_as_seconds (line 894) | async def test_transport_cache_control_ttl_formatted_as_seconds(self): method test_transport_no_cache_control_when_disabled (line 927) | async def test_transport_no_cache_control_when_disabled(self): method test_transport_cache_control_uses_prediction_override (line 963) | async def test_transport_cache_control_uses_prediction_override(self): method test_transport_uses_auto_latency_sensitivity (line 1010) | async def test_transport_uses_auto_latency_sensitivity(self): method test_transport_manual_sensitivity_overrides_auto (line 1058) | async def test_transport_manual_sensitivity_overrides_auto(self): method test_transport_no_auto_sensitivity_when_prediction_is_none (line 1110) | async def test_transport_no_auto_sensitivity_when_prediction_is_none(s... method test_transport_raises_when_latency_exceeds_max (line 1157) | async def test_transport_raises_when_latency_exceeds_max(self): method test_transport_raises_when_latency_sensitivity_negative (line 1192) | async def test_transport_raises_when_latency_sensitivity_negative(self): method test_transport_raises_when_total_requests_zero (line 1233) | async def test_transport_raises_when_total_requests_zero(self): method test_transport_raises_when_osl_zero (line 1270) | async def test_transport_raises_when_osl_zero(self): method test_transport_raises_when_iat_zero (line 1307) | async def test_transport_raises_when_iat_zero(self): method test_transport_first_only_injects_cache_control_on_first_request (line 1344) | async def test_transport_first_only_injects_cache_control_on_first_req... method test_transport_first_only_skips_cache_control_on_subsequent_requests (line 1380) | async def test_transport_first_only_skips_cache_control_on_subsequent_... method test_transport_first_only_tracks_prefixes_independently (line 1429) | async def test_transport_first_only_tracks_prefixes_independently(self): method test_transport_always_mode_injects_cache_control_every_request (line 1475) | async def test_transport_always_mode_injects_cache_control_every_reque... class TestDynamoLLMProvider (line 1513) | class TestDynamoLLMProvider: method test_dynamo_model_config_type_name (line 1516) | def test_dynamo_model_config_type_name(self): method test_dynamo_model_config_full_type (line 1520) | def test_dynamo_model_config_full_type(self): FILE: packages/nvidia_nat_core/tests/nat/llm/test_dynamo_prediction_trie.py function fixture_trie_file (line 29) | def fixture_trie_file() -> Path: function test_dynamo_config_with_trie_path (line 51) | def test_dynamo_config_with_trie_path(trie_file): function test_dynamo_config_without_trie_path (line 64) | def test_dynamo_config_without_trie_path(): function test_dynamo_field_names_excludes_trie_path (line 75) | def test_dynamo_field_names_excludes_trie_path(): FILE: packages/nvidia_nat_core/tests/nat/llm/test_oci_llm.py function fixture_mock_builder (line 29) | def fixture_mock_builder(): function test_oci_model_config_defaults (line 34) | def test_oci_model_config_defaults(): function test_oci_model_config_derives_endpoint_from_region (line 45) | def test_oci_model_config_derives_endpoint_from_region(): function test_oci_model_config_explicit_endpoint_overrides_region (line 54) | def test_oci_model_config_explicit_endpoint_overrides_region(): function test_oci_model_config_accepts_endpoint_aliases (line 64) | def test_oci_model_config_accepts_endpoint_aliases(): function test_oci_llm_provider_yields_provider_info (line 74) | async def test_oci_llm_provider_yields_provider_info(mock_builder): function test_oci_model_config_does_not_depend_on_env (line 88) | def test_oci_model_config_does_not_depend_on_env(): function test_oci_provider_registration (line 95) | def test_oci_provider_registration(mock_global_registry): FILE: packages/nvidia_nat_core/tests/nat/llm/test_prediction_context.py function test_tracker_increment (line 20) | def test_tracker_increment(): function test_tracker_reset (line 28) | def test_tracker_reset(): function test_tracker_context_variable (line 36) | def test_tracker_context_variable(): FILE: packages/nvidia_nat_core/tests/nat/llm/test_runtime_prediction_e2e.py function create_test_trie (line 44) | def create_test_trie() -> PredictionTrieNode: function test_e2e_prediction_headers_injected_correctly (line 95) | async def test_e2e_prediction_headers_injected_correctly(): function test_e2e_fallback_to_root (line 194) | async def test_e2e_fallback_to_root(): function test_e2e_multiple_calls_in_same_context (line 246) | async def test_e2e_multiple_calls_in_same_context(): FILE: packages/nvidia_nat_core/tests/nat/llm/utils/_llm_configs.py class LLMConfig (line 23) | class LLMConfig(LLMBaseConfig): class LLMConfigWithTimeout (line 27) | class LLMConfigWithTimeout(LLMBaseConfig): class LLMConfigWithTimeoutAndSSL (line 31) | class LLMConfigWithTimeoutAndSSL(LLMConfigWithTimeout, SSLVerificationMi... FILE: packages/nvidia_nat_core/tests/nat/llm/utils/test_hooks.py class TestMetadataInjectionHook (line 30) | class TestMetadataInjectionHook: method fixture_mock_httpx_request (line 34) | def fixture_mock_httpx_request(self): method fixture_mock_input_message (line 41) | def fixture_mock_input_message(self): method test_hook_injects_metadata_fields (line 51) | async def test_hook_injects_metadata_fields(self, mock_httpx_request, ... method test_hook_skips_none_values (line 65) | async def test_hook_skips_none_values(self, mock_httpx_request, mock_i... method test_hook_handles_missing_context (line 83) | async def test_hook_handles_missing_context(self, mock_httpx_request): class TestCreateMetadataInjectionClient (line 94) | class TestCreateMetadataInjectionClient: method test_creates_client_with_event_hooks (line 97) | async def test_creates_client_with_event_hooks(self): method test_request_timeout_passed_to_client (line 112) | async def test_request_timeout_passed_to_client(self, method test_verify_ssl_passed_to_client (line 132) | async def test_verify_ssl_passed_to_client(self, mock_httpx_async_clie... class TestMetadataInjectionIntegration (line 141) | class TestMetadataInjectionIntegration: method fixture_mock_input_message (line 145) | def fixture_mock_input_message(self): method test_headers_sent_in_http_request (line 154) | async def test_headers_sent_in_http_request(self, httpserver: HTTPServ... method test_request_succeeds_without_context (line 194) | async def test_request_succeeds_without_context(self, httpserver: HTTP... FILE: packages/nvidia_nat_core/tests/nat/llm/utils/test_http_client.py function test_create_http_client_timeout (line 46) | def test_create_http_client_timeout( function test_create_http_client_verify_ssl (line 77) | def test_create_http_client_verify_ssl( function test_http_clients (line 107) | async def test_http_clients( function test_handle_litellm_verify_ssl (line 137) | def test_handle_litellm_verify_ssl(llm_config: "LLMBaseConfig", expected... FILE: packages/nvidia_nat_core/tests/nat/llm/utils/test_thinking.py class MockClass (line 21) | class MockClass: method sync_method (line 23) | def sync_method(self, *args, **kwargs): method async_method (line 26) | async def async_method(self, *args, **kwargs): method gen_method (line 29) | def gen_method(self, *args, **kwargs): method agen_method (line 32) | async def agen_method(self, *args, **kwargs): class AddThinking (line 36) | class AddThinking(BaseThinkingInjector): method inject (line 38) | def inject(self, x: str, *args, **kwargs) -> FunctionArgumentWrapper: class AddThinkingWithArgs (line 42) | class AddThinkingWithArgs(BaseThinkingInjector): method inject (line 44) | def inject(self, *args, **kwargs) -> FunctionArgumentWrapper: class AddThinkingWithKwargs (line 48) | class AddThinkingWithKwargs(BaseThinkingInjector): method inject (line 50) | def inject(self, *args, **kwargs) -> FunctionArgumentWrapper: function test_patch_with_thinking_in_place (line 54) | async def test_patch_with_thinking_in_place(): function test_patch_with_thinking_modify_args (line 91) | async def test_patch_with_thinking_modify_args(): function test_patch_with_thinking_modify_kwargs (line 128) | async def test_patch_with_thinking_modify_kwargs(): FILE: packages/nvidia_nat_core/tests/nat/middleware/test_cache_middleware.py class _TestInput (line 30) | class _TestInput(BaseModel): class _TestOutput (line 36) | class _TestOutput(BaseModel): function middleware_context (line 42) | def middleware_context(): class TestCacheMiddlewareInitialization (line 52) | class TestCacheMiddlewareInitialization: method test_default_initialization (line 55) | def test_default_initialization(self): method test_custom_initialization (line 63) | def test_custom_initialization(self): class TestCacheMiddlewareCaching (line 71) | class TestCacheMiddlewareCaching: method test_exact_match_caching (line 74) | async def test_exact_match_caching(self, middleware_context): method test_fuzzy_match_caching (line 110) | async def test_fuzzy_match_caching(self, middleware_context): method test_eval_mode_caching (line 145) | async def test_eval_mode_caching(self, middleware_context): method test_serialization_failure (line 184) | async def test_serialization_failure(self, middleware_context): class TestCacheMiddlewareStreaming (line 212) | class TestCacheMiddlewareStreaming: method test_streaming_bypass (line 215) | async def test_streaming_bypass(self, middleware_context): class TestCacheMiddlewareEdgeCases (line 247) | class TestCacheMiddlewareEdgeCases: method test_context_retrieval_failure (line 250) | async def test_context_retrieval_failure(self, middleware_context): method test_similarity_computation_for_different_thresholds (line 268) | def test_similarity_computation_for_different_thresholds(self): method test_multiple_similar_entries (line 286) | async def test_multiple_similar_entries(self, middleware_context): FILE: packages/nvidia_nat_core/tests/nat/middleware/test_defense_middleware.py class _TestOutputModel (line 35) | class _TestOutputModel(BaseModel): class _TestDefenseMiddleware (line 42) | class _TestDefenseMiddleware(DefenseMiddleware): method __init__ (line 45) | def __init__(self, config: DefenseMiddlewareConfig, builder): method post_invoke (line 50) | async def post_invoke(self, context: InvocationContext) -> InvocationC... function fixture_mock_builder (line 66) | def fixture_mock_builder(): class _TestInput (line 71) | class _TestInput(BaseModel): function fixture_middleware_context (line 77) | def fixture_middleware_context(): function test_separator_constant_value (line 87) | def test_separator_constant_value(): class TestDefenseMiddlewareTargeting (line 101) | class TestDefenseMiddlewareTargeting: method test_targeting_all_functions (line 104) | def test_targeting_all_functions(self, mock_builder): method test_targeting_specific_group (line 113) | def test_targeting_specific_group(self, mock_builder): method test_targeting_specific_function (line 123) | def test_targeting_specific_function(self, mock_builder): method test_targeting_workflow (line 132) | def test_targeting_workflow(self, mock_builder): class TestDefenseMiddlewareFieldExtraction (line 148) | class TestDefenseMiddlewareFieldExtraction: method test_extract_simple_type_no_target_field (line 151) | def test_extract_simple_type_no_target_field(self, mock_builder): method test_extract_simple_type_with_target_field (line 161) | def test_extract_simple_type_with_target_field(self, mock_builder): method test_extract_dict_no_target_field (line 171) | def test_extract_dict_no_target_field(self, mock_builder): method test_extract_dict_simple_field (line 181) | def test_extract_dict_simple_field(self, mock_builder): method test_extract_dict_nested_field (line 193) | def test_extract_dict_nested_field(self, mock_builder): method test_extract_list_index (line 204) | def test_extract_list_index(self, mock_builder): method test_extract_list_field (line 214) | def test_extract_list_field(self, mock_builder): method test_extract_basemodel_field (line 224) | def test_extract_basemodel_field(self, mock_builder): method test_extract_no_match (line 236) | def test_extract_no_match(self, mock_builder): class TestDefenseMiddlewareFieldResolutionStrategy (line 248) | class TestDefenseMiddlewareFieldResolutionStrategy: method test_resolution_strategy_error (line 251) | def test_resolution_strategy_error(self, mock_builder): method test_resolution_strategy_first (line 266) | def test_resolution_strategy_first(self, mock_builder): method test_resolution_strategy_last (line 281) | def test_resolution_strategy_last(self, mock_builder): method test_resolution_strategy_random (line 296) | def test_resolution_strategy_random(self, mock_builder): method test_resolution_strategy_all (line 311) | def test_resolution_strategy_all(self, mock_builder): class TestDefenseMiddlewareFieldApplication (line 328) | class TestDefenseMiddlewareFieldApplication: method test_apply_result_single_match (line 331) | def test_apply_result_single_match(self, mock_builder): method test_apply_result_multiple_matches_all_strategy (line 355) | def test_apply_result_multiple_matches_all_strategy(self, mock_builder): method test_apply_result_basemodel (line 379) | def test_apply_result_basemodel(self, mock_builder): method test_apply_result_no_field_info (line 407) | def test_apply_result_no_field_info(self, mock_builder): class TestDefenseMiddlewareEndToEnd (line 424) | class TestDefenseMiddlewareEndToEnd: method test_extract_nested_output_field (line 427) | async def test_extract_nested_output_field(self, mock_builder): method test_extract_deeply_nested_field (line 450) | async def test_extract_deeply_nested_field(self, mock_builder): method test_target_function_filtering (line 477) | async def test_target_function_filtering(self, mock_builder): method test_multiple_field_matches_with_all_strategy (line 498) | async def test_multiple_field_matches_with_all_strategy(self, mock_bui... method test_multiple_field_matches_with_first_strategy (line 527) | async def test_multiple_field_matches_with_first_strategy(self, mock_b... method test_multiple_field_matches_with_error_strategy (line 556) | async def test_multiple_field_matches_with_error_strategy(self, mock_b... method test_extract_simple_type_no_target_field (line 586) | async def test_extract_simple_type_no_target_field(self, mock_builder): FILE: packages/nvidia_nat_core/tests/nat/middleware/test_defense_middleware_content_guard.py class _TestInput (line 33) | class _TestInput(BaseModel): class _TestOutputModel (line 38) | class _TestOutputModel(BaseModel): function fixture_mock_builder (line 45) | def fixture_mock_builder(): function fixture_middleware_context (line 51) | def fixture_middleware_context(): class TestContentSafetyGuardInvoke (line 61) | class TestContentSafetyGuardInvoke: method test_simple_output_no_target_field (line 64) | async def test_simple_output_no_target_field(self, mock_builder, middl... method test_dict_output_with_target_field (line 84) | async def test_dict_output_with_target_field(self, mock_builder, middl... method test_basemodel_output_with_target_field (line 107) | async def test_basemodel_output_with_target_field(self, mock_builder, ... method test_nested_field_targeting (line 132) | async def test_nested_field_targeting(self, mock_builder, middleware_c... method test_complex_nested_structure_with_field_targeting (line 155) | async def test_complex_nested_structure_with_field_targeting(self, moc... method test_field_resolution_strategy_all (line 195) | async def test_field_resolution_strategy_all(self, mock_builder, middl... method test_action_partial_compliance (line 243) | async def test_action_partial_compliance(self, mock_builder, middlewar... method test_action_refusal (line 263) | async def test_action_refusal(self, mock_builder, middleware_context): method test_action_redirection (line 280) | async def test_action_redirection(self, mock_builder, middleware_conte... method test_nemoguard_json_format (line 298) | async def test_nemoguard_json_format(self, mock_builder, middleware_co... method test_qwen_guard_text_format (line 332) | async def test_qwen_guard_text_format(self, mock_builder, middleware_c... method test_plain_safe_response (line 353) | async def test_plain_safe_response(self, mock_builder, middleware_cont... method test_plain_unsafe_response (line 371) | async def test_plain_unsafe_response(self, mock_builder, middleware_co... method test_targeting_configuration (line 390) | async def test_targeting_configuration(self, mock_builder, middleware_... method test_target_location_defaults_to_output (line 435) | async def test_target_location_defaults_to_output(self): method test_target_location_input_skips_output_analysis (line 440) | async def test_target_location_input_skips_output_analysis(self, mock_... method test_non_string_output_converts_to_string (line 456) | async def test_non_string_output_converts_to_string(self, mock_builder... class TestContentSafetyGuardStreaming (line 504) | class TestContentSafetyGuardStreaming: method test_streaming_safe_content (line 507) | async def test_streaming_safe_content(self, mock_builder, middleware_c... method test_streaming_refusal_action (line 529) | async def test_streaming_refusal_action(self, mock_builder, middleware... method test_streaming_redirection_action (line 548) | async def test_streaming_redirection_action(self, mock_builder, middle... method test_streaming_partial_compliance (line 570) | async def test_streaming_partial_compliance(self, mock_builder, middle... method test_streaming_skips_when_not_targeted (line 595) | async def test_streaming_skips_when_not_targeted(self, mock_builder, m... FILE: packages/nvidia_nat_core/tests/nat/middleware/test_defense_middleware_output_verifier.py class _TestInput (line 33) | class _TestInput(BaseModel): class _TestOutputModel (line 38) | class _TestOutputModel(BaseModel): function fixture_mock_builder (line 45) | def fixture_mock_builder(): function fixture_middleware_context (line 52) | def fixture_middleware_context(): class TestOutputVerifierInvoke (line 62) | class TestOutputVerifierInvoke: method test_simple_output_no_target_field (line 65) | async def test_simple_output_no_target_field(self, mock_builder, middl... method test_dict_output_with_target_field (line 88) | async def test_dict_output_with_target_field(self, mock_builder, middl... method test_basemodel_output_with_target_field (line 111) | async def test_basemodel_output_with_target_field(self, mock_builder, ... method test_nested_field_targeting (line 135) | async def test_nested_field_targeting(self, mock_builder, middleware_c... method test_list_field_targeting (line 158) | async def test_list_field_targeting(self, mock_builder, middleware_con... method test_complex_nested_structure_with_field_targeting (line 181) | async def test_complex_nested_structure_with_field_targeting(self, moc... method test_field_resolution_strategy_all (line 226) | async def test_field_resolution_strategy_all(self, mock_builder, middl... method test_action_partial_compliance (line 268) | async def test_action_partial_compliance(self, mock_builder, middlewar... method test_action_refusal (line 289) | async def test_action_refusal(self, mock_builder, middleware_context): method test_action_redirection (line 307) | async def test_action_redirection(self, mock_builder, middleware_conte... method test_targeting_configuration (line 329) | async def test_targeting_configuration(self, mock_builder, middleware_... method test_target_location_defaults_to_output (line 374) | async def test_target_location_defaults_to_output(self): method test_target_location_input_skips_output_analysis (line 379) | async def test_target_location_input_skips_output_analysis(self, mock_... method test_non_string_output_converts_to_string (line 395) | async def test_non_string_output_converts_to_string(self, mock_builder... method test_simple_output_with_target_field_ignored (line 451) | async def test_simple_output_with_target_field_ignored(self, mock_buil... class TestOutputVerifierStreaming (line 476) | class TestOutputVerifierStreaming: method test_streaming_correct_output (line 479) | async def test_streaming_correct_output(self, mock_builder, middleware... method test_streaming_refusal_action (line 504) | async def test_streaming_refusal_action(self, mock_builder, middleware... method test_streaming_redirection_action (line 527) | async def test_streaming_redirection_action(self, mock_builder, middle... method test_streaming_partial_compliance (line 553) | async def test_streaming_partial_compliance(self, mock_builder, middle... method test_streaming_skips_when_not_targeted (line 579) | async def test_streaming_skips_when_not_targeted(self, mock_builder, m... FILE: packages/nvidia_nat_core/tests/nat/middleware/test_defense_middleware_pii.py class _TestInput (line 32) | class _TestInput(BaseModel): class _TestOutputModel (line 37) | class _TestOutputModel(BaseModel): function fixture_mock_builder (line 44) | def fixture_mock_builder(): function fixture_middleware_context (line 50) | def fixture_middleware_context(): class TestPIIDefenseInvoke (line 60) | class TestPIIDefenseInvoke: method test_simple_output_no_target_field (line 63) | async def test_simple_output_no_target_field(self, mock_builder, middl... method test_dict_output_with_target_field (line 86) | async def test_dict_output_with_target_field(self, mock_builder, middl... method test_basemodel_output_with_target_field (line 108) | async def test_basemodel_output_with_target_field(self, mock_builder, ... method test_nested_field_targeting (line 130) | async def test_nested_field_targeting(self, mock_builder, middleware_c... method test_complex_nested_structure_with_field_targeting (line 152) | async def test_complex_nested_structure_with_field_targeting(self, moc... method test_field_resolution_strategy_all (line 194) | async def test_field_resolution_strategy_all(self, mock_builder, middl... method test_action_partial_compliance (line 252) | async def test_action_partial_compliance(self, mock_builder, middlewar... method test_action_refusal (line 273) | async def test_action_refusal(self, mock_builder, middleware_context): method test_action_redirection (line 293) | async def test_action_redirection(self, mock_builder, middleware_conte... method test_multiple_entity_types (line 317) | async def test_multiple_entity_types(self, mock_builder, middleware_co... method test_no_pii_detected (line 344) | async def test_no_pii_detected(self, mock_builder, middleware_context): method test_targeting_configuration (line 364) | async def test_targeting_configuration(self, mock_builder, middleware_... method test_target_location_defaults_to_output (line 404) | async def test_target_location_defaults_to_output(self): method test_target_location_input_skips_output_analysis (line 409) | async def test_target_location_input_skips_output_analysis(self, mock_... method test_non_string_output_converts_to_string (line 424) | async def test_non_string_output_converts_to_string(self, mock_builder... class TestPIIDefenseStreaming (line 471) | class TestPIIDefenseStreaming: method test_streaming_no_pii_detected (line 474) | async def test_streaming_no_pii_detected(self, mock_builder, middlewar... method test_streaming_refusal_action (line 495) | async def test_streaming_refusal_action(self, mock_builder, middleware... method test_streaming_redirection_action (line 516) | async def test_streaming_redirection_action(self, mock_builder, middle... method test_streaming_partial_compliance (line 540) | async def test_streaming_partial_compliance(self, mock_builder, middle... method test_streaming_skips_when_not_targeted (line 567) | async def test_streaming_skips_when_not_targeted(self, mock_builder, m... FILE: packages/nvidia_nat_core/tests/nat/middleware/test_defense_middleware_pre_tool_verifier.py class _TestInput (line 38) | class _TestInput(BaseModel): class _TestOutput (line 43) | class _TestOutput(BaseModel): function fixture_mock_builder (line 49) | def fixture_mock_builder(): function fixture_middleware_context (line 55) | def fixture_middleware_context(): function _make_llm_response (line 65) | def _make_llm_response(violation: bool, class TestAnalyzeContentChunking (line 84) | class TestAnalyzeContentChunking: method test_chunk_xml_tags_are_escaped_in_prompt (line 99) | async def test_chunk_xml_tags_are_escaped_in_prompt(self, mock_builder... method test_short_content_single_llm_call (line 124) | async def test_short_content_single_llm_call(self, mock_builder, middl... method test_long_content_uses_sliding_windows (line 140) | async def test_long_content_uses_sliding_windows(self, mock_builder, m... method test_malicious_payload_in_middle_window_detected (line 156) | async def test_malicious_payload_in_middle_window_detected(self, mock_... method test_violation_in_last_window_detected (line 183) | async def test_violation_in_last_window_detected(self, mock_builder, m... method test_no_violation_in_any_window_returns_clean (line 205) | async def test_no_violation_in_any_window_returns_clean(self, mock_bui... method test_windowed_max_confidence_taken (line 226) | async def test_windowed_max_confidence_taken(self, mock_builder, middl... method test_windowed_violation_types_deduplicated (line 247) | async def test_windowed_violation_types_deduplicated(self, mock_builde... method test_windowed_sanitized_input_always_none (line 269) | async def test_windowed_sanitized_input_always_none(self, mock_builder... method test_windowed_reasons_combined (line 294) | async def test_windowed_reasons_combined(self, mock_builder, middlewar... method test_malicious_payload_split_at_old_boundary_detected (line 318) | async def test_malicious_payload_split_at_old_boundary_detected(self, ... method test_early_exit_stops_after_first_refusing_window (line 363) | async def test_early_exit_stops_after_first_refusing_window(self, mock... method test_over_cap_selects_evenly_spaced_windows (line 385) | async def test_over_cap_selects_evenly_spaced_windows(self, mock_build... method test_windowed_error_in_one_window_propagates (line 403) | async def test_windowed_error_in_one_window_propagates(self, mock_buil... class TestPreToolVerifierInvoke (line 425) | class TestPreToolVerifierInvoke: method test_clean_input_passes_through (line 428) | async def test_clean_input_passes_through(self, mock_builder, middlewa... method test_refusal_action_blocks_violating_input (line 451) | async def test_refusal_action_blocks_violating_input(self, mock_builde... method test_redirection_action_sanitizes_input (line 468) | async def test_redirection_action_sanitizes_input(self, mock_builder, ... method test_partial_compliance_logs_but_allows_input (line 488) | async def test_partial_compliance_logs_but_allows_input(self, mock_bui... method test_skips_non_targeted_function (line 514) | async def test_skips_non_targeted_function(self, mock_builder, middlew... method test_below_threshold_does_not_trigger_refusal (line 533) | async def test_below_threshold_does_not_trigger_refusal(self, mock_bui... class TestPreToolVerifierStreaming (line 551) | class TestPreToolVerifierStreaming: method test_streaming_clean_input_passes_through (line 554) | async def test_streaming_clean_input_passes_through(self, mock_builder... method test_streaming_refusal_blocks_violating_input (line 575) | async def test_streaming_refusal_blocks_violating_input(self, mock_bui... method test_streaming_skips_non_targeted_function (line 593) | async def test_streaming_skips_non_targeted_function(self, mock_builde... FILE: packages/nvidia_nat_core/tests/nat/middleware/test_dynamic_middleware.py function mock_function (line 42) | def mock_function(): function llm_client (line 54) | def llm_client(): function embedder_client (line 75) | def embedder_client(): function retriever_client (line 90) | def retriever_client(): function memory_client (line 102) | def memory_client(): function object_store_client (line 120) | def object_store_client(): function auth_provider_client (line 144) | def auth_provider_client(): function create_function_context (line 161) | def create_function_context(name: str = "test_function", function test_middleware_invoke_calls_next_with_no_policies (line 179) | async def test_middleware_invoke_calls_next_with_no_policies(mock_builder): function test_middleware_stream_calls_next_with_no_policies (line 196) | async def test_middleware_stream_calls_next_with_no_policies(mock_builder): function test_discover_llm (line 218) | async def test_discover_llm(mock_builder, llm_client): function test_discover_embedder (line 233) | async def test_discover_embedder(mock_builder, embedder_client): function test_discover_retriever (line 247) | async def test_discover_retriever(mock_builder, retriever_client): function test_discover_memory (line 261) | async def test_discover_memory(mock_builder, memory_client): function test_discover_object_store (line 275) | async def test_discover_object_store(mock_builder, object_store_client): function test_discover_auth_provider (line 289) | async def test_discover_auth_provider(mock_builder, auth_provider_client): function test_discover_skips_if_not_configured (line 303) | async def test_discover_skips_if_not_configured(mock_builder, llm_client): function test_discover_skips_duplicates (line 316) | async def test_discover_skips_duplicates(mock_builder, llm_client): function test_discover_functions_from_builder (line 333) | def test_discover_functions_from_builder(mock_builder, mock_function): function test_discover_functions_skip_if_not_configured (line 343) | def test_discover_functions_skip_if_not_configured(mock_builder, mock_fu... function test_discover_functions_skip_duplicates (line 353) | def test_discover_functions_skip_duplicates(mock_builder, mock_function): function test_register_function_prevents_duplicates (line 368) | def test_register_function_prevents_duplicates(mock_function): function test_register_component_function_prevents_duplicates (line 384) | def test_register_component_function_prevents_duplicates(llm_client): function test_unregister_workflow_function (line 409) | def test_unregister_workflow_function(mock_function): function test_unregister_component_method (line 430) | def test_unregister_component_method(llm_client): function test_unregister_raises_error_if_not_registered (line 458) | def test_unregister_raises_error_if_not_registered(mock_function): function test_unregister_component_method_raises_error_if_not_registered (line 472) | def test_unregister_component_method_raises_error_if_not_registered(): function test_dynamic_middleware_patches_workflow_builder (line 492) | async def test_dynamic_middleware_patches_workflow_builder(): FILE: packages/nvidia_nat_core/tests/nat/middleware/test_middleware_components.py class _TestMiddlewareConfig (line 32) | class _TestMiddlewareConfig(MiddlewareBaseConfig, name="test_component_m... class _TestMiddleware (line 39) | class _TestMiddleware(FunctionMiddleware): method __init__ (line 42) | def __init__(self, *, test_param: str, call_order: list[str]): method enabled (line 48) | def enabled(self) -> bool: method pre_invoke (line 51) | async def pre_invoke(self, context): method post_invoke (line 54) | async def post_invoke(self, context): method function_middleware_invoke (line 57) | async def function_middleware_invoke(self, *args, call_next, context, ... function register_test_middleware (line 66) | def register_test_middleware(): class TestMiddlewareRegistration (line 74) | class TestMiddlewareRegistration: method test_middleware_registered_in_global_registry (line 77) | def test_middleware_registered_in_global_registry(self): method test_can_retrieve_middleware_registration (line 87) | def test_can_retrieve_middleware_registration(self): class TestBuilderMethods (line 97) | class TestBuilderMethods: method test_add_middleware (line 100) | async def test_add_middleware(self): method test_get_middleware (line 110) | async def test_get_middleware(self): method test_get_middleware_config (line 121) | async def test_get_middleware_config(self): method test_get_middlewares_batch (line 132) | async def test_get_middlewares_batch(self): method test_duplicate_middleware_raises_error (line 148) | async def test_duplicate_middleware_raises_error(self): method test_get_nonexistent_middleware_raises_error (line 158) | async def test_get_nonexistent_middleware_raises_error(self): class TestYAMLIntegration (line 165) | class TestYAMLIntegration: method test_middleware_from_yaml_config (line 168) | async def test_middleware_from_yaml_config(self): class TestMiddlewareWithFunctions (line 197) | class TestMiddlewareWithFunctions: method register_test_function (line 201) | def register_test_function(self): method test_function_with_middlewares_via_builder (line 218) | async def test_function_with_middlewares_via_builder(self, register_te... class TestMiddlewareBuildOrder (line 260) | class TestMiddlewareBuildOrder: method test_middlewares_built_before_functions (line 263) | async def test_middlewares_built_before_functions(self): class TestCacheMiddlewareComponent (line 277) | class TestCacheMiddlewareComponent: method test_cache_middleware_registration (line 280) | async def test_cache_middleware_registration(self): method test_cache_middleware_from_yaml (line 290) | async def test_cache_middleware_from_yaml(self): method test_cache_middleware_with_different_configs (line 311) | async def test_cache_middleware_with_different_configs(self): class TestMiddlewareErrorHandling (line 334) | class TestMiddlewareErrorHandling: method test_missing_middleware_in_function_raises_error (line 337) | async def test_missing_middleware_in_function_raises_error(self): class TestFunctionGroupMiddlewares (line 368) | class TestFunctionGroupMiddlewares: method register_test_function_group (line 372) | def register_test_function_group(self): method test_function_group_with_middlewares_via_builder (line 397) | async def test_function_group_with_middlewares_via_builder(self, regis... method test_function_group_middlewares_propagated_to_new_functions (line 453) | async def test_function_group_middlewares_propagated_to_new_functions(... method test_function_group_configure_middlewares_updates_existing (line 481) | async def test_function_group_configure_middlewares_updates_existing(s... method test_function_group_missing_middleware_raises_error (line 527) | async def test_function_group_missing_middleware_raises_error(self): method test_function_group_middlewares_with_cache (line 561) | async def test_function_group_middlewares_with_cache(self): method test_function_group_middlewares_order_matters (line 648) | async def test_function_group_middlewares_order_matters(self): FILE: packages/nvidia_nat_core/tests/nat/middleware/test_red_teaming_middleware.py class UserInfo (line 30) | class UserInfo(BaseModel): class RequestData (line 35) | class RequestData(BaseModel): class LLMInput (line 40) | class LLMInput(BaseModel): class LLMOutput (line 46) | class LLMOutput(BaseModel): class NestedInput (line 51) | class NestedInput(BaseModel): class NestedOutput (line 56) | class NestedOutput(BaseModel): class MultiFieldModel (line 61) | class MultiFieldModel(BaseModel): function test_separator_constant_value (line 65) | def test_separator_constant_value(): function test_simple_output_replace_strategy (line 79) | async def test_simple_output_replace_strategy(): function test_call_limit (line 112) | async def test_call_limit(call_limit, expected_results): function test_attack_nested_input_field (line 140) | async def test_attack_nested_input_field(): function test_attack_input_with_output_passthrough (line 174) | async def test_attack_input_with_output_passthrough(): function test_attack_deeply_nested_jsonpath (line 204) | async def test_attack_deeply_nested_jsonpath(): function test_attack_nested_output_field (line 237) | async def test_attack_nested_output_field(): function test_attack_output_preserves_input (line 265) | async def test_attack_output_preserves_input(): function test_target_function_filtering (line 301) | async def test_target_function_filtering(): function test_multiple_field_matches_with_all_strategy (line 331) | async def test_multiple_field_matches_with_all_strategy(): function test_multiple_field_matches_with_first_strategy (line 360) | async def test_multiple_field_matches_with_first_strategy(): function test_multiple_field_matches_with_error_strategy (line 389) | async def test_multiple_field_matches_with_error_strategy(): function test_string_placement_modes (line 424) | def test_string_placement_modes(placement, original, expected): FILE: packages/nvidia_nat_core/tests/nat/middleware/test_timeout_middleware.py function fixture_mock_builder (line 34) | def fixture_mock_builder(): function fixture_function_context (line 50) | def fixture_function_context(): function _make_middleware (line 62) | def _make_middleware( class TestTimeoutMiddlewareInvoke (line 79) | class TestTimeoutMiddlewareInvoke: method test_completes_within_timeout (line 82) | async def test_completes_within_timeout(self, mock_builder, function_c... method test_exceeds_timeout_raises (line 100) | async def test_exceeds_timeout_raises(self, mock_builder, function_con... method test_propagates_function_exception (line 117) | async def test_propagates_function_exception(self, mock_builder, funct... method test_custom_timeout_message (line 130) | async def test_custom_timeout_message(self, mock_builder, function_con... class TestTimeoutMiddlewareStream (line 154) | class TestTimeoutMiddlewareStream: method test_stream_completes_within_timeout (line 157) | async def test_stream_completes_within_timeout(self, mock_builder, fun... method test_stream_exceeds_timeout_raises (line 175) | async def test_stream_exceeds_timeout_raises(self, mock_builder, funct... method test_stream_propagates_function_exception (line 192) | async def test_stream_propagates_function_exception(self, mock_builder... method test_stream_custom_timeout_message (line 208) | async def test_stream_custom_timeout_message(self, mock_builder, funct... FILE: packages/nvidia_nat_core/tests/nat/object_store/test_in_memory_object_store.py class TestInMemoryObjectStore (line 23) | class TestInMemoryObjectStore(ObjectStoreTests): method _get_store (line 26) | async def _get_store(self): FILE: packages/nvidia_nat_core/tests/nat/observability/exporter/test_base_exporter.py class ConcreteExporter (line 32) | class ConcreteExporter(BaseExporter): method __init__ (line 35) | def __init__(self, context_state=None, export_callback=None): method export (line 44) | def export(self, event: IntermediateStep) -> None: class TestIsolatedAttribute (line 50) | class TestIsolatedAttribute: method test_init (line 53) | def test_init(self): method test_set_name (line 63) | def test_set_name(self): method test_get_from_class (line 70) | def test_get_from_class(self): method test_get_from_instance_first_time (line 76) | def test_get_from_instance_first_time(self): method test_get_from_instance_subsequent_times (line 87) | def test_get_from_instance_subsequent_times(self): method test_set (line 98) | def test_set(self): method test_reset_for_copy (line 109) | def test_reset_for_copy(self): method test_reset_for_copy_when_not_set (line 123) | def test_reset_for_copy_when_not_set(self): class TestBaseExporter (line 136) | class TestBaseExporter: method mock_context_state (line 140) | def mock_context_state(self): method exporter (line 150) | def exporter(self, mock_context_state): method test_init_with_context_state (line 154) | def test_init_with_context_state(self, mock_context_state): method test_init_without_context_state (line 164) | def test_init_without_context_state(self, mock_get_context): method test_instance_tracking_on_creation (line 173) | def test_instance_tracking_on_creation(self): method test_instance_tracking_cleanup (line 180) | def test_instance_tracking_cleanup(self): method test_name_property_normal_instance (line 199) | def test_name_property_normal_instance(self, exporter): method test_name_property_isolated_instance (line 203) | def test_name_property_isolated_instance(self, exporter): method test_is_isolated_instance_property (line 208) | def test_is_isolated_instance_property(self, exporter): method test_export_abstract_method (line 215) | def test_export_abstract_method(self, exporter): method test_on_error (line 221) | def test_on_error(self, exporter, caplog): method test_on_complete (line 228) | def test_on_complete(self, exporter, caplog): method test_start_no_event_stream (line 234) | def test_start_no_event_stream(self, mock_context_state): method test_start_invalid_subject (line 243) | def test_start_invalid_subject(self, mock_context_state): method test_start_success (line 256) | def test_start_success(self, exporter): method test_start_subscription_callback (line 270) | def test_start_subscription_callback(self, exporter): method test_pre_start (line 294) | async def test_pre_start(self, exporter): method test_start_context_manager_success (line 299) | async def test_start_context_manager_success(self, exporter): method test_start_context_manager_already_running (line 309) | async def test_start_context_manager_already_running(self, exporter): method test_start_context_manager_no_event_stream (line 319) | async def test_start_context_manager_no_event_stream(self, exporter): method test_cleanup (line 329) | async def test_cleanup(self, exporter): method test_wait_for_tasks_no_tasks (line 334) | async def test_wait_for_tasks_no_tasks(self, exporter): method test_wait_for_tasks_with_completing_tasks (line 339) | async def test_wait_for_tasks_with_completing_tasks(self, exporter): method test_wait_for_tasks_timeout (line 356) | async def test_wait_for_tasks_timeout(self, exporter, caplog): method test_wait_for_tasks_exception (line 372) | async def test_wait_for_tasks_exception(self, exporter, caplog): method test_stop_not_running (line 387) | async def test_stop_not_running(self, exporter): method test_stop_running (line 393) | async def test_stop_running(self, exporter): method test_stop_with_tasks (line 409) | async def test_stop_with_tasks(self, exporter): method test_stop_task_cancellation_error (line 432) | async def test_stop_task_cancellation_error(self, exporter, caplog): method test_wait_ready (line 452) | async def test_wait_ready(self, exporter): method test_create_isolated_instance (line 468) | def test_create_isolated_instance(self, exporter): method test_create_isolated_instance_tracking (line 487) | def test_create_isolated_instance_tracking(self, exporter): method test_get_active_instance_count (line 496) | def test_get_active_instance_count(self): method test_get_isolated_instance_count (line 508) | def test_get_isolated_instance_count(self, exporter): method test_log_instance_stats (line 520) | def test_log_instance_stats(self, caplog): method test_log_instance_stats_high_isolation_warning (line 530) | def test_log_instance_stats_high_isolation_warning(self, exporter, cap... method test_del_with_active_resources (line 543) | def test_del_with_active_resources(self): method test_del_with_active_tasks (line 557) | def test_del_with_active_tasks(self): method test_isolated_attributes_independence (line 572) | def test_isolated_attributes_independence(self, exporter): method test_integration_start_export_stop (line 591) | async def test_integration_start_export_stop(self, mock_context_state): FILE: packages/nvidia_nat_core/tests/nat/observability/exporter/test_exporter.py class TestExporter (line 26) | class TestExporter: method test_cannot_instantiate_abstract_class (line 29) | def test_cannot_instantiate_abstract_class(self): method test_abstract_methods_exist (line 34) | def test_abstract_methods_exist(self): method test_concrete_implementation_requires_all_methods (line 40) | def test_concrete_implementation_requires_all_methods(self): class ConcreteExporter (line 64) | class ConcreteExporter(Exporter): method __init__ (line 67) | def __init__(self): method start (line 75) | async def start(self) -> AsyncGenerator[None]: method stop (line 83) | async def stop(self) -> None: method export (line 87) | def export(self, event: IntermediateStep) -> None: method on_error (line 91) | def on_error(self, exc: Exception) -> None: method on_complete (line 95) | def on_complete(self) -> None: class TestConcreteExporter (line 100) | class TestConcreteExporter: method exporter (line 104) | def exporter(self): method mock_intermediate_step (line 109) | def mock_intermediate_step(self): method test_concrete_implementation_can_be_instantiated (line 113) | def test_concrete_implementation_can_be_instantiated(self, exporter): method test_start_stop_lifecycle (line 118) | async def test_start_stop_lifecycle(self, exporter): method test_start_context_manager_behavior (line 129) | async def test_start_context_manager_behavior(self, exporter): method test_start_handles_exceptions (line 139) | async def test_start_handles_exceptions(self, exporter): method test_export_functionality (line 149) | def test_export_functionality(self, exporter, mock_intermediate_step): method test_export_multiple_events (line 158) | def test_export_multiple_events(self, exporter): method test_on_error_functionality (line 168) | def test_on_error_functionality(self, exporter): method test_on_error_multiple_errors (line 178) | def test_on_error_multiple_errors(self, exporter): method test_on_complete_functionality (line 188) | def test_on_complete_functionality(self, exporter): method test_on_complete_idempotent (line 196) | def test_on_complete_idempotent(self, exporter): method test_full_workflow_integration (line 205) | async def test_full_workflow_integration(self, exporter): method test_initial_state (line 232) | def test_initial_state(self, exporter): FILE: packages/nvidia_nat_core/tests/nat/observability/exporter/test_file_exporter.py function mock_context_state (line 35) | def mock_context_state(): function sample_intermediate_step (line 42) | def sample_intermediate_step(): function temp_file (line 53) | def temp_file(tmp_path): function invalid_file_path (line 59) | def invalid_file_path(tmp_path): class TestFileExporterInitialization (line 64) | class TestFileExporterInitialization: method test_basic_initialization (line 67) | def test_basic_initialization(self, mock_context_state, tmp_path): method test_initialization_without_context_state (line 78) | def test_initialization_without_context_state(self, tmp_path): method test_initialization_with_invalid_kwargs_fails (line 87) | def test_initialization_with_invalid_kwargs_fails(self, mock_context_s... method test_processor_initialization (line 97) | def test_processor_initialization(self, mock_serializer_class, mock_co... class TestFileExporterInheritance (line 113) | class TestFileExporterInheritance: method test_inheritance_from_file_export_mixin (line 116) | def test_inheritance_from_file_export_mixin(self, mock_context_state, ... method test_inheritance_from_raw_exporter (line 129) | def test_inheritance_from_raw_exporter(self, mock_context_state, tmp_p... method test_method_resolution_order (line 140) | def test_method_resolution_order(self, mock_context_state, tmp_path): class TestFileExporterFunctionality (line 155) | class TestFileExporterFunctionality: method test_export_processed_single_string (line 158) | async def test_export_processed_single_string(self, mock_context_state... method test_export_processed_list_of_strings (line 170) | async def test_export_processed_list_of_strings(self, mock_context_sta... method test_export_processed_multiple_calls (line 184) | async def test_export_processed_multiple_calls(self, mock_context_stat... method test_export_processed_file_error_handling (line 199) | async def test_export_processed_file_error_handling(self, mock_aiofile... method test_export_method_inheritance (line 215) | def test_export_method_inheritance(self, mock_context_state, sample_in... class TestFileExporterIntegration (line 233) | class TestFileExporterIntegration: method test_end_to_end_processing (line 237) | async def test_end_to_end_processing(self, method test_processor_pipeline_integration (line 265) | async def test_processor_pipeline_integration(self, mock_context_state... class TestFileExporterEdgeCases (line 281) | class TestFileExporterEdgeCases: method test_initialization_missing_output_path (line 284) | def test_initialization_missing_output_path(self, mock_context_state): method test_initialization_missing_project (line 291) | def test_initialization_missing_project(self, mock_context_state): method test_export_processed_empty_string (line 299) | async def test_export_processed_empty_string(self, mock_context_state,... method test_export_processed_empty_list (line 310) | async def test_export_processed_empty_list(self, mock_context_state, t... method test_concurrent_export_calls (line 321) | async def test_concurrent_export_calls(self, mock_context_state, temp_... method test_processor_type_checking (line 338) | def test_processor_type_checking(self, mock_context_state): method test_export_with_non_intermediate_step (line 347) | async def test_export_with_non_intermediate_step(self, mock_context_st... class TestFileExporterLogging (line 365) | class TestFileExporterLogging: method test_logger_configuration (line 368) | def test_logger_configuration(self): method test_no_unexpected_logging_during_normal_operation (line 375) | def test_no_unexpected_logging_during_normal_operation(self, mock_logg... FILE: packages/nvidia_nat_core/tests/nat/observability/exporter/test_processing_exporter.py class MockProcessor (line 36) | class MockProcessor(Processor[str, int]): method __init__ (line 39) | def __init__(self, name: str = "MockProcessor", should_fail: bool = Fa... method process (line 45) | async def process(self, item: str) -> int: class MockBatchProcessor (line 54) | class MockBatchProcessor(Processor[int, list[int]]): method __init__ (line 57) | def __init__(self, name: str = "MockBatchProcessor", return_empty: boo... method process (line 63) | async def process(self, item: int) -> list[int]: class MockProcessorWithShutdown (line 72) | class MockProcessorWithShutdown(Processor[str, str]): method __init__ (line 75) | def __init__(self, name: str = "MockProcessorWithShutdown"): method process (line 79) | async def process(self, item: str) -> str: method shutdown (line 83) | def shutdown(self): class IncompatibleProcessor (line 93) | class IncompatibleProcessor(Processor[float, bool]): method process (line 96) | async def process(self, item: float) -> bool: class NoneReturningProcessor (line 100) | class NoneReturningProcessor(Processor[str, str]): method __init__ (line 103) | def __init__(self, name: str = "NoneReturningProcessor"): method process (line 108) | async def process(self, item: str) -> str: class MockCallbackProcessor (line 115) | class MockCallbackProcessor(CallbackProcessor[str, str]): method __init__ (line 118) | def __init__(self, name: str = "MockCallbackProcessor", trigger_callba... method process (line 126) | async def process(self, item: str) -> str: method set_done_callback (line 133) | def set_done_callback(self, callback): method trigger_callback_manually (line 138) | async def trigger_callback_manually(self, item: str): class ConcreteProcessingExporter (line 145) | class ConcreteProcessingExporter(ProcessingExporter[str, int]): method __init__ (line 148) | def __init__(self, context_state: ContextState | None = None, drop_non... method export_processed (line 153) | async def export_processed(self, item: int | list[int]) -> None: class ConcreteProcessingExporterWithError (line 159) | class ConcreteProcessingExporterWithError(ProcessingExporter[str, int]): method export_processed (line 162) | async def export_processed(self, item: int | list[int]) -> None: function mock_context_state (line 168) | def mock_context_state(): function processing_exporter (line 179) | def processing_exporter(mock_context_state): class TestProcessingExporterInitialization (line 184) | class TestProcessingExporterInitialization: method test_init_with_context_state (line 187) | def test_init_with_context_state(self, mock_context_state): method test_init_with_drop_nones_false (line 197) | def test_init_with_drop_nones_false(self, mock_context_state): method test_init_default_drop_nones (line 202) | def test_init_default_drop_nones(self, mock_context_state): method test_init_without_context_state (line 208) | def test_init_without_context_state(self, mock_get_context): method test_inheritance (line 218) | def test_inheritance(self, processing_exporter): class TestPipelineLocking (line 225) | class TestPipelineLocking: method test_pipeline_locked_after_pre_start (line 228) | async def test_pipeline_locked_after_pre_start(self, processing_export... method test_add_processor_when_locked_raises_error (line 234) | def test_add_processor_when_locked_raises_error(self, processing_expor... method test_remove_processor_when_locked_raises_error (line 242) | def test_remove_processor_when_locked_raises_error(self, processing_ex... method test_clear_processors_when_locked_raises_error (line 251) | def test_clear_processors_when_locked_raises_error(self, processing_ex... method test_reset_pipeline_when_running_raises_error (line 259) | async def test_reset_pipeline_when_running_raises_error(self, processi... method test_reset_pipeline_when_not_running (line 270) | def test_reset_pipeline_when_not_running(self, processing_exporter): class TestProcessorNaming (line 285) | class TestProcessorNaming: method test_add_processor_with_name (line 288) | def test_add_processor_with_name(self, processing_exporter): method test_add_processor_duplicate_name_raises_error (line 296) | def test_add_processor_duplicate_name_raises_error(self, processing_ex... method test_add_processor_atomicity_on_name_validation_failure (line 306) | def test_add_processor_atomicity_on_name_validation_failure(self, proc... method test_add_processor_non_string_name_raises_error (line 344) | def test_add_processor_non_string_name_raises_error(self, processing_e... method test_add_processor_atomicity_on_type_validation_failure (line 351) | def test_add_processor_atomicity_on_type_validation_failure(self, proc... method test_get_processor_by_name_exists (line 389) | def test_get_processor_by_name_exists(self, processing_exporter): method test_get_processor_by_name_not_exists (line 397) | def test_get_processor_by_name_not_exists(self, processing_exporter, c... method test_get_processor_by_name_non_string_raises_error (line 405) | def test_get_processor_by_name_non_string_raises_error(self, processin... method test_remove_processor_by_name (line 410) | def test_remove_processor_by_name(self, processing_exporter): method test_remove_processor_by_name_not_exists (line 425) | def test_remove_processor_by_name_not_exists(self, processing_exporter): method test_remove_processor_by_position (line 430) | def test_remove_processor_by_position(self, processing_exporter): method test_remove_processor_by_invalid_position (line 445) | def test_remove_processor_by_invalid_position(self, processing_exporter): method test_remove_processor_invalid_type_raises_error (line 452) | def test_remove_processor_invalid_type_raises_error(self, processing_e... class TestAdvancedPositioning (line 458) | class TestAdvancedPositioning: method test_add_processor_with_position (line 461) | def test_add_processor_with_position(self, processing_exporter): method test_add_processor_position_append_with_minus_one (line 483) | def test_add_processor_position_append_with_minus_one(self, processing... method test_add_processor_position_out_of_range (line 494) | def test_add_processor_position_out_of_range(self, processing_exporter): method test_add_processor_before_named_processor (line 501) | def test_add_processor_before_named_processor(self, processing_exporter): method test_add_processor_after_named_processor (line 523) | def test_add_processor_after_named_processor(self, processing_exporter): method test_add_processor_before_nonexistent_raises_error (line 545) | def test_add_processor_before_nonexistent_raises_error(self, processin... method test_add_processor_after_nonexistent_raises_error (line 550) | def test_add_processor_after_nonexistent_raises_error(self, processing... method test_add_processor_conflicting_position_args_raises_error (line 555) | def test_add_processor_conflicting_position_args_raises_error(self, pr... method test_add_processor_before_non_string_raises_error (line 560) | def test_add_processor_before_non_string_raises_error(self, processing... method test_add_processor_after_non_string_raises_error (line 565) | def test_add_processor_after_non_string_raises_error(self, processing_... method test_processor_name_position_updates_on_insertion (line 570) | def test_processor_name_position_updates_on_insertion(self, processing... method test_unnamed_processor_insertion_updates_named_positions (line 592) | def test_unnamed_processor_insertion_updates_named_positions(self, pro... class TestDropNonesFunctionality (line 626) | class TestDropNonesFunctionality: method test_drop_nones_enabled_drops_none_result (line 629) | async def test_drop_nones_enabled_drops_none_result(self, mock_context... method test_drop_nones_disabled_passes_none_result (line 646) | async def test_drop_nones_disabled_passes_none_result(self, mock_conte... method test_drop_nones_with_multiple_processors (line 660) | async def test_drop_nones_with_multiple_processors(self, mock_context_... method test_export_with_processing_drops_none_items (line 677) | async def test_export_with_processing_drops_none_items(self, mock_cont... method test_continue_pipeline_after_drops_none_items (line 694) | async def test_continue_pipeline_after_drops_none_items(self, mock_con... class TestBasicProcessorManagement (line 714) | class TestBasicProcessorManagement: method test_add_processor_empty_pipeline (line 717) | def test_add_processor_empty_pipeline(self, processing_exporter): method test_add_multiple_compatible_processors (line 725) | def test_add_multiple_compatible_processors(self, processing_exporter): method test_add_incompatible_processor_raises_error (line 737) | def test_add_incompatible_processor_raises_error(self, processing_expo... method test_add_processor_with_generic_types_success (line 747) | def test_add_processor_with_generic_types_success(self, processing_exp... method test_remove_processor_by_object_exists (line 760) | def test_remove_processor_by_object_exists(self, processing_exporter): method test_remove_processor_by_object_not_exists (line 773) | def test_remove_processor_by_object_not_exists(self, processing_export... method test_clear_processors (line 786) | def test_clear_processors(self, processing_exporter): class TestTypeValidation (line 800) | class TestTypeValidation: method test_pre_start_no_processors (line 803) | async def test_pre_start_no_processors(self, processing_exporter): method test_pre_start_compatible_processors (line 808) | async def test_pre_start_compatible_processors(self, processing_export... method test_pre_start_first_processor_incompatible_input (line 816) | async def test_pre_start_first_processor_incompatible_input(self, proc... method test_pre_start_last_processor_incompatible_output (line 827) | async def test_pre_start_last_processor_incompatible_output(self, proc... method test_pre_start_type_validation_strict_checking (line 842) | async def test_pre_start_type_validation_strict_checking(self, process... method test_pre_start_output_type_validation_error_propagation (line 860) | async def test_pre_start_output_type_validation_error_propagation(self... class TestPipelineProcessing (line 875) | class TestPipelineProcessing: method test_process_pipeline_no_processors (line 878) | async def test_process_pipeline_no_processors(self, processing_exporter): method test_process_pipeline_single_processor (line 884) | async def test_process_pipeline_single_processor(self, processing_expo... method test_process_pipeline_multiple_processors (line 896) | async def test_process_pipeline_multiple_processors(self, processing_e... method test_process_pipeline_processor_error_continues (line 913) | async def test_process_pipeline_processor_error_continues(self, proces... class TestExportWithProcessing (line 931) | class TestExportWithProcessing: method test_export_with_processing_single_item (line 934) | async def test_export_with_processing_single_item(self, processing_exp... method test_export_with_processing_list_item_non_empty (line 946) | async def test_export_with_processing_list_item_non_empty(self, mock_c... method test_export_with_processing_list_item_empty_skipped (line 975) | async def test_export_with_processing_list_item_empty_skipped(self, mo... method test_export_with_processing_invalid_output_type_error (line 1004) | async def test_export_with_processing_invalid_output_type_error(self, ... method test_export_with_processing_export_error_propagates (line 1021) | async def test_export_with_processing_export_error_propagates(self, mo... class TestExportMethod (line 1033) | class TestExportMethod: method test_export_compatible_event (line 1036) | def test_export_compatible_event(self, processing_exporter): method test_export_incompatible_event_warning (line 1052) | def test_export_incompatible_event_warning(self, processing_exporter, ... class TestTaskCreation (line 1067) | class TestTaskCreation: method test_create_export_task_when_running (line 1070) | async def test_create_export_task_when_running(self, processing_export... method test_create_export_task_when_not_running_warning (line 1092) | def test_create_export_task_when_not_running_warning(self, processing_... method test_create_export_task_error_handling (line 1104) | async def test_create_export_task_error_handling(self, processing_expo... method test_create_export_task_closes_coroutine_when_not_running (line 1128) | async def test_create_export_task_closes_coroutine_when_not_running(se... class TestCleanup (line 1142) | class TestCleanup: method test_cleanup_no_processors (line 1145) | async def test_cleanup_no_processors(self, processing_exporter): method test_cleanup_processors_without_shutdown (line 1155) | async def test_cleanup_processors_without_shutdown(self, processing_ex... method test_cleanup_processors_with_shutdown (line 1168) | async def test_cleanup_processors_with_shutdown(self, processing_expor... method test_cleanup_processors_shutdown_success (line 1184) | async def test_cleanup_processors_shutdown_success(self, processing_ex... method test_cleanup_processors_shutdown_error (line 1202) | async def test_cleanup_processors_shutdown_error(self, processing_expo... method test_cleanup_calls_processor_shutdown (line 1242) | async def test_cleanup_calls_processor_shutdown(self, processing_expor... method test_cleanup_processor_shutdown_error_handling (line 1257) | async def test_cleanup_processor_shutdown_error_handling(self, process... method test_cleanup_without_processors_attribute (line 1295) | async def test_cleanup_without_processors_attribute(self, processing_e... class TestTypeIntrospection (line 1310) | class TestTypeIntrospection: method test_input_output_types (line 1313) | def test_input_output_types(self, processing_exporter): class TestAbstractMethod (line 1337) | class TestAbstractMethod: method test_export_processed_is_abstract (line 1340) | def test_export_processed_is_abstract(self): class TestCallbackProcessorIntegration (line 1352) | class TestCallbackProcessorIntegration: method test_callback_processor_callback_setup (line 1355) | def test_callback_processor_callback_setup(self, processing_exporter): method test_callback_processor_pipeline_continuation (line 1365) | async def test_callback_processor_pipeline_continuation(self, processi... method test_continue_pipeline_after_with_remaining_processors (line 1389) | async def test_continue_pipeline_after_with_remaining_processors(self): method test_continue_pipeline_processor_not_found (line 1438) | async def test_continue_pipeline_processor_not_found(self, processing_... method test_continue_pipeline_exception_handling (line 1454) | async def test_continue_pipeline_exception_handling(self, processing_e... method test_callback_processor_no_remaining_processors (line 1472) | async def test_callback_processor_no_remaining_processors(self, proces... class TestErrorPathCoverage (line 1488) | class TestErrorPathCoverage: method test_empty_batch_debug_logging (line 1491) | async def test_empty_batch_debug_logging(self, processing_exporter, ca... method test_invalid_output_type_warning_path (line 1503) | async def test_invalid_output_type_warning_path(self, processing_expor... method test_cleanup_shutdown_exception_handling (line 1516) | async def test_cleanup_shutdown_exception_handling(self, processing_ex... method test_export_final_item_empty_list_vs_none (line 1536) | async def test_export_final_item_empty_list_vs_none(self, processing_e... class TestEdgeCases (line 1552) | class TestEdgeCases: method test_process_pipeline_empty_processors_list (line 1555) | async def test_process_pipeline_empty_processors_list(self, processing... method test_add_processor_type_compatibility_complex_generics (line 1564) | def test_add_processor_type_compatibility_complex_generics(self, proce... method test_processor_management_with_same_processor_instance (line 1577) | def test_processor_management_with_same_processor_instance(self, proce... method test_export_with_processing_coroutine_cleanup (line 1598) | async def test_export_with_processing_coroutine_cleanup(self, processi... method test_processors_attribute_access_edge_cases (line 1617) | def test_processors_attribute_access_edge_cases(self, processing_expor... FILE: packages/nvidia_nat_core/tests/nat/observability/exporter/test_raw_exporter.py class MockProcessor (line 33) | class MockProcessor(Processor[IntermediateStep, str]): method __init__ (line 36) | def __init__(self, name: str = "MockProcessor", should_fail: bool = Fa... method process (line 43) | async def process(self, item: IntermediateStep) -> str: class StringProcessor (line 51) | class StringProcessor(Processor[str, str]): method __init__ (line 54) | def __init__(self, name: str = "StringProcessor", should_fail: bool = ... method process (line 61) | async def process(self, item: str) -> str: class ConcreteRawExporter (line 69) | class ConcreteRawExporter(RawExporter[IntermediateStep, str]): method __init__ (line 72) | def __init__(self, context_state: ContextState | None = None): method export_processed (line 77) | async def export_processed(self, item: str) -> None: function mock_context_state (line 84) | def mock_context_state(): function raw_exporter (line 95) | def raw_exporter(mock_context_state): function sample_intermediate_step (line 101) | def sample_intermediate_step(): class TestRawExporterCleanMocking (line 112) | class TestRawExporterCleanMocking: method test_export_type_checking (line 115) | def test_export_type_checking(self, raw_exporter, sample_intermediate_... method test_export_method_signature_and_behavior (line 138) | def test_export_method_signature_and_behavior(self, raw_exporter): method test_processing_pipeline_directly (line 153) | async def test_processing_pipeline_directly(self, raw_exporter, sample... method test_export_with_proper_async_mock (line 169) | def test_export_with_proper_async_mock(self, raw_exporter, sample_inte... class TestRawExporterCoreLogic (line 187) | class TestRawExporterCoreLogic: method test_inheritance_and_abstract_methods (line 190) | def test_inheritance_and_abstract_methods(self): method test_initialization_patterns (line 203) | def test_initialization_patterns(self, mock_context_state): method test_processor_integration (line 216) | async def test_processor_integration(self, raw_exporter, sample_interm... method test_error_handling (line 245) | async def test_error_handling(self, raw_exporter, sample_intermediate_... class TestRawExporterMinimalMocking (line 258) | class TestRawExporterMinimalMocking: method test_export_behavioral_contract (line 261) | def test_export_behavioral_contract(self, raw_exporter): method test_processing_chain_logic (line 298) | def test_processing_chain_logic(self, mock_context_state): method test_integration_with_real_async_execution (line 329) | def test_integration_with_real_async_execution(self, mock_context_state): class TestRawExporterEdgeCases (line 377) | class TestRawExporterEdgeCases: method test_export_with_none_and_falsy_values (line 380) | def test_export_with_none_and_falsy_values(self, raw_exporter): method test_type_checking_precision (line 390) | def test_type_checking_precision(self, raw_exporter): method test_processor_edge_cases (line 406) | async def test_processor_edge_cases(self, mock_context_state): FILE: packages/nvidia_nat_core/tests/nat/observability/exporter/test_span_exporter.py function create_test_intermediate_step (line 40) | def create_test_intermediate_step(parent_id="root", function create_intermediate_step (line 50) | def create_intermediate_step(parent_id="root", function_name="test_funct... class ConcreteSpanExporter (line 63) | class ConcreteSpanExporter(SpanExporter[Span, Span]): method __init__ (line 66) | def __init__(self, *args, **kwargs): method export_processed (line 70) | async def export_processed(self, item: Span) -> None: class TestSpanExporterFunctionality (line 75) | class TestSpanExporterFunctionality: method span_exporter (line 79) | def span_exporter(self): method sample_start_event (line 84) | def sample_start_event(self): method sample_end_event (line 98) | def sample_end_event(self): method test_init (line 116) | def test_init(self, span_exporter): method test_export_non_intermediate_step (line 123) | def test_export_non_intermediate_step(self, span_exporter): method test_process_start_event (line 132) | def test_process_start_event(self, method test_process_start_event_with_parent (line 161) | def test_process_start_event_with_parent(self, span_exporter): method test_process_start_event_missing_parent (line 203) | def test_process_start_event_missing_parent(self, span_exporter): method test_process_start_event_input_parsing (line 224) | def test_process_start_event_input_parsing(self, span_exporter): method test_process_end_event (line 238) | async def test_process_end_event(self, span_exporter, sample_start_eve... method test_process_end_event_missing_span (line 271) | def test_process_end_event_missing_span(self, span_exporter, sample_en... method test_process_end_event_metadata_merge (line 277) | async def test_process_end_event_metadata_merge(self, span_exporter): method test_process_end_event_trace_metadata (line 317) | async def test_process_end_event_trace_metadata(self, span_exporter): method test_process_end_event_invalid_metadata (line 357) | def test_process_end_event_invalid_metadata(self, span_exporter): method test_process_end_event_missing_metadata (line 385) | def test_process_end_event_missing_metadata(self, span_exporter): method test_cleanup (line 409) | async def test_cleanup(self, span_exporter): method test_cleanup_no_outstanding_spans (line 429) | async def test_cleanup_no_outstanding_spans(self, span_exporter): method test_span_attribute_setting (line 438) | def test_span_attribute_setting(self, span_exporter, sample_start_event): method test_span_name_generation (line 450) | def test_span_name_generation(self, span_exporter): method test_span_context_propagation (line 477) | def test_span_context_propagation(self, span_exporter): method test_isolated_attributes (line 517) | def test_isolated_attributes(self): method test_usage_info_without_token_usage (line 538) | async def test_usage_info_without_token_usage(self, span_exporter): method test_span_name_uses_display_name_from_metadata (line 579) | def test_span_name_uses_display_name_from_metadata(self, span_exporter): method test_span_name_falls_back_to_payload_name (line 597) | def test_span_name_falls_back_to_payload_name(self, span_exporter): method test_span_name_falls_back_to_event_type (line 613) | def test_span_name_falls_back_to_event_type(self, span_exporter): class TestToJsonStringSerialization (line 629) | class TestToJsonStringSerialization: method fixture_exporter (line 633) | def fixture_exporter(self): method test_string_input (line 636) | def test_string_input(self, exporter): method test_dict_input (line 643) | def test_dict_input(self, exporter): method test_dict_filters_none_values (line 650) | def test_dict_filters_none_values(self, exporter): method test_dict_with_value_key (line 658) | def test_dict_with_value_key(self, exporter): method test_dict_with_none_value_key (line 665) | def test_dict_with_none_value_key(self, exporter): method test_pydantic_model (line 672) | def test_pydantic_model(self, exporter): method test_pydantic_model_with_value_key (line 686) | def test_pydantic_model_with_value_key(self, exporter): method test_list_of_pydantic_models (line 698) | def test_list_of_pydantic_models(self, exporter): method test_list_of_mixed_types (line 714) | def test_list_of_mixed_types(self, exporter): method test_dict_with_nested_none_values (line 726) | def test_dict_with_nested_none_values(self, exporter): method test_arbitrary_object_falls_back_to_str (line 745) | def test_arbitrary_object_falls_back_to_str(self, exporter): method test_exception_during_serialization_falls_back_to_str (line 758) | def test_exception_during_serialization_falls_back_to_str(self, export... method test_integer_input (line 775) | def test_integer_input(self, exporter): method test_none_input (line 782) | def test_none_input(self, exporter): method test_result_is_always_a_string (line 789) | def test_result_is_always_a_string(self, exporter): FILE: packages/nvidia_nat_core/tests/nat/observability/mixin/test_file_mixin.py class TestFileExportMixin (line 26) | class TestFileExportMixin: method temp_file (line 30) | def temp_file(self, tmp_path): method temp_dir (line 35) | def temp_dir(self, tmp_path): method invalid_file_path (line 40) | def invalid_file_path(self, tmp_path): method mock_superclass (line 45) | def mock_superclass(self): method file_mixin_class (line 56) | def file_mixin_class(self, mock_superclass): method test_init_with_required_parameters (line 64) | def test_init_with_required_parameters(self, file_mixin_class, temp_fi... method test_init_with_additional_args_and_kwargs (line 75) | def test_init_with_additional_args_and_kwargs(self, file_mixin_class, ... method test_init_with_rolling_enabled (line 88) | def test_init_with_rolling_enabled(self, file_mixin_class, temp_dir): method test_init_rolling_with_directory_path (line 107) | def test_init_rolling_with_directory_path(self, file_mixin_class, temp... method test_init_creates_directory_structure (line 118) | def test_init_creates_directory_structure(self, file_mixin_class, tmp_... method test_export_processed_writes_single_string_to_file (line 128) | async def test_export_processed_writes_single_string_to_file(self, fil... method test_export_processed_writes_list_of_strings_to_file (line 144) | async def test_export_processed_writes_list_of_strings_to_file(self, f... method test_export_processed_handles_empty_list (line 161) | async def test_export_processed_handles_empty_list(self, file_mixin_cl... method test_export_processed_appends_on_multiple_calls (line 177) | async def test_export_processed_appends_on_multiple_calls(self, file_m... method test_export_processed_concurrent_access (line 196) | async def test_export_processed_concurrent_access(self, file_mixin_cla... method test_export_processed_concurrent_writes_with_lists (line 221) | async def test_export_processed_concurrent_writes_with_lists(self, fil... method test_export_processed_with_error_handling (line 259) | async def test_export_processed_with_error_handling(self, file_mixin_c... method test_export_processed_mixed_data_types (line 272) | async def test_export_processed_mixed_data_types(self, file_mixin_clas... method test_export_processed_list_edge_cases (line 306) | async def test_export_processed_list_edge_cases(self, file_mixin_class... method test_export_processed_large_data (line 327) | async def test_export_processed_large_data(self, file_mixin_class, tem... method test_output_path_attribute_access (line 348) | def test_output_path_attribute_access(self, file_mixin_class, temp_file): method test_project_attribute_access (line 358) | def test_project_attribute_access(self, file_mixin_class, temp_file): class TestFileExportMixinRolling (line 369) | class TestFileExportMixinRolling: method temp_dir (line 373) | def temp_dir(self, tmp_path): method mock_superclass (line 378) | def mock_superclass(self): method file_mixin_class (line 389) | def file_mixin_class(self, mock_superclass): method test_file_rolling_when_size_exceeded (line 397) | async def test_file_rolling_when_size_exceeded(self, file_mixin_class,... method test_file_rolling_preserves_content (line 429) | async def test_file_rolling_preserves_content(self, file_mixin_class, ... method test_file_cleanup_when_max_files_exceeded (line 461) | async def test_file_cleanup_when_max_files_exceeded(self, file_mixin_c... method test_timestamp_precision_prevents_collisions (line 487) | async def test_timestamp_precision_prevents_collisions(self, file_mixi... method test_should_roll_file_logic (line 521) | async def test_should_roll_file_logic(self, file_mixin_class, temp_dir): method test_rolling_disabled_behavior (line 541) | async def test_rolling_disabled_behavior(self, file_mixin_class, tmp_p... method test_concurrent_rolling_safety (line 564) | async def test_concurrent_rolling_safety(self, file_mixin_class, temp_... method test_get_current_file_path (line 594) | def test_get_current_file_path(self, file_mixin_class, temp_dir): method test_get_file_info (line 604) | def test_get_file_info(self, file_mixin_class, temp_dir): method test_get_file_info_without_rolling (line 626) | def test_get_file_info_without_rolling(self, file_mixin_class, tmp_path): method test_overwrite_mode_with_rolling (line 639) | async def test_overwrite_mode_with_rolling(self, file_mixin_class, tem... method test_cleanup_on_init_removes_existing_files (line 660) | async def test_cleanup_on_init_removes_existing_files(self, file_mixin... FILE: packages/nvidia_nat_core/tests/nat/observability/mixin/test_serialize_mixin.py class SampleModel (line 24) | class SampleModel(BaseModel): class TestSerializeMixin (line 30) | class TestSerializeMixin: method setup_method (line 33) | def setup_method(self): method test_process_streaming_output_with_basemodel (line 37) | def test_process_streaming_output_with_basemodel(self): method test_process_streaming_output_with_dict (line 45) | def test_process_streaming_output_with_dict(self): method test_process_streaming_output_with_other_types (line 53) | def test_process_streaming_output_with_other_types(self): method test_serialize_payload_with_basemodel (line 74) | def test_serialize_payload_with_basemodel(self): method test_serialize_payload_with_dict (line 84) | def test_serialize_payload_with_dict(self): method test_serialize_payload_with_list_of_basemodels (line 94) | def test_serialize_payload_with_list_of_basemodels(self): method test_serialize_payload_with_list_of_dicts (line 105) | def test_serialize_payload_with_list_of_dicts(self): method test_serialize_payload_with_mixed_list (line 116) | def test_serialize_payload_with_mixed_list(self): method test_serialize_payload_with_nested_list (line 130) | def test_serialize_payload_with_nested_list(self): method test_serialize_payload_with_string (line 143) | def test_serialize_payload_with_string(self): method test_serialize_payload_with_number (line 150) | def test_serialize_payload_with_number(self): method test_serialize_payload_with_boolean (line 162) | def test_serialize_payload_with_boolean(self): method test_serialize_payload_with_none (line 172) | def test_serialize_payload_with_none(self): method test_serialize_payload_exception_handling_basemodel (line 179) | def test_serialize_payload_exception_handling_basemodel(self): method test_serialize_payload_exception_handling_dict (line 195) | def test_serialize_payload_exception_handling_dict(self): method test_serialize_payload_exception_handling_list (line 206) | def test_serialize_payload_exception_handling_list(self): method test_serialize_payload_empty_list (line 217) | def test_serialize_payload_empty_list(self): method test_serialize_payload_empty_dict (line 225) | def test_serialize_payload_empty_dict(self): method test_serialize_payload_complex_nested_structure_with_basemodel (line 232) | def test_serialize_payload_complex_nested_structure_with_basemodel(self): method test_serialize_payload_complex_nested_structure_with_dicts_only (line 257) | def test_serialize_payload_complex_nested_structure_with_dicts_only(se... class TestSerializeMixinIntegration (line 282) | class TestSerializeMixinIntegration: method test_mixin_inheritance (line 285) | def test_mixin_inheritance(self): FILE: packages/nvidia_nat_core/tests/nat/observability/mixin/test_type_introspection_mixin.py class DirectGenericClass (line 32) | class DirectGenericClass(TypeIntrospectionMixin, Generic[InputT, OutputT]): class ConcreteDirectClass (line 36) | class ConcreteDirectClass(DirectGenericClass[list[int], str]): class ConcreteDirectComplexClass (line 40) | class ConcreteDirectComplexClass(DirectGenericClass[dict[str, int], list... class IndirectGenericParent (line 48) | class IndirectGenericParent(TypeIntrospectionMixin, Generic[T, U]): class IndirectGenericChild (line 52) | class IndirectGenericChild(IndirectGenericParent[int, list[int]]): class NonGenericClass (line 56) | class NonGenericClass(TypeIntrospectionMixin): class SingleGenericClass (line 63) | class SingleGenericClass(TypeIntrospectionMixin, Generic[SingleT]): class ConcreteSignleGenericClass (line 67) | class ConcreteSignleGenericClass(SingleGenericClass[str]): class BaseProcessor (line 75) | class BaseProcessor(TypeIntrospectionMixin, Generic[InputT, OutputT]): class SpanProcessor (line 79) | class SpanProcessor(BaseProcessor[str, str]): class ContextualProcessor (line 83) | class ContextualProcessor(SpanProcessor, Generic[DataT]): class ConcreteContextualProcessor (line 87) | class ConcreteContextualProcessor(ContextualProcessor[dict[str, int]]): class DeepInheritanceBase (line 91) | class DeepInheritanceBase(TypeIntrospectionMixin, Generic[InputT, Output... class DeepInheritanceMiddle (line 95) | class DeepInheritanceMiddle(DeepInheritanceBase[int, list[int]]): class DeepInheritanceChild (line 99) | class DeepInheritanceChild(DeepInheritanceMiddle, Generic[DataT]): class ConcreteDeepInheritance (line 103) | class ConcreteDeepInheritance(DeepInheritanceChild[str]): class MockProcessor (line 112) | class MockProcessor(TypeIntrospectionMixin, Generic[InputT, OutputT]): class MockRedactionProcessor (line 116) | class MockRedactionProcessor(MockProcessor[RedactionT, RedactionT]): class ConcreteMockRedactionProcessor (line 120) | class ConcreteMockRedactionProcessor(MockRedactionProcessor[str]): class TestTypeIntrospectionMixin (line 124) | class TestTypeIntrospectionMixin: method test_direct_generic_input_type (line 127) | def test_direct_generic_input_type(self): method test_direct_generic_output_type (line 132) | def test_direct_generic_output_type(self): method test_direct_generic_complex_input_type (line 137) | def test_direct_generic_complex_input_type(self): method test_direct_generic_complex_output_type (line 142) | def test_direct_generic_complex_output_type(self): method test_indirect_generic_input_type (line 147) | def test_indirect_generic_input_type(self): method test_indirect_generic_output_type (line 152) | def test_indirect_generic_output_type(self): method test_pydantic_validation_simple_types (line 157) | def test_pydantic_validation_simple_types(self): method test_pydantic_validation_generic_types (line 169) | def test_pydantic_validation_generic_types(self): method test_type_compatibility_methods (line 183) | def test_type_compatibility_methods(self): method test_strict_type_compatibility (line 196) | def test_strict_type_compatibility(self): method test_non_generic_class_input_type_error (line 218) | def test_non_generic_class_input_type_error(self): method test_non_generic_class_output_type_error (line 224) | def test_non_generic_class_output_type_error(self): method test_single_generic_parameter_error (line 230) | def test_single_generic_parameter_error(self): method test_properties_cached (line 236) | def test_properties_cached(self): method test_no_orig_bases_error (line 254) | def test_no_orig_bases_error(self): method test_single_arg_no_parent_bases_error (line 265) | def test_single_arg_no_parent_bases_error(self): method test_edge_case_empty_args (line 279) | def test_edge_case_empty_args(self): method test_mixed_inheritance_with_generic_skipping (line 289) | def test_mixed_inheritance_with_generic_skipping(self): method test_mixed_inheritance_behavior (line 297) | def test_mixed_inheritance_behavior(self): method test_deep_mro_traversal_with_generic_skipping (line 305) | def test_deep_mro_traversal_with_generic_skipping(self): method test_deep_mro_behavior (line 313) | def test_deep_mro_behavior(self): method test_generic_bases_are_skipped (line 321) | def test_generic_bases_are_skipped(self): method test_mro_traversal_fallback (line 336) | def test_mro_traversal_fallback(self): method test_same_typevar_expansion (line 349) | def test_same_typevar_expansion(self): class TestSignatureBasedExtraction (line 370) | class TestSignatureBasedExtraction: method test_signature_method_attribute (line 373) | def test_signature_method_attribute(self): method test_discovered_signature_method (line 386) | def test_discovered_signature_method(self): method test_no_type_annotations_fallback (line 398) | def test_no_type_annotations_fallback(self): class TestUnionTypes (line 415) | class TestUnionTypes: method test_union_input_detection (line 418) | def test_union_input_detection(self): method test_union_output_detection (line 433) | def test_union_output_detection(self): method test_no_union_types (line 448) | def test_no_union_types(self): class TestCompatibilityMethods (line 457) | class TestCompatibilityMethods: method test_input_compatibility (line 460) | def test_input_compatibility(self): method test_output_compatibility (line 472) | def test_output_compatibility(self): class TestRecursiveTypeVarResolution (line 480) | class TestRecursiveTypeVarResolution: method test_deeply_nested_generics (line 483) | def test_deeply_nested_generics(self): method test_multiple_typevar_resolution (line 502) | def test_multiple_typevar_resolution(self): class TestRealWorldPatterns (line 515) | class TestRealWorldPatterns: method test_processor_pattern (line 518) | def test_processor_pattern(self): method test_redaction_processor_pattern (line 537) | def test_redaction_processor_pattern(self): class TestExtractNonOptionalType (line 559) | class TestExtractNonOptionalType: method test_extract_from_optional_type_int (line 562) | def test_extract_from_optional_type_int(self): method test_extract_from_optional_type_str (line 571) | def test_extract_from_optional_type_str(self): method test_extract_from_optional_complex_type (line 580) | def test_extract_from_optional_complex_type(self): method test_extract_from_union_with_none_first (line 594) | def test_extract_from_union_with_none_first(self): method test_extract_from_non_optional_type (line 603) | def test_extract_from_non_optional_type(self): method test_extract_from_union_without_none (line 613) | def test_extract_from_union_without_none(self): method test_extract_from_complex_union_with_none (line 622) | def test_extract_from_complex_union_with_none(self): method test_extract_from_nested_generic_optional (line 632) | def test_extract_from_nested_generic_optional(self): method test_extract_preserves_original_type_object (line 646) | def test_extract_preserves_original_type_object(self): method test_extract_with_direct_types (line 658) | def test_extract_with_direct_types(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/redaction/test_contextual_redaction_processor.py function default_callback (line 30) | def default_callback(_data: Any) -> bool: class ConcreteContextualRedactionProcessor (line 35) | class ConcreteContextualRedactionProcessor(ContextualRedactionProcessor[... method __init__ (line 38) | def __init__(self, method extract_data_from_context (line 59) | def extract_data_from_context(self) -> dict | None: method validate_data (line 64) | def validate_data(self, data: dict) -> bool: method redact_item (line 69) | async def redact_item(self, item: str) -> str: class ErroringContextualRedactionProcessor (line 75) | class ErroringContextualRedactionProcessor(ContextualRedactionProcessor[... method __init__ (line 78) | def __init__(self, method extract_data_from_context (line 96) | def extract_data_from_context(self) -> dict | None: method validate_data (line 102) | def validate_data(self, data: dict) -> bool: method redact_item (line 108) | async def redact_item(self, item: str) -> str: class TestDefaultCallback (line 113) | class TestDefaultCallback: method test_default_callback_returns_false (line 116) | def test_default_callback_returns_false(self): method test_default_callback_with_various_types (line 124) | def test_default_callback_with_various_types(self): class TestContextualRedactionProcessorAbstract (line 145) | class TestContextualRedactionProcessorAbstract: method test_contextual_redaction_processor_is_abstract (line 148) | def test_contextual_redaction_processor_is_abstract(self): method test_incomplete_implementation_raises_error (line 153) | def test_incomplete_implementation_raises_error(self): method test_concrete_implementation_can_be_instantiated (line 184) | def test_concrete_implementation_can_be_instantiated(self): class TestContextualRedactionProcessorInit (line 193) | class TestContextualRedactionProcessorInit: method test_default_initialization (line 196) | def test_default_initialization(self): method test_custom_callback_initialization (line 207) | def test_custom_callback_initialization(self): method test_enabled_parameter (line 216) | def test_enabled_parameter(self): method test_force_redact_parameter (line 224) | def test_force_redact_parameter(self): method test_redaction_value_parameter (line 232) | def test_redaction_value_parameter(self): method test_all_parameters_custom (line 238) | def test_all_parameters_custom(self): method test_none_callback_uses_default (line 254) | def test_none_callback_uses_default(self): class TestContextualRedactionProcessorShouldRedact (line 260) | class TestContextualRedactionProcessorShouldRedact: method test_should_redact_force_redact_true (line 263) | async def test_should_redact_force_redact_true(self): method test_should_redact_disabled (line 274) | async def test_should_redact_disabled(self): method test_should_redact_no_data_extracted (line 285) | async def test_should_redact_no_data_extracted(self): method test_should_redact_invalid_data (line 297) | async def test_should_redact_invalid_data(self): method test_should_redact_valid_data_callback_false (line 309) | async def test_should_redact_valid_data_callback_false(self): method test_should_redact_valid_data_callback_true (line 327) | async def test_should_redact_valid_data_callback_true(self): method test_should_redact_async_callback (line 345) | async def test_should_redact_async_callback(self): method test_should_redact_callback_with_data_parameter (line 360) | async def test_should_redact_callback_with_data_parameter(self): class TestContextualRedactionProcessorCaching (line 379) | class TestContextualRedactionProcessorCaching: method test_callback_caching_within_context (line 382) | async def test_callback_caching_within_context(self): method test_cache_isolation_between_processors (line 410) | async def test_cache_isolation_between_processors(self): method test_cache_behavior_with_context_manager (line 442) | async def test_cache_behavior_with_context_manager(self): class TestContextualRedactionProcessorErrorHandling (line 469) | class TestContextualRedactionProcessorErrorHandling: method test_extract_data_error_propagates (line 472) | async def test_extract_data_error_propagates(self): method test_validate_data_error_propagates (line 479) | async def test_validate_data_error_propagates(self): method test_callback_error_propagates (line 486) | async def test_callback_error_propagates(self): method test_async_callback_error_propagates (line 499) | async def test_async_callback_error_propagates(self): class TestContextualRedactionProcessorEdgeCases (line 513) | class TestContextualRedactionProcessorEdgeCases: method test_should_redact_with_none_extracted_data (line 516) | async def test_should_redact_with_none_extracted_data(self): method test_should_redact_with_empty_dict_data (line 527) | async def test_should_redact_with_empty_dict_data(self): method test_should_redact_multiple_calls_same_item (line 541) | async def test_should_redact_multiple_calls_same_item(self): method test_precedence_force_redact_over_disabled (line 571) | async def test_precedence_force_redact_over_disabled(self): method test_callback_with_complex_data_types (line 584) | async def test_callback_with_complex_data_types(self): method test_validate_data_with_different_data_types (line 610) | async def test_validate_data_with_different_data_types(self): class TestContextualRedactionProcessorIntegration (line 667) | class TestContextualRedactionProcessorIntegration: method test_redaction_context_integration (line 670) | async def test_redaction_context_integration(self): method test_context_state_persistence (line 692) | async def test_context_state_persistence(self): method test_manual_context_management (line 718) | async def test_manual_context_management(self): class TestContextualRedactionProcessorLogging (line 747) | class TestContextualRedactionProcessorLogging: method test_no_default_logging_in_should_redact (line 750) | async def test_no_default_logging_in_should_redact(self, caplog): method test_custom_logging_in_concrete_methods (line 761) | async def test_custom_logging_in_concrete_methods(self, caplog): class TestContextualRedactionProcessorPerformance (line 801) | class TestContextualRedactionProcessorPerformance: method test_efficient_short_circuit_force_redact (line 804) | async def test_efficient_short_circuit_force_redact(self): method test_efficient_short_circuit_disabled (line 847) | async def test_efficient_short_circuit_disabled(self): method test_caching_reduces_callback_calls (line 888) | async def test_caching_reduces_callback_calls(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/redaction/test_contextual_span_redaction_processor.py function default_callback (line 25) | def default_callback(_data: dict[str, Any]) -> bool: class ConcreteContextualSpanRedactionProcessor (line 30) | class ConcreteContextualSpanRedactionProcessor(ContextualSpanRedactionPr... method __init__ (line 33) | def __init__(self, method extract_data_from_context (line 59) | def extract_data_from_context(self) -> dict | None: method validate_data (line 63) | def validate_data(self, data: dict) -> bool: function sample_span (line 69) | def sample_span(): function minimal_span (line 88) | def minimal_span(): class TestContextualSpanRedactionProcessorInitialization (line 100) | class TestContextualSpanRedactionProcessorInitialization: method test_default_initialization (line 103) | def test_default_initialization(self): method test_initialization_with_attributes (line 114) | def test_initialization_with_attributes(self): method test_initialization_with_single_attribute (line 126) | def test_initialization_with_single_attribute(self): method test_initialization_with_empty_attributes (line 132) | def test_initialization_with_empty_attributes(self): method test_initialization_with_none_attributes (line 138) | def test_initialization_with_none_attributes(self): method test_initialization_with_custom_callback (line 144) | def test_initialization_with_custom_callback(self): method test_initialization_with_none_callback (line 154) | def test_initialization_with_none_callback(self): method test_initialization_with_enabled_false (line 160) | def test_initialization_with_enabled_false(self): method test_initialization_with_force_redact_true (line 166) | def test_initialization_with_force_redact_true(self): method test_initialization_with_custom_redaction_value (line 172) | def test_initialization_with_custom_redaction_value(self): method test_initialization_with_redaction_tag (line 179) | def test_initialization_with_redaction_tag(self): method test_initialization_with_all_parameters (line 186) | def test_initialization_with_all_parameters(self): class TestContextualSpanRedactionProcessorRedactItem (line 211) | class TestContextualSpanRedactionProcessorRedactItem: method test_redact_single_attribute (line 214) | async def test_redact_single_attribute(self, sample_span): method test_redact_multiple_attributes (line 225) | async def test_redact_multiple_attributes(self, sample_span): method test_redact_all_attributes (line 237) | async def test_redact_all_attributes(self, sample_span): method test_redact_nonexistent_attributes (line 247) | async def test_redact_nonexistent_attributes(self, sample_span): method test_redact_mixed_existing_and_nonexistent_attributes (line 263) | async def test_redact_mixed_existing_and_nonexistent_attributes(self, ... method test_redact_with_custom_redaction_value (line 274) | async def test_redact_with_custom_redaction_value(self, sample_span): method test_redact_empty_attributes_list (line 285) | async def test_redact_empty_attributes_list(self, sample_span): method test_redact_span_with_no_attributes (line 297) | async def test_redact_span_with_no_attributes(self, minimal_span): method test_redact_with_redaction_tag (line 306) | async def test_redact_with_redaction_tag(self, sample_span): method test_redact_with_redaction_tag_no_attributes (line 315) | async def test_redact_with_redaction_tag_no_attributes(self, sample_sp... method test_redact_with_none_redaction_tag (line 326) | async def test_redact_with_none_redaction_tag(self, sample_span): method test_redact_preserves_span_identity (line 336) | async def test_redact_preserves_span_identity(self, sample_span): method test_redact_multiple_calls_same_span (line 352) | async def test_redact_multiple_calls_same_span(self, sample_span): method test_redact_overwrite_existing_redaction (line 367) | async def test_redact_overwrite_existing_redaction(self, sample_span): class TestContextualSpanRedactionProcessorShouldRedact (line 382) | class TestContextualSpanRedactionProcessorShouldRedact: method test_should_redact_force_redact_true (line 385) | async def test_should_redact_force_redact_true(self, sample_span): method test_should_redact_enabled_false (line 393) | async def test_should_redact_enabled_false(self, sample_span): method test_should_redact_enabled_false_overrides_force_redact (line 401) | async def test_should_redact_enabled_false_overrides_force_redact(self... method test_should_redact_extract_data_returns_none (line 409) | async def test_should_redact_extract_data_returns_none(self, sample_sp... method test_should_redact_validate_data_returns_false (line 416) | async def test_should_redact_validate_data_returns_false(self, sample_... method test_should_redact_all_conditions_met_with_default_callback (line 424) | async def test_should_redact_all_conditions_met_with_default_callback(... method test_should_redact_all_conditions_met_with_true_callback (line 435) | async def test_should_redact_all_conditions_met_with_true_callback(sel... method test_should_redact_callback_with_custom_logic (line 450) | async def test_should_redact_callback_with_custom_logic(self, sample_s... method test_should_redact_different_span_types (line 480) | async def test_should_redact_different_span_types(self, minimal_span): method test_should_redact_complex_extracted_data (line 487) | async def test_should_redact_complex_extracted_data(self, sample_span): class TestContextualSpanRedactionProcessorAbstractMethods (line 511) | class TestContextualSpanRedactionProcessorAbstractMethods: method test_extract_data_from_context_implementation (line 514) | def test_extract_data_from_context_implementation(self): method test_extract_data_from_context_returns_none (line 522) | def test_extract_data_from_context_returns_none(self): method test_validate_data_implementation_true (line 529) | def test_validate_data_implementation_true(self): method test_validate_data_implementation_false (line 536) | def test_validate_data_implementation_false(self): method test_validate_data_with_various_data_types (line 543) | def test_validate_data_with_various_data_types(self): class TestContextualSpanRedactionProcessorEdgeCases (line 554) | class TestContextualSpanRedactionProcessorEdgeCases: method test_redact_item_with_special_attribute_values (line 557) | async def test_redact_item_with_special_attribute_values(self): method test_redact_item_with_unicode_attributes (line 590) | async def test_redact_item_with_unicode_attributes(self): method test_redact_item_with_very_long_attribute_names (line 616) | async def test_redact_item_with_very_long_attribute_names(self): method test_initialization_with_duplicate_attributes (line 634) | def test_initialization_with_duplicate_attributes(self): method test_redact_duplicate_attributes_processed_once (line 642) | async def test_redact_duplicate_attributes_processed_once(self, sample... method test_redact_with_empty_redaction_value (line 653) | async def test_redact_with_empty_redaction_value(self, sample_span): method test_redact_with_whitespace_redaction_value (line 661) | async def test_redact_with_whitespace_redaction_value(self, sample_span): method test_redact_preserves_span_events (line 669) | async def test_redact_preserves_span_events(self, sample_span): class TestContextualSpanRedactionProcessorProcess (line 687) | class TestContextualSpanRedactionProcessorProcess: method test_process_should_redact_true (line 690) | async def test_process_should_redact_true(self, sample_span): method test_process_should_redact_false (line 705) | async def test_process_should_redact_false(self, sample_span): method test_process_with_callback_conditions (line 720) | async def test_process_with_callback_conditions(self, sample_span): method test_process_preserves_span_identity (line 735) | async def test_process_preserves_span_identity(self, sample_span): method test_process_with_custom_redaction_value (line 748) | async def test_process_with_custom_redaction_value(self, sample_span): method test_process_with_redaction_tag (line 759) | async def test_process_with_redaction_tag(self, sample_span): method test_process_minimal_span (line 770) | async def test_process_minimal_span(self, minimal_span): method test_process_no_matching_attributes (line 779) | async def test_process_no_matching_attributes(self, sample_span): method test_process_empty_attributes_list (line 790) | async def test_process_empty_attributes_list(self, sample_span): method test_process_multiple_calls_idempotent (line 801) | async def test_process_multiple_calls_idempotent(self, sample_span): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/redaction/test_redaction_processor.py class ConcreteRedactionProcessor (line 33) | class ConcreteRedactionProcessor(RedactionProcessor[str, str]): method __init__ (line 36) | def __init__(self, should_redact_result: bool = True, redacted_value: ... method should_redact (line 44) | async def should_redact(self, item: str) -> bool: method redact_item (line 50) | async def redact_item(self, item: str) -> str: class ErroringRedactionProcessor (line 57) | class ErroringRedactionProcessor(RedactionProcessor[str, str]): method __init__ (line 60) | def __init__(self, should_redact_error: bool = False, redact_item_erro... method should_redact (line 64) | async def should_redact(self, item: str) -> bool: method redact_item (line 70) | async def redact_item(self, item: str) -> str: class ConcreteSpanRedactionProcessor (line 77) | class ConcreteSpanRedactionProcessor(RedactionProcessor[Span, Span]): method __init__ (line 80) | def __init__(self, should_redact_result: bool = True, redact_span_name... method should_redact (line 88) | async def should_redact(self, item: Span) -> bool: method redact_item (line 94) | async def redact_item(self, item: Span) -> Span: function mock_context (line 114) | def mock_context(): function sample_span (line 120) | def sample_span(): class TestRedactionProcessorAbstractBehavior (line 134) | class TestRedactionProcessorAbstractBehavior: method test_redaction_processor_is_abstract (line 137) | def test_redaction_processor_is_abstract(self): method test_incomplete_implementation_raises_error (line 142) | def test_incomplete_implementation_raises_error(self): method test_concrete_implementation_can_be_instantiated (line 173) | def test_concrete_implementation_can_be_instantiated(self): class TestRedactionProcessorProcess (line 182) | class TestRedactionProcessorProcess: method test_process_with_redaction_enabled (line 185) | async def test_process_with_redaction_enabled(self): method test_process_with_redaction_disabled (line 200) | async def test_process_with_redaction_disabled(self): method test_process_multiple_items (line 214) | async def test_process_multiple_items(self): class TestRedactionProcessorErrorHandling (line 235) | class TestRedactionProcessorErrorHandling: method test_process_should_redact_error_propagates (line 238) | async def test_process_should_redact_error_propagates(self): method test_process_redact_item_error_propagates (line 245) | async def test_process_redact_item_error_propagates(self): class TestSpanRedactionProcessor (line 253) | class TestSpanRedactionProcessor: method test_span_redaction_processor_inheritance (line 256) | def test_span_redaction_processor_inheritance(self): method test_span_redaction_processor_redacts_span (line 264) | async def test_span_redaction_processor_redacts_span(self, sample_span): method test_span_redaction_processor_no_redaction (line 279) | async def test_span_redaction_processor_no_redaction(self, sample_span): class TestRedactionProcessorTypeHandling (line 290) | class TestRedactionProcessorTypeHandling: method test_different_input_types (line 293) | async def test_different_input_types(self): method test_dict_redaction_processor (line 315) | async def test_dict_redaction_processor(self): class TestRedactionProcessorEdgeCases (line 340) | class TestRedactionProcessorEdgeCases: method test_redaction_with_none_input (line 343) | async def test_redaction_with_none_input(self): method test_redaction_preserves_object_identity_when_not_redacting (line 370) | async def test_redaction_preserves_object_identity_when_not_redacting(... method test_redaction_state_isolation (line 380) | async def test_redaction_state_isolation(self): class TestRedactionProcessorTypeIntrospection (line 402) | class TestRedactionProcessorTypeIntrospection: method test_string_redaction_processor_types (line 405) | def test_string_redaction_processor_types(self): method test_span_redaction_processor_types (line 418) | def test_span_redaction_processor_types(self): class TestRedactionProcessorLogging (line 432) | class TestRedactionProcessorLogging: method test_no_default_logging_in_process_method (line 435) | async def test_no_default_logging_in_process_method(self, caplog): method test_custom_logging_in_concrete_implementations (line 449) | async def test_custom_logging_in_concrete_implementations(self, caplog): class TestRedactionProcessorIntegration (line 472) | class TestRedactionProcessorIntegration: method test_span_redaction_integration (line 475) | async def test_span_redaction_integration(self, sample_span): method test_conditional_redaction_based_on_context (line 509) | async def test_conditional_redaction_based_on_context(self, sample_span): class TestRedactionProcessorPerformance (line 553) | class TestRedactionProcessorPerformance: method test_efficient_no_redaction_path (line 556) | async def test_efficient_no_redaction_path(self): method test_multiple_process_calls_work_correctly (line 576) | async def test_multiple_process_calls_work_correctly(self): class TestRedactionContextState (line 593) | class TestRedactionContextState: method test_redaction_context_state_initialization (line 596) | def test_redaction_context_state_initialization(self): method test_redaction_context_state_default_factory (line 604) | def test_redaction_context_state_default_factory(self): method test_multiple_redaction_context_states_are_independent (line 618) | def test_multiple_redaction_context_states_are_independent(self): method test_redaction_context_state_reset_to_none (line 631) | def test_redaction_context_state_reset_to_none(self): class TestRedactionManager (line 649) | class TestRedactionManager: method context_state (line 653) | def context_state(self): method manager (line 658) | def manager(self, context_state): method test_redaction_manager_initialization (line 662) | def test_redaction_manager_initialization(self, context_state): method test_set_redaction_result_true (line 668) | def test_set_redaction_result_true(self, manager, context_state): method test_set_redaction_result_false (line 674) | def test_set_redaction_result_false(self, manager, context_state): method test_clear_redaction_result (line 680) | def test_clear_redaction_result(self, manager, context_state): method test_redaction_check_with_sync_function (line 690) | async def test_redaction_check_with_sync_function(self, manager): method test_redaction_check_with_async_function (line 705) | async def test_redaction_check_with_async_function(self, manager): method test_redaction_check_caching (line 720) | async def test_redaction_check_caching(self, manager, context_state): method test_redaction_check_with_falsy_return_value (line 742) | async def test_redaction_check_with_falsy_return_value(self, manager): method test_redaction_check_with_truthy_return_value (line 751) | async def test_redaction_check_with_truthy_return_value(self, manager): method test_redaction_check_with_generator (line 760) | async def test_redaction_check_with_generator(self, manager): method test_redaction_check_with_async_generator (line 770) | async def test_redaction_check_with_async_generator(self, manager): method test_redaction_check_cache_clear_and_reset (line 779) | async def test_redaction_check_cache_clear_and_reset(self, manager, co... method test_redaction_check_error_propagation (line 801) | async def test_redaction_check_error_propagation(self, manager): class TestRedactionContext (line 816) | class TestRedactionContext: method context_state (line 820) | def context_state(self): method redaction_context (line 825) | def redaction_context(self, context_state): method test_redaction_context_initialization (line 829) | def test_redaction_context_initialization(self, context_state): method test_redaction_result_property_none (line 835) | def test_redaction_result_property_none(self, redaction_context): method test_redaction_result_property_true (line 840) | def test_redaction_result_property_true(self, redaction_context, conte... method test_redaction_result_property_false (line 847) | def test_redaction_result_property_false(self, redaction_context, cont... method test_redaction_manager_context_manager (line 854) | async def test_redaction_manager_context_manager(self, redaction_conte... method test_redaction_manager_context_manager_functionality (line 860) | async def test_redaction_manager_context_manager_functionality(self, r... method test_multiple_context_managers (line 877) | async def test_multiple_context_managers(self, redaction_context): method test_redaction_context_isolation (line 894) | async def test_redaction_context_isolation(self): class TestRedactionComponentsIntegration (line 925) | class TestRedactionComponentsIntegration: method test_full_redaction_workflow (line 928) | async def test_full_redaction_workflow(self): method test_context_state_persistence_across_managers (line 951) | async def test_context_state_persistence_across_managers(self): method test_redaction_state_lifecycle (line 977) | async def test_redaction_state_lifecycle(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/redaction/test_span_header_redaction_processor.py function default_callback (line 30) | def default_callback(_data: dict[str, Any]) -> bool: function sample_span (line 36) | def sample_span(): function mock_context_with_headers (line 54) | def mock_context_with_headers(): function mock_context_no_headers (line 66) | def mock_context_no_headers(): class TestSpanHeaderRedactionProcessorInitialization (line 76) | class TestSpanHeaderRedactionProcessorInitialization: method test_default_initialization (line 79) | def test_default_initialization(self): method test_initialization_with_attributes (line 90) | def test_initialization_with_attributes(self): method test_initialization_with_single_header (line 102) | def test_initialization_with_single_header(self): method test_initialization_with_multiple_headers (line 112) | def test_initialization_with_multiple_headers(self): method test_initialization_with_callback (line 123) | def test_initialization_with_callback(self): method test_initialization_with_redaction_tag (line 139) | def test_initialization_with_redaction_tag(self): method test_initialization_with_all_parameters (line 148) | def test_initialization_with_all_parameters(self): class TestSpanHeaderRedactionProcessorExtractDataFromContext (line 174) | class TestSpanHeaderRedactionProcessorExtractDataFromContext: method test_extract_data_with_headers (line 178) | def test_extract_data_with_headers(self, mock_context_get): method test_extract_data_with_missing_headers (line 197) | def test_extract_data_with_missing_headers(self, mock_context_get): method test_extract_data_with_no_headers_in_context (line 216) | def test_extract_data_with_no_headers_in_context(self, mock_context_get): method test_extract_data_with_empty_headers_list (line 231) | def test_extract_data_with_empty_headers_list(self, mock_context_get): class TestSpanHeaderRedactionProcessorValidateData (line 247) | class TestSpanHeaderRedactionProcessorValidateData: method test_validate_data_with_valid_headers (line 250) | def test_validate_data_with_valid_headers(self): method test_validate_data_with_some_none_values (line 259) | def test_validate_data_with_some_none_values(self): method test_validate_data_with_all_none_values (line 268) | def test_validate_data_with_all_none_values(self): method test_validate_data_with_empty_dict (line 277) | def test_validate_data_with_empty_dict(self): method test_validate_data_with_empty_string_values (line 286) | def test_validate_data_with_empty_string_values(self): class TestSpanHeaderRedactionProcessorRedactItem (line 296) | class TestSpanHeaderRedactionProcessorRedactItem: method test_redact_item_with_single_attribute (line 299) | async def test_redact_item_with_single_attribute(self, sample_span): method test_redact_item_with_multiple_attributes (line 319) | async def test_redact_item_with_multiple_attributes(self, sample_span): method test_redact_item_with_redaction_tag (line 341) | async def test_redact_item_with_redaction_tag(self, sample_span): method test_redact_item_with_custom_redaction_value (line 362) | async def test_redact_item_with_custom_redaction_value(self, sample_sp... class TestSpanHeaderRedactionProcessorIntegration (line 383) | class TestSpanHeaderRedactionProcessorIntegration: method test_full_redaction_flow_with_headers (line 387) | async def test_full_redaction_flow_with_headers(self, mock_context_get... method test_no_redaction_flow_with_user_token (line 425) | async def test_no_redaction_flow_with_user_token(self, mock_context_ge... method test_force_redact_overrides_everything (line 461) | async def test_force_redact_overrides_everything(self, mock_context_ge... class TestSpanHeaderRedactionProcessorTypeIntrospection (line 497) | class TestSpanHeaderRedactionProcessorTypeIntrospection: method test_span_header_redaction_processor_types (line 500) | def test_span_header_redaction_processor_types(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/test_batching_processor.py class TestBatchingProcessorInitialization (line 23) | class TestBatchingProcessorInitialization: method test_default_initialization (line 26) | def test_default_initialization(self): method test_custom_initialization (line 39) | def test_custom_initialization(self): method test_type_introspection (line 53) | def test_type_introspection(self): method test_initial_statistics (line 67) | def test_initial_statistics(self): class TestBatchingProcessorSizeBased (line 84) | class TestBatchingProcessorSizeBased: method test_batch_creation_by_size (line 87) | async def test_batch_creation_by_size(self): method test_multiple_batches_by_size (line 108) | async def test_multiple_batches_by_size(self): method test_partial_batch_remains_queued (line 129) | async def test_partial_batch_remains_queued(self): class TestBatchingProcessorTimeBased (line 144) | class TestBatchingProcessorTimeBased: method test_time_based_flush_with_callback (line 147) | async def test_time_based_flush_with_callback(self): method test_time_based_flush_without_callback (line 173) | async def test_time_based_flush_without_callback(self, caplog): method test_scheduled_flush_task_management (line 188) | async def test_scheduled_flush_task_management(self): method test_immediate_flush_cancels_scheduled_flush (line 205) | async def test_immediate_flush_cancels_scheduled_flush(self): class TestBatchingProcessorOverflowHandling (line 223) | class TestBatchingProcessorOverflowHandling: method test_drop_on_overflow_enabled (line 226) | async def test_drop_on_overflow_enabled(self): method test_force_flush_on_overflow (line 246) | async def test_force_flush_on_overflow(self): method test_overflow_statistics_tracking (line 270) | async def test_overflow_statistics_tracking(self): class TestBatchingProcessorCallbacks (line 287) | class TestBatchingProcessorCallbacks: method test_set_done_callback (line 290) | async def test_set_done_callback(self): method test_callback_error_handling (line 312) | async def test_callback_error_handling(self, caplog): method test_callback_during_shutdown (line 331) | async def test_callback_during_shutdown(self): class TestBatchingProcessorShutdown (line 356) | class TestBatchingProcessorShutdown: method test_basic_shutdown (line 359) | async def test_basic_shutdown(self): method test_shutdown_during_processing (line 372) | async def test_shutdown_during_processing(self): method test_double_shutdown_idempotent (line 391) | async def test_double_shutdown_idempotent(self): method test_shutdown_with_scheduled_flush (line 409) | async def test_shutdown_with_scheduled_flush(self): method test_shutdown_callback_error_handling (line 422) | async def test_shutdown_callback_error_handling(self, caplog): method test_shutdown_timeout_handling (line 438) | async def test_shutdown_timeout_handling(self, caplog): class TestBatchingProcessorForceFlush (line 477) | class TestBatchingProcessorForceFlush: method test_force_flush_with_items (line 480) | async def test_force_flush_with_items(self): method test_force_flush_empty_queue (line 494) | async def test_force_flush_empty_queue(self): method test_force_flush_statistics (line 504) | async def test_force_flush_statistics(self): class TestBatchingProcessorStatistics (line 519) | class TestBatchingProcessorStatistics: method test_comprehensive_statistics (line 522) | async def test_comprehensive_statistics(self): method test_shutdown_statistics (line 554) | async def test_shutdown_statistics(self): method test_statistics_edge_cases (line 569) | async def test_statistics_edge_cases(self): class TestBatchingProcessorErrorHandling (line 583) | class TestBatchingProcessorErrorHandling: method test_lock_acquisition_during_shutdown (line 586) | async def test_lock_acquisition_during_shutdown(self): method test_flush_task_cancellation (line 599) | async def test_flush_task_cancellation(self): method test_batch_creation_during_concurrent_access (line 613) | async def test_batch_creation_during_concurrent_access(self): class TestBatchingProcessorIntegration (line 634) | class TestBatchingProcessorIntegration: method test_mixed_batching_scenarios (line 637) | async def test_mixed_batching_scenarios(self): method test_high_throughput_processing (line 674) | async def test_high_throughput_processing(self): method test_stress_shutdown_during_processing (line 701) | async def test_stress_shutdown_during_processing(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/test_intermediate_step_serializer.py function create_test_intermediate_step (line 33) | def create_test_intermediate_step(parent_id="root", class TestIntermediateStepSerializerBasicFunctionality (line 43) | class TestIntermediateStepSerializerBasicFunctionality: method test_serializer_is_processor_subclass (line 46) | def test_serializer_is_processor_subclass(self): method test_serializer_has_serialize_mixin (line 55) | def test_serializer_has_serialize_mixin(self): method test_basic_serialization (line 62) | async def test_basic_serialization(self): class TestIntermediateStepSerializerWithDifferentData (line 86) | class TestIntermediateStepSerializerWithDifferentData: method test_serialization_with_stream_event_data (line 90) | async def test_serialization_with_stream_event_data(self): method test_serialization_with_trace_metadata (line 105) | async def test_serialization_with_trace_metadata(self): method test_serialization_with_usage_info (line 121) | async def test_serialization_with_usage_info(self): method test_serialization_with_invocation_node (line 136) | async def test_serialization_with_invocation_node(self): method test_serialization_with_complex_nested_data (line 153) | async def test_serialization_with_complex_nested_data(self): class TestIntermediateStepSerializerEdgeCases (line 189) | class TestIntermediateStepSerializerEdgeCases: method test_serialization_with_minimal_data (line 193) | async def test_serialization_with_minimal_data(self): method test_serialization_with_none_values (line 208) | async def test_serialization_with_none_values(self): class TestIntermediateStepSerializerErrorHandling (line 231) | class TestIntermediateStepSerializerErrorHandling: method test_serialization_with_mock_error_handling (line 235) | async def test_serialization_with_mock_error_handling(self): method test_process_method_signature (line 251) | async def test_process_method_signature(self): method test_mixin_integration (line 260) | def test_mixin_integration(self): class TestIntermediateStepSerializerRealWorldScenarios (line 273) | class TestIntermediateStepSerializerRealWorldScenarios: method test_llm_conversation_flow_serialization (line 277) | async def test_llm_conversation_flow_serialization(self): method test_tool_execution_serialization (line 325) | async def test_tool_execution_serialization(self): method test_workflow_hierarchy_serialization (line 357) | async def test_workflow_hierarchy_serialization(self): class TestIntermediateStepSerializerTypeIntrospection (line 384) | class TestIntermediateStepSerializerTypeIntrospection: method test_type_introspection (line 387) | def test_type_introspection(self): method test_processor_inheritance_properties (line 401) | def test_processor_inheritance_properties(self): class TestIntermediateStepSerializerPerformance (line 417) | class TestIntermediateStepSerializerPerformance: method test_serialization_of_large_data (line 421) | async def test_serialization_of_large_data(self): method test_multiple_sequential_serializations (line 440) | async def test_multiple_sequential_serializations(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/test_processor.py class TestProcessorAbstractBehavior (line 23) | class TestProcessorAbstractBehavior: method test_processor_cannot_be_instantiated_directly (line 26) | def test_processor_cannot_be_instantiated_directly(self): method test_processor_with_unimplemented_process_method_fails (line 31) | def test_processor_with_unimplemented_process_method_fails(self): class TestProcessorTypeIntrospection (line 41) | class TestProcessorTypeIntrospection: method test_simple_type_introspection (line 44) | def test_simple_type_introspection(self): method test_generic_type_introspection (line 62) | def test_generic_type_introspection(self): method test_complex_generic_type_introspection (line 81) | def test_complex_generic_type_introspection(self): method test_type_introspection_error_handling (line 100) | def test_type_introspection_error_handling(self): method test_type_introspection_caching (line 118) | def test_type_introspection_caching(self): class TestConcreteProcessorImplementations (line 139) | class TestConcreteProcessorImplementations: method test_simple_string_processor (line 142) | async def test_simple_string_processor(self): method test_type_conversion_processor (line 154) | async def test_type_conversion_processor(self): method test_list_processing_processor (line 166) | async def test_list_processing_processor(self): method test_dict_processing_processor (line 178) | async def test_dict_processing_processor(self): method test_processor_with_async_operations (line 190) | async def test_processor_with_async_operations(self): method test_docstring_example_processor (line 205) | async def test_docstring_example_processor(self): class TestProcessorErrorHandling (line 237) | class TestProcessorErrorHandling: method test_processor_with_exception (line 240) | async def test_processor_with_exception(self): method test_processor_with_type_error (line 252) | async def test_processor_with_type_error(self): class TestProcessorInheritance (line 273) | class TestProcessorInheritance: method test_multi_level_inheritance (line 276) | def test_multi_level_inheritance(self): method test_inherited_processor_functionality (line 296) | async def test_inherited_processor_functionality(self): method test_diamond_inheritance_pattern (line 314) | def test_diamond_inheritance_pattern(self): class TestProcessorEdgeCases (line 339) | class TestProcessorEdgeCases: method test_processor_with_none_types (line 342) | def test_processor_with_none_types(self): method test_processor_with_same_input_output_type (line 354) | async def test_processor_with_same_input_output_type(self): method test_processor_with_custom_classes (line 369) | def test_processor_with_custom_classes(self): method test_processor_with_union_types (line 401) | def test_processor_with_union_types(self): method test_processor_with_empty_string (line 419) | async def test_processor_with_empty_string(self): method test_processor_class_name_in_error_messages (line 431) | def test_processor_class_name_in_error_messages(self): FILE: packages/nvidia_nat_core/tests/nat/observability/processor/test_span_tagging_processor.py class SampleEnum (line 30) | class SampleEnum(StrEnum): function sample_span (line 40) | def sample_span(): class TestSpanTaggingProcessorInitialization (line 52) | class TestSpanTaggingProcessorInitialization: method test_default_initialization (line 55) | def test_default_initialization(self): method test_single_tag_initialization (line 62) | def test_single_tag_initialization(self): method test_multiple_tags_initialization (line 69) | def test_multiple_tags_initialization(self): method test_enum_tag_initialization (line 77) | def test_enum_tag_initialization(self): method test_empty_tags_initialization (line 85) | def test_empty_tags_initialization(self): method test_custom_span_prefix_only (line 92) | def test_custom_span_prefix_only(self): method test_span_prefix_from_environment_variable (line 100) | def test_span_prefix_from_environment_variable(self): method test_explicit_span_prefix_overrides_environment (line 107) | def test_explicit_span_prefix_overrides_environment(self): method test_empty_environment_variable_fallback (line 114) | def test_empty_environment_variable_fallback(self): method test_environment_variable_whitespace_trimming (line 121) | def test_environment_variable_whitespace_trimming(self): method test_whitespace_only_environment_variable_fallback (line 128) | def test_whitespace_only_environment_variable_fallback(self): class TestSpanTaggingProcessorProcess (line 135) | class TestSpanTaggingProcessorProcess: method test_process_with_single_tag (line 138) | async def test_process_with_single_tag(self, sample_span): method test_process_with_multiple_tags (line 154) | async def test_process_with_multiple_tags(self, sample_span): method test_process_with_enum_values (line 167) | async def test_process_with_enum_values(self, sample_span): method test_process_with_default_span_prefix (line 178) | async def test_process_with_default_span_prefix(self, sample_span): method test_process_with_empty_tags (line 188) | async def test_process_with_empty_tags(self, sample_span): method test_process_with_no_tags (line 201) | async def test_process_with_no_tags(self, sample_span): method test_process_with_empty_string_tag_key (line 214) | async def test_process_with_empty_string_tag_key(self, sample_span): method test_process_overwrites_existing_attribute (line 227) | async def test_process_overwrites_existing_attribute(self, sample_span): method test_process_multiple_calls_same_processor (line 240) | async def test_process_multiple_calls_same_processor(self, sample_span): class TestSpanTaggingProcessorEdgeCases (line 261) | class TestSpanTaggingProcessorEdgeCases: method test_process_with_special_characters_in_values (line 264) | async def test_process_with_special_characters_in_values(self, sample_... method test_process_with_unicode_characters (line 273) | async def test_process_with_unicode_characters(self, sample_span): method test_process_with_string_values (line 282) | async def test_process_with_string_values(self, sample_span): method test_process_with_complex_span_prefix (line 296) | async def test_process_with_complex_span_prefix(self, sample_span): method test_process_preserves_span_properties (line 306) | async def test_process_preserves_span_properties(self, sample_span): class TestSpanTaggingProcessorEnvironmentVariables (line 334) | class TestSpanTaggingProcessorEnvironmentVariables: method test_environment_variable_usage (line 338) | async def test_environment_variable_usage(self, sample_span): method test_missing_environment_variable_fallback (line 350) | async def test_missing_environment_variable_fallback(self, sample_span): method test_environment_variable_whitespace_trimming (line 363) | async def test_environment_variable_whitespace_trimming(self, sample_s... method test_whitespace_only_environment_variable (line 373) | async def test_whitespace_only_environment_variable(self, sample_span): class TestSpanTaggingProcessorBehavior (line 384) | class TestSpanTaggingProcessorBehavior: method test_multiple_processors_different_tags (line 387) | async def test_multiple_processors_different_tags(self, sample_span): method test_same_tag_key_different_processors (line 400) | async def test_same_tag_key_different_processors(self, sample_span): method test_process_empty_span_attributes (line 413) | async def test_process_empty_span_attributes(self): method test_process_span_without_context (line 424) | async def test_process_span_without_context(self): method test_conditional_tagging_logic (line 436) | async def test_conditional_tagging_logic(self): class TestSpanTaggingProcessorTypeIntrospection (line 476) | class TestSpanTaggingProcessorTypeIntrospection: method test_processor_types (line 479) | def test_processor_types(self): class TestSpanTaggingProcessorIntegration (line 494) | class TestSpanTaggingProcessorIntegration: method test_realistic_usage_scenario (line 497) | async def test_realistic_usage_scenario(self): method test_complex_span_prefix_with_environment (line 543) | async def test_complex_span_prefix_with_environment(self, sample_span): method test_processor_state_isolation (line 555) | async def test_processor_state_isolation(self): method test_enum_integration_with_multiple_tags (line 585) | async def test_enum_integration_with_multiple_tags(self): FILE: packages/nvidia_nat_core/tests/nat/observability/test_exporter_manager.py function get_exporter_counts (line 31) | def get_exporter_counts(): function log_exporter_stats (line 36) | def log_exporter_stats(): class MockExporter (line 41) | class MockExporter(BaseExporter): method __init__ (line 44) | def __init__(self, name: str = "test_exporter", context_state: Context... method name (line 54) | def name(self) -> str: method export (line 57) | def export(self, event): method start (line 62) | async def start(self): method wait_ready (line 71) | async def wait_ready(self): method create_isolated_instance (line 76) | def create_isolated_instance(self, context_state: ContextState) -> "Mo... class MockExporterWithoutIsolation (line 83) | class MockExporterWithoutIsolation(BaseExporter): method __init__ (line 86) | def __init__(self, name: str = "no_isolation_exporter", context_state:... method name (line 93) | def name(self) -> str: method export (line 96) | def export(self, event): method start (line 101) | async def start(self): method wait_ready (line 106) | async def wait_ready(self): function mock_context_state (line 112) | def mock_context_state(): function exporter_manager (line 121) | def exporter_manager(): function mock_exporter (line 127) | def mock_exporter(): function mock_exporter2 (line 133) | def mock_exporter2(): class TestExporterManagerInit (line 138) | class TestExporterManagerInit: method test_init_default_timeout (line 141) | def test_init_default_timeout(self): method test_init_custom_timeout (line 150) | def test_init_custom_timeout(self): method test_create_with_shared_registry (line 155) | def test_create_with_shared_registry(self): class TestCopyOnWriteFunctionality (line 167) | class TestCopyOnWriteFunctionality: method test_shared_registry_initially (line 170) | def test_shared_registry_initially(self): method test_ensure_registry_owned_copies_registry (line 179) | def test_ensure_registry_owned_copies_registry(self): method test_ensure_registry_owned_no_copy_when_already_owned (line 196) | def test_ensure_registry_owned_no_copy_when_already_owned(self): method test_add_exporter_triggers_copy_on_write (line 211) | def test_add_exporter_triggers_copy_on_write(self): method test_remove_exporter_triggers_copy_on_write (line 234) | def test_remove_exporter_triggers_copy_on_write(self): method test_concurrent_modifications_isolated (line 255) | def test_concurrent_modifications_isolated(self): class TestExporterManagerBasicFunctionality (line 294) | class TestExporterManagerBasicFunctionality: method test_add_exporter (line 297) | def test_add_exporter(self, exporter_manager, mock_exporter): method test_add_exporter_overwrite_warning (line 304) | def test_add_exporter_overwrite_warning(self, exporter_manager, mock_e... method test_remove_exporter (line 314) | def test_remove_exporter(self, exporter_manager, mock_exporter): method test_remove_nonexistent_exporter (line 321) | def test_remove_nonexistent_exporter(self, exporter_manager): method test_get_exporter (line 326) | def test_get_exporter(self, exporter_manager, mock_exporter): method test_get_nonexistent_exporter (line 333) | def test_get_nonexistent_exporter(self, exporter_manager): method test_get_all_exporters (line 338) | async def test_get_all_exporters(self, exporter_manager, mock_exporter... class TestCreateIsolatedExporters (line 350) | class TestCreateIsolatedExporters: method test_create_isolated_exporters_with_isolation_support (line 353) | def test_create_isolated_exporters_with_isolation_support(self, export... method test_create_isolated_exporters_without_isolation_support (line 375) | def test_create_isolated_exporters_without_isolation_support(self, exp... method test_create_isolated_exporters_default_context (line 415) | def test_create_isolated_exporters_default_context(self, exporter_mana... class TestExporterManagerLifecycle (line 430) | class TestExporterManagerLifecycle: method test_start_and_stop_context_manager (line 433) | async def test_start_and_stop_context_manager(self, exporter_manager, ... method test_start_with_isolated_context (line 446) | async def test_start_with_isolated_context(self, exporter_manager, moc... method test_start_already_running_raises_error (line 458) | async def test_start_already_running_raises_error(self, exporter_manag... method test_stop_not_running_does_nothing (line 467) | async def test_stop_not_running_does_nothing(self, exporter_manager): method test_exporter_task_exception_handling (line 473) | async def test_exporter_task_exception_handling(self, exporter_manager... method test_shutdown_timeout_handling (line 497) | async def test_shutdown_timeout_handling(self, caplog): class TestExporterManagerFactoryMethods (line 524) | class TestExporterManagerFactoryMethods: method test_from_exporters (line 527) | def test_from_exporters(self, mock_exporter, mock_exporter2): method test_get_method_creates_shared_copy (line 538) | def test_get_method_creates_shared_copy(self, exporter_manager, mock_e... class TestConcurrencyAndThreadSafety (line 553) | class TestConcurrencyAndThreadSafety: method test_concurrent_start_operations (line 556) | async def test_concurrent_start_operations(self, exporter_manager, moc... method test_concurrent_registry_modifications (line 574) | async def test_concurrent_registry_modifications(self): class TestIntegrationScenarios (line 600) | class TestIntegrationScenarios: method test_workflow_execution_simulation (line 603) | async def test_workflow_execution_simulation(self, mock_context_state): method test_dynamic_exporter_management (line 626) | async def test_dynamic_exporter_management(self, exporter_manager): method test_error_recovery_scenario (line 643) | async def test_error_recovery_scenario(self, caplog): class DummyExporter (line 685) | class DummyExporter(BaseExporter): method __init__ (line 688) | def __init__(self, context_state: ContextState | None = None): method name (line 693) | def name(self) -> str: method export (line 697) | def export(self, event): method start (line 702) | async def start(self): class TestMemoryLeakImprovements (line 713) | class TestMemoryLeakImprovements: method test_basic_functionality (line 716) | async def test_basic_functionality(self): method test_exporter_manager_with_isolated_exporters (line 746) | async def test_exporter_manager_with_isolated_exporters(self): method test_memory_leak_detection_with_high_traffic (line 791) | async def test_memory_leak_detection_with_high_traffic(self): method test_isolated_instance_cleanup_tracking (line 822) | async def test_isolated_instance_cleanup_tracking(self): method test_instance_monitoring_and_warnings (line 859) | def test_instance_monitoring_and_warnings(self, caplog): method test_manager_isolated_exporter_tracking (line 873) | async def test_manager_isolated_exporter_tracking(self): method test_error_handling_during_cleanup (line 898) | async def test_error_handling_during_cleanup(self, caplog): class TestExporterDestructorWarnings (line 922) | class TestExporterDestructorWarnings: method test_destructor_warnings_for_running_exporter (line 925) | def test_destructor_warnings_for_running_exporter(self, caplog): class TestIsolatedAttributeDescriptor (line 949) | class TestIsolatedAttributeDescriptor: method test_isolated_attribute_descriptor_basic_functionality (line 952) | def test_isolated_attribute_descriptor_basic_functionality(self): method test_isolated_attribute_reset_for_copy (line 970) | def test_isolated_attribute_reset_for_copy(self): class TestExporterManagerPreStartHook (line 994) | class TestExporterManagerPreStartHook: method test_pre_start_hook_called (line 997) | async def test_pre_start_hook_called(self): method test_pre_start_hook_called_on_isolated_exporter (line 1031) | async def test_pre_start_hook_called_on_isolated_exporter(self): class TestWaitForTasksExplicitly (line 1061) | class TestWaitForTasksExplicitly: method test_wait_for_tasks_timeout_behavior (line 1064) | async def test_wait_for_tasks_timeout_behavior(self): FILE: packages/nvidia_nat_core/tests/nat/observability/utils/test_dict_utils.py class TestAsyncDictionary (line 27) | class TestAsyncDictionary: method async_dict (line 31) | def async_dict(self): method test_get_existing_key (line 35) | async def test_get_existing_key(self, async_dict): method test_get_nonexistent_key_default_none (line 41) | async def test_get_nonexistent_key_default_none(self, async_dict): method test_get_nonexistent_key_custom_default (line 46) | async def test_get_nonexistent_key_custom_default(self, async_dict): method test_set_and_get (line 51) | async def test_set_and_get(self, async_dict): method test_set_overwrite (line 57) | async def test_set_overwrite(self, async_dict): method test_set_strict_new_key (line 64) | async def test_set_strict_new_key(self, async_dict): method test_set_strict_existing_key_raises_error (line 70) | async def test_set_strict_existing_key_raises_error(self, async_dict): method test_delete_existing_key (line 76) | async def test_delete_existing_key(self, async_dict): method test_delete_nonexistent_key (line 83) | async def test_delete_nonexistent_key(self, async_dict): method test_delete_strict_existing_key (line 88) | async def test_delete_strict_existing_key(self, async_dict): method test_delete_strict_nonexistent_key_raises_error (line 95) | async def test_delete_strict_nonexistent_key_raises_error(self, async_... method test_keys (line 100) | async def test_keys(self, async_dict): method test_keys_empty (line 107) | async def test_keys_empty(self, async_dict): method test_values (line 112) | async def test_values(self, async_dict): method test_values_empty (line 119) | async def test_values_empty(self, async_dict): method test_items (line 124) | async def test_items(self, async_dict): method test_items_returns_copy (line 131) | async def test_items_returns_copy(self, async_dict): method test_clear (line 142) | async def test_clear(self, async_dict): method test_concurrent_operations (line 151) | async def test_concurrent_operations(self, async_dict): class TestAsyncSafeWeakKeyDictionary (line 174) | class TestAsyncSafeWeakKeyDictionary: method weak_dict (line 178) | def weak_dict(self): method test_inherits_async_dictionary_behavior (line 182) | async def test_inherits_async_dictionary_behavior(self, weak_dict): method test_uses_weak_key_dictionary (line 194) | async def test_uses_weak_key_dictionary(self, weak_dict): method test_weak_reference_behavior (line 198) | async def test_weak_reference_behavior(self, weak_dict): class TestKeyedLock (line 220) | class TestKeyedLock: method keyed_lock (line 224) | def keyed_lock(self): method test_get_lock_same_key_sequential (line 228) | async def test_get_lock_same_key_sequential(self, keyed_lock): method test_get_lock_different_keys_concurrent (line 238) | async def test_get_lock_different_keys_concurrent(self, keyed_lock): method test_get_lock_same_key_blocks (line 256) | async def test_get_lock_same_key_blocks(self, keyed_lock): method test_delete_lock (line 278) | async def test_delete_lock(self, keyed_lock): method test_clear_all_locks (line 290) | async def test_clear_all_locks(self, keyed_lock): method test_lock_with_different_key_types (line 303) | async def test_lock_with_different_key_types(self, keyed_lock): class TestIntegration (line 318) | class TestIntegration: method test_keyed_lock_with_async_dictionary (line 321) | async def test_keyed_lock_with_async_dictionary(self): method test_multiple_async_dictionaries_with_shared_lock (line 341) | async def test_multiple_async_dictionaries_with_shared_lock(self): function test_merge_dicts_basic (line 377) | def test_merge_dicts_basic(): function test_merge_dicts_with_none_values (line 385) | def test_merge_dicts_with_none_values(): function test_merge_dicts_empty_dicts (line 393) | def test_merge_dicts_empty_dicts(): function test_merge_dicts_one_empty (line 401) | def test_merge_dicts_one_empty(): function test_merge_dicts_nested_values (line 414) | def test_merge_dicts_nested_values(): function test_merge_dicts_complex_types (line 422) | def test_merge_dicts_complex_types(): FILE: packages/nvidia_nat_core/tests/nat/observability/utils/test_time_utils.py function test_ns_timestamp_basic (line 21) | def test_ns_timestamp_basic(): function test_ns_timestamp_zero (line 29) | def test_ns_timestamp_zero(): function test_ns_timestamp_fractional_seconds (line 37) | def test_ns_timestamp_fractional_seconds(): function test_ns_timestamp_small_fractional (line 45) | def test_ns_timestamp_small_fractional(): function test_ns_timestamp_microseconds (line 53) | def test_ns_timestamp_microseconds(): function test_ns_timestamp_nanoseconds (line 61) | def test_ns_timestamp_nanoseconds(): function test_ns_timestamp_large_value (line 69) | def test_ns_timestamp_large_value(): function test_ns_timestamp_negative_value (line 78) | def test_ns_timestamp_negative_value(): function test_ns_timestamp_precision_loss (line 86) | def test_ns_timestamp_precision_loss(): function test_ns_timestamp_unix_epoch (line 97) | def test_ns_timestamp_unix_epoch(): function test_ns_timestamp_high_precision (line 106) | def test_ns_timestamp_high_precision(): function test_ns_timestamp_edge_cases (line 115) | def test_ns_timestamp_edge_cases(): function test_ns_timestamp_parametrized (line 143) | def test_ns_timestamp_parametrized(seconds, expected): function test_ns_timestamp_extreme_edge_cases (line 150) | def test_ns_timestamp_extreme_edge_cases(): function test_ns_timestamp_very_large_numbers (line 164) | def test_ns_timestamp_very_large_numbers(): function test_ns_timestamp_type_validation (line 174) | def test_ns_timestamp_type_validation(): FILE: packages/nvidia_nat_core/tests/nat/reactive/test_observable.py class MockObservable (line 20) | class MockObservable(Observable[str]): method __init__ (line 22) | def __init__(self): method _subscribe_core (line 26) | def _subscribe_core(self, observer: Observer): method emit_value (line 31) | def emit_value(self, val: str): method emit_error (line 35) | def emit_error(self, exc: Exception): method emit_complete (line 39) | def emit_complete(self): function test_observable_subscribe_observer (line 44) | def test_observable_subscribe_observer(): function test_observable_subscribe_callbacks (line 54) | def test_observable_subscribe_callbacks(): FILE: packages/nvidia_nat_core/tests/nat/reactive/test_observer.py function test_observer_on_next (line 23) | def test_observer_on_next(): function test_observer_on_error (line 31) | def test_observer_on_error(): function test_observer_on_complete (line 44) | def test_observer_on_complete(): function test_observer_callback_raises (line 54) | def test_observer_callback_raises(): FILE: packages/nvidia_nat_core/tests/nat/reactive/test_subject.py function test_subject_basic (line 20) | def test_subject_basic(): function test_subject_error (line 42) | def test_subject_error(): function test_subject_complete (line 54) | def test_subject_complete(): function test_subject_dispose (line 68) | def test_subject_dispose(): function test_subject_late_subscriber_after_dispose (line 80) | def test_subject_late_subscriber_after_dispose(): FILE: packages/nvidia_nat_core/tests/nat/reactive/test_subscription.py class MockSubjectBase (line 20) | class MockSubjectBase: method __init__ (line 25) | def __init__(self): method _unsubscribe_observer (line 28) | def _unsubscribe_observer(self, observer: object) -> None: function test_subscription_unsubscribe (line 32) | def test_subscription_unsubscribe(): function test_subscription_idempotent (line 43) | def test_subscription_idempotent(): FILE: packages/nvidia_nat_core/tests/nat/registry_handlers/test_local_handler.py function test_local_handler_search (line 47) | async def test_local_handler_search( function test_local_handler_remove (line 86) | async def test_local_handler_remove(mock_run: MagicMock, FILE: packages/nvidia_nat_core/tests/nat/registry_handlers/test_metadata_factory.py function test_metadata_factory (line 31) | def test_metadata_factory(registry: TypeRegistry, use_wheel_data: bool): FILE: packages/nvidia_nat_core/tests/nat/registry_handlers/test_package_utils.py function test_build_wheel (line 38) | def test_build_wheel(): function test_build_package_metadata (line 52) | def test_build_package_metadata(use_wheel_data): function test_build_nat_artifact (line 77) | def test_build_nat_artifact(): class TestParseRequirement (line 86) | class TestParseRequirement: method test_simple_package_name (line 89) | def test_simple_package_name(self): method test_package_with_version_specifier (line 95) | def test_package_with_version_specifier(self): method test_package_with_extras (line 101) | def test_package_with_extras(self): method test_package_with_comments (line 107) | def test_package_with_comments(self): method test_package_with_environment_markers (line 112) | def test_package_with_environment_markers(self): method test_empty_or_invalid_requirements (line 117) | def test_empty_or_invalid_requirements(self): method test_whitespace_handling (line 123) | def test_whitespace_handling(self): class TestResolveExtrasToPackages (line 129) | class TestResolveExtrasToPackages: method test_resolve_simple_extras (line 133) | def test_resolve_simple_extras(self, mock_distribution): method test_resolve_nonexistent_extras (line 154) | def test_resolve_nonexistent_extras(self, mock_distribution): method test_package_not_found (line 166) | def test_package_not_found(self, mock_distribution): class TestExtractDependenciesWithExtrasResolved (line 175) | class TestExtractDependenciesWithExtrasResolved: method test_extract_with_extras_resolution (line 179) | def test_extract_with_extras_resolution(self, mock_resolve_extras): class TestGetTransitiveDependencies (line 212) | class TestGetTransitiveDependencies: method test_simple_transitive_dependencies (line 216) | def test_simple_transitive_dependencies(self, mock_distribution): method test_cycle_detection (line 243) | def test_cycle_detection(self, mock_distribution): method test_missing_package (line 267) | def test_missing_package(self, mock_distribution): class TestGetAllTransitiveDependencies (line 277) | class TestGetAllTransitiveDependencies: method test_flatten_dependencies (line 281) | def test_flatten_dependencies(self, mock_get_transitive): FILE: packages/nvidia_nat_core/tests/nat/registry_handlers/test_pypi_handler.py function test_pypi_handler_publish (line 36) | async def test_pypi_handler_publish(mock_run: MagicMock, function test_pypi_handler_pull (line 69) | async def test_pypi_handler_pull(mock_run: MagicMock, function test_pypi_handler_search (line 111) | async def test_pypi_handler_search(mock_run: MagicMock, FILE: packages/nvidia_nat_core/tests/nat/registry_handlers/test_rest_handler.py function test_rest_handler_publish (line 47) | async def test_rest_handler_publish(rest_registry_channel: dict, function test_rest_handler_pull (line 97) | async def test_rest_handler_pull(mock_run: MagicMock, function test_rest_handler_search (line 164) | async def test_rest_handler_search(rest_registry_channel: dict, function test_rest_handler_remove (line 225) | async def test_rest_handler_remove(rest_registry_channel: dict, FILE: packages/nvidia_nat_core/tests/nat/retriever/test_configs.py function test_milvus_config (line 22) | def test_milvus_config(): function test_nemo_config (line 39) | def test_nemo_config(): function get_default_milvus_config (line 53) | def get_default_milvus_config(): function get_default_nemo_retriever_config (line 58) | def get_default_nemo_retriever_config(): function test_build_retrievers (line 62) | async def test_build_retrievers(default_milvus_config, default_nemo_retr... FILE: packages/nvidia_nat_core/tests/nat/retriever/test_models.py function test_document_methods (line 24) | def test_document_methods(): function mock_output_dict (line 49) | def mock_output_dict(): function test_retriever_output (line 64) | def test_retriever_output(mock_results_dict): function test_validation (line 81) | def test_validation(): FILE: packages/nvidia_nat_core/tests/nat/retriever/test_retrievers.py class CustomMilvusClient (line 28) | class CustomMilvusClient: method __init__ (line 30) | def __init__(self, **kwargs): method list_collections (line 33) | def list_collections(self): method describe_collection (line 36) | def describe_collection(self, collection_name: str): method _get_entity_from_fields (line 110) | def _get_entity_from_fields(self, output_fields: list, num: int): method search (line 119) | def search( method search_iterator (line 172) | def search_iterator( class TestEmbeddings (line 202) | class TestEmbeddings(Embeddings): method embed_query (line 204) | def embed_query(self, text): method aembed_query (line 209) | async def aembed_query(self, text): method embed_documents (line 214) | def embed_documents(self, texts): class CustomAsyncMilvusClient (line 218) | class CustomAsyncMilvusClient: method __init__ (line 221) | def __init__(self, **kwargs): method list_collections (line 224) | async def list_collections(self): method describe_collection (line 227) | async def describe_collection(self, collection_name: str): method _get_entity_from_fields (line 301) | def _get_entity_from_fields(self, output_fields: list, num: int): method search (line 310) | async def search( function _get_milvus_retriever (line 365) | def _get_milvus_retriever(): function _get_async_milvus_retriever (line 375) | def _get_async_milvus_retriever(): function _validate_document_milvus (line 385) | def _validate_document_milvus(doc: Document, output_fields=None): function test_milvus_search (line 398) | async def test_milvus_search(milvus_retriever): function test_milvus_retriever_binding (line 435) | async def test_milvus_retriever_binding(milvus_retriever): function test_milvus_validation (line 453) | async def test_milvus_validation(milvus_retriever): function get_nemo_retriever (line 469) | def get_nemo_retriever(httpserver: HTTPServer): function test_nemo_retriever_search (line 551) | async def test_nemo_retriever_search(nemo_retriever): function test_nemo_binding (line 578) | async def test_nemo_binding(nemo_retriever): function test_async_milvus_search (line 593) | async def test_async_milvus_search(async_milvus_retriever): function test_async_milvus_retriever_binding (line 632) | async def test_async_milvus_retriever_binding(async_milvus_retriever): function test_async_milvus_validation (line 651) | async def test_async_milvus_validation(async_milvus_retriever): function _get_milvus_retriever_fresh (line 671) | def _get_milvus_retriever_fresh(): function _get_async_milvus_retriever_fresh (line 681) | def _get_async_milvus_retriever_fresh(): function test_milvus_custom_vector_field (line 690) | async def test_milvus_custom_vector_field(milvus_retriever_fresh): function test_milvus_integer_primary_keys (line 715) | async def test_milvus_integer_primary_keys(milvus_retriever_fresh): function test_async_milvus_custom_vector_field (line 735) | async def test_async_milvus_custom_vector_field(async_milvus_retriever_f... function test_async_milvus_integer_primary_keys (line 755) | async def test_async_milvus_integer_primary_keys(async_milvus_retriever_... function test_milvus_bind_custom_vector_field (line 771) | async def test_milvus_bind_custom_vector_field(milvus_retriever_fresh): FILE: packages/nvidia_nat_core/tests/nat/runtime/test_runner.py class DummyConfig (line 30) | class DummyConfig(FunctionBaseConfig, name="dummy_runner"): class SingleOutputConfig (line 34) | class SingleOutputConfig(FunctionBaseConfig, name="single_output_runner"): class StreamOutputConfig (line 38) | class StreamOutputConfig(FunctionBaseConfig, name="stream_output_runner"): function _register_single_output_fn (line 43) | async def _register_single_output_fn(): function _register_stream_output_fn (line 55) | async def _register_stream_output_fn(): function test_runner_result_successful_type_conversion (line 66) | async def test_runner_result_successful_type_conversion(): function test_runner_result_type_conversion_failure (line 92) | async def test_runner_result_type_conversion_failure(): function test_runner_result_primitive_type_conversion_failure (line 132) | async def test_runner_result_primitive_type_conversion_failure(): function test_runner_result_stream_successful_type_conversion (line 158) | async def test_runner_result_stream_successful_type_conversion(): function test_runner_result_stream_type_conversion_failure (line 188) | async def test_runner_result_stream_type_conversion_failure(): function test_runner_result_stream_primitive_type_conversion_failure (line 231) | async def test_runner_result_stream_primitive_type_conversion_failure(): function test_runner_state_management (line 263) | async def test_runner_state_management(): function test_runner_aexit_raises_on_incomplete_clean_exit (line 287) | async def test_runner_aexit_raises_on_incomplete_clean_exit(): function test_runner_aexit_allows_cancelled_error_to_propagate (line 304) | async def test_runner_aexit_allows_cancelled_error_to_propagate(): function test_runner_workflow_replacement_handoff (line 322) | async def test_runner_workflow_replacement_handoff(): FILE: packages/nvidia_nat_core/tests/nat/runtime/test_runner_trace_ids.py class _DummyConfig (line 30) | class _DummyConfig: class _DummyFunction (line 36) | class _DummyFunction: method convert (line 43) | def convert(self, v, to_type): method ainvoke (line 46) | async def ainvoke(self, _message, to_type=None): method astream (line 51) | async def astream(self, _message, to_type=None): class _DummyExporterManager (line 57) | class _DummyExporterManager: method start (line 59) | def start(self, context_state=None): function test_runner_trace_and_run_ids (line 75) | async def test_runner_trace_and_run_ids(existing_trace: bool, existing_r... function test_runner_workflow_name_resolution (line 122) | async def test_runner_workflow_name_resolution( function test_runner_uses_workflow_parent_id_and_name_for_root (line 185) | async def test_runner_uses_workflow_parent_id_and_name_for_root( FILE: packages/nvidia_nat_core/tests/nat/runtime/test_session_manager.py class MockInputSchema (line 38) | class MockInputSchema(BaseModel): class MockOutputSchema (line 42) | class MockOutputSchema(BaseModel): class MockWorkflow (line 46) | class MockWorkflow: method __init__ (line 49) | def __init__(self): method run (line 55) | def run(self, message, runtime_type=RuntimeTypeEnum.RUN_OR_SERVE): class MockWorkflowBuilder (line 71) | class MockWorkflowBuilder: method __init__ (line 74) | def __init__(self): method get_function (line 79) | def get_function(self, name): method get_function_group (line 82) | def get_function_group(self, name): method get_llm_provider (line 85) | def get_llm_provider(self, name): class MockPerUserWorkflowBuilder (line 89) | class MockPerUserWorkflowBuilder: method __init__ (line 92) | def __init__(self, user_id, shared_builder): method __aenter__ (line 98) | async def __aenter__(self): method __aexit__ (line 102) | async def __aexit__(self, *args): method populate_builder (line 105) | async def populate_builder(self, config): method build (line 108) | async def build(self, entry_function: str | None = None): function create_mock_config (line 113) | def create_mock_config(is_per_user: bool = False) -> Config: function create_mock_function_registration (line 123) | def create_mock_function_registration(is_per_user: bool = False): function _reset_workflow_parent_context (line 133) | def _reset_workflow_parent_context() -> None: function reset_workflow_parent_context (line 141) | def reset_workflow_parent_context(): class TestPerUserBuilderInfo (line 151) | class TestPerUserBuilderInfo: method test_per_user_builder_info_creation (line 154) | def test_per_user_builder_info_creation(self): method test_per_user_builder_info_ref_count_default (line 169) | def test_per_user_builder_info_ref_count_default(self): method test_per_user_builder_info_ref_count_validation (line 176) | def test_per_user_builder_info_ref_count_validation(self): class TestSession (line 185) | class TestSession: method test_session_properties (line 188) | def test_session_properties(self): method test_session_without_user_id (line 204) | def test_session_without_user_id(self): method test_session_with_different_semaphores (line 213) | def test_session_with_different_semaphores(self): class TestSessionManagerInit (line 226) | class TestSessionManagerInit: method test_init_with_shared_workflow (line 230) | def test_init_with_shared_workflow(self, mock_registry): method test_init_with_per_user_workflow (line 252) | def test_init_with_per_user_workflow(self, mock_registry): method test_workflow_property_raises_for_per_user (line 273) | def test_workflow_property_raises_for_per_user(self, mock_registry): method test_zero_concurrency_uses_nullcontext (line 286) | def test_zero_concurrency_uses_nullcontext(self, mock_registry): class TestSessionManagerSchemas (line 300) | class TestSessionManagerSchemas: method test_get_workflow_input_schema_shared (line 304) | def test_get_workflow_input_schema_shared(self, mock_registry): method test_get_workflow_input_schema_per_user (line 317) | def test_get_workflow_input_schema_per_user(self, mock_registry): class TestSessionManagerRun (line 329) | class TestSessionManagerRun: method test_run_raises_for_per_user_workflow (line 334) | async def test_run_raises_for_per_user_workflow(self, mock_registry): class TestSessionManagerSession (line 348) | class TestSessionManagerSession: method test_session_shared_workflow (line 353) | async def test_session_shared_workflow(self, mock_registry): method test_session_per_user_requires_user_id (line 372) | async def test_session_per_user_requires_user_id(self, mock_registry): method test_session_per_user_with_explicit_user_id (line 388) | async def test_session_per_user_with_explicit_user_id(self, mock_regis... method test_session_per_user_increments_ref_count (line 406) | async def test_session_per_user_increments_ref_count(self, mock_regist... method test_session_per_user_reuses_cached_builder (line 425) | async def test_session_per_user_reuses_cached_builder(self, mock_regis... method test_session_sets_context_vars (line 445) | async def test_session_sets_context_vars(self, mock_registry): class TestSessionManagerCleanup (line 466) | class TestSessionManagerCleanup: method test_cleanup_inactive_builders (line 472) | async def test_cleanup_inactive_builders(self, mock_registry): method test_cleanup_skips_active_builders (line 500) | async def test_cleanup_skips_active_builders(self, mock_registry): class TestSessionRunCrossWorkflowObservability (line 519) | class TestSessionRunCrossWorkflowObservability: method test_session_run_sets_and_resets_workflow_parent_context (line 523) | async def test_session_run_sets_and_resets_workflow_parent_context(sel... method test_session_run_without_parent_leaves_context_unset (line 551) | async def test_session_run_without_parent_leaves_context_unset(self, m... class TestSessionManagerSetMetadataFromHttpRequest (line 567) | class TestSessionManagerSetMetadataFromHttpRequest: method test_set_metadata_from_http_request_sets_workflow_parent_headers (line 571) | async def test_set_metadata_from_http_request_sets_workflow_parent_hea... method test_set_metadata_from_http_request_workflow_parent_optional (line 604) | async def test_set_metadata_from_http_request_workflow_parent_optional... class TestSessionManagerContextExtraction (line 635) | class TestSessionManagerContextExtraction: method test_get_user_id_from_cookie (line 639) | def test_get_user_id_from_cookie(self, mock_registry): method test_get_user_id_returns_none_when_no_cookie (line 659) | def test_get_user_id_returns_none_when_no_cookie(self, mock_registry): class TestPerUserWorkflowIntegration (line 674) | class TestPerUserWorkflowIntegration: method test_multiple_users_isolated_builders (line 680) | async def test_multiple_users_isolated_builders(self, mock_registry): method test_multiple_users_isolated_semaphores (line 711) | async def test_multiple_users_isolated_semaphores(self, mock_registry): method test_concurrent_sessions_same_user (line 738) | async def test_concurrent_sessions_same_user(self, mock_registry): class TestSessionManagerEntryFunction (line 762) | class TestSessionManagerEntryFunction: method test_init_with_entry_function (line 766) | def test_init_with_entry_function(self, mock_registry): method test_init_without_entry_function (line 783) | def test_init_without_entry_function(self, mock_registry): method test_per_user_builder_uses_entry_function (line 797) | async def test_per_user_builder_uses_entry_function(self, mock_registry): method test_different_entry_functions_create_separate_caches (line 828) | async def test_different_entry_functions_create_separate_caches(self, ... class TestSessionManagerCreate (line 862) | class TestSessionManagerCreate: method test_create_shared_workflow (line 867) | async def test_create_shared_workflow(self, mock_registry): method test_create_per_user_workflow (line 891) | async def test_create_per_user_workflow(self, mock_registry): method test_create_starts_cleanup_task_for_per_user (line 918) | async def test_create_starts_cleanup_task_for_per_user(self, mock_regi... method test_create_does_not_start_cleanup_for_shared (line 934) | async def test_create_does_not_start_cleanup_for_shared(self, mock_reg... class TestSessionManagerShutdown (line 946) | class TestSessionManagerShutdown: method test_shutdown_stops_cleanup_task (line 952) | async def test_shutdown_stops_cleanup_task(self, mock_registry): method test_shutdown_cleans_up_all_per_user_builders (line 971) | async def test_shutdown_cleans_up_all_per_user_builders(self, mock_reg... method test_shutdown_is_safe_for_shared_workflow (line 1000) | async def test_shutdown_is_safe_for_shared_workflow(self, mock_registry): class TestMultipleSessionManagersSharedBuilder (line 1013) | class TestMultipleSessionManagersSharedBuilder: method test_multiple_session_managers_share_builder (line 1019) | async def test_multiple_session_managers_share_builder(self, mock_regi... method test_route_isolation_for_shared_workflows (line 1048) | async def test_route_isolation_for_shared_workflows(self, mock_registry): method test_per_user_with_custom_entry_function (line 1080) | async def test_per_user_with_custom_entry_function(self, mock_registry): FILE: packages/nvidia_nat_core/tests/nat/runtime/test_session_traceparent.py class _MockWorkflowBuilder (line 30) | class _MockWorkflowBuilder: method __init__ (line 33) | def __init__(self): method get_function (line 38) | def get_function(self, name): method get_function_group (line 41) | def get_function_group(self, name): method get_llm_provider (line 44) | def get_llm_provider(self, name): function _create_mock_config (line 48) | def _create_mock_config() -> Config: function _create_mock_function_registration (line 58) | def _create_mock_function_registration(): function test_session_trace_id_from_headers_parameterized (line 114) | async def test_session_trace_id_from_headers_parameterized(headers: list... function test_session_metadata_headers_parameterized (line 162) | async def test_session_metadata_headers_parameterized(headers: list[tupl... FILE: packages/nvidia_nat_core/tests/nat/runtime/test_user_manager.py function _make_jwt (line 39) | def _make_jwt(claims: dict) -> str: function _mock_request (line 46) | def _mock_request(cookies: dict[str, str] | None = None, headers: dict[s... function _mock_websocket (line 55) | def _mock_websocket( class TestFromConnectionRequestCookie (line 74) | class TestFromConnectionRequestCookie: method test_session_cookie_returns_user_info (line 77) | def test_session_cookie_returns_user_info(self): method test_deterministic_uuid_from_cookie (line 85) | def test_deterministic_uuid_from_cookie(self): method test_different_cookies_different_uuids (line 93) | def test_different_cookies_different_uuids(self): class TestFromConnectionRequestJwt (line 102) | class TestFromConnectionRequestJwt: method test_jwt_returns_user_info (line 105) | def test_jwt_returns_user_info(self): method test_jwt_identity_claim_sub_preferred (line 117) | def test_jwt_identity_claim_sub_preferred(self): method test_jwt_with_roles_and_scopes (line 127) | def test_jwt_with_roles_and_scopes(self): method test_jwt_name_split_into_first_last (line 138) | def test_jwt_name_split_into_first_last(self): method test_jwt_given_family_name_preferred_over_name (line 149) | def test_jwt_given_family_name_preferred_over_name(self): method test_jwt_sub_only_returns_user_info (line 159) | def test_jwt_sub_only_returns_user_info(self): method test_jwt_email_only_returns_user_info (line 171) | def test_jwt_email_only_returns_user_info(self): method test_jwt_keycloak_realm_access_roles (line 183) | def test_jwt_keycloak_realm_access_roles(self): class TestFromConnectionWebSocketCookie (line 193) | class TestFromConnectionWebSocketCookie: method test_websocket_cookie_returns_user_info (line 196) | def test_websocket_cookie_returns_user_info(self): method test_websocket_cookie_with_multiple_cookies (line 204) | def test_websocket_cookie_with_multiple_cookies(self): class TestFromConnectionWebSocketJwt (line 212) | class TestFromConnectionWebSocketJwt: method test_websocket_jwt_returns_user_info (line 215) | def test_websocket_jwt_returns_user_info(self): class TestFromConnectionPriority (line 227) | class TestFromConnectionPriority: method test_cookie_takes_precedence_over_jwt (line 230) | def test_cookie_takes_precedence_over_jwt(self): method test_websocket_cookie_takes_precedence_over_jwt (line 240) | def test_websocket_cookie_takes_precedence_over_jwt(self): class TestFromConnectionNoCredential (line 251) | class TestFromConnectionNoCredential: method test_no_credentials_returns_none (line 254) | def test_no_credentials_returns_none(self): method test_invalid_jwt_raises (line 259) | def test_invalid_jwt_raises(self): method test_jwt_without_identity_claim_raises (line 265) | def test_jwt_without_identity_claim_raises(self): method test_empty_websocket_returns_none (line 272) | def test_empty_websocket_returns_none(self): class TestFromAuthPayloadJwt (line 278) | class TestFromAuthPayloadJwt: method test_jwt_payload_returns_user_info (line 281) | def test_jwt_payload_returns_user_info(self): method test_jwt_payload_deterministic_uuid (line 293) | def test_jwt_payload_deterministic_uuid(self): method test_jwt_payload_invalid_token_raises (line 302) | def test_jwt_payload_invalid_token_raises(self): method test_jwt_payload_empty_token_raises (line 308) | def test_jwt_payload_empty_token_raises(self): method test_jwt_payload_no_identity_claim_raises (line 313) | def test_jwt_payload_no_identity_claim_raises(self): class TestFromAuthPayloadApiKey (line 321) | class TestFromAuthPayloadApiKey: method test_api_key_payload_returns_user_info (line 324) | def test_api_key_payload_returns_user_info(self): method test_api_key_deterministic_uuid (line 332) | def test_api_key_deterministic_uuid(self): method test_api_key_empty_token_raises (line 340) | def test_api_key_empty_token_raises(self): class TestFromAuthPayloadBasic (line 346) | class TestFromAuthPayloadBasic: method test_basic_payload_returns_user_info (line 349) | def test_basic_payload_returns_user_info(self): method test_basic_payload_deterministic_uuid (line 359) | def test_basic_payload_deterministic_uuid(self): method test_basic_different_users_different_uuids (line 367) | def test_basic_different_users_different_uuids(self): class TestHandlerProcessAuthMessage (line 376) | class TestHandlerProcessAuthMessage: method _make_handler (line 379) | def _make_handler(self): method _last_sent_payload (line 391) | def _last_sent_payload(self, handler) -> dict: method test_jwt_auth_message_sets_user_id (line 396) | async def test_jwt_auth_message_sets_user_id(self): method test_api_key_auth_message_sets_user_id (line 417) | async def test_api_key_auth_message_sets_user_id(self): method test_basic_auth_message_sets_user_id (line 432) | async def test_basic_auth_message_sets_user_id(self): method test_invalid_jwt_leaves_user_id_none_and_sends_failure (line 446) | async def test_invalid_jwt_leaves_user_id_none_and_sends_failure(self): method test_api_key_auth_success_response_contains_user_id (line 464) | async def test_api_key_auth_success_response_contains_user_id(self): method test_basic_auth_success_response_contains_user_id (line 477) | async def test_basic_auth_success_response_contains_user_id(self): method test_auth_message_user_id_matches_direct_resolution (line 490) | async def test_auth_message_user_id_matches_direct_resolution(self): method test_user_id_forwarded_to_session (line 502) | async def test_user_id_forwarded_to_session(self): method test_success_response_payload_is_none (line 524) | async def test_success_response_payload_is_none(self): method test_error_response_user_id_is_none (line 538) | async def test_error_response_user_id_is_none(self): method test_error_response_has_details (line 551) | async def test_error_response_has_details(self): method test_second_auth_message_overrides_user_id (line 565) | async def test_second_auth_message_overrides_user_id(self): method test_auth_then_workflow_passes_user_id (line 592) | async def test_auth_then_workflow_passes_user_id(self): method test_empty_jwt_token_rejected_at_model_level (line 619) | async def test_empty_jwt_token_rejected_at_model_level(self): method test_empty_api_key_rejected_at_model_level (line 624) | async def test_empty_api_key_rejected_at_model_level(self): class TestSessionUserIdResolution (line 630) | class TestSessionUserIdResolution: method _make_session_manager (line 633) | def _make_session_manager(self, *, is_per_user: bool = False): method test_user_id_provided_skips_extraction (line 648) | async def test_user_id_provided_skips_extraction(self): method test_websocket_cookie_sets_user_id_in_context (line 660) | async def test_websocket_cookie_sets_user_id_in_context(self): method test_request_jwt_sets_user_id_in_context (line 674) | async def test_request_jwt_sets_user_id_in_context(self): method test_no_credential_shared_workflow_user_id_is_none (line 696) | async def test_no_credential_shared_workflow_user_id_is_none(self): method test_no_credential_per_user_workflow_raises (line 707) | async def test_no_credential_per_user_workflow_raises(self): method test_broken_jwt_per_user_workflow_raises (line 719) | async def test_broken_jwt_per_user_workflow_raises(self): method test_broken_jwt_shared_workflow_raises (line 735) | async def test_broken_jwt_shared_workflow_raises(self): class TestPerUserBuilderUserIdWiring (line 752) | class TestPerUserBuilderUserIdWiring: method _make_session_manager (line 755) | def _make_session_manager(self): method test_same_user_id_reuses_builder (line 777) | async def test_same_user_id_reuses_builder(self): method test_different_user_ids_create_separate_builders (line 795) | async def test_different_user_ids_create_separate_builders(self): method test_cleanup_removes_builder_by_user_id (line 816) | async def test_cleanup_removes_builder_by_user_id(self): class TestContextVarPropagation (line 845) | class TestContextVarPropagation: method test_context_var_set_and_readable (line 848) | def test_context_var_set_and_readable(self): method test_context_var_reset_restores_previous (line 858) | def test_context_var_reset_restores_previous(self): class TestGetSessionCookieEdgeCases (line 872) | class TestGetSessionCookieEdgeCases: method test_websocket_no_cookie_header_returns_none (line 875) | def test_websocket_no_cookie_header_returns_none(self): method test_websocket_cookie_header_without_nat_session_returns_none (line 880) | def test_websocket_cookie_header_without_nat_session_returns_none(self): method test_request_empty_cookies_returns_none (line 885) | def test_request_empty_cookies_returns_none(self): class TestUserInfoFromJwtClaimExtraction (line 891) | class TestUserInfoFromJwtClaimExtraction: method test_groups_extracted_from_claims (line 894) | def test_groups_extracted_from_claims(self): method test_audience_as_string_wrapped_in_list (line 902) | def test_audience_as_string_wrapped_in_list(self): method test_audience_as_list_preserved (line 910) | def test_audience_as_list_preserved(self): method test_client_id_from_azp (line 918) | def test_client_id_from_azp(self): method test_client_id_from_client_id_claim (line 926) | def test_client_id_from_client_id_claim(self): method test_client_id_azp_preferred_over_client_id (line 934) | def test_client_id_azp_preferred_over_client_id(self): method test_exp_iat_as_int (line 942) | def test_exp_iat_as_int(self): method test_issuer_extracted (line 951) | def test_issuer_extracted(self): method test_name_single_word_given_name_only (line 959) | def test_name_single_word_given_name_only(self): method test_roles_direct_list (line 968) | def test_roles_direct_list(self): class TestExtractUserFromConnectionEdgeCases (line 977) | class TestExtractUserFromConnectionEdgeCases: method test_cookie_present_jwt_broken_still_returns_cookie_user (line 980) | def test_cookie_present_jwt_broken_still_returns_cookie_user(self): method test_no_cookie_broken_jwt_raises (line 989) | def test_no_cookie_broken_jwt_raises(self): method test_websocket_jwt_no_identity_claim_raises (line 995) | def test_websocket_jwt_no_identity_claim_raises(self): class TestFromConnectionRequestBasicAuth (line 1003) | class TestFromConnectionRequestBasicAuth: method test_basic_auth_returns_user_info (line 1006) | def test_basic_auth_returns_user_info(self): method test_basic_auth_deterministic_uuid (line 1018) | def test_basic_auth_deterministic_uuid(self): method test_basic_auth_matches_direct_construction (line 1027) | def test_basic_auth_matches_direct_construction(self): method test_basic_auth_invalid_base64_raises (line 1036) | def test_basic_auth_invalid_base64_raises(self): method test_basic_auth_no_colon_raises (line 1042) | def test_basic_auth_no_colon_raises(self): method test_basic_auth_empty_username_raises (line 1049) | def test_basic_auth_empty_username_raises(self): method test_basic_auth_websocket (line 1056) | def test_basic_auth_websocket(self): class TestFromConnectionRequestApiKey (line 1068) | class TestFromConnectionRequestApiKey: method test_api_key_bearer_returns_user_info (line 1071) | def test_api_key_bearer_returns_user_info(self): method test_api_key_deterministic_uuid (line 1080) | def test_api_key_deterministic_uuid(self): method test_api_key_matches_from_api_key_factory (line 1088) | def test_api_key_matches_from_api_key_factory(self): method test_api_key_matches_directly_constructed_user (line 1095) | def test_api_key_matches_directly_constructed_user(self): method test_api_key_one_dot_treated_as_api_key (line 1102) | def test_api_key_one_dot_treated_as_api_key(self): method test_api_key_websocket (line 1109) | def test_api_key_websocket(self): class TestFromConnectionXApiKeyHeader (line 1118) | class TestFromConnectionXApiKeyHeader: method test_x_api_key_header_returns_user_info (line 1121) | def test_x_api_key_header_returns_user_info(self): method test_x_api_key_deterministic_uuid (line 1129) | def test_x_api_key_deterministic_uuid(self): method test_x_api_key_matches_bearer_api_key (line 1137) | def test_x_api_key_matches_bearer_api_key(self): method test_x_api_key_websocket (line 1146) | def test_x_api_key_websocket(self): method test_authorization_takes_precedence_over_x_api_key (line 1154) | def test_authorization_takes_precedence_over_x_api_key(self): method test_x_api_key_used_when_auth_scheme_unsupported (line 1163) | def test_x_api_key_used_when_auth_scheme_unsupported(self): class TestJwtVsApiKeyDiscrimination (line 1175) | class TestJwtVsApiKeyDiscrimination: method test_three_part_token_treated_as_jwt (line 1178) | def test_three_part_token_treated_as_jwt(self): method test_no_dot_token_treated_as_api_key (line 1188) | def test_no_dot_token_treated_as_api_key(self): method test_one_dot_token_treated_as_api_key (line 1194) | def test_one_dot_token_treated_as_api_key(self): method test_three_dot_token_treated_as_api_key (line 1200) | def test_three_dot_token_treated_as_api_key(self): method test_malformed_jwt_structure_raises (line 1206) | def test_malformed_jwt_structure_raises(self): class TestResolutionChainPriority (line 1213) | class TestResolutionChainPriority: method test_cookie_takes_precedence_over_basic_auth (line 1216) | def test_cookie_takes_precedence_over_basic_auth(self): method test_cookie_takes_precedence_over_api_key (line 1226) | def test_cookie_takes_precedence_over_api_key(self): method test_unknown_scheme_returns_none (line 1235) | def test_unknown_scheme_returns_none(self): FILE: packages/nvidia_nat_core/tests/nat/runtime/test_user_metadata.py function test_request_attributes_defaults (line 19) | def test_request_attributes_defaults(): FILE: packages/nvidia_nat_core/tests/nat/server/test_unified_api_server.py class AppConfig (line 82) | class AppConfig(BaseModel): class EndpointConfig (line 90) | class EndpointConfig(BaseModel): class Config (line 97) | class Config(BaseModel): class TEST (line 102) | class TEST(BaseModel): function server_config (line 313) | def server_config(restore_environ, request: pytest.FixtureRequest) -> Ba... function client_fixture (line 324) | async def client_fixture(config): function test_generate_endpoint (line 338) | async def test_generate_endpoint(client: httpx.AsyncClient, config: Conf... function test_generate_endpoint_returns_error_body_when_workflow_raises (line 345) | async def test_generate_endpoint_returns_error_body_when_workflow_raises... function test_generate_stream_endpoint (line 363) | async def test_generate_stream_endpoint(client: httpx.AsyncClient, confi... function test_generate_stream_endpoint_yields_error_when_workflow_raises (line 370) | async def test_generate_stream_endpoint_yields_error_when_workflow_raise... function test_chat_endpoint (line 389) | async def test_chat_endpoint(client: httpx.AsyncClient, config: Config): function test_chat_endpoint_returns_error_body_when_workflow_raises (line 398) | async def test_chat_endpoint_returns_error_body_when_workflow_raises(cli... function test_chat_stream_endpoint_yields_error_when_workflow_raises (line 413) | async def test_chat_stream_endpoint_yields_error_when_workflow_raises(cl... function test_chat_stream_endpoint (line 432) | async def test_chat_stream_endpoint(client: httpx.AsyncClient, config: C... function test_chat_stream_endpoint_observability_trace_id_integration (line 446) | async def test_chat_stream_endpoint_observability_trace_id_integration(c... function test_metadata_from_http_request_populates_all_request_attributes (line 479) | async def test_metadata_from_http_request_populates_all_request_attribut... function test_metadata_from_websocket_populates_all_request_attributes (line 536) | def test_metadata_from_websocket_populates_all_request_attributes() -> N... function test_valid_user_message (line 591) | async def test_valid_user_message(): function test_valid_system_response_token_message (line 599) | async def test_valid_system_response_token_message(): function test_valid_system_intermediate_step_message (line 609) | async def test_valid_system_intermediate_step_message(): function test_valid_user_interaction_response_message (line 617) | async def test_valid_user_interaction_response_message(): function test_valid_observability_trace_message (line 625) | async def test_valid_observability_trace_message(): function test_valid_system_interaction_message (line 644) | async def test_valid_system_interaction_message(message): function test_invalid_websocket_message (line 652) | async def test_invalid_websocket_message(): function test_resolve_response_message_type_by_input_data (line 679) | async def test_resolve_response_message_type_by_input_data(data_model: B... function test_resolve_intermediate_step_message_type_by_input_data (line 688) | async def test_resolve_intermediate_step_message_type_by_input_data(): function test_resolve_system_interaction_message_type_by_input_data (line 716) | async def test_resolve_system_interaction_message_type_by_input_data(dat... function test_resolve_error_message_type_by_invalid_input_data (line 725) | async def test_resolve_error_message_type_by_invalid_input_data(): function test_resolve_error_message_type_by_error_data (line 734) | async def test_resolve_error_message_type_by_error_data(): function test_convert_data_to_message_content_returns_error_unchanged (line 742) | async def test_convert_data_to_message_content_returns_error_unchanged(): function test_nat_response_to_websocket_message (line 750) | async def test_nat_response_to_websocket_message(): function test_nat_chat_response_to_websocket_message (line 763) | async def test_nat_chat_response_to_websocket_message(): function test_chat_response_chunk_to_websocket_message (line 776) | async def test_chat_response_chunk_to_websocket_message(): function test_nat_intermediate_step_to_websocket_message (line 790) | async def test_nat_intermediate_step_to_websocket_message(): function test_text_prompt_to_websocket_message_to_text_response (line 804) | async def test_text_prompt_to_websocket_message_to_text_response(): function test_create_observability_trace_message (line 821) | async def test_create_observability_trace_message(): function test_binary_choice_prompt_to_websocket_message_to_binary_choice_response (line 838) | async def test_binary_choice_prompt_to_websocket_message_to_binary_choic... function test_radio_choice_prompt_to_websocket_message_to_radio_choice_response (line 856) | async def test_radio_choice_prompt_to_websocket_message_to_radio_choice_... function test_dropdown_choice_prompt_to_websocket_message_to_dropdown_choice_response (line 873) | async def test_dropdown_choice_prompt_to_websocket_message_to_dropdown_c... function test_checkbox_choice_prompt_to_websocket_message_to_checkbox_choice_response (line 890) | async def test_checkbox_choice_prompt_to_websocket_message_to_checkbox_c... function test_websocket_error_message (line 907) | async def test_websocket_error_message(): function test_valid_openai_chat_request_fields (line 931) | async def test_valid_openai_chat_request_fields(): function test_invalid_openai_chat_request_fields (line 963) | async def test_invalid_openai_chat_request_fields(): function test_hitl_callback_timeout_raises_when_no_response (line 994) | async def test_hitl_callback_timeout_raises_when_no_response(): function test_restore_execution_state_sends_prompt_with_remaining_timeout (line 1021) | async def test_restore_execution_state_sends_prompt_with_remaining_timeo... function test_process_workflow_request_cancels_in_flight_task (line 1060) | async def test_process_workflow_request_cancels_in_flight_task(): function test_done_callback_guards_against_stale_task (line 1098) | async def test_done_callback_guards_against_stale_task(): function test_run_workflow_skips_response_on_cancellation (line 1142) | async def test_run_workflow_skips_response_on_cancellation(): FILE: packages/nvidia_nat_core/tests/nat/test_eval_deprecation_shim.py function test_nat_eval_shim_warns_and_reexports_models (line 22) | def test_nat_eval_shim_warns_and_reexports_models(): FILE: packages/nvidia_nat_core/tests/nat/tools/test_chat_completion_error_response.py function _get_registered_callable (line 39) | async def _get_registered_callable(failing_llm: AsyncMock): function fixture_failing_llm_runtime_error (line 68) | async def fixture_failing_llm_runtime_error(): function fixture_failing_llm_value_error (line 84) | async def fixture_failing_llm_value_error(): class TestChatCompletionErrorSanitization (line 95) | class TestChatCompletionErrorSanitization: method test_error_response_drops_exception_message (line 98) | async def test_error_response_drops_exception_message(self, failing_ll... method test_error_response_echoes_user_query_but_not_exception (line 114) | async def test_error_response_echoes_user_query_but_not_exception(self... method test_server_side_logger_still_captures_full_exception (line 125) | async def test_server_side_logger_still_captures_full_exception(self, ... FILE: packages/nvidia_nat_core/tests/nat/tools/test_code_execution.py function set_mp_spawn (line 31) | def set_mp_spawn(): function test_client_init (line 39) | def test_client_init(uri: str = "http://localhost:6000"): function test_handle_response (line 50) | async def test_handle_response(httpserver: HTTPServer): function test_bad_response (line 64) | async def test_bad_response(httpserver: HTTPServer): function test_code_gen (line 88) | async def test_code_gen(httpserver: HTTPServer): FILE: packages/nvidia_nat_core/tests/nat/tools/test_code_execution_sandbox.py function sandbox_url_fixture (line 191) | def sandbox_url_fixture(local_sandbox_url: str) -> str: function _write_sandbox_workflow_config (line 195) | def _write_sandbox_workflow_config(tmp_path_factory: pytest.TempPathFact... function local_sandbox_workflow_fixture (line 212) | def local_sandbox_workflow_fixture(local_sandbox_url: str, tmp_path_fact... function piston_sandbox_workflow_fixture (line 217) | def piston_sandbox_workflow_fixture(piston_url: str, tmp_path_factory: p... function _mk_request (line 221) | def _mk_request(url: str, code: str, timeout: int, language: str = "pyth... function run_sandbox_code (line 235) | def run_sandbox_code(sandbox_config: dict[str, Any], code: str, language... function run_workflow_code (line 254) | def run_workflow_code(config_path: Path, function _test_code_execution (line 295) | def _test_code_execution(code_block_key: str, sandbox_type: str, config_... function test_local_code_execution (line 333) | def test_local_code_execution(code_block_key: str, function test_piston_code_execution (line 353) | def test_piston_code_execution(code_block_key: str, piston_sandbox_workf... function test_syntax_error_handling (line 358) | def test_syntax_error_handling(sandbox_config: dict[str, Any]): function test_runtime_error_handling (line 371) | def test_runtime_error_handling(sandbox_config: dict[str, Any]): function test_import_error_handling (line 384) | def test_import_error_handling(sandbox_config: dict[str, Any]): function test_mixed_output (line 397) | def test_mixed_output(sandbox_config: dict[str, Any]): function test_long_running_code (line 414) | def test_long_running_code(sandbox_config: dict[str, Any]): function test_missing_generated_code_field (line 434) | def test_missing_generated_code_field(sandbox_config: dict[str, Any]): function test_missing_timeout_field (line 445) | def test_missing_timeout_field(sandbox_config: dict[str, Any]): function test_invalid_json (line 457) | def test_invalid_json(sandbox_config: dict[str, Any]): function test_non_json_request (line 471) | def test_non_json_request(sandbox_config: dict[str, Any]): function test_timeout_too_low (line 483) | def test_timeout_too_low(sandbox_config: dict[str, Any]): FILE: packages/nvidia_nat_core/tests/nat/tools/test_datetime_tools.py function test_current_datetime_tool (line 25) | async def test_current_datetime_tool(): function test_current_timezone_tool (line 46) | async def test_current_timezone_tool(): FILE: packages/nvidia_nat_core/tests/nat/tools/test_retriever.py function test_retriever_config (line 39) | def test_retriever_config(config_values: dict[str, typing.Any]): FILE: packages/nvidia_nat_core/tests/nat/tools/test_tool_test_runner.py class SimpleCalculatorToolConfig (line 23) | class SimpleCalculatorToolConfig(FunctionBaseConfig, name="test_simple_c... function simple_calculator_tool (line 28) | async def simple_calculator_tool(_config: SimpleCalculatorToolConfig, _b... function test_simple_calculator_tool (line 45) | async def test_simple_calculator_tool(): function test_simple_calculator_tool_one_number (line 54) | async def test_simple_calculator_tool_one_number(): function test_simple_calculator_tool_too_many_numbers (line 61) | async def test_simple_calculator_tool_too_many_numbers(): function test_simple_calculator_tool_no_numbers (line 70) | async def test_simple_calculator_tool_no_numbers(): function test_tool_with_mocked_dependencies (line 77) | async def test_tool_with_mocked_dependencies(): function test_tool_with_mocked_training_components (line 101) | async def test_tool_with_mocked_training_components(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_atif_converter.py function _epoch_to_iso (line 41) | def _epoch_to_iso(epoch: float) -> str: function _make_step (line 46) | def _make_step( function _make_usage (line 89) | def _make_usage( function test_extract_user_input_chat_variants (line 131) | def test_extract_user_input_chat_variants(raw_input: str | dict, expecte... function test_parse_tool_arguments_variants (line 153) | def test_parse_tool_arguments_variants(raw_input: str | int, expected: d... function fixture_simple_trajectory (line 164) | def fixture_simple_trajectory() -> list[IntermediateStep]: function fixture_no_tool_trajectory (line 203) | def fixture_no_tool_trajectory() -> list[IntermediateStep]: function fixture_multi_tool_trajectory (line 227) | def fixture_multi_tool_trajectory() -> list[IntermediateStep]: function fixture_batch_converter (line 274) | def fixture_batch_converter() -> IntermediateStepToATIFConverter: class TestBatchConverter (line 284) | class TestBatchConverter: method test_empty_steps (line 287) | def test_empty_steps(self, batch_converter: IntermediateStepToATIFConv... method test_simple_trajectory (line 294) | def test_simple_trajectory( method test_no_tool_trajectory (line 331) | def test_no_tool_trajectory( method test_multi_tool_single_turn (line 349) | def test_multi_tool_single_turn( method test_agent_config_inferred (line 365) | def test_agent_config_inferred( method test_agent_name_override (line 376) | def test_agent_name_override( method test_session_id_override (line 385) | def test_session_id_override( method test_framework_in_extra (line 394) | def test_framework_in_extra( method test_final_metrics (line 424) | def test_final_metrics( method test_timestamps_are_iso (line 437) | def test_timestamps_are_iso( method test_step_ids_sequential (line 449) | def test_step_ids_sequential( method test_serialization_roundtrip (line 459) | def test_serialization_roundtrip( method test_metrics_include_reasoning_tokens (line 471) | def test_metrics_include_reasoning_tokens( method test_metrics_include_cached_tokens (line 506) | def test_metrics_include_cached_tokens( method test_tool_call_id_and_observation_source_match (line 542) | def test_tool_call_id_and_observation_source_match( method test_profiling_extra_populated (line 556) | def test_profiling_extra_populated( method test_nested_tool_ancestry_is_populated (line 579) | def test_nested_tool_ancestry_is_populated(self, batch_converter: Inte... method test_tool_ancestry_includes_nested_internal_functions (line 633) | def test_tool_ancestry_includes_nested_internal_functions(self, batch_... method test_observed_invocations_ordered_by_span_start (line 701) | def test_observed_invocations_ordered_by_span_start(self, batch_conver... method test_synthetic_workflow_function_end_is_suppressed (line 763) | def test_synthetic_workflow_function_end_is_suppressed(self, batch_con... method test_agent_tool_definitions_populated (line 815) | def test_agent_tool_definitions_populated( method test_batch_converter_emits_orphan_invocation_step (line 859) | def test_batch_converter_emits_orphan_invocation_step( method test_converter_ignores_non_exported_events (line 904) | def test_converter_ignores_non_exported_events(self, batch_converter: ... class TestStreamConverter (line 952) | class TestStreamConverter: method test_workflow_start_emits_user_step (line 955) | def test_workflow_start_emits_user_step(self): method test_llm_end_flushes_previous_turn (line 968) | def test_llm_end_flushes_previous_turn(self): method test_tool_end_attaches_to_pending (line 998) | def test_tool_end_attaches_to_pending(self): method test_stream_converter_emits_orphan_tool_end (line 1032) | def test_stream_converter_emits_orphan_tool_end(self): method test_stream_converter_populates_tool_definitions_from_llm_metadata (line 1058) | def test_stream_converter_populates_tool_definitions_from_llm_metadata... method test_finalize_flushes_pending (line 1094) | def test_finalize_flushes_pending(self): method test_finalize_empty_when_nothing_pending (line 1111) | def test_finalize_empty_when_nothing_pending(self): method test_get_trajectory_builds_complete (line 1116) | def test_get_trajectory_builds_complete( method test_stream_matches_batch (line 1132) | def test_stream_matches_batch( FILE: packages/nvidia_nat_core/tests/nat/utils/test_converter.py class Base (line 29) | class Base: method __init__ (line 31) | def __init__(self, name="Base"): method __repr__ (line 34) | def __repr__(self): class Derived (line 38) | class Derived(Base): method __init__ (line 40) | def __init__(self, name="Derived"): method __repr__ (line 43) | def __repr__(self): function convert_str_to_int (line 52) | def convert_str_to_int(s: str) -> int: function convert_int_to_str (line 60) | def convert_int_to_str(x: int) -> str: function convert_dict_to_str (line 65) | def convert_dict_to_str(d: dict) -> str: function convert_str_to_float (line 76) | def convert_str_to_float(s: str) -> float: function convert_base_to_str (line 87) | def convert_base_to_str(b: Base) -> str: function convert_str_to_derived (line 97) | def convert_str_to_derived(s: str) -> Derived: function basic_converter (line 112) | def basic_converter(): function parent_converter (line 126) | def parent_converter(): function child_converter (line 140) | def child_converter(parent_converter): function inheritance_converter (line 149) | def inheritance_converter(): function test_direct_conversion_basic (line 166) | def test_direct_conversion_basic(basic_converter): function test_already_correct_type (line 173) | def test_already_correct_type(basic_converter): function test_indirect_conversion_dict_to_float (line 180) | def test_indirect_conversion_dict_to_float(basic_converter): function test_parent_fallback (line 190) | def test_parent_fallback(child_converter): function test_no_converter_found (line 196) | def test_no_converter_found(basic_converter): function test_convert_exception_handled (line 202) | def test_convert_exception_handled(basic_converter): function test_text_io_wrapper_to_str_global (line 211) | def test_text_io_wrapper_to_str_global(): function test_inheritance_derived_to_str (line 223) | def test_inheritance_derived_to_str(inheritance_converter): function test_inheritance_base_to_str (line 237) | def test_inheritance_base_to_str(inheritance_converter): function test_inheritance_str_to_derived (line 247) | def test_inheritance_str_to_derived(inheritance_converter): function test_inheritance_derived_to_base (line 257) | def test_inheritance_derived_to_base(inheritance_converter): function test_inheritance_base_to_derived_possible (line 268) | def test_inheritance_base_to_derived_possible(inheritance_converter): function test_three_hop_chain (line 286) | def test_three_hop_chain(inheritance_converter): function test_try_convert_successful_conversion (line 314) | def test_try_convert_successful_conversion(basic_converter): function test_try_convert_failed_conversion_returns_original (line 326) | def test_try_convert_failed_conversion_returns_original(basic_converter): function test_try_convert_vs_convert_failure_behavior (line 336) | def test_try_convert_vs_convert_failure_behavior(basic_converter): function test_try_convert_already_correct_type (line 350) | def test_try_convert_already_correct_type(basic_converter): function test_try_convert_indirect_conversion_success (line 357) | def test_try_convert_indirect_conversion_success(basic_converter): function test_try_convert_indirect_conversion_failure (line 365) | def test_try_convert_indirect_conversion_failure(basic_converter): function test_try_convert_parent_fallback_success (line 374) | def test_try_convert_parent_fallback_success(child_converter): function test_try_convert_parent_fallback_failure (line 380) | def test_try_convert_parent_fallback_failure(child_converter): function test_try_convert_convert_exception_handled (line 388) | def test_try_convert_convert_exception_handled(basic_converter): function test_try_convert_inheritance_success (line 397) | def test_try_convert_inheritance_success(inheritance_converter): function test_try_convert_inheritance_failure (line 405) | def test_try_convert_inheritance_failure(inheritance_converter): function test_global_type_converter_try_convert (line 414) | def test_global_type_converter_try_convert(): function test_try_convert_multiple_failure_scenarios (line 430) | def test_try_convert_multiple_failure_scenarios(): function test_try_convert_preserves_object_identity (line 449) | def test_try_convert_preserves_object_identity(): function test_convert_to_parameterized_dict_already_correct_type (line 468) | def test_convert_to_parameterized_dict_already_correct_type(basic_conver... function test_convert_to_parameterized_list_already_correct_type (line 480) | def test_convert_to_parameterized_list_already_correct_type(basic_conver... function test_convert_to_parameterized_dict_indirect_path (line 489) | def test_convert_to_parameterized_dict_indirect_path(basic_converter): function test_try_convert_to_parameterized_dict_no_converter (line 500) | def test_try_convert_to_parameterized_dict_no_converter(basic_converter): function test_try_convert_to_parameterized_list_no_converter (line 511) | def test_try_convert_to_parameterized_list_no_converter(basic_converter): function test_convert_with_various_parameterized_types (line 520) | def test_convert_with_various_parameterized_types(): function test_indirect_conversion_with_parameterized_target (line 545) | def test_indirect_conversion_with_parameterized_target(inheritance_conve... function test_try_convert_indirect_with_parameterized_types (line 556) | def test_try_convert_indirect_with_parameterized_types(inheritance_conve... class TargetSchema (line 573) | class TargetSchema: method __init__ (line 576) | def __init__(self, value): method __eq__ (line 579) | def __eq__(self, other): method __hash__ (line 584) | def __hash__(self): function test_direct_conversion_with_union_from_type_str (line 588) | def test_direct_conversion_with_union_from_type_str(): function test_direct_conversion_with_union_from_type_int (line 602) | def test_direct_conversion_with_union_from_type_int(): function test_direct_conversion_with_union_from_type_class (line 616) | def test_direct_conversion_with_union_from_type_class(): function test_direct_conversion_with_union_from_type_derived_class (line 636) | def test_direct_conversion_with_union_from_type_derived_class(): function test_direct_conversion_union_type_no_match (line 651) | def test_direct_conversion_union_type_no_match(): function test_indirect_conversion_with_union_from_type (line 664) | def test_indirect_conversion_with_union_from_type(): function test_try_convert_with_union_from_type_success (line 681) | def test_try_convert_with_union_from_type_success(): function test_try_convert_with_union_from_type_failure (line 694) | def test_try_convert_with_union_from_type_failure(): function test_union_type_with_three_members (line 707) | def test_union_type_with_three_members(): function test_union_type_with_none (line 721) | def test_union_type_with_none(): function test_union_type_bidirectional_conversion (line 738) | def test_union_type_bidirectional_conversion(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_decorators.py function fixture_clear_warnings (line 27) | def fixture_clear_warnings(): function test_sync_function_logs_warning_once (line 33) | def test_sync_function_logs_warning_once(caplog): function test_async_function_logs_warning_once (line 57) | def test_async_function_logs_warning_once(caplog): function test_generator_function_logs_warning_once (line 85) | def test_generator_function_logs_warning_once(caplog): function test_async_generator_function_logs_warning_once (line 113) | def test_async_generator_function_logs_warning_once(caplog): function test_deprecation_with_feature_name (line 151) | def test_deprecation_with_feature_name(caplog): function test_deprecation_with_reason (line 165) | def test_deprecation_with_reason(caplog): function test_deprecation_with_metadata (line 182) | def test_deprecation_with_metadata(caplog): function test_deprecation_decorator_factory (line 198) | def test_deprecation_decorator_factory(caplog): function test_issue_deprecation_warning_directly (line 214) | def test_issue_deprecation_warning_directly(caplog): function test_metadata_validation (line 229) | def test_metadata_validation(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_metadata_utils.py function base_configs_fixture (line 33) | def base_configs_fixture(): function test_generate_config_type_docs_no_docstring (line 50) | def test_generate_config_type_docs_no_docstring(base_configs: list[Typed... function test_generate_config_type_docs_no_args (line 78) | def test_generate_config_type_docs_no_args(base_configs: list[TypedBaseM... function test_generate_config_type_docs_no_docstring_and_no_args (line 108) | def test_generate_config_type_docs_no_docstring_and_no_args(base_configs... FILE: packages/nvidia_nat_core/tests/nat/utils/test_optional_imports.py function test_optional_import_success (line 29) | def test_optional_import_success(): function test_optional_import_failure (line 33) | def test_optional_import_failure(): function test_telemetry_optional_import_failure_has_guidance (line 38) | def test_telemetry_optional_import_failure_has_guidance(): function test_dummy_tracer_stack (line 45) | def test_dummy_tracer_stack(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_retry_wrapper.py class APIError (line 25) | class APIError(Exception): method __init__ (line 38) | def __init__(self, code: int, msg: str = ""): function test_want_retry (line 65) | def test_want_retry(code_patterns, msg_patterns, exc, expected): class Service (line 83) | class Service: method __init__ (line 92) | def __init__(self): method sync_method (line 98) | def sync_method(self): method gen_method (line 106) | def gen_method(self) -> Iterable[int]: method async_method (line 114) | async def async_method(self): function fast_sleep (line 124) | def fast_sleep(monkeypatch): function _patch_service (line 141) | def _patch_service(**kwargs): function test_patch_preserves_type (line 153) | def test_patch_preserves_type(): function test_sync_retry (line 160) | def test_sync_retry(): function test_generator_retry (line 168) | def test_generator_retry(): function test_async_retry (line 175) | async def test_async_retry(): class NestedService (line 185) | class NestedService: method __init__ (line 188) | def __init__(self): method outer_method (line 195) | def outer_method(self): method inner_method (line 203) | def inner_method(self): method deep_method (line 210) | def deep_method(self): method async_outer (line 217) | async def async_outer(self): method async_inner (line 225) | async def async_inner(self): function test_nested_retry_prevention (line 233) | def test_nested_retry_prevention(): function test_inner_method_can_still_retry_when_called_directly (line 264) | def test_inner_method_can_still_retry_when_called_directly(): function test_deep_nesting (line 282) | def test_deep_nesting(): function test_retry_storm_prevention_with_all_methods_failing (line 305) | def test_retry_storm_prevention_with_all_methods_failing(): function test_async_nested_retry_prevention (line 332) | async def test_async_nested_retry_prevention(): function test_multiple_instances_dont_interfere (line 356) | def test_multiple_instances_dont_interfere(): function test_exception_propagation_in_nested_calls (line 377) | def test_exception_propagation_in_nested_calls(): class MemoryTestService (line 406) | class MemoryTestService: method __init__ (line 409) | def __init__(self): method method_with_mutable_args (line 415) | def method_with_mutable_args(self, data_list, data_dict): method method_that_creates_traceback (line 429) | def method_that_creates_traceback(self): function test_traceback_clearing (line 452) | def test_traceback_clearing(monkeypatch): function test_traceback_not_cleared_when_disabled (line 494) | def test_traceback_not_cleared_when_disabled(monkeypatch): function test_shallow_copy_by_default (line 532) | def test_shallow_copy_by_default(): function test_deep_copy_when_enabled (line 555) | def test_deep_copy_when_enabled(): function test_gc_frequency (line 578) | def test_gc_frequency(monkeypatch): function test_weak_reference_cleanup (line 610) | def test_weak_reference_cleanup(): function test_memory_optimizations_with_generators (line 655) | def test_memory_optimizations_with_generators(): function test_memory_optimizations_with_async (line 680) | async def test_memory_optimizations_with_async(): function test_retry_context_with_non_weakref_objects (line 705) | def test_retry_context_with_non_weakref_objects(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_run_workflow.py function test_run_workflow (line 29) | async def test_run_workflow(echo_config_file: str, use_pathlib: bool, us... FILE: packages/nvidia_nat_core/tests/nat/utils/test_string_utils.py class _M (line 23) | class _M(BaseModel): function test_convert_to_str_primitives (line 28) | def test_convert_to_str_primitives(): function test_convert_to_str_object_with_str (line 35) | def test_convert_to_str_object_with_str(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_type_utils.py class TestExtractGenericParametersFromClass (line 30) | class TestExtractGenericParametersFromClass: method test_single_parameter_class (line 33) | def test_single_parameter_class(self): method test_multiple_parameter_class (line 45) | def test_multiple_parameter_class(self): method test_expected_param_count_match (line 57) | def test_expected_param_count_match(self): method test_expected_param_count_no_match (line 69) | def test_expected_param_count_no_match(self): method test_no_generic_parameters (line 81) | def test_no_generic_parameters(self): method test_complex_types (line 90) | def test_complex_types(self): method test_nested_generics (line 102) | def test_nested_generics(self): method test_inheritance_chain (line 114) | def test_inheritance_chain(self): class TestIsTypeCompatible (line 128) | class TestIsTypeCompatible: method test_direct_compatibility_same_type (line 131) | def test_direct_compatibility_same_type(self): method test_direct_compatibility_subclass (line 137) | def test_direct_compatibility_subclass(self): method test_incompatible_types (line 149) | def test_incompatible_types(self): method test_batch_compatibility_list_to_element (line 154) | def test_batch_compatibility_list_to_element(self): method test_batch_compatibility_with_subclass (line 160) | def test_batch_compatibility_with_subclass(self): method test_batch_incompatibility (line 172) | def test_batch_incompatibility(self): method test_non_list_containers (line 177) | def test_non_list_containers(self): method test_generic_type_edge_cases (line 183) | def test_generic_type_edge_cases(self): method test_complex_batch_scenarios (line 194) | def test_complex_batch_scenarios(self): method test_type_equality_fallback (line 211) | def test_type_equality_fallback(self): method test_empty_list_scenario (line 220) | def test_empty_list_scenario(self): class TestDecomposedTypeBasics (line 226) | class TestDecomposedTypeBasics: method test_decomposed_type_creation (line 229) | def test_decomposed_type_creation(self): method test_non_generic_type (line 236) | def test_non_generic_type(self): method test_is_generic_property (line 243) | def test_is_generic_property(self): FILE: packages/nvidia_nat_core/tests/nat/utils/test_url_utils.py function test_url_join_basic (line 19) | def test_url_join_basic(): FILE: packages/nvidia_nat_core/tests/nat/utils/test_yaml_tools.py function fixture_env_vars (line 38) | def fixture_env_vars(): class CustomConfig (line 71) | class CustomConfig(FunctionBaseConfig, name="my_test_fn"): function fixture_register_test_fn (line 83) | async def fixture_register_test_fn(): function test_interpolate_variables (line 94) | def test_interpolate_variables(env_vars: dict): function test_yaml_load (line 113) | def test_yaml_load(env_vars: dict): function test_yaml_loads (line 133) | def test_yaml_loads(env_vars: dict): function test_yaml_dump (line 147) | def test_yaml_dump(): function test_yaml_dumps (line 173) | def test_yaml_dumps(): function test_yaml_loads_with_function (line 182) | def test_yaml_loads_with_function(env_vars: dict): function test_yaml_load_with_function (line 217) | def test_yaml_load_with_function(env_vars: dict): function test_yaml_loads_with_invalid_yaml (line 260) | def test_yaml_loads_with_invalid_yaml(): function test_deep_merge (line 278) | def test_deep_merge(): function test_yaml_load_with_base_inheritance (line 311) | def test_yaml_load_with_base_inheritance(): function test_yaml_load_without_base (line 353) | def test_yaml_load_without_base(): function test_yaml_load_chained_inheritance (line 373) | def test_yaml_load_chained_inheritance(): function test_yaml_load_base_type_validation (line 411) | def test_yaml_load_base_type_validation(): function test_yaml_load_base_file_not_found (line 426) | def test_yaml_load_base_file_not_found(): function test_yaml_load_circular_dependency (line 441) | def test_yaml_load_circular_dependency(): function test_load_file_content_basic (line 469) | def test_load_file_content_basic(): function test_load_file_content_file_not_found (line 484) | def test_load_file_content_file_not_found(): function test_load_file_content_multiline (line 492) | def test_load_file_content_multiline(): function test_resolve_file_references_basic (line 515) | def test_resolve_file_references_basic(): function test_resolve_file_references_nested (line 538) | def test_resolve_file_references_nested(): function test_resolve_file_references_relative_path (line 553) | def test_resolve_file_references_relative_path(): function test_resolve_file_references_any_field_name (line 572) | def test_resolve_file_references_any_field_name(): function test_resolve_file_references_in_list (line 595) | def test_resolve_file_references_in_list(): function test_resolve_file_references_non_file_value (line 608) | def test_resolve_file_references_non_file_value(): function test_yaml_load_with_file_prompt (line 620) | def test_yaml_load_with_file_prompt(): function test_yaml_load_with_file_prompt_and_inheritance (line 642) | def test_yaml_load_with_file_prompt_and_inheritance(): function test_yaml_load_with_file_prompt_absolute_path (line 672) | def test_yaml_load_with_file_prompt_absolute_path(): function test_yaml_load_file_prompt_not_found (line 691) | def test_yaml_load_file_prompt_not_found(): function test_validate_file_extension_allowed (line 704) | def test_validate_file_extension_allowed(): function test_validate_file_extension_disallowed (line 725) | def test_validate_file_extension_disallowed(): function test_yaml_load_with_disallowed_extension (line 743) | def test_yaml_load_with_disallowed_extension(): FILE: packages/nvidia_nat_core/tests/profiler/parameter_optimization/test_optimizer_callbacks.py class TestOptimizerCallbackManager (line 23) | class TestOptimizerCallbackManager: method test_on_trial_end (line 25) | def test_on_trial_end(self): method test_on_study_end (line 33) | def test_on_study_end(self): method test_callback_error_is_swallowed (line 41) | def test_callback_error_is_swallowed(self): method test_empty_manager (line 48) | def test_empty_manager(self): method test_trial_result_with_prompts (line 52) | def test_trial_result_with_prompts(self): FILE: packages/nvidia_nat_core/tests/test_conftest.py function registry_counter_fixture (line 25) | def registry_counter_fixture(): function test_registry_fixture (line 31) | def test_registry_fixture(registry: TypeRegistry, test_iter: int, regist... FILE: packages/nvidia_nat_crewai/src/nat/plugins/crewai/crewai_callback_handler.py class CrewAIProfilerHandler (line 39) | class CrewAIProfilerHandler(BaseProfilerCallback): method __init__ (line 49) | def __init__(self) -> None: method instrument (line 59) | def instrument(self) -> None: method _tool_use_monkey_patch (line 78) | def _tool_use_monkey_patch(self) -> Callable[..., Any]: method _llm_call_monkey_patch (line 141) | def _llm_call_monkey_patch(self) -> Callable[..., Any]: FILE: packages/nvidia_nat_crewai/src/nat/plugins/crewai/llm.py function _patch_llm_based_on_config (line 41) | def _patch_llm_based_on_config(client: ModelType, llm_config: LLMBaseCon... function azure_openai_crewai (line 76) | async def azure_openai_crewai(llm_config: AzureOpenAIModelConfig, _build... function nim_crewai (line 130) | async def nim_crewai(llm_config: NIMModelConfig, _builder: Builder): function openai_crewai (line 158) | async def openai_crewai(llm_config: OpenAIModelConfig, _builder: Builder): function litellm_crewai (line 186) | async def litellm_crewai(llm_config: LiteLlmModelConfig, _builder: Build... FILE: packages/nvidia_nat_crewai/src/nat/plugins/crewai/tool_wrapper.py function crewai_tool_wrapper (line 25) | def crewai_tool_wrapper(name: str, fn: Function, builder: Builder): FILE: packages/nvidia_nat_crewai/tests/test_crewai_callback_handler.py function test_crewai_handler_time_between_calls (line 30) | async def test_crewai_handler_time_between_calls(reactive_stream: Subject): FILE: packages/nvidia_nat_crewai/tests/test_crewai_choice_extraction.py class _Message (line 29) | class _Message: method __init__ (line 32) | def __init__(self, content, role="assistant"): class _NewStyleChoice (line 37) | class _NewStyleChoice: method __init__ (line 40) | def __init__(self, content): method model_dump (line 44) | def model_dump(self): class _OldStyleChoice (line 48) | class _OldStyleChoice: method __init__ (line 51) | def __init__(self, content): method model_dump (line 54) | def model_dump(self): class _TokenUsage (line 58) | class _TokenUsage: method __init__ (line 60) | def __init__(self): method model_dump (line 65) | def model_dump(self): function _make_output (line 73) | def _make_output(choices): function _run_wrapped_call (line 83) | def _run_wrapped_call(choices): function test_new_style_choice_message_attribute (line 98) | def test_new_style_choice_message_attribute(): function test_old_style_choice_model_extra (line 104) | def test_old_style_choice_model_extra(): function test_multiple_choices_mixed_styles (line 110) | def test_multiple_choices_mixed_styles(): function test_choice_with_none_content (line 116) | def test_choice_with_none_content(): FILE: packages/nvidia_nat_crewai/tests/test_llm_crewai.py class TestNimCrewAI (line 36) | class TestNimCrewAI: method nim_cfg (line 40) | def nim_cfg(self): method nim_cfg_responses (line 44) | def nim_cfg_responses(self): method test_basic_creation (line 48) | async def test_basic_creation(self, mock_llm, nim_cfg, mock_builder): method test_responses_api_blocked (line 57) | async def test_responses_api_blocked(self, mock_llm, nim_cfg_responses... method test_env_key_transfer (line 66) | async def test_env_key_transfer(self, mock_llm, nim_cfg, mock_builder): method test_nim_verify_ssl_passed_to_handle (line 80) | async def test_nim_verify_ssl_passed_to_handle(self, mock_llm, mock_ha... class TestOpenAICrewAI (line 92) | class TestOpenAICrewAI: method openai_cfg (line 96) | def openai_cfg(self): method openai_cfg_responses (line 100) | def openai_cfg_responses(self): method test_basic_creation (line 104) | async def test_basic_creation(self, mock_llm, openai_cfg, mock_builder): method test_param_passthrough (line 112) | async def test_param_passthrough(self, mock_llm, openai_cfg, mock_buil... method test_responses_api_blocked (line 123) | async def test_responses_api_blocked(self, mock_llm, openai_cfg_respon... method test_openai_verify_ssl_passed_to_handle (line 132) | async def test_openai_verify_ssl_passed_to_handle(self, mock_llm, mock... function test_decorator_registration (line 145) | def test_decorator_registration(mock_global_registry): FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/exporter/dfw_elasticsearch_exporter.py class DFWElasticsearchExporter (line 22) | class DFWElasticsearchExporter(ElasticsearchMixin, DFWExporter): method __init__ (line 25) | def __init__(self, method export_processed (line 65) | async def export_processed(self, item: dict | list[dict]) -> None: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/exporter/dfw_exporter.py class DictBatchingProcessor (line 34) | class DictBatchingProcessor(BatchingProcessor[dict]): class DFWExporter (line 43) | class DFWExporter(SpanExporter[Span, dict]): method __init__ (line 46) | def __init__(self, method export_contract (line 86) | def export_contract(self) -> type[BaseModel]: method export_processed (line 98) | async def export_processed(self, item: dict | list[dict]) -> None: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/mixin/elasticsearch_mixin.py class ElasticsearchMixin (line 23) | class ElasticsearchMixin: method __init__ (line 30) | def __init__(self, method export_processed (line 52) | async def export_processed(self, item: dict | list[dict]) -> None: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/processor/dfw_record_processor.py class DFWToDictProcessor (line 35) | class DFWToDictProcessor(Processor[DFWRecordT, dict]): method process (line 43) | async def process(self, item: DFWRecordT | None) -> dict: class SpanToDFWRecordProcessor (line 59) | class SpanToDFWRecordProcessor(Processor[Span, DFWRecordT | None], TypeI... method __init__ (line 66) | def __init__(self, client_id: str): method process (line 70) | async def process(self, item: Span) -> DFWRecordT | None: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/processor/trace_conversion/adapter/elasticsearch/nim_converter.py function convert_langchain_nim (line 35) | def convert_langchain_nim(trace_source: TraceContainer) -> DFWESRecord: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/processor/trace_conversion/adapter/elasticsearch/openai_converter.py function convert_role (line 62) | def convert_role(role: str) -> str: function create_message_by_role (line 74) | def create_message_by_role(role: str, content: str | None, **kwargs) -> ... function create_tool_calls (line 115) | def create_tool_calls(tool_calls_data: list) -> list[ToolCall]: function convert_message_to_dfw (line 153) | def convert_message_to_dfw(message: OpenAIMessage) -> Message: function validate_and_convert_tools (line 187) | def validate_and_convert_tools(tools_schema: list) -> list[RequestTool]: function convert_chat_response (line 232) | def convert_chat_response(chat_response: dict, span_name: str = "", inde... function convert_langchain_openai (line 284) | def convert_langchain_openai(trace_source: TraceContainer) -> DFWESRecord: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/processor/trace_conversion/span_extractor.py function extract_token_usage (line 25) | def extract_token_usage(span: Span) -> TokenUsageBaseModel: function extract_usage_info (line 42) | def extract_usage_info(span: Span) -> UsageInfo: function extract_timestamp (line 63) | def extract_timestamp(span: Span) -> int: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/processor/trace_conversion/span_to_dfw.py function _get_string_value (line 31) | def _get_string_value(value: Any) -> str: function get_trace_container (line 45) | def get_trace_container(span: Span, client_id: str) -> TraceContainer: function span_to_dfw_record (line 99) | def span_to_dfw_record(span: Span, to_type: type[BaseModel], client_id: ... FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/processor/trace_conversion/trace_adapter_registry.py class TraceAdapterRegistry (line 26) | class TraceAdapterRegistry: method register_adapter (line 37) | def register_adapter(cls, trace_source_model: type) -> Callable[[Calla... method convert (line 77) | def convert(cls, trace_container: TraceContainer, to_type: type) -> Any: method get_adapter (line 106) | def get_adapter(cls, trace_container: TraceContainer, to_type: type) -... method get_current_union (line 120) | def get_current_union(cls) -> type: method _rebuild_union (line 131) | def _rebuild_union(cls): method _update_trace_source_model (line 156) | def _update_trace_source_model(cls): method unregister_adapter (line 170) | def unregister_adapter(cls, source_type: type, target_type: type) -> b... method unregister_all_adapters (line 203) | def unregister_all_adapters(cls, source_type: type) -> int: method clear_registry (line 225) | def clear_registry(cls) -> int: method list_registered_types (line 242) | def list_registered_types(cls) -> dict[type, dict[type, Callable]]: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/register.py class DFWElasticsearchTelemetryExporter (line 30) | class DFWElasticsearchTelemetryExporter(TelemetryExporterBaseConfig, function dfw_elasticsearch_telemetry_exporter (line 46) | async def dfw_elasticsearch_telemetry_exporter(config: DFWElasticsearchT... FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/provider/nim_trace_source.py class NIMTraceSource (line 23) | class NIMTraceSource(OpenAITraceSourceBase): FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/provider/openai_message.py class OpenAIMessage (line 23) | class OpenAIMessage(BaseModel): FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/provider/openai_trace_source.py class OpenAIMetadata (line 34) | class OpenAIMetadata(BaseModel): class OpenAITraceSourceBase (line 43) | class OpenAITraceSourceBase(TraceSourceBase): method validate_input_value (line 51) | def validate_input_value(cls, v: Any) -> list[OpenAIMessage]: method validate_metadata (line 80) | def validate_metadata(cls, v: Any) -> "OpenAIMetadata | dict[str, Any]": class OpenAITraceSource (line 93) | class OpenAITraceSource(OpenAITraceSourceBase): FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/schema_registry.py class SchemaRegistry (line 26) | class SchemaRegistry: method register (line 32) | def register(cls, name: str, version: str): method get_schema (line 58) | def get_schema(cls, name: str, version: str) -> type[BaseModel]: method get_available_schemas (line 84) | def get_available_schemas(cls) -> list[str]: method get_schemas_for_destination (line 97) | def get_schemas_for_destination(cls, name: str) -> list[str]: method get_available_destinations (line 111) | def get_available_destinations(cls) -> list[str]: method is_registered (line 120) | def is_registered(cls, name: str, version: str) -> bool: method clear (line 133) | def clear(cls) -> None: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/sink/elasticsearch/contract_version.py class ContractVersion (line 23) | class ContractVersion(StrEnum): method get_contract_class (line 29) | def get_contract_class(self) -> type[BaseModel]: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/sink/elasticsearch/dfw_es_record.py class FinishReason (line 36) | class FinishReason(StrEnum): class Function (line 44) | class Function(BaseModel): class ToolCall (line 54) | class ToolCall(BaseModel): class AssistantMessage (line 65) | class AssistantMessage(BaseModel): class SystemMessage (line 75) | class SystemMessage(BaseModel): class UserMessage (line 82) | class UserMessage(BaseModel): class ToolMessage (line 89) | class ToolMessage(BaseModel): class FunctionMessage (line 97) | class FunctionMessage(BaseModel): class FunctionParameters (line 108) | class FunctionParameters(BaseModel): method validate_property_limit (line 117) | def validate_property_limit(cls, v: dict) -> dict: class FunctionDetails (line 124) | class FunctionDetails(BaseModel): class RequestTool (line 132) | class RequestTool(BaseModel): class ESRequest (line 139) | class ESRequest(BaseModel): class ResponseMessage (line 154) | class ResponseMessage(BaseModel): class ResponseChoice (line 164) | class ResponseChoice(BaseModel): class Response (line 172) | class Response(BaseModel): class DFWESRecord (line 193) | class DFWESRecord(BaseModel): method validate_data_consistency (line 213) | def validate_data_consistency(self) -> Self: FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/trace_container.py class TraceContainer (line 27) | class TraceContainer(BaseModel): method validate_source_via_union (line 38) | def validate_source_via_union(cls, v): method ensure_union_built (line 62) | def ensure_union_built(cls, data): method __init_subclass__ (line 75) | def __init_subclass__(cls, **kwargs): FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/schema/trace_source_base.py class TraceSourceBase (line 20) | class TraceSourceBase(BaseModel): FILE: packages/nvidia_nat_data_flywheel/src/nat/plugins/data_flywheel/observability/utils/deserialize.py function deserialize_span_attribute (line 23) | def deserialize_span_attribute(value: dict[str, Any] | list[Any] | str) ... FILE: packages/nvidia_nat_data_flywheel/tests/observability/exporter/test_dfw_elasticsearch_exporter.py class MockContractSchema (line 28) | class MockContractSchema(BaseModel): class TestDFWElasticsearchExporter (line 34) | class TestDFWElasticsearchExporter: method test_elasticsearch_exporter_initialization_defaults (line 38) | def test_elasticsearch_exporter_initialization_defaults(self, mock_ela... method test_elasticsearch_exporter_initialization_custom_params (line 65) | def test_elasticsearch_exporter_initialization_custom_params(self, moc... method test_export_contract_property (line 100) | def test_export_contract_property(self, mock_elasticsearch): method test_export_contract_with_real_enum_values (line 126) | def test_export_contract_with_real_enum_values(self, mock_elasticsearch): method test_export_processed_delegates_to_parent (line 151) | async def test_export_processed_delegates_to_parent(self, mock_elastic... method test_export_processed_bulk_operations (line 172) | async def test_export_processed_bulk_operations(self, mock_elasticsear... method test_elasticsearch_exporter_with_none_context_state (line 206) | def test_elasticsearch_exporter_with_none_context_state(self, mock_ela... method test_elasticsearch_exporter_headers_default (line 225) | def test_elasticsearch_exporter_headers_default(self, mock_elasticsear... method test_missing_required_elasticsearch_parameters (line 243) | def test_missing_required_elasticsearch_parameters(self): class TestDFWElasticsearchExporterErrorCases (line 258) | class TestDFWElasticsearchExporterErrorCases: method test_export_processed_invalid_item_type (line 262) | async def test_export_processed_invalid_item_type(self, mock_elasticse... method test_export_processed_empty_list (line 282) | async def test_export_processed_empty_list(self, mock_elasticsearch): method test_export_processed_mixed_list_types (line 303) | async def test_export_processed_mixed_list_types(self, mock_elasticsea... method test_elasticsearch_client_exceptions (line 322) | async def test_elasticsearch_client_exceptions(self, mock_elasticsearch): method test_elasticsearch_client_initialization_failure (line 340) | def test_elasticsearch_client_initialization_failure(self): class TestDFWElasticsearchExporterIntegration (line 354) | class TestDFWElasticsearchExporterIntegration: method test_full_initialization_integration (line 358) | def test_full_initialization_integration(self, mock_elasticsearch): method test_multiple_exporter_instances_independence (line 385) | def test_multiple_exporter_instances_independence(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/exporter/test_dfw_exporter.py class TestDictBatchingProcessor (line 28) | class TestDictBatchingProcessor: method test_dict_batching_processor_inheritance (line 31) | def test_dict_batching_processor_inheritance(self): method test_dict_batching_processor_initialization_defaults (line 41) | def test_dict_batching_processor_initialization_defaults(self): method test_dict_batching_processor_initialization_custom_params (line 48) | def test_dict_batching_processor_initialization_custom_params(self): class MockExportContract (line 60) | class MockExportContract(BaseModel): class ConcreteDFWExporter (line 66) | class ConcreteDFWExporter(DFWExporter): method __init__ (line 69) | def __init__(self, **kwargs): method export_contract (line 74) | def export_contract(self) -> type[BaseModel]: method export_processed (line 77) | async def export_processed(self, item: dict | list[dict]) -> None: class TestDFWExporter (line 82) | class TestDFWExporter: method test_dfw_exporter_initialization_defaults (line 85) | def test_dfw_exporter_initialization_defaults(self): method test_dfw_exporter_initialization_custom_params (line 93) | def test_dfw_exporter_initialization_custom_params(self): method test_dfw_exporter_processor_chain_setup (line 110) | def test_dfw_exporter_processor_chain_setup(self, mock_add_processor): method test_export_contract_property (line 118) | def test_export_contract_property(self): method test_abstract_base_class_cannot_be_instantiated (line 127) | def test_abstract_base_class_cannot_be_instantiated(self): method test_export_processed_abstract_method (line 132) | async def test_export_processed_abstract_method(self): method test_dfw_exporter_with_none_context_state (line 139) | def test_dfw_exporter_with_none_context_state(self): method test_dfw_exporter_default_client_id (line 146) | def test_dfw_exporter_default_client_id(self): method test_dfw_exporter_batching_parameters (line 153) | def test_dfw_exporter_batching_parameters(self): method test_export_contract_type_consistency (line 171) | def test_export_contract_type_consistency(self): class TestDFWExporterErrorCases (line 183) | class TestDFWExporterErrorCases: method test_invalid_parameter_types (line 186) | def test_invalid_parameter_types(self): class TestDFWExporterIntegration (line 198) | class TestDFWExporterIntegration: method test_full_processor_chain_integration (line 201) | def test_full_processor_chain_integration(self): method test_multiple_exporter_instances (line 210) | def test_multiple_exporter_instances(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/mixin/test_elasticsearch_mixin.py class MockParentClass (line 24) | class MockParentClass: method __init__ (line 27) | def __init__(self, *args, **kwargs): class ConcreteElasticsearchMixin (line 33) | class ConcreteElasticsearchMixin(ElasticsearchMixin, MockParentClass): class TestElasticsearchMixin (line 38) | class TestElasticsearchMixin: method test_elasticsearch_mixin_initialization_default_headers (line 42) | def test_elasticsearch_mixin_initialization_default_headers(self, mock... method test_elasticsearch_mixin_initialization_custom_headers (line 66) | def test_elasticsearch_mixin_initialization_custom_headers(self, mock_... method test_elasticsearch_mixin_initialization_with_parent_args (line 91) | def test_elasticsearch_mixin_initialization_with_parent_args(self, moc... method test_export_processed_single_document (line 114) | async def test_export_processed_single_document(self, mock_elasticsear... method test_export_processed_bulk_documents (line 132) | async def test_export_processed_bulk_documents(self, mock_elasticsearch): method test_export_processed_empty_list (line 175) | async def test_export_processed_empty_list(self, mock_elasticsearch): method test_export_processed_invalid_item_type (line 193) | async def test_export_processed_invalid_item_type(self, mock_elasticse... method test_export_processed_mixed_list_types (line 216) | async def test_export_processed_mixed_list_types(self, mock_elasticsea... method test_export_processed_list_with_non_dict (line 235) | async def test_export_processed_list_with_non_dict(self, mock_elastics... method test_elasticsearch_mixin_missing_required_parameters (line 249) | def test_elasticsearch_mixin_missing_required_parameters(self): method test_elasticsearch_client_initialization_failure (line 268) | def test_elasticsearch_client_initialization_failure(self, mock_elasti... class TestElasticsearchMixinErrorHandling (line 280) | class TestElasticsearchMixinErrorHandling: method test_elasticsearch_client_index_exception (line 284) | async def test_elasticsearch_client_index_exception(self, mock_elastic... method test_elasticsearch_client_bulk_exception (line 300) | async def test_elasticsearch_client_bulk_exception(self, mock_elastics... method test_export_processed_single_document_with_complex_data (line 316) | async def test_export_processed_single_document_with_complex_data(self... method test_export_processed_bulk_operations_formatting (line 345) | async def test_export_processed_bulk_operations_formatting(self, mock_... class TestElasticsearchMixinIntegration (line 419) | class TestElasticsearchMixinIntegration: method test_multiple_mixin_instances_independence (line 423) | def test_multiple_mixin_instances_independence(self, mock_elasticsearch): method test_sequential_export_operations (line 464) | async def test_sequential_export_operations(self, mock_elasticsearch): FILE: packages/nvidia_nat_data_flywheel/tests/observability/processor/test_dfw_record_processor.py class MockDFWRecord (line 29) | class MockDFWRecord(BaseModel): class MockTargetRecord (line 38) | class MockTargetRecord(BaseModel): class TestDFWToDictProcessor (line 46) | class TestDFWToDictProcessor: method test_processor_inheritance (line 49) | def test_processor_inheritance(self): method test_process_valid_dfw_record (line 60) | async def test_process_valid_dfw_record(self): method test_process_record_with_aliases (line 74) | async def test_process_record_with_aliases(self): method test_process_record_with_none_values (line 85) | async def test_process_record_with_none_values(self): method test_process_none_item_returns_empty_dict (line 95) | async def test_process_none_item_returns_empty_dict(self): method test_process_preserves_nested_structures (line 104) | async def test_process_preserves_nested_structures(self): method test_model_dump_json_called_correctly (line 123) | async def test_model_dump_json_called_correctly(self): class TestSpanToDFWRecordProcessor (line 138) | class TestSpanToDFWRecordProcessor: method test_processor_initialization (line 141) | def test_processor_initialization(self): method test_processor_inheritance (line 152) | def test_processor_inheritance(self): method test_process_llm_start_event (line 164) | async def test_process_llm_start_event(self, mock_span_to_dfw_record): method test_process_unsupported_event_type_returns_none (line 187) | async def test_process_unsupported_event_type_returns_none(self): method test_process_span_without_event_type_returns_none (line 202) | async def test_process_span_without_event_type_returns_none(self): method test_process_span_with_none_event_type_returns_none (line 216) | async def test_process_span_with_none_event_type_returns_none(self): method test_process_span_to_dfw_record_returns_none (line 227) | async def test_process_span_to_dfw_record_returns_none(self, mock_span... method test_process_passes_correct_parameters (line 244) | async def test_process_passes_correct_parameters(self, mock_span_to_df... method test_logging_for_unsupported_event_types (line 263) | async def test_logging_for_unsupported_event_types(self, mock_logger, ... class TestProcessorIntegration (line 277) | class TestProcessorIntegration: method test_span_to_dict_pipeline (line 281) | async def test_span_to_dict_pipeline(self, mock_span_to_dfw_record): method test_span_processor_none_to_dict_processor (line 307) | async def test_span_processor_none_to_dict_processor(self): class TestEdgeCasesAndErrorHandling (line 326) | class TestEdgeCasesAndErrorHandling: method test_dfw_processor_with_invalid_json_structure (line 329) | async def test_dfw_processor_with_invalid_json_structure(self): method test_span_processor_with_different_intermediate_step_types (line 348) | async def test_span_processor_with_different_intermediate_step_types(s... method test_processor_type_introspection (line 379) | def test_processor_type_introspection(self): method test_span_processor_cast_behavior (line 391) | async def test_span_processor_cast_behavior(self, mock_span_to_dfw_rec... FILE: packages/nvidia_nat_data_flywheel/tests/observability/processor/trace_conversion/adapter/elasticsearch/test_openai_converter.py class TestConvertRole (line 65) | class TestConvertRole: method test_convert_role_basic_mappings (line 68) | def test_convert_role_basic_mappings(self): method test_convert_role_fallback_to_default (line 79) | def test_convert_role_fallback_to_default(self): method test_convert_role_case_sensitivity (line 85) | def test_convert_role_case_sensitivity(self): class TestCreateMessageByRole (line 92) | class TestCreateMessageByRole: method test_create_user_message (line 95) | def test_create_user_message(self): method test_create_user_message_with_human_role (line 102) | def test_create_user_message_with_human_role(self): method test_create_system_message (line 109) | def test_create_system_message(self): method test_create_assistant_message_without_tool_calls (line 116) | def test_create_assistant_message_without_tool_calls(self): method test_create_assistant_message_with_tool_calls (line 124) | def test_create_assistant_message_with_tool_calls(self): method test_create_assistant_message_with_ai_role (line 133) | def test_create_assistant_message_with_ai_role(self): method test_create_tool_message (line 140) | def test_create_tool_message(self): method test_create_tool_message_without_tool_call_id (line 148) | def test_create_tool_message_without_tool_call_id(self): method test_create_function_message (line 156) | def test_create_function_message(self): method test_create_function_message_with_chain_role (line 163) | def test_create_function_message_with_chain_role(self): method test_create_message_with_unsupported_role (line 170) | def test_create_message_with_unsupported_role(self): method test_create_message_with_none_content_for_required_roles (line 178) | def test_create_message_with_none_content_for_required_roles(self): class TestCreateToolCalls (line 202) | class TestCreateToolCalls: method test_create_tool_calls_with_valid_data (line 205) | def test_create_tool_calls_with_valid_data(self): method test_create_tool_calls_with_dict_arguments (line 217) | def test_create_tool_calls_with_dict_arguments(self): method test_create_tool_calls_with_invalid_json_arguments (line 227) | def test_create_tool_calls_with_invalid_json_arguments(self): method test_create_tool_calls_with_missing_function_name (line 241) | def test_create_tool_calls_with_missing_function_name(self): method test_create_tool_calls_with_empty_function_name (line 251) | def test_create_tool_calls_with_empty_function_name(self): method test_create_tool_calls_with_none_function_name (line 260) | def test_create_tool_calls_with_none_function_name(self): method test_create_tool_calls_with_invalid_tool_call_structure (line 269) | def test_create_tool_calls_with_invalid_tool_call_structure(self): method test_create_tool_calls_with_invalid_function_structure (line 279) | def test_create_tool_calls_with_invalid_function_structure(self): method test_create_tool_calls_with_empty_list (line 289) | def test_create_tool_calls_with_empty_list(self): method test_create_tool_calls_with_multiple_tool_calls (line 294) | def test_create_tool_calls_with_multiple_tool_calls(self): class TestConvertMessageToDfw (line 321) | class TestConvertMessageToDfw: method test_convert_user_message (line 324) | def test_convert_user_message(self): method test_convert_message_with_content_in_response_metadata (line 334) | def test_convert_message_with_content_in_response_metadata(self): method test_convert_assistant_message_with_tool_calls (line 346) | def test_convert_assistant_message_with_tool_calls(self): method test_convert_tool_message_with_tool_call_id (line 366) | def test_convert_tool_message_with_tool_call_id(self): method test_convert_message_with_unknown_type_fallback (line 381) | def test_convert_message_with_unknown_type_fallback(self): method test_convert_message_with_human_type (line 390) | def test_convert_message_with_human_type(self): class TestValidateAndConvertTools (line 401) | class TestValidateAndConvertTools: method test_validate_and_convert_tools_with_valid_schema (line 404) | def test_validate_and_convert_tools_with_valid_schema(self): method test_validate_and_convert_tools_with_tool_schema_object (line 428) | def test_validate_and_convert_tools_with_tool_schema_object(self): method test_validate_and_convert_tools_with_invalid_tool_type (line 448) | def test_validate_and_convert_tools_with_invalid_tool_type(self): method test_validate_and_convert_tools_with_missing_function_key (line 469) | def test_validate_and_convert_tools_with_missing_function_key(self): method test_validate_and_convert_tools_with_invalid_function_type (line 493) | def test_validate_and_convert_tools_with_invalid_function_type(self): method test_validate_and_convert_tools_with_missing_required_fields (line 517) | def test_validate_and_convert_tools_with_missing_required_fields(self): method test_validate_and_convert_tools_with_function_creation_error (line 548) | def test_validate_and_convert_tools_with_function_creation_error(self): method test_validate_and_convert_tools_with_empty_list (line 566) | def test_validate_and_convert_tools_with_empty_list(self): method test_validate_and_convert_tools_with_multiple_valid_tools (line 571) | def test_validate_and_convert_tools_with_multiple_valid_tools(self): class TestConvertChatResponse (line 607) | class TestConvertChatResponse: method test_convert_chat_response_basic (line 610) | def test_convert_chat_response_basic(self): method test_convert_chat_response_with_tool_calls (line 630) | def test_convert_chat_response_with_tool_calls(self): method test_convert_chat_response_with_length_finish_reason (line 658) | def test_convert_chat_response_with_length_finish_reason(self): method test_convert_chat_response_with_unknown_finish_reason (line 674) | def test_convert_chat_response_with_unknown_finish_reason(self): method test_convert_chat_response_missing_message (line 690) | def test_convert_chat_response_missing_message(self): method test_convert_chat_response_with_none_message (line 701) | def test_convert_chat_response_with_none_message(self): method test_convert_chat_response_with_none_additional_kwargs (line 711) | def test_convert_chat_response_with_none_additional_kwargs(self): method test_convert_chat_response_with_none_tool_calls (line 729) | def test_convert_chat_response_with_none_tool_calls(self): class TestConvertLangchainOpenai (line 750) | class TestConvertLangchainOpenai: method setup_method (line 753) | def setup_method(self): method test_convert_langchain_openai_basic_functionality (line 769) | def test_convert_langchain_openai_basic_functionality(self): method test_convert_langchain_openai_with_tools (line 805) | def test_convert_langchain_openai_with_tools(self): method test_convert_langchain_openai_with_multiple_chat_responses (line 859) | def test_convert_langchain_openai_with_multiple_chat_responses(self): method test_convert_langchain_openai_message_conversion_error (line 914) | def test_convert_langchain_openai_message_conversion_error(self): method test_convert_langchain_openai_chat_response_conversion_error (line 939) | def test_convert_langchain_openai_chat_response_conversion_error(self): method test_convert_langchain_openai_no_chat_responses (line 965) | def test_convert_langchain_openai_no_chat_responses(self): method test_convert_langchain_openai_with_custom_response_id (line 988) | def test_convert_langchain_openai_with_custom_response_id(self): method test_convert_langchain_openai_dfw_record_creation_error (line 1021) | def test_convert_langchain_openai_dfw_record_creation_error(self): class TestConstants (line 1055) | class TestConstants: method test_role_map_completeness (line 1058) | def test_role_map_completeness(self): method test_finish_reason_map_completeness (line 1069) | def test_finish_reason_map_completeness(self): class TestIntegrationScenarios (line 1081) | class TestIntegrationScenarios: method test_complete_conversion_workflow (line 1084) | def test_complete_conversion_workflow(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/processor/trace_conversion/test_span_extractor.py class TestExtractTokenUsage (line 29) | class TestExtractTokenUsage: method test_extract_token_usage_with_all_attributes (line 32) | def test_extract_token_usage_with_all_attributes(self): method test_extract_token_usage_with_missing_attributes (line 47) | def test_extract_token_usage_with_missing_attributes(self): method test_extract_token_usage_with_no_attributes (line 63) | def test_extract_token_usage_with_no_attributes(self): method test_extract_token_usage_with_string_values (line 74) | def test_extract_token_usage_with_string_values(self): method test_extract_token_usage_with_zero_values (line 92) | def test_extract_token_usage_with_zero_values(self): method test_extract_token_usage_with_large_values (line 107) | def test_extract_token_usage_with_large_values(self): method test_extract_token_usage_with_mixed_attributes (line 124) | def test_extract_token_usage_with_mixed_attributes(self): class TestExtractUsageInfo (line 143) | class TestExtractUsageInfo: method test_extract_usage_info_with_all_attributes (line 146) | def test_extract_usage_info_with_all_attributes(self): method test_extract_usage_info_with_missing_usage_attributes (line 168) | def test_extract_usage_info_with_missing_usage_attributes(self): method test_extract_usage_info_with_no_attributes (line 190) | def test_extract_usage_info_with_no_attributes(self): method test_extract_usage_info_with_partial_attributes (line 204) | def test_extract_usage_info_with_partial_attributes(self): method test_extract_usage_info_calls_extract_token_usage (line 224) | def test_extract_usage_info_calls_extract_token_usage(self, mock_extra... method test_extract_usage_info_with_different_data_types (line 242) | def test_extract_usage_info_with_different_data_types(self): class TestExtractTimestamp (line 261) | class TestExtractTimestamp: method test_extract_timestamp_with_valid_integer (line 264) | def test_extract_timestamp_with_valid_integer(self): method test_extract_timestamp_with_valid_float (line 273) | def test_extract_timestamp_with_valid_float(self): method test_extract_timestamp_with_valid_string_number (line 282) | def test_extract_timestamp_with_valid_string_number(self): method test_extract_timestamp_with_valid_string_float (line 291) | def test_extract_timestamp_with_valid_string_float(self): method test_extract_timestamp_with_missing_attribute (line 300) | def test_extract_timestamp_with_missing_attribute(self): method test_extract_timestamp_with_zero_value (line 309) | def test_extract_timestamp_with_zero_value(self): method test_extract_timestamp_with_invalid_string (line 319) | def test_extract_timestamp_with_invalid_string(self, mock_logger): method test_extract_timestamp_with_none_value (line 330) | def test_extract_timestamp_with_none_value(self, mock_logger): method test_extract_timestamp_with_complex_object (line 341) | def test_extract_timestamp_with_complex_object(self, mock_logger): method test_extract_timestamp_with_negative_value (line 351) | def test_extract_timestamp_with_negative_value(self): method test_extract_timestamp_with_large_value (line 360) | def test_extract_timestamp_with_large_value(self): method test_extract_timestamp_with_empty_string (line 371) | def test_extract_timestamp_with_empty_string(self, mock_logger): class TestIntegrationScenarios (line 382) | class TestIntegrationScenarios: method test_complete_span_data_extraction (line 385) | def test_complete_span_data_extraction(self): method test_minimal_span_data_extraction (line 417) | def test_minimal_span_data_extraction(self): method test_partial_span_data_extraction (line 436) | def test_partial_span_data_extraction(self): class TestErrorHandlingAndEdgeCases (line 464) | class TestErrorHandlingAndEdgeCases: method test_function_signatures_and_return_types (line 467) | def test_function_signatures_and_return_types(self): method test_functions_with_span_containing_unexpected_attributes (line 485) | def test_functions_with_span_containing_unexpected_attributes(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/processor/trace_conversion/test_span_to_dfw_record.py class MockEnum (line 31) | class MockEnum(Enum): class MockFrameworkEnum (line 37) | class MockFrameworkEnum(Enum): class MockDFWRecord (line 44) | class MockDFWRecord(BaseModel): class MockTraceSource (line 52) | class MockTraceSource(BaseModel): class TestGetTraceContainer (line 60) | class TestGetTraceContainer: method setup_and_cleanup (line 64) | def setup_and_cleanup(self): method setup_method (line 85) | def setup_method(self): method test_get_trace_container_basic_functionality (line 100) | def test_get_trace_container_basic_functionality(self): method test_get_trace_container_extracts_framework_from_attributes (line 113) | def test_get_trace_container_extracts_framework_from_attributes(self): method test_get_trace_container_uses_default_framework_when_missing (line 128) | def test_get_trace_container_uses_default_framework_when_missing(self): method test_get_trace_container_includes_client_id (line 143) | def test_get_trace_container_includes_client_id(self): method test_get_trace_container_includes_span_reference (line 154) | def test_get_trace_container_includes_span_reference(self): method test_get_trace_container_extracts_input_value (line 164) | def test_get_trace_container_extracts_input_value(self): method test_get_trace_container_extracts_metadata (line 178) | def test_get_trace_container_extracts_metadata(self): method test_get_trace_container_handles_missing_optional_attributes (line 192) | def test_get_trace_container_handles_missing_optional_attributes(self): method test_get_trace_container_logs_successful_detection (line 209) | def test_get_trace_container_logs_successful_detection(self, mock_logg... method test_get_trace_container_handles_schema_detection_failure (line 219) | def test_get_trace_container_handles_schema_detection_failure(self, mo... method test_get_trace_container_error_includes_available_adapters (line 240) | def test_get_trace_container_error_includes_available_adapters(self, m... class TestSpanToDfwRecord (line 269) | class TestSpanToDfwRecord: method setup_and_cleanup (line 273) | def setup_and_cleanup(self): method setup_method (line 294) | def setup_method(self): method test_span_to_dfw_record_successful_conversion (line 312) | def test_span_to_dfw_record_successful_conversion(self, mock_registry,... method test_span_to_dfw_record_passes_correct_parameters (line 334) | def test_span_to_dfw_record_passes_correct_parameters(self, mock_regis... method test_span_to_dfw_record_returns_none_when_conversion_fails (line 350) | def test_span_to_dfw_record_returns_none_when_conversion_fails(self, m... method test_span_to_dfw_record_propagates_conversion_errors (line 362) | def test_span_to_dfw_record_propagates_conversion_errors(self, mock_re... method test_span_to_dfw_record_propagates_trace_container_errors (line 374) | def test_span_to_dfw_record_propagates_trace_container_errors(self, mo... method test_span_to_dfw_record_with_different_target_types (line 384) | def test_span_to_dfw_record_with_different_target_types(self, mock_reg... method test_span_to_dfw_record_with_different_client_ids (line 404) | def test_span_to_dfw_record_with_different_client_ids(self, mock_regis... class TestIntegrationScenarios (line 422) | class TestIntegrationScenarios: method setup_and_cleanup (line 426) | def setup_and_cleanup(self): method setup_method (line 447) | def setup_method(self): method test_enum_framework_extraction_integration (line 452) | def test_enum_framework_extraction_integration(self, mock_registry): method test_complete_span_processing_pipeline (line 468) | def test_complete_span_processing_pipeline(self, mock_registry): class TestErrorHandlingAndEdgeCases (line 502) | class TestErrorHandlingAndEdgeCases: method setup_and_cleanup (line 506) | def setup_and_cleanup(self): method test_get_trace_container_with_empty_attributes (line 527) | def test_get_trace_container_with_empty_attributes(self): method test_span_to_dfw_record_function_signature_compatibility (line 542) | def test_span_to_dfw_record_function_signature_compatibility(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/processor/trace_conversion/test_trace_adapter_registry.py class MockSourceTypeA (line 36) | class MockSourceTypeA(BaseModel): class MockSourceTypeB (line 44) | class MockSourceTypeB(BaseModel): class MockTargetType1 (line 52) | class MockTargetType1(BaseModel): class MockTargetType2 (line 60) | class MockTargetType2(BaseModel): class TestTraceAdapterRegistry (line 68) | class TestTraceAdapterRegistry: method setup_method (line 71) | def setup_method(self): method teardown_method (line 75) | def teardown_method(self): method test_registry_starts_empty (line 79) | def test_registry_starts_empty(self): method test_register_adapter_decorator_basic (line 84) | def test_register_adapter_decorator_basic(self): method test_register_adapter_without_return_annotation_raises_error (line 97) | def test_register_adapter_without_return_annotation_raises_error(self): method test_register_multiple_adapters_same_source (line 106) | def test_register_multiple_adapters_same_source(self): method test_register_multiple_source_types (line 123) | def test_register_multiple_source_types(self): method test_register_adapter_logs_registration (line 140) | def test_register_adapter_logs_registration(self, mock_logger): method test_convert_successful_conversion (line 149) | def test_convert_successful_conversion(self): method test_convert_no_registered_converter_raises_error (line 172) | def test_convert_no_registered_converter_raises_error(self): method test_convert_wrong_target_type_raises_error (line 182) | def test_convert_wrong_target_type_raises_error(self): method test_convert_error_message_includes_available_targets (line 197) | def test_convert_error_message_includes_available_targets(self): method test_get_adapter_returns_function (line 211) | def test_get_adapter_returns_function(self): method test_get_adapter_returns_none_for_unregistered (line 226) | def test_get_adapter_returns_none_for_unregistered(self): method test_union_building_single_type (line 236) | def test_union_building_single_type(self): method test_union_building_multiple_types (line 246) | def test_union_building_multiple_types(self): method test_union_building_empty_registry (line 261) | def test_union_building_empty_registry(self): method test_union_building_logs_rebuild (line 267) | def test_union_building_logs_rebuild(self, mock_logger): method test_trace_container_model_rebuild_called (line 279) | def test_trace_container_model_rebuild_called(self, mock_rebuild): method test_trace_container_rebuild_error_handled (line 290) | def test_trace_container_rebuild_error_handled(self, mock_logger, mock... method test_unregister_adapter_success (line 302) | def test_unregister_adapter_success(self): method test_unregister_adapter_removes_empty_source_entry (line 326) | def test_unregister_adapter_removes_empty_source_entry(self): method test_unregister_adapter_nonexistent_source_returns_false (line 341) | def test_unregister_adapter_nonexistent_source_returns_false(self): method test_unregister_adapter_nonexistent_target_returns_false (line 346) | def test_unregister_adapter_nonexistent_target_returns_false(self): method test_unregister_adapter_logs_removal (line 357) | def test_unregister_adapter_logs_removal(self, mock_logger): method test_unregister_all_adapters_success (line 368) | def test_unregister_all_adapters_success(self): method test_unregister_all_adapters_nonexistent_source_returns_zero (line 392) | def test_unregister_all_adapters_nonexistent_source_returns_zero(self): method test_unregister_all_adapters_logs_removal (line 398) | def test_unregister_all_adapters_logs_removal(self, mock_logger): method test_clear_registry_removes_all_adapters (line 413) | def test_clear_registry_removes_all_adapters(self): method test_clear_registry_logs_removal (line 438) | def test_clear_registry_logs_removal(self, mock_logger): method test_list_registered_types_returns_copy (line 449) | def test_list_registered_types_returns_copy(self): method test_convenience_functions_work (line 462) | def test_convenience_functions_work(self): method test_registry_state_isolation_between_operations (line 496) | def test_registry_state_isolation_between_operations(self): class TestTraceAdapterRegistryEdgeCases (line 539) | class TestTraceAdapterRegistryEdgeCases: method setup_method (line 542) | def setup_method(self): method teardown_method (line 546) | def teardown_method(self): method test_register_same_converter_multiple_times_overwrites (line 550) | def test_register_same_converter_multiple_times_overwrites(self): method test_convert_with_converter_raising_exception (line 569) | def test_convert_with_converter_raising_exception(self): method test_union_cache_invalidation (line 584) | def test_union_cache_invalidation(self): method test_complex_return_type_annotation (line 611) | def test_complex_return_type_annotation(self): method test_union_sorting_consistency (line 626) | def test_union_sorting_consistency(self): method test_edge_case_empty_then_populated_registry (line 649) | def test_edge_case_empty_then_populated_registry(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/schema/test_schema_registry.py class MockSchemaV1 (line 32) | class MockSchemaV1(BaseModel): class MockSchemaV2 (line 38) | class MockSchemaV2(BaseModel): class ElasticsearchSchemaV1 (line 45) | class ElasticsearchSchemaV1(BaseModel): class ElasticsearchSchemaV2 (line 51) | class ElasticsearchSchemaV2(BaseModel): class TestSchemaRegistry (line 58) | class TestSchemaRegistry: method setup_and_cleanup (line 62) | def setup_and_cleanup(self): method test_register_decorator_basic (line 72) | def test_register_decorator_basic(self): method test_register_decorator_multiple_schemas (line 85) | def test_register_decorator_multiple_schemas(self): method test_register_decorator_override_warning (line 111) | def test_register_decorator_override_warning(self, caplog): method test_register_decorator_debug_logging (line 133) | def test_register_decorator_debug_logging(self, caplog): method test_get_schema_valid_cases (line 143) | def test_get_schema_valid_cases(self): method test_get_schema_destination_not_found (line 159) | def test_get_schema_destination_not_found(self): method test_get_schema_version_not_found (line 166) | def test_get_schema_version_not_found(self): method test_get_schema_error_messages_include_available_options (line 173) | def test_get_schema_error_messages_include_available_options(self): method test_get_available_schemas_empty_registry (line 191) | def test_get_available_schemas_empty_registry(self): method test_get_available_schemas_multiple_schemas (line 196) | def test_get_available_schemas_multiple_schemas(self): method test_get_schemas_for_destination_existing (line 209) | def test_get_schemas_for_destination_existing(self): method test_get_schemas_for_destination_nonexistent (line 219) | def test_get_schemas_for_destination_nonexistent(self): method test_get_available_destinations_empty_registry (line 224) | def test_get_available_destinations_empty_registry(self): method test_get_available_destinations_multiple_destinations (line 229) | def test_get_available_destinations_multiple_destinations(self): method test_is_registered_true_cases (line 239) | def test_is_registered_true_cases(self): method test_is_registered_false_cases (line 247) | def test_is_registered_false_cases(self): method test_clear_registry (line 260) | def test_clear_registry(self): method test_convenience_aliases_register_schema (line 279) | def test_convenience_aliases_register_schema(self): method test_convenience_aliases_get_schema (line 289) | def test_convenience_aliases_get_schema(self): method test_convenience_aliases_get_available_schemas (line 297) | def test_convenience_aliases_get_available_schemas(self): method test_convenience_aliases_get_available_destinations (line 307) | def test_convenience_aliases_get_available_destinations(self): method test_convenience_aliases_get_schemas_for_destination (line 317) | def test_convenience_aliases_get_schemas_for_destination(self): method test_convenience_aliases_is_registered (line 327) | def test_convenience_aliases_is_registered(self): method test_registry_state_isolation (line 335) | def test_registry_state_isolation(self): method test_schema_class_preservation (line 349) | def test_schema_class_preservation(self): method test_complex_version_strings (line 373) | def test_complex_version_strings(self): method test_unicode_destination_names (line 389) | def test_unicode_destination_names(self): FILE: packages/nvidia_nat_data_flywheel/tests/observability/schema/test_trace_container.py class MockTraceSource (line 28) | class MockTraceSource(BaseModel): class TestTraceContainer (line 34) | class TestTraceContainer: method setup_and_cleanup (line 38) | def setup_and_cleanup(self): method valid_span (line 59) | def valid_span(self): method simple_source_dict (line 64) | def simple_source_dict(self): method invalid_source_dict (line 69) | def invalid_source_dict(self): method test_basic_initialization_with_dict_source (line 73) | def test_basic_initialization_with_dict_source(self, valid_span, simpl... method test_basic_initialization_with_object_source (line 82) | def test_basic_initialization_with_object_source(self, valid_span): method test_basic_initialization_with_non_dict_source (line 91) | def test_basic_initialization_with_non_dict_source(self, valid_span): method test_source_validation_with_registered_adapter (line 108) | def test_source_validation_with_registered_adapter(self, valid_span, s... method test_source_validation_failure_with_registered_adapter (line 133) | def test_source_validation_failure_with_registered_adapter(self, valid... method test_import_error_handling_in_validator (line 154) | def test_import_error_handling_in_validator(self, valid_span, simple_s... method test_import_error_handling_in_init (line 160) | def test_import_error_handling_in_init(self, valid_span, simple_source... method test_missing_required_fields_raises_validation_error (line 169) | def test_missing_required_fields_raises_validation_error(self): method test_missing_source_field_raises_validation_error (line 182) | def test_missing_source_field_raises_validation_error(self, valid_span): method test_missing_span_field_raises_validation_error (line 192) | def test_missing_span_field_raises_validation_error(self, simple_sourc... method test_invalid_span_data_raises_validation_error (line 202) | def test_invalid_span_data_raises_validation_error(self, simple_source... method test_span_field_with_dict_data (line 213) | def test_span_field_with_dict_data(self, simple_source_dict): method test_span_field_with_complex_dict_data (line 228) | def test_span_field_with_complex_dict_data(self, simple_source_dict): method test_none_values_raise_validation_error (line 247) | def test_none_values_raise_validation_error(self): method test_subclass_calls_model_rebuild (line 252) | def test_subclass_calls_model_rebuild(self): method test_init_triggers_union_building (line 262) | def test_init_triggers_union_building(self, valid_span, simple_source_... method test_complex_source_dict_with_nested_structures (line 269) | def test_complex_source_dict_with_nested_structures(self, valid_span): method test_field_descriptions_are_set (line 288) | def test_field_descriptions_are_set(self): method test_model_config_and_metadata (line 297) | def test_model_config_and_metadata(self): method test_multiple_instantiations_work_correctly (line 314) | def test_multiple_instantiations_work_correctly(self, valid_span): method test_unicode_and_special_characters_in_source (line 328) | def test_unicode_and_special_characters_in_source(self, valid_span): method test_source_validation_preserves_original_on_no_registry (line 339) | def test_source_validation_preserves_original_on_no_registry(self, val... FILE: packages/nvidia_nat_data_flywheel/tests/observability/utils/test_deserialize.py class TestDeserializeSpanAttribute (line 21) | class TestDeserializeSpanAttribute: method test_dict_input_returns_unchanged (line 24) | def test_dict_input_returns_unchanged(self): method test_list_input_returns_unchanged (line 44) | def test_list_input_returns_unchanged(self): method test_valid_json_dict_string (line 64) | def test_valid_json_dict_string(self): method test_valid_json_list_string (line 86) | def test_valid_json_list_string(self): method test_valid_json_primitive_values (line 108) | def test_valid_json_primitive_values(self): method test_invalid_json_raises_value_error (line 138) | def test_invalid_json_raises_value_error(self): method test_edge_cases_with_type_error (line 160) | def test_edge_cases_with_type_error(self): method test_empty_string_raises_value_error (line 174) | def test_empty_string_raises_value_error(self): method test_whitespace_only_string_raises_value_error (line 179) | def test_whitespace_only_string_raises_value_error(self): method test_error_message_contains_original_value_and_error (line 187) | def test_error_message_contains_original_value_and_error(self): method test_complex_nested_structures (line 199) | def test_complex_nested_structures(self): method test_unicode_and_special_characters (line 233) | def test_unicode_and_special_characters(self): FILE: packages/nvidia_nat_eval/scripts/compare_eval_runs.py function _read_json (line 50) | def _read_json(path: Path) -> dict: function _score_delta (line 55) | def _score_delta(a: object, b: object) -> float | None: function _fmt_score (line 61) | def _fmt_score(v: object) -> str: function _discover_evaluator_files (line 67) | def _discover_evaluator_files(run_a: Path, run_b: Path) -> list[str]: function compare_evaluator (line 94) | def compare_evaluator(run_a: Path, run_b: Path, file_name: str, show_ite... function main (line 179) | def main() -> int: FILE: packages/nvidia_nat_eval/scripts/print_atif_function_tree.py class NodeStats (line 35) | class NodeStats: function _load_json (line 46) | def _load_json(path: Path) -> Any: function _iter_trajectories (line 50) | def _iter_trajectories(payload: Any) -> list[tuple[str, dict[str, Any]]]: function _label_id (line 117) | def _label_id(label: str) -> str: function _add_ancestry (line 122) | def _add_ancestry(nodes: dict[str, NodeStats], fn: dict[str, Any], from_... function _build_nodes (line 144) | def _build_nodes(trajectory: dict[str, Any]) -> dict[str, NodeStats]: function _build_nodes_from_required_ancestry (line 149) | def _build_nodes_from_required_ancestry(trajectory: dict[str, Any]) -> d... function _path_to_labels (line 176) | def _path_to_labels(path: list[dict[str, Any]]) -> list[str]: function _label_function_name (line 191) | def _label_function_name(label: str) -> str: function _extract_tool_call_names (line 198) | def _extract_tool_call_names(step: dict[str, Any]) -> list[str]: function _extract_step_function_node (line 210) | def _extract_step_function_node(step: dict[str, Any]) -> dict[str, Any] ... function _extract_tool_function_nodes (line 221) | def _extract_tool_function_nodes(step: dict[str, Any]) -> list[dict[str,... function _build_step_tool_chain (line 234) | def _build_step_tool_chain(step: dict[str, Any], tool_idx: int, tool_nam... function _build_execution_graph (line 262) | def _build_execution_graph(trajectory: dict[str, Any]) -> tuple[dict[str... function _build_execution_chains (line 299) | def _build_execution_chains(trajectory: dict[str, Any]) -> list[list[str]]: function _print_tree (line 326) | def _print_tree(nodes: dict[str, NodeStats]) -> None: function _print_execution_tree (line 396) | def _print_execution_tree(edges: dict[str, set[str]], seen_counts: dict[... function _print_execution_sequence_tree (line 423) | def _print_execution_sequence_tree(chains: list[list[str]]) -> None: function _step_summary (line 439) | def _step_summary(trajectory: dict[str, Any]) -> tuple[int, int, int, int]: function _print_step_breakdown (line 465) | def _print_step_breakdown(trajectory: dict[str, Any]) -> None: function _validate_trajectory_contract (line 487) | def _validate_trajectory_contract(trajectory: dict[str, Any]) -> list[str]: function main (line 595) | def main() -> None: FILE: packages/nvidia_nat_eval/scripts/print_ist_function_tree.py class NodeStats (line 34) | class NodeStats: function _load_json (line 45) | def _load_json(path: Path) -> Any: function _iter_items (line 49) | def _iter_items(payload: Any) -> list[tuple[str, dict[str, Any]]]: function _label_id (line 65) | def _label_id(label: str) -> str: function _add_ancestry (line 70) | def _add_ancestry(nodes: dict[str, NodeStats], fn: dict[str, Any], from_... function _build_nodes (line 92) | def _build_nodes(item: dict[str, Any]) -> dict[str, NodeStats]: function _extract_nested_tool_chain (line 103) | def _extract_nested_tool_chain(step: dict[str, Any], tool_name: str) -> ... function _build_execution_graph (line 125) | def _build_execution_graph(item: dict[str, Any]) -> tuple[dict[str, set[... function _build_execution_chains (line 176) | def _build_execution_chains(item: dict[str, Any]) -> list[list[str]]: function _print_tree (line 206) | def _print_tree(nodes: dict[str, NodeStats]) -> None: function _print_execution_tree (line 262) | def _print_execution_tree(edges: dict[str, set[str]], seen_counts: dict[... function _print_execution_sequence_tree (line 288) | def _print_execution_sequence_tree(chains: list[list[str]]) -> None: function main (line 304) | def main() -> None: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/cli/evaluate.py function _raise_full_eval_dependency_error (line 28) | def _raise_full_eval_dependency_error(error: Exception): function _get_missing_eval_callback_install_hint (line 42) | def _get_missing_eval_callback_install_hint(exporter_config) -> str | None: function eval_command (line 117) | def eval_command(ctx, **kwargs) -> None: function write_tabular_output (line 122) | def write_tabular_output(eval_run_output: EvaluationRunOutput): function _build_eval_callback_manager (line 186) | def _build_eval_callback_manager(config: EvaluationRunConfig): function run_and_evaluate (line 232) | async def run_and_evaluate(config: EvaluationRunConfig): function process_nat_eval (line 249) | def process_nat_eval( FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/data_models/evaluator_io.py class EvalOutputItem (line 27) | class EvalOutputItem(BaseModel): class EvalOutput (line 38) | class EvalOutput(BaseModel): FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/dataset_handler/dataset_downloader.py function _load_signed_url_dependencies (line 33) | def _load_signed_url_dependencies() -> types.ModuleType: function _load_s3_download_dependencies (line 42) | def _load_s3_download_dependencies() -> tuple[types.ModuleType, type[Exc... class DatasetDownloader (line 52) | class DatasetDownloader: method __init__ (line 59) | def __init__(self, dataset_config: EvalDatasetBaseConfig): method s3_config (line 64) | def s3_config(self): method s3_client (line 68) | def s3_client(self): method ensure_directory_exists (line 86) | def ensure_directory_exists(file_path: str): method download_with_signed_url (line 90) | def download_with_signed_url(self, remote_file_path: str, local_file_p... method download_with_boto3 (line 104) | def download_with_boto3(self, remote_file_path: str, local_file_path: ... method is_file_path_url (line 114) | def is_file_path_url(file_path: str) -> bool: method download_file (line 118) | def download_file(self, remote_file_path: str, local_file_path: str): method download_dataset (line 128) | def download_dataset(self): FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/dataset_handler/dataset_filter.py class DatasetFilter (line 23) | class DatasetFilter: method __init__ (line 35) | def __init__(self, filter_config: EvalFilterConfig): method _match_wildcard_patterns (line 40) | def _match_wildcard_patterns(series: pd.Series, patterns: list[str | i... method apply_filters (line 66) | def apply_filters(self, df) -> pd.DataFrame: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/dataset_handler/dataset_handler.py class DatasetHandler (line 34) | class DatasetHandler: method __init__ (line 40) | def __init__(self, method is_structured_input (line 64) | def is_structured_input(self) -> bool: method id_key (line 69) | def id_key(self) -> str: method question_key (line 73) | def question_key(self) -> str: method answer_key (line 77) | def answer_key(self) -> str: method generated_answer_key (line 81) | def generated_answer_key(self) -> str: method trajectory_key (line 85) | def trajectory_key(self) -> str: method expected_trajectory_key (line 89) | def expected_trajectory_key(self) -> str: method get_eval_input_from_df (line 92) | def get_eval_input_from_df(self, input_df: pd.DataFrame) -> EvalInput: method setup_reps (line 118) | def setup_reps(self, input_df: pd.DataFrame) -> pd.DataFrame: method adjust_dataset (line 131) | def adjust_dataset(self, input_df: pd.DataFrame) -> pd.DataFrame: method get_eval_input_from_dataset (line 187) | def get_eval_input_from_dataset(self, dataset: str) -> EvalInput: method _preprocess_dataframe (line 208) | def _preprocess_dataframe(self, input_df: pd.DataFrame) -> pd.DataFrame: method _preprocess_eval_dataframe (line 235) | def _preprocess_eval_dataframe(self, input_df: pd.DataFrame) -> EvalIn... method _preprocess_eval_input (line 248) | def _preprocess_eval_input(self, eval_input: EvalInput) -> EvalInput: method _handle_custom_dataset (line 266) | def _handle_custom_dataset(self, dataset: str | None) -> EvalInput: method _eval_input_to_dataframe (line 301) | def _eval_input_to_dataframe(self, eval_input: EvalInput) -> pd.DataFr... method filter_intermediate_steps (line 328) | def filter_intermediate_steps(self, method pre_eval_process_eval_input (line 340) | def pre_eval_process_eval_input(self, eval_input: EvalInput) -> EvalIn... method _load_custom_pre_eval_process_function (line 374) | def _load_custom_pre_eval_process_function(self): method publish_eval_input (line 400) | def publish_eval_input(self, FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/dataset_loader/register.py function register_json_dataset_loader (line 31) | async def register_json_dataset_loader(config: EvalDatasetJsonConfig, bu... function register_jsonl_dataset_loader (line 36) | async def register_jsonl_dataset_loader(config: EvalDatasetJsonlConfig, ... function register_csv_dataset_loader (line 41) | async def register_csv_dataset_loader(config: EvalDatasetCsvConfig, buil... function register_parquet_dataset_loader (line 46) | async def register_parquet_dataset_loader(config: EvalDatasetParquetConf... function register_xls_dataset_loader (line 51) | async def register_xls_dataset_loader(config: EvalDatasetXlsConfig, buil... function register_custom_dataset_loader (line 60) | async def register_custom_dataset_loader(config: EvalDatasetCustomConfig... FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/eval_callbacks.py class EvalResultItem (line 35) | class EvalResultItem: class EvalResult (line 50) | class EvalResult: function build_eval_result (line 70) | def build_eval_result( class EvalCallback (line 130) | class EvalCallback(Protocol): method on_dataset_loaded (line 132) | def on_dataset_loaded(self, *, dataset_name: str, items: list[EvalInpu... method on_eval_complete (line 135) | def on_eval_complete(self, result: EvalResult) -> None: method on_eval_started (line 140) | def on_eval_started(self, *, workflow_alias: str, eval_input: Any, con... method on_prediction (line 143) | def on_prediction(self, *, item: Any, output: Any) -> None: method a_on_usage_stats (line 146) | async def a_on_usage_stats(self, *, item: Any, usage_stats_item: Any) ... method a_on_evaluator_score (line 149) | async def a_on_evaluator_score(self, *, eval_output: Any, evaluator_na... method a_on_export_flush (line 152) | async def a_on_export_flush(self) -> None: method on_eval_summary (line 155) | def on_eval_summary(self, *, usage_stats: Any, evaluation_results: Any... method evaluation_context (line 158) | def evaluation_context(self): class EvalCallbackManager (line 162) | class EvalCallbackManager: method __init__ (line 172) | def __init__(self) -> None: method register (line 175) | def register(self, callback: EvalCallback) -> None: method has_callbacks (line 179) | def has_callbacks(self) -> bool: method needs_root_span_ids (line 183) | def needs_root_span_ids(self) -> bool: method on_dataset_loaded (line 190) | def on_dataset_loaded(self, *, dataset_name: str, items: list[EvalInpu... method on_eval_started (line 200) | def on_eval_started(self, *, workflow_alias: str, eval_input: Any, con... method on_prediction (line 210) | def on_prediction(self, *, item: Any, output: Any) -> None: method a_on_usage_stats (line 220) | async def a_on_usage_stats(self, *, item: Any, usage_stats_item: Any) ... method a_on_evaluator_score (line 230) | async def a_on_evaluator_score(self, *, eval_output: Any, evaluator_na... method a_on_export_flush (line 240) | async def a_on_export_flush(self) -> None: method on_eval_summary (line 250) | def on_eval_summary(self, *, usage_stats: Any, evaluation_results: Any... method evaluation_context (line 261) | def evaluation_context(self): method on_eval_complete (line 273) | def on_eval_complete(self, result: EvalResult) -> None: method get_eval_project_name (line 283) | def get_eval_project_name(self) -> str | None: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/evaluator/atif_base_evaluator.py class AtifBaseEvaluator (line 29) | class AtifBaseEvaluator(ABC): method __init__ (line 37) | def __init__(self, max_concurrency: int = 4): method evaluate_atif_item (line 42) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... method evaluate_atif_fn (line 45) | async def evaluate_atif_fn(self, atif_samples: AtifEvalSampleList) -> ... FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/evaluator/atif_evaluator.py class AtifEvalSample (line 31) | class AtifEvalSample(BaseModel): class AtifEvaluator (line 45) | class AtifEvaluator(Protocol): method evaluate_atif_fn (line 48) | async def evaluate_atif_fn(self, atif_samples: AtifEvalSampleList) -> ... class LegacyEvaluator (line 54) | class LegacyEvaluator(Protocol): method evaluate_fn (line 57) | async def evaluate_fn(self, eval_input) -> EvalOutput: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/evaluator/base_evaluator.py class _NoOpProgressBar (line 36) | class _NoOpProgressBar: method update (line 38) | def update(self, _: int) -> None: method close (line 41) | def close(self) -> None: function _make_progress_bar (line 45) | def _make_progress_bar(total: int, desc: str) -> tuple[Any, int | None]: class BaseEvaluator (line 54) | class BaseEvaluator(ABC): method __init__ (line 66) | def __init__(self, max_concurrency: int = 4, tqdm_desc: str = "Evaluat... method evaluate_item (line 72) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: method evaluate (line 76) | async def evaluate(self, eval_input: EvalInput) -> EvalOutput: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/exporters/file_eval_callback.py class FileEvalCallback (line 38) | class FileEvalCallback: method __init__ (line 45) | def __init__(self) -> None: method on_dataset_loaded (line 53) | def on_dataset_loaded(self, *, dataset_name: str, items: list[EvalInpu... method on_eval_complete (line 56) | def on_eval_complete(self, result: EvalResult) -> None: method _write_configuration (line 69) | def _write_configuration(self, result: EvalResult, output_dir: Path) -... method _build_run_metadata (line 115) | def _build_run_metadata(run_config: Any) -> dict[str, Any]: method _write_workflow_output (line 151) | def _write_workflow_output(self, result: EvalResult, output_dir: Path)... method _write_evaluator_outputs (line 169) | def _write_evaluator_outputs(self, result: EvalResult, output_dir: Pat... FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/fastapi/routes.py function _add_evaluate_route (line 44) | async def _add_evaluate_route(worker: Any, app: FastAPI, session_manager... function _add_evaluate_item_route (line 209) | async def _add_evaluate_item_route(worker: Any, app: FastAPI, session_ma... function add_evaluate_routes (line 256) | async def add_evaluate_routes(worker: Any, app: FastAPI, session_manager... FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runners/config.py class MultiEvaluationRunConfig (line 24) | class MultiEvaluationRunConfig(BaseModel): class MultiEvaluationRunOutput (line 34) | class MultiEvaluationRunOutput(BaseModel): FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runners/multi_eval_runner.py class MultiEvaluationRunner (line 25) | class MultiEvaluationRunner: method __init__ (line 30) | def __init__(self, config: MultiEvaluationRunConfig): method run_all (line 37) | async def run_all(self): method run_single_evaluation (line 47) | async def run_single_evaluation(self, id: typing.Any, config: Evaluati... FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runtime/atif_adapter.py class EvalAtifAdapter (line 35) | class EvalAtifAdapter: method __init__ (line 38) | def __init__(self, converter: IntermediateStepToATIFConverter | None =... method _cache_key (line 43) | def _cache_key(item_id: Any) -> str: method _coerce_trajectory (line 47) | def _coerce_trajectory(self, value: Any) -> ATIFTrajectory: method get_trajectory (line 54) | def get_trajectory(self, method _ensure_cache (line 69) | def _ensure_cache(self, method build_samples (line 82) | def build_samples( FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runtime/builder.py class ConfiguredEvaluator (line 41) | class ConfiguredEvaluator: class ConfiguredDatasetLoader (line 47) | class ConfiguredDatasetLoader: class WorkflowEvalBuilder (line 52) | class WorkflowEvalBuilder(WorkflowEvalBuilderBase): method __init__ (line 54) | def __init__(self, method add_evaluator (line 64) | async def add_evaluator(self, name: str, config: EvaluatorBaseConfig): method get_evaluator (line 79) | def get_evaluator(self, evaluator_name: str) -> EvaluatorInfo: method get_evaluator_config (line 87) | def get_evaluator_config(self, evaluator_name: str) -> EvaluatorBaseCo... method add_dataset_loader (line 96) | async def add_dataset_loader(self, name: str, config: EvalDatasetBaseC... method get_dataset_loader (line 111) | def get_dataset_loader(self, dataset_loader_name: str) -> DatasetLoade... method get_dataset_loader_config (line 119) | def get_dataset_loader_config(self, dataset_loader_name: str) -> EvalD... method get_max_concurrency (line 128) | def get_max_concurrency(self) -> int: method get_output_dir (line 132) | def get_output_dir(self) -> Path: method get_all_tools (line 136) | async def get_all_tools(self, wrapper_type: LLMFrameworkEnum | str): method _log_build_failure_evaluator (line 161) | def _log_build_failure_evaluator(self, method populate_builder (line 187) | async def populate_builder(self, config: Config, skip_workflow: bool =... method from_config (line 218) | async def from_config(cls, config: Config): FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runtime/eval_harness.py class EvaluationHarness (line 44) | class EvaluationHarness: method __init__ (line 47) | def __init__(self, logger_instance: logging.Logger | None = None): method _evaluate_single (line 50) | async def _evaluate_single(self, evaluator_name: str, evaluator: AtifE... method evaluate (line 69) | async def evaluate(self, evaluators: dict[str, AtifEvaluator], FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runtime/evaluate.py function _raise_full_eval_dependency_error (line 48) | def _raise_full_eval_dependency_error(error: Exception): function _get_output_uploader_cls (line 52) | def _get_output_uploader_cls(): class EvaluationRun (line 88) | class EvaluationRun: method __init__ (line 97) | def __init__(self, config: EvaluationRunConfig, callback_manager: "Eva... method _compute_usage_stats (line 144) | def _compute_usage_stats(self, item: EvalInputItem): method run_workflow_local (line 199) | async def run_workflow_local(self, method run_workflow_remote (line 327) | async def run_workflow_remote(self): method profile_workflow (line 337) | async def profile_workflow(self) -> ProfilerResults: method cleanup_output_directory (line 356) | def cleanup_output_directory(self): method get_file_exporter (line 413) | def get_file_exporter(self) -> "FileEvalCallback | None": method write_configuration (line 421) | def write_configuration(self) -> None: method write_output (line 507) | def write_output(self, dataset_handler: DatasetHandler, profiler_resul... method publish_output (line 545) | def publish_output(self, dataset_handler: DatasetHandler, profiler_res... method run_single_evaluator (line 561) | async def run_single_evaluator(self, evaluator_name: str, evaluator: A... method _run_single_legacy_evaluator (line 575) | async def _run_single_legacy_evaluator(self, evaluator_name: str, eval... method run_evaluators (line 591) | async def run_evaluators(self, evaluators: dict[str, Any]): method apply_overrides (line 631) | def apply_overrides(self): method _get_workflow_alias (line 645) | def _get_workflow_alias(self, workflow_type: str | None = None): method wait_for_all_export_tasks_local (line 655) | async def wait_for_all_export_tasks_local(self, session_manager: Sessi... method _on_eval_complete (line 682) | def _on_eval_complete(self, dataset_handler: DatasetHandler | None = N... method run_and_evaluate (line 716) | async def run_and_evaluate(self, FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runtime/llm_validator.py function _is_404_error (line 51) | def _is_404_error(exception: Exception) -> bool: function _get_llm_endpoint_info (line 85) | def _get_llm_endpoint_info(llm_config: LLMBaseConfig) -> tuple[str | Non... function _truncate_error_message (line 105) | def _truncate_error_message(message: str, max_length: int = MAX_ERROR_ME... function _validate_single_llm (line 133) | async def _validate_single_llm(builder: WorkflowBuilder, llm_name: str, function validate_llm_endpoints (line 224) | async def validate_llm_endpoints(config: "Config") -> None: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/runtime/remote_workflow.py class EvaluationRemoteWorkflowHandler (line 39) | class EvaluationRemoteWorkflowHandler: method __init__ (line 41) | def __init__(self, config: EvaluationRunConfig, max_concurrency: int): method run_workflow_remote_single (line 46) | async def run_workflow_remote_single(self, session: aiohttp.ClientSess... method run_workflow_remote_with_limits (line 112) | async def run_workflow_remote_with_limits(self, method run_workflow_remote (line 123) | async def run_workflow_remote(self, eval_input: EvalInput) -> EvalInput: method _retry_request (line 143) | async def _retry_request(self, attempt: int, max_retries: int) -> bool: FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/utils/intermediate_step_adapter.py class IntermediateStepAdapter (line 26) | class IntermediateStepAdapter: method filter_intermediate_steps (line 29) | def filter_intermediate_steps(self, method validate_intermediate_steps (line 37) | def validate_intermediate_steps(self, intermediate_steps: list[dict]) ... method serialize_intermediate_steps (line 46) | def serialize_intermediate_steps(self, intermediate_steps: list[Interm... method agent_action_to_dict (line 51) | def agent_action_to_dict(action) -> dict: method get_agent_action_single (line 60) | def get_agent_action_single(self, step: IntermediateStep, method get_agent_actions (line 73) | def get_agent_actions(self, intermediate_steps: list[IntermediateStep], method get_context (line 90) | def get_context(self, intermediate_steps: list[IntermediateStep], FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/utils/output_uploader.py function _load_s3_upload_dependencies (line 34) | def _load_s3_upload_dependencies(): class OutputUploader (line 44) | class OutputUploader: method __init__ (line 50) | def __init__(self, output_config: EvalOutputConfig, job_id: str | None... method s3_config (line 56) | def s3_config(self): method _upload_file (line 59) | async def _upload_file(self, s3_client, bucket, s3_key, local_path, pb... method upload_directory (line 68) | async def upload_directory(self): method run_custom_scripts (line 124) | def run_custom_scripts(self): FILE: packages/nvidia_nat_eval/src/nat/plugins/eval/utils/tqdm_position_registry.py class TqdmPositionRegistry (line 17) | class TqdmPositionRegistry: method claim (line 25) | def claim(cls) -> int: method release (line 36) | def release(cls, pos: int): FILE: packages/nvidia_nat_eval/tests/eval/conftest.py function rag_expected_outputs_fixture (line 26) | def rag_expected_outputs_fixture() -> list[str]: function intermediate_step_adapter_fixture (line 32) | def intermediate_step_adapter_fixture() -> "IntermediateStepAdapter": function rag_eval_input (line 38) | def rag_eval_input(rag_user_inputs, rag_expected_outputs, rag_generated_... FILE: packages/nvidia_nat_eval/tests/eval/dataset_handler/test_dataset_downloader.py class _BlockModules (line 29) | class _BlockModules: method __init__ (line 31) | def __init__(self, module_roots: set[str]): method find_spec (line 34) | def find_spec(self, function test_signed_url_download_missing_requests_has_install_hint (line 44) | def test_signed_url_download_missing_requests_has_install_hint(monkeypat... function test_s3_download_missing_boto3_has_install_hint (line 54) | def test_s3_download_missing_boto3_has_install_hint(monkeypatch: pytest.... FILE: packages/nvidia_nat_eval/tests/eval/dataset_handler/test_dataset_filter.py function sample_df (line 25) | def sample_df(): function allowlist_filter (line 50) | def allowlist_filter(): function denylist_filter (line 58) | def denylist_filter(): function combined_filter (line 67) | def combined_filter(): function test_apply_filters_allowlist (line 78) | def test_apply_filters_allowlist(sample_df, allowlist_filter): function test_apply_filters_denylist (line 88) | def test_apply_filters_denylist(sample_df, denylist_filter): function test_apply_filters_combined (line 97) | def test_apply_filters_combined(sample_df, combined_filter): function test_wildcard_pattern_allowlist (line 107) | def test_wildcard_pattern_allowlist(sample_df): function test_wildcard_pattern_denylist (line 118) | def test_wildcard_pattern_denylist(sample_df): function test_wildcard_pattern_question_mark (line 129) | def test_wildcard_pattern_question_mark(sample_df): function test_wildcard_pattern_character_set (line 140) | def test_wildcard_pattern_character_set(sample_df): function test_mixed_wildcard_and_exact_allowlist (line 151) | def test_mixed_wildcard_and_exact_allowlist(sample_df): function test_mixed_wildcard_and_exact_denylist (line 162) | def test_mixed_wildcard_and_exact_denylist(sample_df): function test_wildcard_pattern_with_numeric_values (line 174) | def test_wildcard_pattern_with_numeric_values(sample_df): function test_no_wildcard_pattern_exact_match_performance (line 184) | def test_no_wildcard_pattern_exact_match_performance(sample_df): FILE: packages/nvidia_nat_eval/tests/eval/dataset_handler/test_dataset_handler.py function dataset_structure (line 37) | def dataset_structure(): function dataset_id_key (line 47) | def dataset_id_key(): function dataset_handler (line 53) | def dataset_handler(dataset_config): function input_entry_one (line 62) | def input_entry_one(dataset_id_key, dataset_structure): function input_entry_two (line 75) | def input_entry_two(dataset_id_key, dataset_structure): function input_entry_with_extras (line 88) | def input_entry_with_extras(dataset_id_key, dataset_structure): function mock_input_df_with_extras (line 108) | def mock_input_df_with_extras(input_entry_with_extras): function mock_input_df (line 114) | def mock_input_df(input_entry_one, input_entry_two): function dataset_config (line 120) | def dataset_config(): function dataset_swe_bench_id_key (line 126) | def dataset_swe_bench_id_key(): function dataset_swe_bench_config (line 135) | def dataset_swe_bench_config(dataset_swe_bench_id_key): function dataset_swe_bench_handler (line 141) | def dataset_swe_bench_handler(dataset_swe_bench_config): function mock_swe_bench_input_df (line 146) | def mock_swe_bench_input_df(dataset_swe_bench_id_key): function sample_nested_data (line 156) | def sample_nested_data(): function temp_nested_json_file (line 211) | def temp_nested_json_file(sample_nested_data): function sample_custom_parser (line 223) | def sample_custom_parser(file_path: Path, difficulty: str = "") -> EvalI... function custom_dataset_config (line 255) | def custom_dataset_config(): function test_get_eval_input_from_df_with_additional_fields (line 261) | def test_get_eval_input_from_df_with_additional_fields(mock_input_df_wit... function test_get_eval_input_from_df (line 283) | def test_get_eval_input_from_df(dataset_handler, function test_get_eval_input_from_swe_bench_df (line 313) | def test_get_eval_input_from_swe_bench_df(dataset_swe_bench_handler, moc... function test_get_eval_input_from_df_ignore_invalid_rows (line 331) | def test_get_eval_input_from_df_ignore_invalid_rows(dataset_handler, moc... function test_setup_reps (line 392) | def test_setup_reps(dataset_handler, mock_input_df, dataset_id_key): function mock_intermediate_steps (line 401) | def mock_intermediate_steps(): function test_filter_intermediate_steps (line 428) | def test_filter_intermediate_steps(dataset_handler, mock_intermediate_st... function make_eval_input_item (line 451) | def make_eval_input_item(**overrides): function test_publish_eval_input_unstructured_string_and_json (line 465) | def test_publish_eval_input_unstructured_string_and_json(): function test_custom_dataset_config (line 490) | def test_custom_dataset_config(custom_dataset_config, temp_nested_json_f... function test_custom_pre_eval_process_function (line 500) | def test_custom_pre_eval_process_function(): function sample_pre_eval_process_function (line 548) | def sample_pre_eval_process_function(item: EvalInputItem) -> EvalInputItem: function test_eval_input_item_copy_with_updates (line 584) | def test_eval_input_item_copy_with_updates(): FILE: packages/nvidia_nat_eval/tests/eval/dataset_loader/test_dataset_loader_registration.py function test_builtin_dataset_loaders_registered (line 31) | def test_builtin_dataset_loaders_registered(): function test_compute_annotation_for_dataset_base (line 50) | def test_compute_annotation_for_dataset_base(): function test_yaml_backward_compat_csv (line 59) | def test_yaml_backward_compat_csv(): function test_yaml_backward_compat_json (line 71) | def test_yaml_backward_compat_json(): function test_registered_dataset_loader_info_fields (line 83) | def test_registered_dataset_loader_info_fields(): function test_duplicate_registration_raises (line 100) | def test_duplicate_registration_raises(): function test_dataset_loader_info_creation (line 123) | def test_dataset_loader_info_creation(): FILE: packages/nvidia_nat_eval/tests/eval/evaluator/test_atif_base_evaluator.py function _sample (line 25) | def _sample(item_id: str, expected: str, generated: str) -> AtifEvalSample: class _LengthRatioAtifEvaluator (line 31) | class _LengthRatioAtifEvaluator(AtifBaseEvaluator): method evaluate_atif_item (line 33) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... class _ConcurrencyProbeAtifEvaluator (line 40) | class _ConcurrencyProbeAtifEvaluator(AtifBaseEvaluator): method __init__ (line 42) | def __init__(self, max_concurrency: int): method evaluate_atif_item (line 47) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... function test_atif_base_evaluator_computes_average_score (line 57) | async def test_atif_base_evaluator_computes_average_score(): function test_atif_base_evaluator_uses_bounded_concurrency (line 69) | async def test_atif_base_evaluator_uses_bounded_concurrency(): function test_atif_base_evaluator_processes_all_samples_when_remainder_exists (line 79) | async def test_atif_base_evaluator_processes_all_samples_when_remainder_... FILE: packages/nvidia_nat_eval/tests/eval/evaluator/test_custom_evaluator.py class MockSimilarityEvaluator (line 25) | class MockSimilarityEvaluator(BaseEvaluator): method __init__ (line 28) | def __init__(self): method evaluate_item (line 31) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: class FailingEvaluator (line 43) | class FailingEvaluator(BaseEvaluator): method __init__ (line 45) | def __init__(self): method evaluate_item (line 48) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: function mock_input_items (line 53) | def mock_input_items(): function test_similarity_evaluator_returns_valid_scores (line 77) | async def test_similarity_evaluator_returns_valid_scores(mock_input_items): function test_similarity_evaluator_handles_empty_input (line 92) | async def test_similarity_evaluator_handles_empty_input(): function test_similarity_evaluator_runs_without_tqdm (line 101) | async def test_similarity_evaluator_runs_without_tqdm(monkeypatch, caplo... function test_evaluator_handles_item_failure (line 113) | async def test_evaluator_handles_item_failure(mock_input_items): FILE: packages/nvidia_nat_eval/tests/eval/runners/test_multi_eval_runner.py function base_eval_run_config (line 34) | def base_eval_run_config(): function multi_eval_config (line 44) | def multi_eval_config(base_eval_run_config): function mock_evaluation_run_output (line 56) | def mock_evaluation_run_output(): function test_run_all_with_overrides (line 84) | async def test_run_all_with_overrides(base_eval_run_config, mock_evaluat... function test_run_all_partial_failure (line 119) | async def test_run_all_partial_failure(multi_eval_config, mock_evaluatio... FILE: packages/nvidia_nat_eval/tests/eval/test_atif_adapter.py function _make_eval_input_item (line 28) | def _make_eval_input_item(item_id: str = "item-1") -> EvalInputItem: class _CountingConverter (line 41) | class _CountingConverter: method __init__ (line 43) | def __init__(self) -> None: method convert (line 46) | def convert(self, steps: list[IntermediateStep], *, session_id: str | ... function test_private_ensure_cache_converts_once_per_item (line 52) | def test_private_ensure_cache_converts_once_per_item(): function test_build_samples_uses_prebuilt_trajectory_without_conversion (line 63) | def test_build_samples_uses_prebuilt_trajectory_without_conversion(): FILE: packages/nvidia_nat_eval/tests/eval/test_dependency_guidance.py class _BlockModules (line 19) | class _BlockModules: method __init__ (line 21) | def __init__(self, module_roots: set[str]): method find_spec (line 24) | def find_spec(self, fullname, path=None, target=None): # noqa: ANN001 function test_runtime_full_dependency_error_includes_install_hint (line 29) | def test_runtime_full_dependency_error_includes_install_hint(): function test_cli_full_dependency_error_includes_install_hint (line 36) | def test_cli_full_dependency_error_includes_install_hint(): function test_runtime_evaluate_import_does_not_require_full_eval_dependencies (line 43) | def test_runtime_evaluate_import_does_not_require_full_eval_dependencies... FILE: packages/nvidia_nat_eval/tests/eval/test_eval_callback_builder.py class WeaveTelemetryExporter (line 25) | class WeaveTelemetryExporter: function test_callback_builder_warns_and_continues_when_callback_missing (line 29) | def test_callback_builder_warns_and_continues_when_callback_missing(capl... function test_callback_builder_registers_available_callback (line 48) | def test_callback_builder_registers_available_callback(): FILE: packages/nvidia_nat_eval/tests/eval/test_eval_harness.py function test_evaluate_returns_per_evaluator_outputs (line 24) | async def test_evaluate_returns_per_evaluator_outputs(): function test_evaluate_best_effort_when_one_evaluator_fails (line 46) | async def test_evaluate_best_effort_when_one_evaluator_fails(): function test_evaluate_skips_none_evaluator_entry (line 66) | async def test_evaluate_skips_none_evaluator_entry(): FILE: packages/nvidia_nat_eval/tests/eval/test_evaluate.py function default_eval_run_config (line 58) | def default_eval_run_config(): function eval_input (line 71) | def eval_input(): function evaluation_run (line 86) | def evaluation_run(default_eval_run_config, eval_input, default_eval_con... function generated_answer (line 95) | def generated_answer(): function test_evaluation_run_registers_file_callback_by_default (line 100) | def test_evaluation_run_registers_file_callback_by_default(default_eval_... function tool_end_intermediate_step (line 107) | def tool_end_intermediate_step(): function llm_end_intermediate_step (line 117) | def llm_end_intermediate_step(generated_answer): function average_score (line 127) | def average_score(): function eval_output (line 132) | def eval_output(average_score): function mock_evaluator (line 139) | def mock_evaluator(eval_output): function default_eval_config (line 157) | def default_eval_config(mock_evaluator): class _MockExporterManager (line 170) | class _MockExporterManager: method start (line 174) | async def start(self, **_kwargs): class MockWorkflow (line 178) | class MockWorkflow: method __init__ (line 180) | def __init__(self): function mock_pull_intermediate (line 186) | def mock_pull_intermediate(tool_end_intermediate_step, llm_end_intermedi... function session_manager (line 194) | def session_manager(generated_answer, mock_pull_intermediate): function test_run_workflow_local_success (line 238) | async def test_run_workflow_local_success(evaluation_run, session_manage... function test_run_workflow_local_errors (line 252) | async def test_run_workflow_local_errors(evaluation_run, session_manager): function test_run_workflow_local_skip_completed (line 262) | async def test_run_workflow_local_skip_completed(evaluation_run, session... function test_run_workflow_local_workflow_interrupted (line 304) | async def test_run_workflow_local_workflow_interrupted(evaluation_run, e... function test_workflow_continues_after_one_item_fails (line 339) | async def test_workflow_continues_after_one_item_fails(evaluation_run, s... function test_run_workflow_local_reuse_coroutine_on_error (line 398) | async def test_run_workflow_local_reuse_coroutine_on_error(evaluation_ru... function test_run_workflow_local_cancels_pending_intermediate (line 432) | async def test_run_workflow_local_cancels_pending_intermediate(evaluatio... function test_run_workflow_remote_success (line 477) | async def test_run_workflow_remote_success(evaluation_run, generated_ans... function test_run_single_evaluator_success (line 504) | async def test_run_single_evaluator_success(evaluation_run, mock_evaluat... function test_run_single_evaluator_atif_lane (line 521) | async def test_run_single_evaluator_atif_lane(evaluation_run, eval_output): function test_run_single_evaluator_atif_lane_uses_prebuilt_samples (line 538) | async def test_run_single_evaluator_atif_lane_uses_prebuilt_samples(eval... function test_run_evaluators_success (line 553) | async def test_run_evaluators_success(evaluation_run, mock_evaluator, ev... function test_run_evaluators_uses_harness_for_atif_evaluators (line 574) | async def test_run_evaluators_uses_harness_for_atif_evaluators(evaluatio... function test_run_evaluators_partial_failure (line 594) | async def test_run_evaluators_partial_failure(evaluation_run, mock_evalu... function test_write_output (line 637) | def test_write_output(evaluation_run, default_eval_config, eval_input, e... function test_write_output_writes_atif_workflow_output_when_enabled (line 689) | def test_write_output_writes_atif_workflow_output_when_enabled(evaluatio... function test_write_output_handles_none_output (line 725) | def test_write_output_handles_none_output(evaluation_run, eval_input): function test_write_configuration_with_path_config (line 748) | def test_write_configuration_with_path_config(evaluation_run, default_ev... function test_write_configuration_with_basemodel_config (line 797) | def test_write_configuration_with_basemodel_config(evaluation_run, defau... function test_write_configuration_handles_missing_effective_config (line 829) | def test_write_configuration_handles_missing_effective_config(evaluation... function test_run_and_evaluate (line 861) | async def test_run_and_evaluate(evaluation_run, default_eval_config, ses... function test_append_job_id_to_output_dir (line 943) | def test_append_job_id_to_output_dir(default_eval_config): function job_output_dir (line 985) | def job_output_dir(tmp_path: Path) -> Path: function create_job_dirs (line 992) | def create_job_dirs(base_dir: Path, count: int) -> list[Path]: function test_output_directory_cleanup (line 1018) | def test_output_directory_cleanup(max_jobs, eviction_policy, modify_jobs... FILE: packages/nvidia_nat_eval/tests/eval/test_evaluate_callbacks.py class TestEvaluationRunCallbacks (line 23) | class TestEvaluationRunCallbacks: method test_callback_manager_accepted_by_init (line 25) | def test_callback_manager_accepted_by_init(self): method test_callback_manager_defaults_to_empty (line 32) | def test_callback_manager_defaults_to_empty(self): FILE: packages/nvidia_nat_eval/tests/eval/test_file_eval_callback.py function fixture_eval_result_item (line 34) | def fixture_eval_result_item(): function fixture_eval_output (line 47) | def fixture_eval_output(): function fixture_run_config (line 53) | def fixture_run_config(): function fixture_effective_config (line 59) | def fixture_effective_config(): function fixture_eval_result (line 67) | def fixture_eval_result(eval_result_item, eval_output, run_config, effec... function test_file_eval_callback_writes_workflow_output (line 80) | def test_file_eval_callback_writes_workflow_output(eval_result, tmp_path): function test_file_eval_callback_writes_atif_workflow_output (line 91) | def test_file_eval_callback_writes_atif_workflow_output(eval_result, tmp... function test_file_eval_callback_writes_evaluator_outputs (line 104) | def test_file_eval_callback_writes_evaluator_outputs(eval_result, tmp_pa... function test_file_eval_callback_writes_config_from_path (line 119) | def test_file_eval_callback_writes_config_from_path(eval_result, tmp_path): function test_file_eval_callback_writes_config_from_basemodel (line 146) | def test_file_eval_callback_writes_config_from_basemodel(eval_result, tm... function test_file_eval_callback_handles_missing_effective_config (line 163) | def test_file_eval_callback_handles_missing_effective_config(eval_result... function test_file_eval_callback_skips_when_no_output_dir (line 182) | def test_file_eval_callback_skips_when_no_output_dir(eval_result_item, e... function test_file_eval_callback_skips_workflow_output_when_none (line 200) | def test_file_eval_callback_skips_workflow_output_when_none(eval_result,... function test_file_eval_callback_handles_none_output_config (line 211) | def test_file_eval_callback_handles_none_output_config(eval_result_item,... function test_on_dataset_loaded_is_noop (line 231) | def test_on_dataset_loaded_is_noop(): FILE: packages/nvidia_nat_eval/tests/eval/test_intermediate_step_adapter.py function llm_name (line 28) | def llm_name(): function tool_name (line 33) | def tool_name(): function mock_intermediate_steps (line 38) | def mock_intermediate_steps(llm_name, tool_name): function intermediate_step_adapter (line 73) | def intermediate_step_adapter(): function filter_events (line 78) | def filter_events(intermediate_step_adapter): function test_filter_intermediate_steps (line 82) | def test_filter_intermediate_steps(intermediate_step_adapter, mock_inter... function test_get_agent_actions (line 93) | def test_get_agent_actions(intermediate_step_adapter, mock_intermediate_... FILE: packages/nvidia_nat_eval/tests/eval/test_llm_retry.py function test_evaluator_llm_retries_default_error_message (line 33) | async def test_evaluator_llm_retries_default_error_message(error_msg: str): function test_evaluator_llm_retries_custom_error_message (line 58) | async def test_evaluator_llm_retries_custom_error_message(): function test_evaluator_llm_custom_config_removes_defaults (line 84) | async def test_evaluator_llm_custom_config_removes_defaults(): FILE: packages/nvidia_nat_eval/tests/eval/test_llm_validator.py class TestLLMEndpointValidation (line 31) | class TestLLMEndpointValidation: method config_with_openai_llm (line 35) | def config_with_openai_llm(self): method config_with_nim_llm (line 42) | def config_with_nim_llm(self): method config_with_bedrock_llm (line 51) | def config_with_bedrock_llm(self): method config_with_multiple_llms (line 58) | def config_with_multiple_llms(self): method config_without_llms (line 68) | def config_without_llms(self): method test_validation_with_no_llms_configured (line 74) | async def test_validation_with_no_llms_configured(self, config_without... method test_validation_rejects_invalid_config_structure (line 79) | async def test_validation_rejects_invalid_config_structure(self): method test_validation_rejects_non_dict_llms (line 88) | async def test_validation_rejects_non_dict_llms(self): method test_validation_succeeds_with_accessible_endpoint (line 97) | async def test_validation_succeeds_with_accessible_endpoint(self, mock... method test_validation_detects_404_error (line 120) | async def test_validation_detects_404_error(self, mock_builder_class, ... method test_validation_handles_auth_errors_gracefully (line 149) | async def test_validation_handles_auth_errors_gracefully(self, mock_bu... method test_validation_works_for_nim_llm (line 168) | async def test_validation_works_for_nim_llm(self, mock_builder_class, ... method test_validation_works_for_bedrock_llm (line 188) | async def test_validation_works_for_bedrock_llm(self, mock_builder_cla... method test_validation_with_multiple_llms (line 208) | async def test_validation_with_multiple_llms(self, mock_builder_class,... method test_validation_collects_all_404_errors (line 229) | async def test_validation_collects_all_404_errors(self, mock_builder_c... class TestTimeoutAndParallelValidation (line 262) | class TestTimeoutAndParallelValidation: method test_validation_times_out_gracefully (line 266) | async def test_validation_times_out_gracefully(self, mock_builder_clas... method test_parallel_validation_of_multiple_llms (line 296) | async def test_parallel_validation_of_multiple_llms(self, mock_builder... class Test404ErrorDetection (line 322) | class Test404ErrorDetection: method test_detects_notfounderror_type (line 325) | def test_detects_notfounderror_type(self): method test_detects_404_in_http_message (line 334) | def test_detects_404_in_http_message(self): method test_detects_model_not_found (line 342) | def test_detects_model_not_found(self): method test_does_not_detect_other_errors (line 350) | def test_does_not_detect_other_errors(self): method test_does_not_false_positive_on_generic_not_found (line 360) | def test_does_not_false_positive_on_generic_not_found(self): class TestLLMValidationErrorMessages (line 369) | class TestLLMValidationErrorMessages: method test_error_message_includes_endpoint_details (line 373) | async def test_error_message_includes_endpoint_details(self, mock_buil... method test_404_error_message_mentions_training_cancellation (line 410) | async def test_404_error_message_mentions_training_cancellation(self, ... class TestLLMValidationIntegration (line 446) | class TestLLMValidationIntegration: method config_for_finetuned_model (line 450) | def config_for_finetuned_model(self): method test_validation_scenario_after_canceled_training (line 461) | async def test_validation_scenario_after_canceled_training(self, mock_... FILE: packages/nvidia_nat_eval/tests/eval/test_remote_evaluate.py function rag_streamed_intermediate_payloads (line 32) | def rag_streamed_intermediate_payloads(rag_intermediate_steps) -> list[s... function stream_response_app (line 52) | def stream_response_app(rag_eval_input, rag_streamed_intermediate_payloa... function test_run_workflow_remote_single_success (line 80) | async def test_run_workflow_remote_single_success(stream_response_app, r... function test_run_workflow_remote_single_with_invalid_intermediate_data (line 119) | async def test_run_workflow_remote_single_with_invalid_intermediate_data... function test_run_workflow_remote_single_with_connection_error (line 175) | async def test_run_workflow_remote_single_with_connection_error(rag_eval... function test_retry_on_transient_errors (line 206) | async def test_retry_on_transient_errors(rag_eval_input, status_code): function test_retry_respects_max_retries (line 253) | async def test_retry_respects_max_retries(rag_eval_input): function test_no_retry_on_non_retriable_errors (line 291) | async def test_no_retry_on_non_retriable_errors(rag_eval_input, status_c... function test_retry_disabled (line 329) | async def test_retry_disabled(rag_eval_input): function test_custom_retry_status_codes (line 368) | async def test_custom_retry_status_codes(rag_eval_input): function test_max_retries_lower_bound_validation (line 407) | async def test_max_retries_lower_bound_validation(invalid_value: int) ->... FILE: packages/nvidia_nat_eval/tests/eval/test_workflow_eval_builder.py function test_log_evaluator_build_failure_helper_method (line 19) | def test_log_evaluator_build_failure_helper_method(caplog): function test_log_evaluator_build_failure_no_completed (line 43) | def test_log_evaluator_build_failure_no_completed(caplog): function test_log_evaluator_build_failure_no_remaining (line 65) | def test_log_evaluator_build_failure_no_remaining(caplog): FILE: packages/nvidia_nat_eval/tests/eval/utils/test_output_uploader.py function s3_config (line 29) | def s3_config(): function output_config (line 37) | def output_config(tmp_path, s3_config): function test_upload_directory_success (line 43) | async def test_upload_directory_success(output_config): function test_upload_directory_missing_config (line 60) | async def test_upload_directory_missing_config(tmp_path): function test_upload_directory_upload_failure (line 73) | async def test_upload_directory_upload_failure(output_config): function test_upload_directory_missing_aioboto3_has_install_hint (line 88) | async def test_upload_directory_missing_aioboto3_has_install_hint(monkey... function test_run_custom_scripts_success (line 104) | def test_run_custom_scripts_success(tmp_path): function test_run_custom_scripts_missing_script (line 129) | def test_run_custom_scripts_missing_script(tmp_path): function test_run_custom_scripts_subprocess_fails (line 145) | def test_run_custom_scripts_subprocess_fails(tmp_path): FILE: packages/nvidia_nat_eval/tests/eval/utils/test_tqdm_position_registry_extra.py function test_claim_and_release_positions (line 21) | def test_claim_and_release_positions(): function test_exhaust_positions_then_error (line 30) | def test_exhaust_positions_then_error(monkeypatch): FILE: packages/nvidia_nat_eval/tests/fastapi/test_evaluate_endpoints.py function set_nat_config_file_fixture (line 41) | def set_nat_config_file_fixture(simple_config_file: str, restore_environ): function test_config_fixture (line 47) | def test_config_fixture(dask_scheduler_address: str, function patch_evaluation_run (line 63) | async def patch_evaluation_run(register_test_workflow): function test_client_fixture (line 101) | async def test_client_fixture(test_config: Config) -> TestClient: function create_job (line 117) | def create_job(test_client: TestClient, config_file: str, job_id: str | ... function test_evaluate_propagates_headers (line 126) | def test_evaluate_propagates_headers(dask_client: "DaskClient", function test_create_job (line 180) | def test_create_job(dask_client: "DaskClient", test_client: TestClient, ... function test_get_job_status (line 190) | def test_get_job_status(dask_client: "DaskClient", test_client: TestClie... function test_get_job_status_not_found (line 203) | def test_get_job_status_not_found(test_client: TestClient): function test_get_last_job (line 210) | def test_get_last_job(dask_client: "DaskClient", test_client: TestClient... function test_get_last_job_not_found (line 223) | def test_get_last_job_not_found(test_client: TestClient): function test_get_all_jobs (line 231) | def test_get_all_jobs(dask_client: "DaskClient", test_client: TestClient... function test_get_jobs_by_status (line 249) | def test_get_jobs_by_status(dask_client: "DaskClient", function test_create_job_with_reps (line 268) | def test_create_job_with_reps(dask_client: "DaskClient", test_client: Te... function test_create_job_with_expiry (line 278) | def test_create_job_with_expiry(dask_client: "DaskClient", test_client: ... function test_create_job_with_job_id (line 293) | def test_create_job_with_job_id(dask_client: "DaskClient", test_client: ... function test_invalid_job_id (line 306) | def test_invalid_job_id(test_client: TestClient, eval_config_file: str, ... function test_invalid_config_file_doesnt_exist (line 314) | def test_invalid_config_file_doesnt_exist(test_client: TestClient): function test_config_file_outside_curdir (line 321) | def test_config_file_outside_curdir(dask_client: "DaskClient", function evaluate_item_client_fixture (line 344) | async def evaluate_item_client_fixture(restore_environ) -> TestClient: function test_evaluate_item_success (line 384) | def test_evaluate_item_success(evaluate_item_client: TestClient): function test_evaluate_item_not_found (line 409) | def test_evaluate_item_not_found(evaluate_item_client: TestClient): function evaluate_item_client_with_error_fixture (line 430) | async def evaluate_item_client_with_error_fixture(restore_environ) -> Te... function test_evaluate_item_evaluation_error (line 461) | def test_evaluate_item_evaluation_error(evaluate_item_client_with_error:... function test_evaluate_item_invalid_payload (line 485) | def test_evaluate_item_invalid_payload(evaluate_item_client: TestClient): FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/cli/commands.py function fastmcp_command (line 34) | def fastmcp_command(): function fastmcp_server_command (line 40) | def fastmcp_server_command(): function _run_fastmcp_cli (line 45) | def _run_fastmcp_cli(subcommand: list[str], extra_args: list[str]) -> None: function _resolve_nat_cli_command (line 63) | def _resolve_nat_cli_command() -> list[str]: function _stop_process (line 70) | def _stop_process(proc: subprocess.Popen) -> None: function fastmcp_server_dev (line 139) | def fastmcp_server_dev( function fastmcp_server_install (line 195) | def fastmcp_server_install(ctx: click.Context) -> None: function _mcp_server_entry (line 201) | def _mcp_server_entry(name: str, url: str) -> dict[str, object]: function _emit_mcp_json (line 210) | def _emit_mcp_json(name: str, url: str, wrap_servers: bool) -> None: function fastmcp_server_install_cursor (line 219) | def fastmcp_server_install_cursor(name: str, url: str) -> None: function fastmcp_server_install_nat_workflow (line 259) | def fastmcp_server_install_nat_workflow( FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/cli/utils.py function _glob_matches (line 37) | def _glob_matches(path: str, pattern: str) -> bool: function _filter_change_set (line 48) | def _filter_change_set( function iter_file_changes (line 64) | def iter_file_changes( FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/server/front_end_config.py class FastMCPFrontEndConfig (line 29) | class FastMCPFrontEndConfig(FrontEndBaseConfig, name="fastmcp"): method validate_base_path (line 61) | def validate_base_path(cls, v: str | None) -> str | None: FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/server/front_end_plugin.py class FastMCPFrontEndPlugin (line 31) | class FastMCPFrontEndPlugin(FrontEndBase[FastMCPFrontEndConfig]): method get_worker_class (line 34) | def get_worker_class(self) -> type[FastMCPFrontEndPluginWorkerBase]: method get_worker_class_name (line 41) | def get_worker_class_name(self) -> str: method _get_worker_instance (line 49) | def _get_worker_instance(self): method run (line 62) | async def run(self) -> None: method _run_with_mount (line 113) | async def _run_with_mount(self, mcp: "FastMCP", worker: FastMCPFrontEn... FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/server/front_end_plugin_worker.py class FastMCPFrontEndPluginWorkerBase (line 44) | class FastMCPFrontEndPluginWorkerBase(ABC): method __init__ (line 47) | def __init__(self, config: Config): method _setup_health_endpoint (line 56) | def _setup_health_endpoint(self, mcp: FastMCP): method create_mcp_server (line 90) | async def create_mcp_server(self) -> FastMCP: method add_routes (line 99) | async def add_routes(self, mcp: FastMCP, builder: WorkflowBuilder): method _default_add_routes (line 108) | async def _default_add_routes(self, mcp: FastMCP, builder: WorkflowBui... method _get_all_functions (line 159) | async def _get_all_functions(self, workflow: Workflow) -> dict[str, Fu... method add_root_level_routes (line 182) | async def add_root_level_routes(self, wrapper_app: "FastAPI", mcp: Fas... method _setup_debug_endpoints (line 196) | def _setup_debug_endpoints(self, mcp: FastMCP, functions: Mapping[str,... class FastMCPFrontEndPluginWorker (line 288) | class FastMCPFrontEndPluginWorker(FastMCPFrontEndPluginWorkerBase): method create_mcp_server (line 291) | async def create_mcp_server(self) -> FastMCP: method add_routes (line 329) | async def add_routes(self, mcp: FastMCP, builder: WorkflowBuilder): FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/server/register_frontend.py function register_fastmcp_front_end (line 25) | async def register_fastmcp_front_end(config: FastMCPFrontEndConfig, full... FILE: packages/nvidia_nat_fastmcp/src/nat/plugins/fastmcp/server/tool_converter.py function _safe_json_schema (line 38) | def _safe_json_schema(schema: Any) -> dict[str, Any]: function _get_field_default (line 47) | def _get_field_default(field_info: FieldInfo) -> Any: function _build_signature_from_schema (line 56) | def _build_signature_from_schema(schema: Any) -> Signature: function _build_input_schema (line 77) | def _build_input_schema(schema: Any) -> Any: function _build_annotations_from_schema (line 91) | def _build_annotations_from_schema(schema: Any) -> dict[str, Any]: function _is_chat_request_schema (line 104) | def _is_chat_request_schema(schema: Any) -> bool: function create_function_wrapper (line 111) | def create_function_wrapper( function get_function_description (line 152) | def get_function_description(function: FunctionBase | None) -> str | None: function register_function_with_mcp (line 178) | def register_function_with_mcp(mcp: FastMCP, function format_schema_for_display (line 213) | def format_schema_for_display(schema: Any) -> str: FILE: packages/nvidia_nat_fastmcp/tests/test_fastmcp.py class _MockTestSchema (line 40) | class _MockTestSchema(BaseModel): class _ChatRequestSchema (line 45) | class _ChatRequestSchema(BaseModel): class _RegularFunction (line 50) | class _RegularFunction(FunctionBase[str, str, str]): method __init__ (line 53) | def __init__(self): method _ainvoke (line 56) | async def _ainvoke(self, value: str) -> str: method _astream (line 59) | async def _astream(self, value: str): class _ChatRequestFunction (line 63) | class _ChatRequestFunction(FunctionBase[str, str, str]): method __init__ (line 66) | def __init__(self): method _ainvoke (line 69) | async def _ainvoke(self, value: str) -> str: method _astream (line 72) | async def _astream(self, value: str): class _NoSchemaFunction (line 76) | class _NoSchemaFunction(FunctionBase[str, str, str]): method __init__ (line 79) | def __init__(self): method _ainvoke (line 82) | async def _ainvoke(self, value: str) -> str: method _astream (line 85) | async def _astream(self, value: str): function test_fastmcp_cli_groups (line 89) | def test_fastmcp_cli_groups() -> None: function test_filter_change_set_excludes_noisy_files_by_glob (line 105) | def test_filter_change_set_excludes_noisy_files_by_glob() -> None: function test_iter_file_changes_applies_include_and_exclude_globs (line 118) | def test_iter_file_changes_applies_include_and_exclude_globs(monkeypatch... function test_iter_file_changes_include_glob_can_match_default_excluded_patterns (line 138) | def test_iter_file_changes_include_glob_can_match_default_excluded_patte... function test_fastmcp_auth_disabled (line 154) | async def test_fastmcp_auth_disabled(): function test_fastmcp_auth_introspection_exposes_metadata (line 163) | async def test_fastmcp_auth_introspection_exposes_metadata(): function test_fastmcp_debug_route_lists_tools (line 184) | def test_fastmcp_debug_route_lists_tools(): function test_fastmcp_debug_route_detail_schema (line 204) | def test_fastmcp_debug_route_detail_schema(): function test_fastmcp_health_endpoint (line 232) | def test_fastmcp_health_endpoint(): FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/auto_memory_wrapper/agent.py class AutoMemoryWrapperGraph (line 40) | class AutoMemoryWrapperGraph: method __init__ (line 50) | def __init__( method _get_user_id_from_context (line 70) | def _get_user_id_from_context(self) -> str: method get_wrapper_node_count (line 104) | def get_wrapper_node_count(self) -> int: method _langchain_message_to_nat_message (line 124) | def _langchain_message_to_nat_message(lc_message: BaseMessage) -> Mess... method capture_user_message_node (line 143) | async def capture_user_message_node(self, state: AutoMemoryWrapperStat... method memory_retrieve_node (line 162) | async def memory_retrieve_node(self, state: AutoMemoryWrapperState) ->... method inner_agent_node (line 192) | async def inner_agent_node(self, state: AutoMemoryWrapperState) -> Aut... method capture_ai_response_node (line 228) | async def capture_ai_response_node(self, state: AutoMemoryWrapperState... method build_graph (line 247) | def build_graph(self) -> CompiledStateGraph: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/auto_memory_wrapper/register.py class AutoMemoryAgentConfig (line 33) | class AutoMemoryAgentConfig(AgentBaseConfig, name="auto_memory_agent"): function auto_memory_agent (line 117) | async def auto_memory_agent(config: AutoMemoryAgentConfig, builder: Buil... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/auto_memory_wrapper/state.py class AutoMemoryWrapperState (line 21) | class AutoMemoryWrapperState(BaseModel): FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/base.py function _chunk_to_message (line 41) | def _chunk_to_message(chunk: AIMessageChunk) -> AIMessage: class AgentDecision (line 90) | class AgentDecision(Enum): class BaseAgent (line 95) | class BaseAgent(ABC): method __init__ (line 97) | def __init__(self, method _stream_llm (line 113) | async def _stream_llm(self, runnable: Any, inputs: dict[str, Any]) -> ... method _call_llm (line 148) | async def _call_llm(self, llm: Runnable, inputs: dict[str, Any]) -> AI... method _call_tool (line 167) | async def _call_tool(self, tool: BaseTool, tool_input: dict[str, Any] ... method _log_tool_response (line 228) | def _log_tool_response(self, tool_name: str, tool_input: Any, tool_res... method _parse_json (line 252) | def _parse_json(self, json_string: str) -> dict[str, Any]: method _get_chat_history (line 276) | def _get_chat_history(self, messages: list[BaseMessage]) -> str: method _build_graph (line 293) | async def _build_graph(self, state_schema: type) -> CompiledStateGraph: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/dual_node.py class DualNodeAgent (line 32) | class DualNodeAgent(BaseAgent): method __init__ (line 34) | def __init__(self, method agent_node (line 47) | async def agent_node(self, state: BaseModel) -> BaseModel: method tool_node (line 51) | async def tool_node(self, state: BaseModel) -> BaseModel: method conditional_edge (line 55) | async def conditional_edge(self, state: BaseModel) -> str: method _build_graph (line 58) | async def _build_graph(self, state_schema: type) -> CompiledStateGraph: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/prompt_optimizer/register.py class PromptOptimizerConfig (line 27) | class PromptOptimizerConfig(FunctionBaseConfig, name="prompt_init"): function prompt_optimizer_function (line 43) | async def prompt_optimizer_function(config: PromptOptimizerConfig, build... class PromptRecombinerConfig (line 100) | class PromptRecombinerConfig(FunctionBaseConfig, name="prompt_recombiner"): function prompt_recombiner_function (line 113) | async def prompt_recombiner_function(config: PromptRecombinerConfig, bui... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/react_agent/agent.py class ReActGraphState (line 59) | class ReActGraphState(BaseModel): class ReActAgentGraph (line 67) | class ReActAgentGraph(DualNodeAgent): method __init__ (line 72) | def __init__(self, method _maybe_bind_llm_and_yield (line 120) | def _maybe_bind_llm_and_yield(self, method _get_tool (line 151) | def _get_tool(self, tool_name: str): method _parse_tool_input (line 158) | def _parse_tool_input(self, tool_input_str: str) -> tuple[typing.Any, ... method agent_node (line 198) | async def agent_node(self, state: ReActGraphState): method conditional_edge (line 373) | async def conditional_edge(self, state: ReActGraphState): method tool_node (line 392) | async def tool_node(self, state: ReActGraphState): method build_graph (line 444) | async def build_graph(self): method validate_system_prompt (line 454) | def validate_system_prompt(system_prompt: str) -> bool: function create_react_agent_prompt (line 472) | def create_react_agent_prompt(config: "ReActAgentWorkflowConfig") -> Cha... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/react_agent/output_parser.py class ReActAgentParsingFailedError (line 33) | class ReActAgentParsingFailedError(RuntimeError): method __init__ (line 46) | def __init__(self, observation: str, llm_output: str, attempts: int): class ReActOutputParserException (line 55) | class ReActOutputParserException(ValueError, LangChainException): method __init__ (line 57) | def __init__(self, method __repr__ (line 73) | def __repr__(self) -> str: method __str__ (line 78) | def __str__(self) -> str: class ReActOutputParser (line 84) | class ReActOutputParser(AgentOutputParser): method get_format_instructions (line 111) | def get_format_instructions(self) -> str: method parse (line 114) | def parse(self, text: str) -> AgentAction | AgentFinish: method _type (line 158) | def _type(self) -> str: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/react_agent/register.py class ReActAgentWorkflowConfig (line 40) | class ReActAgentWorkflowConfig(AgentBaseConfig, OptimizableMixin, name="... function react_agent_workflow (line 94) | async def react_agent_workflow(config: ReActAgentWorkflowConfig, builder... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/react_agent/register_per_user_agent.py class PerUserReActAgentWorkflowConfig (line 30) | class PerUserReActAgentWorkflowConfig(ReActAgentWorkflowConfig, name="pe... function per_user_react_agent_workflow (line 42) | async def per_user_react_agent_workflow(config: PerUserReActAgentWorkflo... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/reasoning_agent/reasoning_agent.py class ReasoningFunctionConfig (line 33) | class ReasoningFunctionConfig(AgentBaseConfig, name="reasoning_agent"): function build_reasoning_function (line 71) | async def build_reasoning_function(config: ReasoningFunctionConfig, buil... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/responses_api_agent/register.py class ResponsesAPIAgentWorkflowConfig (line 34) | class ResponsesAPIAgentWorkflowConfig(FunctionBaseConfig, name="response... function responses_api_agent_workflow (line 61) | async def responses_api_agent_workflow(config: ResponsesAPIAgentWorkflow... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/rewoo_agent/agent.py class ReWOOEvidence (line 47) | class ReWOOEvidence(BaseModel): class ReWOOPlanStep (line 53) | class ReWOOPlanStep(BaseModel): class ReWOOGraphState (line 58) | class ReWOOGraphState(BaseModel): class ReWOOAgentGraph (line 75) | class ReWOOAgentGraph(BaseAgent): method __init__ (line 82) | def __init__(self, method _get_tool (line 120) | def _get_tool(self, tool_name: str): method _get_current_level_status (line 128) | def _get_current_level_status(state: ReWOOGraphState) -> tuple[int, bo... method _parse_planner_output (line 154) | def _parse_planner_output(planner_output: str) -> list[ReWOOPlanStep]: method _parse_planner_dependencies (line 162) | def _parse_planner_dependencies(steps: list[ReWOOPlanStep]) -> tuple[d... method _replace_placeholder (line 211) | def _replace_placeholder(placeholder: str, tool_input: str | dict, too... method _parse_tool_input (line 232) | def _parse_tool_input(tool_input: str | dict): method planner_node (line 262) | async def planner_node(self, state: ReWOOGraphState): method executor_node (line 300) | async def executor_node(self, state: ReWOOGraphState): method _execute_single_tool (line 382) | async def _execute_single_tool(self, method solver_node (line 438) | async def solver_node(self, state: ReWOOGraphState): method conditional_edge (line 494) | async def conditional_edge(self, state: ReWOOGraphState): method _build_graph (line 523) | async def _build_graph(self, state_schema: type) -> CompiledStateGraph: method build_graph (line 550) | async def build_graph(self): method validate_planner_prompt (line 560) | def validate_planner_prompt(planner_prompt: str) -> bool: method validate_solver_prompt (line 578) | def validate_solver_prompt(solver_prompt: str) -> bool: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/rewoo_agent/register.py class ReWOOAgentWorkflowConfig (line 38) | class ReWOOAgentWorkflowConfig(AgentBaseConfig, name="rewoo_agent"): function rewoo_agent_workflow (line 72) | async def rewoo_agent_workflow(config: ReWOOAgentWorkflowConfig, builder... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/tool_calling_agent/agent.py class ToolCallAgentGraphState (line 48) | class ToolCallAgentGraphState(BaseModel): class ToolCallAgentGraph (line 53) | class ToolCallAgentGraph(DualNodeAgent): method __init__ (line 58) | def __init__( method _invoke_llm (line 111) | async def _invoke_llm(self, state: ToolCallAgentGraphState): method agent_node (line 135) | async def agent_node(self, state: ToolCallAgentGraphState): method _get_token_usage (line 158) | def _get_token_usage(self, response: AIMessage) -> UsageMetadata: method _validate_llm_response (line 182) | async def _validate_llm_response(self, response: AIMessage, state: Too... method _retry_on_truncation (line 243) | async def _retry_on_truncation(self, first_response: AIMessage, state:... method _retry_on_empty_response (line 306) | async def _retry_on_empty_response(self, state: ToolCallAgentGraphStat... method conditional_edge (line 344) | async def conditional_edge(self, state: ToolCallAgentGraphState): method tool_node (line 360) | async def tool_node(self, state: ToolCallAgentGraphState): method tool_conditional_edge (line 383) | async def tool_conditional_edge(self, state: ToolCallAgentGraphState) ... method _build_graph (line 416) | async def _build_graph(self, state_schema: type) -> CompiledStateGraph: method build_graph (line 443) | async def build_graph(self) -> CompiledStateGraph: function create_tool_calling_agent_prompt (line 453) | def create_tool_calling_agent_prompt(config: "ToolCallAgentWorkflowConfi... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/agent/tool_calling_agent/register.py class TruncationRetryConfig (line 46) | class TruncationRetryConfig(BaseModel): method _check_scaling_strategy (line 61) | def _check_scaling_strategy(self) -> "TruncationRetryConfig": method build_scaling_fn (line 68) | def build_scaling_fn(self) -> Callable[[int], int]: class ToolCallAgentWorkflowConfig (line 77) | class ToolCallAgentWorkflowConfig(AgentBaseConfig, name="tool_calling_ag... function tool_calling_agent_workflow (line 103) | async def tool_calling_agent_workflow(config: ToolCallAgentWorkflowConfi... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/callback_handler.py function _extract_tools_schema (line 49) | def _extract_tools_schema(invocation_params: dict) -> list: class LangchainProfilerHandler (line 83) | class LangchainProfilerHandler(AsyncCallbackHandler, BaseProfilerCallback): method __init__ (line 93) | def __init__(self) -> None: method __repr__ (line 106) | def __repr__(self) -> str: method __getstate__ (line 112) | def __getstate__(self): method __setstate__ (line 124) | def __setstate__(self, state): method always_verbose (line 138) | def always_verbose(self) -> bool: method _extract_token_base_model (line 142) | def _extract_token_base_model(self, usage_metadata: dict[str, Any]) ->... method on_llm_start (line 159) | async def on_llm_start(self, serialized: dict[str, Any], prompts: list... method on_chat_model_start (line 187) | async def on_chat_model_start( method on_llm_new_token (line 226) | async def on_llm_new_token(self, token: str, **kwargs: Any) -> None: method on_llm_end (line 253) | async def on_llm_end(self, response: LLMResult, **kwargs: Any) -> None: method on_tool_start (line 325) | async def on_tool_start( method on_tool_end (line 351) | async def on_tool_end( FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/control_flow/parallel_executor.py class UnknownParallelToolsError (line 36) | class UnknownParallelToolsError(ValueError): method __init__ (line 39) | def __init__(self, tool_names: list[str]): class ParallelExecutorConfig (line 44) | class ParallelExecutorConfig(FunctionBaseConfig, name="parallel_executor"): function _invoke_branch (line 57) | async def _invoke_branch(tool_name: str, function _format_branch_error (line 85) | def _format_branch_error(error: Exception) -> str: function parallel_execution (line 90) | async def parallel_execution(config: ParallelExecutorConfig, builder: Bu... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/control_flow/router_agent/agent.py class RouterAgentGraphState (line 39) | class RouterAgentGraphState(BaseModel): class RouterAgentGraph (line 55) | class RouterAgentGraph(BaseAgent): method __init__ (line 66) | def __init__( method _get_branch (line 103) | def _get_branch(self, branch_name: str) -> BaseTool | None: method agent_node (line 106) | async def agent_node(self, state: RouterAgentGraphState): method branch_node (line 158) | async def branch_node(self, state: RouterAgentGraphState): method _build_graph (line 198) | async def _build_graph(self, state_schema): method build_graph (line 212) | async def build_graph(self): method validate_system_prompt (line 232) | def validate_system_prompt(system_prompt: str) -> bool: method validate_user_prompt (line 259) | def validate_user_prompt(user_prompt: str) -> bool: function create_router_agent_prompt (line 291) | def create_router_agent_prompt(config: "RouterAgentWorkflowConfig") -> C... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/control_flow/router_agent/register.py class RouterAgentWorkflowConfig (line 30) | class RouterAgentWorkflowConfig(AgentBaseConfig, name="router_agent"): function router_agent_workflow (line 45) | async def router_agent_workflow(config: RouterAgentWorkflowConfig, build... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/control_flow/sequential_executor.py class SequentialExecutorExit (line 36) | class SequentialExecutorExit(Exception): method __init__ (line 39) | def __init__(self, message: str): class ToolExecutionConfig (line 44) | class ToolExecutionConfig(BaseModel): class SequentialExecutorConfig (line 50) | class SequentialExecutorConfig(FunctionBaseConfig, name="sequential_exec... function _get_function_output_type (line 74) | def _get_function_output_type(function: Function, tool_execution_config:... function _validate_function_type_compatibility (line 82) | def _validate_function_type_compatibility(src_fn: Function, function _validate_tool_list_type_compatibility (line 98) | async def _validate_tool_list_type_compatibility(sequential_executor_con... function sequential_execution (line 123) | async def sequential_execution(config: SequentialExecutorConfig, builder... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/dataset_loader/langsmith.py function load_langsmith_dataset (line 22) | def load_langsmith_dataset( FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/dataset_loader/register.py class EvalDatasetLangSmithConfig (line 29) | class EvalDatasetLangSmithConfig(EvalDatasetBaseConfig, name="langsmith"): method _require_id_or_name (line 43) | def _require_id_or_name(self) -> Self: method parser (line 48) | def parser(self) -> tuple: function register_langsmith_dataset_loader (line 66) | async def register_langsmith_dataset_loader(config: EvalDatasetLangSmith... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/embedder.py function azure_openai_langchain (line 33) | async def azure_openai_langchain(embedder_config: AzureOpenAIEmbedderMod... function nim_langchain (line 58) | async def nim_langchain(embedder_config: NIMEmbedderModelConfig, builder... function openai_langchain (line 76) | async def openai_langchain(embedder_config: OpenAIEmbedderModelConfig, b... function huggingface_langchain (line 100) | async def huggingface_langchain(embedder_config: HuggingFaceEmbedderConf... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/langsmith_custom_evaluator.py function _import_evaluator (line 33) | def _import_evaluator(dotted_path: str) -> Any: function _detect_convention (line 65) | def _detect_convention(evaluator: Any) -> str: class LangSmithCustomEvaluatorConfig (line 123) | class LangSmithCustomEvaluatorConfig(EvaluatorBaseConfig, LangSmithExtra... function register_langsmith_custom_evaluator (line 139) | async def register_langsmith_custom_evaluator(config: LangSmithCustomEva... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/langsmith_evaluator.py function _get_registry (line 36) | def _get_registry() -> dict[str, Callable[..., Any]]: function _resolve_evaluator (line 56) | def _resolve_evaluator(name: str) -> Callable[..., Any]: class LangSmithExtraFieldsMixin (line 71) | class LangSmithExtraFieldsMixin(BaseModel): class LangSmithEvaluatorConfig (line 82) | class LangSmithEvaluatorConfig(EvaluatorBaseConfig, LangSmithExtraFields... method _validate_evaluator_name (line 95) | def _validate_evaluator_name(self) -> "LangSmithEvaluatorConfig": function register_langsmith_evaluator (line 107) | async def register_langsmith_evaluator(config: LangSmithEvaluatorConfig,... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/langsmith_evaluator_adapter.py class _EvaluatorConvention (line 34) | class _EvaluatorConvention(StrEnum): function _invoke_maybe_sync (line 42) | async def _invoke_maybe_sync(fn: Callable[..., Any], *args: Any, **kwarg... class LangSmithEvaluatorAdapter (line 60) | class LangSmithEvaluatorAdapter(BaseEvaluator): method __init__ (line 76) | def __init__( method evaluate_item (line 96) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: method _call_run_evaluator (line 111) | async def _call_run_evaluator(self, item: EvalInputItem) -> Any: method _call_run_example_function (line 118) | async def _call_run_example_function(self, item: EvalInputItem) -> Any: method _call_openevals_function (line 125) | async def _call_openevals_function(self, item: EvalInputItem) -> Any: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/langsmith_judge.py function _resolve_prompt (line 37) | def _resolve_prompt(prompt_value: str) -> str: class LangSmithJudgeConfig (line 70) | class LangSmithJudgeConfig(EvaluatorBaseConfig, RetryMixin, LangSmithExt... method _validate_scoring (line 145) | def _validate_scoring(self) -> "LangSmithJudgeConfig": function _build_create_kwargs (line 153) | def _build_create_kwargs( function register_langsmith_judge (line 218) | async def register_langsmith_judge(config: LangSmithJudgeConfig, builder... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/trajectory_evaluator.py function _coerce_text (line 46) | def _coerce_text(value) -> str: function _extract_score_from_parser_error (line 53) | def _extract_score_from_parser_error(error_text: str) -> float | None: class TrajectoryEvaluatorConfig (line 68) | class TrajectoryEvaluatorConfig(EvaluatorLLMConfig, name="trajectory"): function _to_agent_actions (line 77) | def _to_agent_actions(intermediate_steps: list[IntermediateStep]) -> lis... function _message_to_text (line 98) | def _message_to_text(message) -> str: function _has_meaningful_value (line 136) | def _has_meaningful_value(value) -> bool: function _dedupe_adjacent_actions (line 149) | def _dedupe_adjacent_actions(agent_actions: list[tuple[AgentAction, str]... function _atif_to_agent_actions (line 170) | def _atif_to_agent_actions(trajectory) -> list[tuple[AgentAction, str]]: function _atif_to_user_input (line 221) | def _atif_to_user_input(trajectory) -> str: class TrajectoryEvaluator (line 231) | class TrajectoryEvaluator(BaseEvaluator): method __init__ (line 233) | def __init__(self, llm: BaseChatModel, tools: list[BaseTool] | None = ... method _evaluate_with_trajectory (line 240) | async def _evaluate_with_trajectory(self, method evaluate_item (line 297) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: method evaluate_atif_item (line 303) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... method evaluate_atif_fn (line 314) | async def evaluate_atif_fn(self, atif_samples: AtifEvalSampleList) -> ... function register_trajectory_evaluator (line 328) | async def register_trajectory_evaluator(config: TrajectoryEvaluatorConfi... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/tunable_rag_evaluator.py class TunableRagEvaluatorConfig (line 49) | class TunableRagEvaluatorConfig(EvaluatorBaseConfig, name="tunable_rag_e... function evaluation_prompt (line 70) | def evaluation_prompt(judge_llm_prompt: str, function runnable_with_retries (line 108) | def runnable_with_retries(original_fn: Callable, llm_retry_control_param... class TunableRagEvaluator (line 134) | class TunableRagEvaluator(BaseEvaluator): method __init__ (line 137) | def __init__(self, method _evaluate_item_core (line 155) | async def _evaluate_item_core(self, item_id, question: str, answer_des... method evaluate_item (line 262) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: method _content_part_to_text (line 269) | def _content_part_to_text(part: ATIFContentPart) -> str: method _message_to_text (line 273) | def _message_to_text(cls, message: str | list[ATIFContentPart] | None)... method _trajectory_to_user_input (line 277) | def _trajectory_to_user_input(cls, trajectory: ATIFTrajectory) -> str: method evaluate_atif_item (line 280) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... method evaluate_atif_fn (line 286) | async def evaluate_atif_fn(self, atif_samples: AtifEvalSampleList) -> ... function register_tunable_rag_evaluator (line 299) | async def register_tunable_rag_evaluator(config: TunableRagEvaluatorConf... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/eval/utils.py function _import_from_dotted_path (line 30) | def _import_from_dotted_path(dotted_path: str, *, label: str = "object")... function eval_input_item_to_openevals_kwargs (line 70) | def eval_input_item_to_openevals_kwargs( function eval_input_item_to_run_and_example (line 113) | def eval_input_item_to_run_and_example(item: EvalInputItem) -> tuple[Any... function _extract_field (line 150) | def _extract_field(data: dict, field_path: str) -> Any: function _handle_custom_schema_result (line 176) | def _handle_custom_schema_result( function _handle_list_result (line 202) | def _handle_list_result(item_id: Any, result: list) -> EvalOutputItem: function _handle_evaluation_result (line 239) | def _handle_evaluation_result(item_id: Any, result: EvaluationResult) ->... function _handle_dict_result (line 251) | def _handle_dict_result(item_id: Any, result: dict) -> EvalOutputItem: function langsmith_result_to_eval_output_item (line 263) | def langsmith_result_to_eval_output_item( FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/langchain_parser.py function parse_to_openai_message (line 35) | def parse_to_openai_message(message: IntermediateStep) -> dict | list[di... function _parse_assistant_message (line 67) | def _parse_assistant_message(message: IntermediateStep) -> dict: function _parse_tool_message (line 132) | def _parse_tool_message(message: IntermediateStep) -> dict: function _parse_input_message (line 156) | def _parse_input_message(message: IntermediateStep) -> dict | list[dict]: function _parse_langchain_message (line 190) | def _parse_langchain_message(msg: BaseMessage) -> dict: function _parse_dict_message (line 233) | def _parse_dict_message(msg_dict: dict) -> dict: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/langgraph_workflow.py class LanggraphWrapperInput (line 55) | class LanggraphWrapperInput(BaseModel): class LanggraphWrapperOutput (line 63) | class LanggraphWrapperOutput(BaseModel): class LanggraphWrapperConfig (line 71) | class LanggraphWrapperConfig(FunctionBaseConfig, name="langgraph_wrapper"): class LanggraphWrapperFunction (line 82) | class LanggraphWrapperFunction(Function[LanggraphWrapperInput, Langgraph... method __init__ (line 85) | def __init__(self, *, config: LanggraphWrapperConfig, description: str... method _ainvoke (line 106) | async def _ainvoke(self, value: LanggraphWrapperInput) -> LanggraphWra... method _astream (line 120) | async def _astream(self, value: LanggraphWrapperInput) -> AsyncGenerat... method _parse_stream_output (line 135) | def _parse_stream_output(output: dict) -> LanggraphWrapperOutput: method convert_to_str (line 146) | def convert_to_str(value: LanggraphWrapperOutput) -> str: method convert_chat_request (line 154) | def convert_chat_request(value: ChatRequest) -> LanggraphWrapperInput: method convert_str (line 160) | def convert_str(value: str) -> LanggraphWrapperInput: method convert_to_chat_response (line 165) | def convert_to_chat_response(value: LanggraphWrapperOutput) -> ChatRes... method convert_to_chat_response_chunk (line 171) | def convert_to_chat_response_chunk(value: LanggraphWrapperOutput) -> C... function register (line 178) | async def register(config: LanggraphWrapperConfig, b: Builder): FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/langsmith/langsmith_evaluation_callback.py function _estimate_indexing_time (line 43) | def _estimate_indexing_time(expected_count: int) -> float: function _humanize_dataset_name (line 48) | def _humanize_dataset_name(name: str) -> str: function _span_id_to_langsmith_run_id (line 53) | def _span_id_to_langsmith_run_id(span_id: int) -> str: function _eager_link_run_to_item (line 63) | def _eager_link_run_to_item( function _get_run_input_str (line 100) | def _get_run_input_str(run: Any) -> str: function _link_run_to_item (line 111) | def _link_run_to_item(client: Any, run: Any, item: Any, example_ids: dic... function _normalize_input (line 138) | def _normalize_input(text: str) -> str: function _match_and_link_otel_runs (line 151) | def _match_and_link_otel_runs( function _find_unlinked_items_for_feedback_fallback (line 280) | def _find_unlinked_items_for_feedback_fallback( function _retry_unlinked_references (line 328) | def _retry_unlinked_references( function _create_run_feedback_for_unlinked_items (line 413) | def _create_run_feedback_for_unlinked_items( function _backfill_feedback_for_unlinked_items (line 466) | def _backfill_feedback_for_unlinked_items( class LangSmithEvaluationCallback (line 500) | class LangSmithEvaluationCallback: method __init__ (line 510) | def __init__(self, *, project: str, experiment_prefix: str = "NAT") ->... method get_eval_project_name (line 518) | def get_eval_project_name(self) -> str: method on_dataset_loaded (line 535) | def on_dataset_loaded(self, *, dataset_name: str, items: list) -> None: method _pre_create_experiment_project (line 572) | def _pre_create_experiment_project(self) -> None: method on_eval_complete (line 586) | def on_eval_complete(self, result: EvalResult) -> None: FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/langsmith/langsmith_optimization_callback.py class LangSmithOptimizationCallback (line 40) | class LangSmithOptimizationCallback: method __init__ (line 51) | def __init__(self, *, project: str, experiment_prefix: str = "NAT", da... method set_prompt_param_names (line 65) | def set_prompt_param_names(self, names: list[str]) -> None: method _build_base_name (line 72) | def _build_base_name(self) -> str: method _get_run_number (line 81) | def _get_run_number(self) -> int: method get_trial_project_name (line 99) | def get_trial_project_name(self, trial_number: int) -> str: method _create_dataset_with_examples (line 127) | def _create_dataset_with_examples( method _ensure_dataset (line 155) | def _ensure_dataset(self, eval_result: Any) -> None: method pre_create_experiment (line 160) | def pre_create_experiment(self, dataset_items: list) -> None: method _estimate_retry_budget (line 184) | def _estimate_retry_budget(cls, expected_count: int) -> tuple[int, flo... method _link_otel_runs (line 230) | def _link_otel_runs( method _format_params (line 329) | def _format_params(parameters: dict[str, Any]) -> dict[str, Any]: method _humanize_param_name (line 344) | def _humanize_param_name(param_name: str) -> str: method _get_prompt_repo_name (line 353) | def _get_prompt_repo_name(self, param_name: str) -> str: method _detect_template_format (line 398) | def _detect_template_format(cls, text: str) -> str: method _validate_template_format (line 438) | def _validate_template_format(cls, fmt: str) -> str: method _resolve_template_format (line 448) | def _resolve_template_format( method _push_prompt (line 471) | def _push_prompt(self, result: Any, commit_tags: list[str] | None = No... method on_trial_end (line 547) | def on_trial_end(self, result: TrialResult) -> None: method on_study_end (line 566) | def on_study_end(self, *, best_trial: TrialResult, total_trials: int) ... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/langsmith/register.py function _build_langsmith_eval_callback (line 22) | def _build_langsmith_eval_callback(config, **kwargs): function _build_langsmith_optimizer_callback (line 29) | def _build_langsmith_optimizer_callback(config, *, dataset_name=None, **... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/llm.py function _get_langchain_oci_chat_model (line 58) | def _get_langchain_oci_chat_model(): function _patch_llm_based_on_config (line 64) | def _patch_llm_based_on_config(client: ModelType, llm_config: "LLMBaseCo... function aws_bedrock_langchain (line 134) | async def aws_bedrock_langchain(llm_config: AWSBedrockModelConfig, _buil... function azure_openai_langchain (line 151) | async def azure_openai_langchain(llm_config: AzureOpenAIModelConfig, _bu... function nim_langchain (line 176) | async def nim_langchain(llm_config: NIMModelConfig, _builder: Builder): function openai_langchain (line 220) | async def openai_langchain(llm_config: OpenAIModelConfig, _builder: Buil... function oci_langchain (line 255) | async def oci_langchain(llm_config: OCIModelConfig, _builder: Builder): function dynamo_langchain (line 306) | async def dynamo_langchain(llm_config: DynamoModelConfig, _builder: Buil... function litellm_langchain (line 336) | async def litellm_langchain(llm_config: LiteLlmModelConfig, _builder: Bu... function huggingface_langchain (line 352) | async def huggingface_langchain(llm_config: HuggingFaceConfig, _builder:... function huggingface_inference_langchain (line 414) | async def huggingface_inference_langchain(llm_config: HuggingFaceInferen... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/retriever.py function nemo_langchain (line 24) | async def nemo_langchain(retriever_config: NemoRetrieverConfig, builder:... function milvus_langchain (line 39) | async def milvus_langchain(retriever_config: MilvusRetrieverConfig, buil... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/tool_wrapper.py function langchain_tool_wrapper (line 27) | def langchain_tool_wrapper(name: str, fn: Function, builder: Builder): FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/tools/code_generation_tool.py class CodeGenerationTool (line 28) | class CodeGenerationTool(FunctionBaseConfig, name="code_generation"): function code_generation_tool (line 40) | async def code_generation_tool(config: CodeGenerationTool, builder: Buil... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/tools/exa_internet_search.py class ExaInternetSearchToolConfig (line 35) | class ExaInternetSearchToolConfig(FunctionBaseConfig, name="exa_internet... function exa_internet_search (line 61) | async def exa_internet_search(tool_config: ExaInternetSearchToolConfig, ... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/tools/tavily_internet_search.py class TavilyInternetSearchToolConfig (line 29) | class TavilyInternetSearchToolConfig(FunctionBaseConfig, name="tavily_in... function tavily_internet_search (line 44) | async def tavily_internet_search(tool_config: TavilyInternetSearchToolCo... FILE: packages/nvidia_nat_langchain/src/nat/plugins/langchain/tools/wikipedia_search.py class WikiSearchToolConfig (line 24) | class WikiSearchToolConfig(FunctionBaseConfig, name="wiki_search"): function wiki_search (line 33) | async def wiki_search(tool_config: WikiSearchToolConfig, builder: Builder): FILE: packages/nvidia_nat_langchain/tests/agent/prompt_optimizer/test_prompt_optimizer_register.py class TestPromptOptimizerInputSchema (line 20) | class TestPromptOptimizerInputSchema: method test_oracle_feedback_is_optional (line 23) | def test_oracle_feedback_is_optional(self): method test_oracle_feedback_can_be_set (line 31) | def test_oracle_feedback_can_be_set(self): class TestOracleFeedbackFormatting (line 42) | class TestOracleFeedbackFormatting: method test_feedback_template_formats_correctly (line 45) | def test_feedback_template_formats_correctly(self): method test_empty_feedback_results_in_empty_placeholder (line 56) | def test_empty_feedback_results_in_empty_placeholder(self): FILE: packages/nvidia_nat_langchain/tests/agent/prompt_optimizer/test_prompt_templates.py class TestPromptTemplates (line 20) | class TestPromptTemplates: method test_mutator_prompt_has_feedback_placeholder (line 23) | def test_mutator_prompt_has_feedback_placeholder(self): method test_oracle_feedback_template_has_feedback_placeholder (line 27) | def test_oracle_feedback_template_has_feedback_placeholder(self): method test_oracle_feedback_template_formatting (line 31) | def test_oracle_feedback_template_formatting(self): FILE: packages/nvidia_nat_langchain/tests/agent/test_auto_memory_wrapper.py function fixture_mock_memory_editor (line 39) | def fixture_mock_memory_editor() -> AsyncMock: function fixture_mock_inner_agent (line 48) | def fixture_mock_inner_agent() -> Mock: function fixture_mock_context (line 69) | def fixture_mock_context() -> Mock: function fixture_wrapper_graph (line 78) | def fixture_wrapper_graph(mock_inner_agent, mock_memory_editor, mock_con... class TestAutoMemoryWrapperState (line 88) | class TestAutoMemoryWrapperState: method test_state_initialization_empty (line 91) | def test_state_initialization_empty(self): method test_state_initialization_with_messages (line 97) | def test_state_initialization_with_messages(self): class TestAutoMemoryWrapperGraph (line 105) | class TestAutoMemoryWrapperGraph: method test_initialization (line 108) | def test_initialization(self, mock_inner_agent, mock_memory_editor, mo... method test_get_wrapper_node_count_all_enabled (line 127) | def test_get_wrapper_node_count_all_enabled(self, wrapper_graph): method test_get_wrapper_node_count_minimal (line 132) | def test_get_wrapper_node_count_minimal(self, mock_inner_agent, mock_m... method test_get_user_id_default (line 143) | def test_get_user_id_default(self, wrapper_graph): method test_get_user_id_from_header (line 148) | def test_get_user_id_from_header(self, wrapper_graph, mock_context): method test_get_user_id_from_user_manager (line 157) | def test_get_user_id_from_user_manager(self, wrapper_graph, mock_conte... method test_langchain_message_to_nat_message_human (line 167) | def test_langchain_message_to_nat_message_human(self): method test_langchain_message_to_nat_message_ai (line 174) | def test_langchain_message_to_nat_message_ai(self): method test_langchain_message_to_nat_message_system (line 181) | def test_langchain_message_to_nat_message_system(self): method test_capture_user_message_node (line 188) | async def test_capture_user_message_node(self, wrapper_graph, mock_mem... method test_capture_user_message_node_disabled (line 201) | async def test_capture_user_message_node_disabled(self, mock_inner_age... method test_capture_user_message_node_empty_messages (line 216) | async def test_capture_user_message_node_empty_messages(self, wrapper_... method test_memory_retrieve_node (line 224) | async def test_memory_retrieve_node(self, wrapper_graph, mock_memory_e... method test_memory_retrieve_node_no_results (line 242) | async def test_memory_retrieve_node_no_results(self, wrapper_graph, mo... method test_memory_retrieve_node_disabled (line 254) | async def test_memory_retrieve_node_disabled(self, mock_inner_agent, m... method test_inner_agent_node (line 269) | async def test_inner_agent_node(self, wrapper_graph, mock_inner_agent): method test_inner_agent_node_with_memory_context (line 286) | async def test_inner_agent_node_with_memory_context(self, wrapper_grap... method test_capture_ai_response_node (line 299) | async def test_capture_ai_response_node(self, wrapper_graph, mock_memo... method test_capture_ai_response_node_disabled (line 311) | async def test_capture_ai_response_node_disabled(self, mock_inner_agen... method test_build_graph_all_features (line 326) | def test_build_graph_all_features(self, wrapper_graph): method test_build_graph_minimal_features (line 331) | def test_build_graph_minimal_features(self, mock_inner_agent, mock_mem... method test_search_params_passed_to_memory (line 342) | async def test_search_params_passed_to_memory(self, mock_inner_agent, ... method test_add_params_passed_to_memory (line 361) | async def test_add_params_passed_to_memory(self, mock_inner_agent, moc... FILE: packages/nvidia_nat_langchain/tests/agent/test_base.py class MockBaseAgent (line 32) | class MockBaseAgent(BaseAgent): method __init__ (line 35) | def __init__(self, detailed_logs=True, log_response_max_chars=1000): method _build_graph (line 46) | async def _build_graph(self, state_schema: type) -> CompiledStateGraph: function base_agent (line 52) | def base_agent(): function base_agent_no_logs (line 58) | def base_agent_no_logs(): class TestStreamLLM (line 63) | class TestStreamLLM: method test_successful_streaming (line 66) | async def test_successful_streaming(self, base_agent): method test_streaming_error_propagation (line 82) | async def test_streaming_error_propagation(self, base_agent): method test_streaming_empty_content (line 98) | async def test_streaming_empty_content(self, base_agent): method test_streaming_preserves_tool_calls (line 114) | async def test_streaming_preserves_tool_calls(self, base_agent): method test_streaming_no_chunks_returns_empty (line 140) | async def test_streaming_no_chunks_returns_empty(self, base_agent): class TestCallLLM (line 157) | class TestCallLLM: method test_successful_llm_call (line 160) | async def test_successful_llm_call(self, base_agent): method test_llm_call_error_propagation (line 173) | async def test_llm_call_error_propagation(self, base_agent): method test_llm_call_content_conversion (line 183) | async def test_llm_call_content_conversion(self, base_agent): class TestCallTool (line 198) | class TestCallTool: method test_successful_tool_call (line 201) | async def test_successful_tool_call(self, base_agent): method test_tool_call_with_retries_success_on_second_attempt (line 215) | async def test_tool_call_with_retries_success_on_second_attempt(self, ... method test_tool_call_all_retries_exhausted (line 230) | async def test_tool_call_all_retries_exhausted(self, base_agent): method test_tool_call_none_response (line 248) | async def test_tool_call_none_response(self, base_agent): method test_tool_call_empty_string_response (line 261) | async def test_tool_call_empty_string_response(self, base_agent): method test_tool_call_zero_retries (line 274) | async def test_tool_call_zero_retries(self, base_agent): class TestLogToolResponse (line 289) | class TestLogToolResponse: method test_log_tool_response_with_detailed_logs (line 292) | def test_log_tool_response_with_detailed_logs(self, base_agent, caplog): method test_log_tool_response_without_detailed_logs (line 304) | def test_log_tool_response_without_detailed_logs(self, base_agent_no_l... method test_log_tool_response_with_long_response (line 315) | def test_log_tool_response_with_long_response(self, base_agent, caplog): method test_log_tool_response_with_default_max_chars (line 328) | def test_log_tool_response_with_default_max_chars(self, base_agent, ca... method test_log_tool_response_with_complex_input (line 340) | def test_log_tool_response_with_complex_input(self, base_agent, caplog): method test_log_tool_response_uses_instance_max_chars (line 352) | def test_log_tool_response_uses_instance_max_chars(self, caplog): class TestParseJson (line 382) | class TestParseJson: method test_parse_valid_json (line 385) | def test_parse_valid_json(self, base_agent): method test_parse_empty_json (line 393) | def test_parse_empty_json(self, base_agent): method test_parse_json_array (line 401) | def test_parse_json_array(self, base_agent): method test_parse_invalid_json (line 409) | def test_parse_invalid_json(self, base_agent): method test_parse_malformed_json (line 419) | def test_parse_malformed_json(self, base_agent): method test_parse_json_with_unexpected_error (line 429) | def test_parse_json_with_unexpected_error(self, base_agent): method test_parse_json_with_special_characters (line 440) | def test_parse_json_with_special_characters(self, base_agent): method test_parse_nested_json (line 448) | def test_parse_nested_json(self, base_agent): class TestBaseAgentIntegration (line 457) | class TestBaseAgentIntegration: method test_agent_initialization (line 460) | def test_agent_initialization(self): method test_error_handling_integration (line 471) | async def test_error_handling_integration(self, base_agent): FILE: packages/nvidia_nat_langchain/tests/agent/test_react.py function test_state_schema (line 39) | async def test_state_schema(): function mock_config (line 57) | def mock_config(): function test_react_init (line 61) | def test_react_init(mock_config_react_agent, mock_llm, mock_tool): function fixture_mock_agent (line 73) | def fixture_mock_agent(mock_config_react_agent, mock_llm, mock_tool): function fixture_mock_agent_no_raise (line 81) | def fixture_mock_agent_no_raise(mock_config_react_agent, mock_llm, mock_... function test_build_graph (line 93) | async def test_build_graph(mock_react_agent): function test_agent_node_no_input (line 103) | async def test_agent_node_no_input(mock_react_agent): function test_malformed_agent_output_after_max_retries (line 109) | async def test_malformed_agent_output_after_max_retries(mock_react_agent... function test_agent_node_parse_agent_action (line 118) | async def test_agent_node_parse_agent_action(mock_react_agent): function test_agent_node_parse_json_agent_action (line 128) | async def test_agent_node_parse_json_agent_action(mock_react_agent): function test_agent_node_parse_markdown_json_agent_action (line 142) | async def test_agent_node_parse_markdown_json_agent_action(mock_react_ag... function test_agent_node_action_and_input_in_agent_output (line 156) | async def test_agent_node_action_and_input_in_agent_output(mock_react_ag... function test_agent_node_parse_agent_finish (line 178) | async def test_agent_node_parse_agent_finish(mock_react_agent): function test_agent_node_parse_agent_finish_with_thoughts (line 187) | async def test_agent_node_parse_agent_finish_with_thoughts(mock_react_ag... function test_agent_node_parse_agent_finish_with_markdown_and_code (line 197) | async def test_agent_node_parse_agent_finish_with_markdown_and_code(mock... function test_agent_node_parse_agent_finish_with_action (line 209) | async def test_agent_node_parse_agent_finish_with_action(mock_react_agent): function test_agent_node_parse_agent_finish_with_action_and_input_after_max_retries (line 219) | async def test_agent_node_parse_agent_finish_with_action_and_input_after... function test_agent_node_parse_agent_finish_with_action_and_input_after_retry (line 229) | async def test_agent_node_parse_agent_finish_with_action_and_input_after... function test_conditional_edge_no_input (line 239) | async def test_conditional_edge_no_input(mock_react_agent): function test_conditional_edge_final_answer (line 244) | async def test_conditional_edge_final_answer(mock_react_agent): function test_conditional_edge_tool_call (line 250) | async def test_conditional_edge_tool_call(mock_react_agent): function test_tool_node_no_input (line 256) | async def test_tool_node_no_input(mock_react_agent): function test_tool_node_with_not_configured_tool (line 262) | async def test_tool_node_with_not_configured_tool(mock_react_agent): function test_tool_node (line 274) | async def test_tool_node(mock_react_agent): function mock_graph (line 285) | async def mock_graph(mock_react_agent): function mock_graph_no_raise (line 290) | async def mock_graph_no_raise(mock_react_agent_no_raise): function test_graph_parsing_error (line 294) | async def test_graph_parsing_error(mock_react_graph_no_raise): function test_graph (line 306) | async def test_graph(mock_react_graph): function test_no_input (line 314) | async def test_no_input(mock_react_graph): function test_validate_system_prompt_no_input (line 322) | def test_validate_system_prompt_no_input(): function test_validate_system_prompt_no_tools (line 328) | def test_validate_system_prompt_no_tools(): function test_validate_system_prompt_no_tool_names (line 334) | def test_validate_system_prompt_no_tool_names(): function test_validate_system_prompt (line 340) | def test_validate_system_prompt(): function mock_parser (line 347) | def mock_parser(): function test_output_parser_no_observation (line 351) | async def test_output_parser_no_observation(mock_react_output_parser): function test_output_parser (line 362) | async def test_output_parser(mock_react_output_parser): function test_output_parser_spaces_not_newlines (line 371) | async def test_output_parser_spaces_not_newlines(mock_react_output_parser): function test_output_parser_missing_action (line 380) | async def test_output_parser_missing_action(mock_react_output_parser): function test_output_parser_json_input (line 388) | async def test_output_parser_json_input(mock_react_output_parser): function test_output_parser_json_no_observation (line 402) | async def test_output_parser_json_no_observation(mock_react_output_parser): function test_output_parser_json_input_space_observation (line 414) | async def test_output_parser_json_input_space_observation(mock_react_out... function test_output_parser_missing_action_input (line 428) | async def test_output_parser_missing_action_input(mock_react_output_pars... function test_react_additional_instructions (line 437) | def test_react_additional_instructions(mock_llm, mock_tool): function test_react_custom_system_prompt (line 449) | def test_react_custom_system_prompt(mock_llm, mock_tool): function test_config_alias_retry_parsing_errors (line 463) | def test_config_alias_retry_parsing_errors(): function test_config_alias_max_retries (line 470) | def test_config_alias_max_retries(): function test_final_answer_field_set_on_agent_finish (line 477) | async def test_final_answer_field_set_on_agent_finish(mock_react_agent): function test_conditional_edge_uses_final_answer_field (line 510) | async def test_conditional_edge_uses_final_answer_field(mock_react_agent): function test_multi_turn_chat_scenario (line 530) | async def test_multi_turn_chat_scenario(mock_react_agent): function test_conditional_edge_with_multiple_messages_but_no_final_answer (line 592) | async def test_conditional_edge_with_multiple_messages_but_no_final_answ... function test_config_alias_max_iterations (line 613) | def test_config_alias_max_iterations(): function test_config_alias_all_old_field_names (line 620) | def test_config_alias_all_old_field_names(): function test_config_alias_new_field_names (line 633) | def test_config_alias_new_field_names(): function test_config_alias_both_old_and_new (line 646) | def test_config_alias_both_old_and_new(): function test_config_tool_call_max_retries_no_alias (line 662) | def test_config_tool_call_max_retries_no_alias(): function test_config_alias_default_values (line 669) | def test_config_alias_default_values(): function test_config_alias_json_serialization (line 679) | def test_config_alias_json_serialization(): function test_react_agent_with_alias_config (line 709) | def test_react_agent_with_alias_config(mock_llm, mock_tool): function test_config_mixed_alias_usage (line 733) | def test_config_mixed_alias_usage(): function test_tool_node_json_input_with_double_quotes (line 750) | async def test_tool_node_json_input_with_double_quotes(mock_react_agent): function test_tool_node_json_input_with_single_quotes_normalization_enabled (line 764) | async def test_tool_node_json_input_with_single_quotes_normalization_ena... function test_tool_node_json_input_with_single_quotes_normalization_disabled (line 783) | async def test_tool_node_json_input_with_single_quotes_normalization_dis... function test_tool_node_invalid_json_fallback_to_string (line 812) | async def test_tool_node_invalid_json_fallback_to_string(mock_react_agent): function test_tool_node_string_input_no_json_parsing (line 828) | async def test_tool_node_string_input_no_json_parsing(mock_react_agent): function test_tool_node_none_input (line 842) | async def test_tool_node_none_input(mock_react_agent): function test_tool_node_python_none_literal_uses_structured_fallback (line 855) | async def test_tool_node_python_none_literal_uses_structured_fallback(mo... function test_tool_node_python_none_literal_normalization_disabled_uses_raw_string (line 870) | async def test_tool_node_python_none_literal_normalization_disabled_uses... function test_tool_node_nested_json_with_single_quotes (line 895) | async def test_tool_node_nested_json_with_single_quotes(mock_react_agent): function test_tool_node_mixed_quotes_in_json (line 913) | async def test_tool_node_mixed_quotes_in_json(mock_config_react_agent, m... function test_tool_node_whitespace_handling (line 934) | async def test_tool_node_whitespace_handling(mock_react_agent): function test_config_replace_single_quotes_default (line 950) | def test_config_replace_single_quotes_default(): function test_config_replace_single_quotes_explicit_false (line 956) | def test_config_replace_single_quotes_explicit_false(): function test_react_agent_init_with_quote_normalization_param (line 962) | def test_react_agent_init_with_quote_normalization_param(mock_config_rea... function test_quote_normalization_json_parsing_logic (line 985) | async def test_quote_normalization_json_parsing_logic(mock_config_react_... class TestReActAgentParsingFailedError (line 1037) | class TestReActAgentParsingFailedError: method test_exception_attributes (line 1040) | def test_exception_attributes(self): method test_exception_message_short_output (line 1049) | def test_exception_message_short_output(self): method test_exception_message_long_output_truncated (line 1056) | def test_exception_message_long_output_truncated(self): method test_exception_is_runtime_error (line 1064) | def test_exception_is_runtime_error(self): class TestRaiseOnParsingFailure (line 1070) | class TestRaiseOnParsingFailure: method test_config_default_value (line 1073) | def test_config_default_value(self): method test_config_explicit_true (line 1078) | def test_config_explicit_true(self): method test_config_explicit_false (line 1083) | def test_config_explicit_false(self): function fixture_mock_agent_raise_on_failure (line 1090) | def fixture_mock_agent_raise_on_failure(mock_config_react_agent, mock_ll... function test_agent_raises_exception_on_parsing_failure (line 1102) | async def test_agent_raises_exception_on_parsing_failure(mock_react_agen... function test_agent_returns_error_message_when_not_raising (line 1113) | async def test_agent_returns_error_message_when_not_raising(mock_config_... function test_agent_exception_contains_llm_output (line 1134) | async def test_agent_exception_contains_llm_output(mock_react_agent_rais... function test_graph_raises_exception_when_configured (line 1144) | async def test_graph_raises_exception_when_configured(mock_config_react_... function test_agent_init_with_raise_on_parsing_failure_param (line 1159) | def test_agent_init_with_raise_on_parsing_failure_param(mock_config_reac... function test_exception_chaining_preserves_original_error (line 1185) | async def test_exception_chaining_preserves_original_error(mock_react_ag... function test_output_parser_case_insensitive_action (line 1200) | async def test_output_parser_case_insensitive_action(mock_react_output_p... function test_output_parser_case_insensitive_action_input (line 1209) | async def test_output_parser_case_insensitive_action_input(mock_react_ou... function test_output_parser_all_lowercase (line 1218) | async def test_output_parser_all_lowercase(mock_react_output_parser): function test_output_parser_input_only_instead_of_action_input (line 1227) | async def test_output_parser_input_only_instead_of_action_input(mock_rea... function test_output_parser_input_lowercase (line 1236) | async def test_output_parser_input_lowercase(mock_react_output_parser): function test_output_parser_case_insensitive_final_answer (line 1245) | async def test_output_parser_case_insensitive_final_answer(mock_react_ou... function test_output_parser_mixed_case_final_answer (line 1253) | async def test_output_parser_mixed_case_final_answer(mock_react_output_p... function test_output_parser_extra_whitespace (line 1261) | async def test_output_parser_extra_whitespace(mock_react_output_parser): function test_output_parser_json_input_with_lowercase (line 1270) | async def test_output_parser_json_input_with_lowercase(mock_react_output... function test_config_use_native_tool_calling_default (line 1287) | def test_config_use_native_tool_calling_default(): function test_config_use_native_tool_calling_explicit_true (line 1293) | def test_config_use_native_tool_calling_explicit_true(): function test_react_agent_init_with_native_tool_calling_disabled (line 1299) | def test_react_agent_init_with_native_tool_calling_disabled(mock_config_... function test_react_agent_init_with_native_tool_calling_enabled (line 1312) | def test_react_agent_init_with_native_tool_calling_enabled(mock_config_r... function test_agent_node_native_tool_calling (line 1321) | async def test_agent_node_native_tool_calling(mock_config_react_agent, m... function test_agent_node_native_tool_calling_fallback_to_text_parsing (line 1357) | async def test_agent_node_native_tool_calling_fallback_to_text_parsing(m... function test_agent_node_native_tool_calling_with_dict_args (line 1388) | async def test_agent_node_native_tool_calling_with_dict_args(mock_config... FILE: packages/nvidia_nat_langchain/tests/agent/test_reasoning_agent.py class DummyConfig (line 41) | class DummyConfig(FunctionBaseConfig, name="dummy"): function _fake_llm_stream (line 50) | def _fake_llm_stream(prompt: str, *args, **kwargs): class MockAugmentedFunction (line 68) | class MockAugmentedFunction(Function[str, str, str]): method __init__ (line 74) | def __init__(self, config: FunctionBaseConfig, description: str = "som... method has_streaming_output (line 86) | def has_streaming_output(self) -> bool: method _ainvoke (line 89) | async def _ainvoke(self, value: str) -> str: method _astream (line 92) | async def _astream(self, value: str): class MockStreamingAugmentedFunction (line 97) | class MockStreamingAugmentedFunction(MockAugmentedFunction): method __init__ (line 102) | def __init__(self, config: FunctionBaseConfig, description: str = "som... method _astream (line 107) | async def _astream(self, value: ChatRequest): function fake_builder_fixture (line 113) | async def fake_builder_fixture() -> Builder: function test_build_reasoning_function_happy_path (line 157) | async def test_build_reasoning_function_happy_path(fake_builder): function test_build_reasoning_function_streaming_with_chat_request (line 203) | async def test_build_reasoning_function_streaming_with_chat_request(fake... function test_build_reasoning_function_no_augmented_function_description (line 248) | async def test_build_reasoning_function_no_augmented_function_descriptio... function test_build_reasoning_function_augmented_fn_not_found (line 265) | async def test_build_reasoning_function_augmented_fn_not_found(fake_buil... function test_build_reasoning_function_no_llm_found (line 282) | async def test_build_reasoning_function_no_llm_found(fake_builder): function test_build_reasoning_function_prompt_contains_tools (line 300) | async def test_build_reasoning_function_prompt_contains_tools(fake_build... function test_build_reasoning_function_prompt_includes_input (line 348) | async def test_build_reasoning_function_prompt_includes_input(fake_build... function test_build_reasoning_function_handles_empty_tool_list (line 383) | async def test_build_reasoning_function_handles_empty_tool_list(fake_bui... FILE: packages/nvidia_nat_langchain/tests/agent/test_responses_api_agent.py class _MockBuilder (line 24) | class _MockBuilder: method __init__ (line 26) | def __init__(self, llm, tools): method get_llm (line 30) | async def get_llm(self, llm_name, wrapper_type): method get_tools (line 34) | async def get_tools(self, tool_names, wrapper_type): function _augment_llm_for_responses (line 39) | def _augment_llm_for_responses(llm): function _augment_llm_without_responses (line 68) | def _augment_llm_without_responses(llm): function nat_tool_fixture (line 77) | def nat_tool_fixture(mock_tool): function _consume_function_info (line 81) | async def _consume_function_info(gen): function test_llm_requires_responses_api (line 90) | async def test_llm_requires_responses_api(mock_llm, nat_tool): function test_binds_tools_and_runs (line 101) | async def test_binds_tools_and_runs(mock_llm, nat_tool): FILE: packages/nvidia_nat_langchain/tests/agent/test_rewoo.py function test_state_schema (line 36) | async def test_state_schema(): function mock_config (line 53) | def mock_config(): function test_rewoo_init (line 58) | def test_rewoo_init(mock_config_rewoo_agent, mock_llm, mock_tool): function mock_agent (line 80) | def mock_agent(mock_config_rewoo_agent, mock_llm, mock_tool): function test_build_graph (line 97) | async def test_build_graph(mock_rewoo_agent): function test_planner_node_no_input (line 109) | async def test_planner_node_no_input(mock_rewoo_agent): function test_conditional_edge_no_input (line 114) | async def test_conditional_edge_no_input(mock_rewoo_agent): function _create_step_info (line 120) | def _create_step_info(plan: str, placeholder: str, tool: str, tool_input... function _create_mock_state_with_parallel_data (line 125) | def _create_mock_state_with_parallel_data(steps: list[ReWOOPlanStep], function test_conditional_edge_decisions (line 146) | async def test_conditional_edge_decisions(mock_rewoo_agent): function test_executor_node_with_not_configured_tool (line 174) | async def test_executor_node_with_not_configured_tool(mock_rewoo_agent): function test_executor_node_parse_input (line 192) | async def test_executor_node_parse_input(mock_rewoo_agent): function test_executor_node_handle_input_types (line 239) | async def test_executor_node_handle_input_types(mock_rewoo_agent): function test_executor_node_should_not_be_invoked_after_all_steps_executed (line 291) | async def test_executor_node_should_not_be_invoked_after_all_steps_execu... function test_validate_planner_prompt_no_input (line 313) | def test_validate_planner_prompt_no_input(): function test_validate_planner_prompt_no_tools (line 319) | def test_validate_planner_prompt_no_tools(): function test_validate_planner_prompt_no_tool_names (line 325) | def test_validate_planner_prompt_no_tool_names(): function test_validate_planner_prompt (line 331) | def test_validate_planner_prompt(): function test_validate_solver_prompt_no_input (line 336) | def test_validate_solver_prompt_no_input(): function test_validate_solver_prompt (line 342) | def test_validate_solver_prompt(): function test_additional_planner_instructions_are_appended (line 347) | def test_additional_planner_instructions_are_appended(): function test_additional_solver_instructions_are_appended (line 369) | def test_additional_solver_instructions_are_appended(): function test_prompt_validation_with_additional_instructions (line 390) | def test_prompt_validation_with_additional_instructions(): function test_rewoo_agent_tool_call_max_retries_initialization (line 422) | def test_rewoo_agent_tool_call_max_retries_initialization(mock_llm, mock... function test_executor_node_passes_max_retries_to_call_tool (line 446) | async def test_executor_node_passes_max_retries_to_call_tool(mock_rewoo_... function test_rewoo_config_tool_call_max_retries (line 471) | def test_rewoo_config_tool_call_max_retries(): function test_json_output_parsing_valid_format (line 485) | def test_json_output_parsing_valid_format(): function test_json_output_parsing_invalid_format (line 519) | def test_json_output_parsing_invalid_format(): function test_json_output_parsing_with_string_tool_input (line 537) | def test_json_output_parsing_with_string_tool_input(): function test_json_output_parsing_with_dict_tool_input (line 553) | def test_json_output_parsing_with_dict_tool_input(): function test_edge_cases_empty_additional_instructions (line 576) | def test_edge_cases_empty_additional_instructions(): function test_edge_cases_whitespace_additional_instructions (line 601) | def test_edge_cases_whitespace_additional_instructions(): function test_placeholder_replacement_functionality (line 616) | def test_placeholder_replacement_functionality(): function test_tool_input_parsing_edge_cases (line 649) | def test_tool_input_parsing_edge_cases(): function test_configuration_integration_with_additional_instructions (line 681) | def test_configuration_integration_with_additional_instructions(): function test_rewoo_config_raise_tool_call_error (line 719) | def test_rewoo_config_raise_tool_call_error(): function test_rewoo_agent_raise_tool_call_error_initialization (line 738) | def test_rewoo_agent_raise_tool_call_error_initialization(mock_llm, mock... function test_executor_node_raise_tool_call_error_true_behavior (line 770) | async def test_executor_node_raise_tool_call_error_true_behavior(mock_ll... function test_executor_node_raise_tool_call_error_false_behavior (line 807) | async def test_executor_node_raise_tool_call_error_false_behavior(mock_l... function test_executor_node_raise_tool_call_error_success_case (line 851) | async def test_executor_node_raise_tool_call_error_success_case(mock_llm... function test_dependency_parsing_sequential (line 897) | def test_dependency_parsing_sequential(): function test_dependency_parsing_parallel (line 920) | def test_dependency_parsing_parallel(): function test_dependency_parsing_complex (line 939) | def test_dependency_parsing_complex(): function test_dependency_parsing_circular_error (line 958) | def test_dependency_parsing_circular_error(): function test_get_current_level_status (line 966) | def test_get_current_level_status(): function test_parallel_execution_flow (line 998) | async def test_parallel_execution_flow(mock_rewoo_agent): FILE: packages/nvidia_nat_langchain/tests/agent/test_router_agent.py class MockTool (line 37) | class MockTool(BaseTool): method __init__ (line 40) | def __init__(self, name: str, description: str = "Mock tool"): method _run (line 43) | def _run(self, *args, **kwargs): method _arun (line 46) | async def _arun(self, *args, **kwargs): function mock_llm (line 51) | def mock_llm(): function mock_branches (line 59) | def mock_branches(): function mock_prompt (line 69) | def mock_prompt(): function router_agent (line 75) | def router_agent(mock_llm, mock_branches, mock_prompt): function mock_config (line 85) | def mock_config(): class TestRouterAgentGraphState (line 93) | class TestRouterAgentGraphState: method test_state_schema_initialization (line 96) | def test_state_schema_initialization(self): method test_state_schema_with_values (line 107) | def test_state_schema_with_values(self): class TestRouterAgentGraph (line 120) | class TestRouterAgentGraph: method test_initialization (line 123) | def test_initialization(self, mock_llm, mock_branches, mock_prompt): method test_get_branch (line 142) | def test_get_branch(self, router_agent): method test_agent_node_successful_branch_selection (line 154) | async def test_agent_node_successful_branch_selection(self, router_age... method test_agent_node_retry_on_no_branch_selected (line 172) | async def test_agent_node_retry_on_no_branch_selected(self, router_age... method test_agent_node_max_retries_exceeded (line 192) | async def test_agent_node_max_retries_exceeded(self, router_agent): method test_agent_node_llm_exception (line 207) | async def test_agent_node_llm_exception(self, router_agent): method test_branch_node_successful_execution (line 217) | async def test_branch_node_successful_execution(self, router_agent): method test_branch_node_empty_chosen_branch (line 233) | async def test_branch_node_empty_chosen_branch(self, router_agent): method test_branch_node_invalid_branch (line 241) | async def test_branch_node_invalid_branch(self, router_agent): method test_branch_node_tool_execution_exception (line 250) | async def test_branch_node_tool_execution_exception(self, router_agent): method test_build_graph (line 260) | async def test_build_graph(self, router_agent): method test_build_graph_exception (line 282) | async def test_build_graph_exception(self, router_agent): class TestPromptValidation (line 290) | class TestPromptValidation: method test_validate_system_prompt_valid (line 293) | def test_validate_system_prompt_valid(self): method test_validate_system_prompt_missing_branches (line 298) | def test_validate_system_prompt_missing_branches(self): method test_validate_system_prompt_missing_branch_names (line 303) | def test_validate_system_prompt_missing_branch_names(self): method test_validate_system_prompt_missing_both (line 308) | def test_validate_system_prompt_missing_both(self): method test_validate_user_prompt_valid (line 313) | def test_validate_user_prompt_valid(self): method test_validate_user_prompt_missing_chat_history (line 318) | def test_validate_user_prompt_missing_chat_history(self): method test_validate_user_prompt_empty (line 323) | def test_validate_user_prompt_empty(self): method test_validate_user_prompt_none (line 327) | def test_validate_user_prompt_none(self): class TestCreateRouterAgentPrompt (line 332) | class TestCreateRouterAgentPrompt: method test_create_prompt_default_prompts (line 335) | def test_create_prompt_default_prompts(self, mock_config): method test_create_prompt_custom_prompts (line 347) | def test_create_prompt_custom_prompts(self, mock_config): method test_create_prompt_invalid_system_prompt (line 361) | def test_create_prompt_invalid_system_prompt(self, mock_config): method test_create_prompt_invalid_user_prompt (line 369) | def test_create_prompt_invalid_user_prompt(self, mock_config): class TestRouterAgentIntegration (line 378) | class TestRouterAgentIntegration: method test_full_workflow_success (line 382) | async def test_full_workflow_success(self, router_agent): method test_agent_initialization_with_different_configs (line 405) | def test_agent_initialization_with_different_configs(self, mock_llm, m... method test_branch_selection_case_insensitive (line 426) | def test_branch_selection_case_insensitive(self, router_agent): FILE: packages/nvidia_nat_langchain/tests/agent/test_tool_calling.py function test_truncation_retry_config_rejects_both_strategies (line 42) | def test_truncation_retry_config_rejects_both_strategies(): function test_truncation_retry_config_defaults_to_increment_when_neither_set (line 48) | def test_truncation_retry_config_defaults_to_increment_when_neither_set(): function test_truncation_retry_config_accepts_scaling_only (line 55) | def test_truncation_retry_config_accepts_scaling_only(): function test_truncation_retry_config_accepts_increment_only (line 62) | def test_truncation_retry_config_accepts_increment_only(): function test_state_schema (line 69) | async def test_state_schema(): function mock_config (line 82) | def mock_config(): function test_tool_calling_config_prompt (line 86) | def test_tool_calling_config_prompt(mock_config_tool_calling_agent): function test_tool_calling_config_prompt_w_system_prompt (line 92) | def test_tool_calling_config_prompt_w_system_prompt(): function test_tool_calling_config_prompt_w_additional_instructions (line 102) | def test_tool_calling_config_prompt_w_additional_instructions(): function test_tool_calling_agent_init (line 112) | def test_tool_calling_agent_init(mock_config_tool_calling_agent, mock_ll... function test_tool_calling_agent_init_w_prompt (line 123) | def test_tool_calling_agent_init_w_prompt(mock_config_tool_calling_agent... function test_tool_calling_agent_with_conversation_history (line 140) | async def test_tool_calling_agent_with_conversation_history(mock_config_... function test_tool_calling_agent_init_w_return_direct (line 173) | def test_tool_calling_agent_init_w_return_direct(mock_config_tool_callin... function mock_agent (line 190) | def mock_agent(mock_config_tool_calling_agent, mock_tool, mock_llm): function mock_agent_with_return_direct (line 197) | def mock_agent_with_return_direct(mock_config_tool_calling_agent, mock_t... function test_build_graph (line 206) | async def test_build_graph(mock_tool_agent): function test_build_graph_with_return_direct (line 216) | async def test_build_graph_with_return_direct(mock_tool_agent_with_retur... function test_agent_node_no_input (line 230) | async def test_agent_node_no_input(mock_tool_agent): function test_agent_node (line 236) | async def test_agent_node(mock_tool_agent): function test_conditional_edge_no_input (line 244) | async def test_conditional_edge_no_input(mock_tool_agent): function test_conditional_edge_final_answer (line 249) | async def test_conditional_edge_final_answer(mock_tool_agent): function test_conditional_edge_tool_call (line 255) | async def test_conditional_edge_tool_call(mock_tool_agent): function test_tool_conditional_edge_no_return_direct (line 261) | async def test_tool_conditional_edge_no_return_direct(mock_tool_agent): function test_tool_conditional_edge_return_direct_match (line 268) | async def test_tool_conditional_edge_return_direct_match(mock_tool_agent... function test_tool_conditional_edge_return_direct_no_match (line 275) | async def test_tool_conditional_edge_return_direct_no_match(mock_tool_ag... function test_tool_conditional_edge_no_name_attribute (line 282) | async def test_tool_conditional_edge_no_name_attribute(mock_tool_agent_w... function test_tool_conditional_edge_empty_messages (line 289) | async def test_tool_conditional_edge_empty_messages(mock_tool_agent_with... function test_tool_node_no_input (line 295) | async def test_tool_node_no_input(mock_tool_agent): function test_tool_node_final_answer (line 301) | async def test_tool_node_final_answer(mock_tool_agent): function mock_graph (line 322) | async def mock_graph(mock_tool_agent): function mock_graph_with_return_direct (line 327) | async def mock_graph_with_return_direct(mock_tool_agent_with_return_dire... function test_graph (line 331) | async def test_graph(mock_tool_graph): function test_graph_with_return_direct (line 340) | async def test_graph_with_return_direct(mock_tool_graph_with_return_dire... function test_graph_astream_yields_message_chunks (line 349) | async def test_graph_astream_yields_message_chunks(mock_tool_graph): function test_stream_fn_no_duplicate_content (line 370) | async def test_stream_fn_no_duplicate_content(mock_tool_graph): function test_tool_call_chunk_serialization (line 407) | def test_tool_call_chunk_serialization(): function fixture_error_mock_llm (line 450) | def fixture_error_mock_llm(): function _make_agent (line 492) | def _make_agent(llm, mock_tool, **kwargs) -> ToolCallAgentGraph: function test_validate_truncation_raises_when_disabled (line 497) | async def test_validate_truncation_raises_when_disabled(error_mock_llm, ... function test_validate_truncation_delegates_to_retry (line 522) | async def test_validate_truncation_delegates_to_retry(error_mock_llm, mo... function test_validate_empty_response_raises_when_disabled (line 536) | async def test_validate_empty_response_raises_when_disabled(error_mock_l... function test_validate_empty_response_delegates_to_retry (line 546) | async def test_validate_empty_response_delegates_to_retry(error_mock_llm... function test_get_token_usage_from_openai_response_metadata (line 560) | def test_get_token_usage_from_openai_response_metadata(error_mock_llm, m... function test_retry_on_truncation_succeeds (line 575) | async def test_retry_on_truncation_succeeds(error_mock_llm, mock_tool): function test_retry_on_truncation_exhausted (line 597) | async def test_retry_on_truncation_exhausted(error_mock_llm, mock_tool): function test_retry_on_truncation_increments_from_usage (line 621) | async def test_retry_on_truncation_increments_from_usage(error_mock_llm,... function test_retry_on_truncation_increments_from_configured_max_tokens (line 654) | async def test_retry_on_truncation_increments_from_configured_max_tokens... function test_retry_on_truncation_persists_across_calls (line 687) | async def test_retry_on_truncation_persists_across_calls(error_mock_llm,... function test_retry_on_empty_succeeds (line 731) | async def test_retry_on_empty_succeeds(error_mock_llm, mock_tool): function test_retry_on_empty_exhausted (line 744) | async def test_retry_on_empty_exhausted(error_mock_llm, mock_tool): FILE: packages/nvidia_nat_langchain/tests/control_flow/test_parallel_executor.py class MockParallelTool (line 32) | class MockParallelTool(BaseTool): method __init__ (line 42) | def __init__(self, method _arun (line 53) | async def _arun(self, query: typing.Any = None, **kwargs: typing.Any) ... method _run (line 59) | def _run(self, query: typing.Any = None, **kwargs: typing.Any) -> typi... method queries (line 66) | def queries(self) -> list[typing.Any]: class TestParallelExecutorConfig (line 70) | class TestParallelExecutorConfig: method test_default_config (line 73) | def test_default_config(self) -> None: method test_config_with_values (line 81) | def test_config_with_values(self) -> None: class TestParallelExecution (line 96) | class TestParallelExecution: method test_parallel_execution_merges_branch_outputs (line 100) | async def test_parallel_execution_merges_branch_outputs(self) -> None: method test_unknown_tool_raises_error (line 123) | async def test_unknown_tool_raises_error(self) -> None: method test_branch_exception_raises_by_default (line 134) | async def test_branch_exception_raises_by_default(self) -> None: method test_branch_exception_returned_when_configured (line 149) | async def test_branch_exception_returned_when_configured(self) -> None: method test_detailed_logs (line 172) | async def test_detailed_logs(self, caplog: pytest.LogCaptureFixture) -... FILE: packages/nvidia_nat_langchain/tests/control_flow/test_sequential_executor.py class StringInput (line 40) | class StringInput(BaseModel): class StringOutput (line 44) | class StringOutput(BaseModel): class IntInput (line 48) | class IntInput(BaseModel): class IntOutput (line 52) | class IntOutput(BaseModel): class ComplexInput (line 56) | class ComplexInput(BaseModel): class ComplexOutput (line 61) | class ComplexOutput(BaseModel): class MockTool (line 67) | class MockTool(BaseTool): method __init__ (line 73) | def __init__(self, name: str = "mock_tool", return_value: str = "mock_... method _arun (line 80) | async def _arun(self, query: typing.Any = None, **kwargs) -> str: method _run (line 84) | def _run(self, query: typing.Any = None, **kwargs) -> str: method call_count (line 89) | def call_count(self) -> int: class StreamingMockTool (line 93) | class StreamingMockTool(BaseTool): method __init__ (line 99) | def __init__(self, name: str = "streaming_mock_tool", chunks: list[str... method astream (line 106) | async def astream(self, input, config=None, **kwargs): method _arun (line 113) | async def _arun(self, query: typing.Any = None, **kwargs) -> str: method _run (line 117) | def _run(self, query: typing.Any = None, **kwargs) -> str: method call_count (line 122) | def call_count(self) -> int: class ErrorMockTool (line 126) | class ErrorMockTool(BaseTool): method __init__ (line 133) | def __init__(self, name: str = "error_mock_tool", error_message: str =... method _arun (line 138) | async def _arun(self, query: typing.Any = None, **kwargs) -> str: method _run (line 141) | def _run(self, query: typing.Any = None, **kwargs) -> str: class EarlyExitMockTool (line 145) | class EarlyExitMockTool(BaseTool): method __init__ (line 152) | def __init__(self, name: str = "early_exit_mock_tool", exit_message: s... method _arun (line 157) | async def _arun(self, query: typing.Any = None, **kwargs) -> str: method _run (line 160) | def _run(self, query: typing.Any = None, **kwargs) -> str: class TestSequentialExecutionToolConfig (line 164) | class TestSequentialExecutionToolConfig: method test_default_config (line 167) | def test_default_config(self): method test_config_with_values (line 176) | def test_config_with_values(self): class TestToolExecutionConfig (line 195) | class TestToolExecutionConfig: method test_default_config (line 198) | def test_default_config(self): method test_streaming_config (line 203) | def test_streaming_config(self): class TestValidateFunctionTypeCompatibility (line 209) | class TestValidateFunctionTypeCompatibility: method mock_function_compatible (line 213) | def mock_function_compatible(self): method mock_function_incompatible (line 223) | def mock_function_incompatible(self): method test_compatible_types_no_streaming (line 232) | def test_compatible_types_no_streaming(self, mock_function_compatible): method test_compatible_types_with_streaming (line 245) | def test_compatible_types_with_streaming(self, mock_function_compatible): method test_incompatible_types (line 258) | def test_incompatible_types(self, mock_function_compatible, mock_funct... class TestValidateSequentialToolList (line 273) | class TestValidateSequentialToolList: method compatible_functions (line 277) | def compatible_functions(self): method test_compatible_sequential_tools (line 294) | async def test_compatible_sequential_tools(self, mock_builder, compati... method test_incompatible_sequential_tools_with_exception (line 308) | async def test_incompatible_sequential_tools_with_exception(self, mock... method test_streaming_output_type_selection (line 321) | async def test_streaming_output_type_selection(self, mock_builder, com... class TestSequentialExecution (line 336) | class TestSequentialExecution: method mock_builder_fixture (line 340) | def mock_builder_fixture(self, mock_builder: MagicMock) -> MagicMock: method test_basic_sequential_execution (line 374) | async def test_basic_sequential_execution(self, mock_builder): method test_sequential_execution_with_streaming (line 385) | async def test_sequential_execution_with_streaming(self, mock_builder): method test_sequential_execution_error_handling (line 405) | async def test_sequential_execution_error_handling(self, mock_builder): method test_type_compatibility_error_with_check_enabled (line 428) | async def test_type_compatibility_error_with_check_enabled(self, mock_... method test_type_compatibility_warning_with_check_disabled (line 440) | async def test_type_compatibility_warning_with_check_disabled(self, mo... method test_return_error_on_exception_enabled (line 455) | async def test_return_error_on_exception_enabled(self, mock_builder): method test_return_error_on_exception_disabled (line 480) | async def test_return_error_on_exception_disabled(self, mock_builder): method test_sequential_executor_exit (line 503) | async def test_sequential_executor_exit(self, mock_builder): method test_empty_tool_list (line 529) | async def test_empty_tool_list(self, mock_builder): method test_single_tool_execution (line 542) | async def test_single_tool_execution(self, mock_builder): method test_tool_execution_order (line 566) | async def test_tool_execution_order(self, mock_builder): method test_mixed_streaming_and_regular_tools (line 599) | async def test_mixed_streaming_and_regular_tools(self, mock_builder): method test_function_annotations_set_correctly (line 616) | def test_function_annotations_set_correctly(self, mock_builder): class TestIntegration (line 630) | class TestIntegration: method test_real_world_scenario (line 634) | async def test_real_world_scenario(self): method test_framework_wrappers_configuration (line 642) | def test_framework_wrappers_configuration(self): class TestErrorScenarios (line 650) | class TestErrorScenarios: method mock_builder_with_missing_tool (line 654) | def mock_builder_with_missing_tool(self, mock_builder: MagicMock) -> M... method test_missing_tool_error (line 660) | async def test_missing_tool_error(self, mock_builder_with_missing_tool): method test_invalid_tool_configuration (line 669) | async def test_invalid_tool_configuration(self): FILE: packages/nvidia_nat_langchain/tests/dataset_loader/test_langsmith_loader.py function _make_example (line 34) | def _make_example(inputs: dict, outputs: dict | None = None, example_id:... class TestEvalDatasetLangSmithConfig (line 48) | class TestEvalDatasetLangSmithConfig: method test_config_with_dataset_id (line 50) | def test_config_with_dataset_id(self): method test_config_with_dataset_name (line 55) | def test_config_with_dataset_name(self): method test_config_with_both (line 60) | def test_config_with_both(self): method test_config_requires_id_or_name (line 65) | def test_config_requires_id_or_name(self): method test_parser_returns_callable (line 69) | def test_parser_returns_callable(self): method test_parser_includes_structure_keys (line 76) | def test_parser_includes_structure_keys(self): method test_parser_includes_optional_fields (line 87) | def test_parser_includes_optional_fields(self): class TestLoadLangSmithDataset (line 105) | class TestLoadLangSmithDataset: method test_load_prefers_id_over_name (line 108) | def test_load_prefers_id_over_name(self, mock_client_cls): method test_load_basic (line 122) | def test_load_basic(self, mock_client_cls): method test_load_custom_keys (line 140) | def test_load_custom_keys(self, mock_client_cls): method test_load_limit (line 161) | def test_load_limit(self, mock_client_cls): method test_load_split (line 172) | def test_load_split(self, mock_client_cls): method test_load_as_of (line 183) | def test_load_as_of(self, mock_client_cls): method test_load_empty (line 194) | def test_load_empty(self, mock_client_cls): method test_load_null_outputs (line 206) | def test_load_null_outputs(self, mock_client_cls): method test_load_raises_without_id_or_name (line 220) | def test_load_raises_without_id_or_name(self): method test_load_extra_fields_preserved (line 225) | def test_load_extra_fields_preserved(self, mock_client_cls): class TestRegistration (line 253) | class TestRegistration: method test_registration (line 255) | def test_registration(self): method test_yaml_backward_compat (line 264) | def test_yaml_backward_compat(self): FILE: packages/nvidia_nat_langchain/tests/eval/conftest.py function make_mock_builder (line 25) | def make_mock_builder(mock_llm=None): function register_evaluator_ctx (line 38) | async def register_evaluator_ctx(register_fn, config, builder=None): function fixture_eval_input_matching (line 58) | def fixture_eval_input_matching(): function fixture_eval_input_non_matching (line 78) | def fixture_eval_input_non_matching(): function fixture_eval_input_multi_item (line 98) | def fixture_eval_input_multi_item(): function fixture_item_with_context (line 132) | def fixture_item_with_context(): function fixture_eval_input_with_context (line 151) | def fixture_eval_input_with_context(item_with_context): FILE: packages/nvidia_nat_langchain/tests/eval/test_langsmith_custom_evaluator.py function _register (line 30) | async def _register(config, builder=None): class TestConfigValidation (line 40) | class TestConfigValidation: method test_evaluator_accepts_dotted_path (line 43) | def test_evaluator_accepts_dotted_path(self): method test_evaluator_accepts_any_path (line 48) | def test_evaluator_accepts_any_path(self): method test_evaluator_required (line 53) | def test_evaluator_required(self): class TestCustomEvaluatorRegistration (line 64) | class TestCustomEvaluatorRegistration: method test_openevals_exact_match (line 71) | async def test_openevals_exact_match(self, eval_input_matching, eval_i... method test_openevals_exact_match_async (line 87) | async def test_openevals_exact_match_async(self, eval_input_matching, ... method test_multi_item (line 100) | async def test_multi_item(self, eval_input_multi_item): method test_empty_input (line 114) | async def test_empty_input(self): method test_evaluator_info_metadata (line 125) | async def test_evaluator_info_metadata(self): method test_nonexistent_module_raises (line 135) | async def test_nonexistent_module_raises(self): method test_nonexistent_attribute_raises (line 143) | async def test_nonexistent_attribute_raises(self): method test_bad_path_format_raises (line 151) | async def test_bad_path_format_raises(self): method test_class_requiring_args_raises (line 159) | async def test_class_requiring_args_raises(self): class TestLangSmithCustomEvaluatorConfigExtraFields (line 173) | class TestLangSmithCustomEvaluatorConfigExtraFields: method test_extra_fields_default_none (line 176) | def test_extra_fields_default_none(self): method test_extra_fields_accepted (line 180) | def test_extra_fields_accepted(self): method test_extra_fields_with_non_openevals_convention_warns_and_drops (line 187) | async def test_extra_fields_with_non_openevals_convention_warns_and_dr... FILE: packages/nvidia_nat_langchain/tests/eval/test_langsmith_evaluator.py function _register (line 34) | async def _register(config, builder=None): class TestConfigValidation (line 44) | class TestConfigValidation: method test_valid_evaluator_name (line 47) | def test_valid_evaluator_name(self): method test_unknown_evaluator_raises (line 52) | def test_unknown_evaluator_raises(self): method test_evaluator_required (line 57) | def test_evaluator_required(self): method test_error_message_lists_available (line 62) | def test_error_message_lists_available(self): method test_error_message_suggests_custom (line 67) | def test_error_message_suggests_custom(self): class TestRegistryEvaluatorRegistration (line 78) | class TestRegistryEvaluatorRegistration: method test_exact_match (line 81) | async def test_exact_match(self, eval_input_matching, eval_input_non_m... method test_multi_item (line 97) | async def test_multi_item(self, eval_input_multi_item): method test_empty_input (line 111) | async def test_empty_input(self): method test_evaluator_info_metadata (line 122) | async def test_evaluator_info_metadata(self): class SimpleRunEvaluator (line 141) | class SimpleRunEvaluator(RunEvaluator): method evaluate_run (line 144) | def evaluate_run(self, function _run_example_evaluator (line 160) | def _run_example_evaluator(run: Run, example: Example | None = None) -> ... class TestLangSmithEvaluatorAdapter (line 167) | class TestLangSmithEvaluatorAdapter: method test_run_evaluator_match (line 179) | async def test_run_evaluator_match(self, eval_input_matching): method test_run_evaluator_mismatch (line 194) | async def test_run_evaluator_mismatch(self, eval_input_non_matching): method test_run_example_function_match (line 208) | async def test_run_example_function_match(self, eval_input_matching): method test_run_example_function_mismatch (line 222) | async def test_run_example_function_mismatch(self, eval_input_non_matc... method test_async_run_example_function (line 235) | async def test_async_run_example_function(self, eval_input_matching): method test_custom_openevals_dict_with_metadata (line 252) | async def test_custom_openevals_dict_with_metadata(self, eval_input_ma... method test_custom_async_openevals_function (line 274) | async def test_custom_async_openevals_function(self, eval_input_matchi... method test_boolean_score_in_dict (line 291) | async def test_boolean_score_in_dict(self, eval_input_matching): method test_evaluator_wraps_runtime_error (line 307) | async def test_evaluator_wraps_runtime_error(self, eval_input_matching): method test_evaluator_wraps_value_error (line 326) | async def test_evaluator_wraps_value_error(self, eval_input_matching): method test_adapter_passes_extra_fields (line 345) | async def test_adapter_passes_extra_fields(self, eval_input_with_conte... class TestLangSmithEvaluatorConfigExtraFields (line 371) | class TestLangSmithEvaluatorConfigExtraFields: method test_extra_fields_default_none (line 374) | def test_extra_fields_default_none(self): method test_extra_fields_accepted (line 378) | def test_extra_fields_accepted(self): FILE: packages/nvidia_nat_langchain/tests/eval/test_langsmith_judge.py function _register (line 30) | async def _register(config, builder): class TestLangSmithJudgeConfig (line 35) | class TestLangSmithJudgeConfig: method test_valid_config (line 38) | def test_valid_config(self): method test_defaults (line 44) | def test_defaults(self): method test_custom_options (line 52) | def test_custom_options(self): method test_missing_prompt_raises (line 63) | def test_missing_prompt_raises(self): method test_missing_llm_name_raises (line 68) | def test_missing_llm_name_raises(self): method test_continuous_and_choices_raises (line 73) | def test_continuous_and_choices_raises(self): method test_choices_without_continuous_is_valid (line 83) | def test_choices_without_continuous_is_valid(self): class TestLangSmithJudgeRegistration (line 94) | class TestLangSmithJudgeRegistration: method test_builtin_prompt (line 102) | async def test_builtin_prompt(self, eval_input_matching): method test_custom_prompt (line 136) | async def test_custom_prompt(self, eval_input_matching): method test_with_choices (line 168) | async def test_with_choices(self, eval_input_matching): method test_retry_applied (line 195) | async def test_retry_applied(self): method test_retry_not_applied_when_disabled (line 231) | async def test_retry_not_applied_when_disabled(self): class TestLangSmithJudgeNewTypedFields (line 257) | class TestLangSmithJudgeNewTypedFields: method test_system_default_none (line 260) | def test_system_default_none(self): method test_system_accepted (line 264) | def test_system_accepted(self): method test_few_shot_examples_default_none (line 272) | def test_few_shot_examples_default_none(self): method test_few_shot_examples_accepted (line 276) | def test_few_shot_examples_accepted(self): method test_system_passed_to_create_async_llm_as_judge (line 293) | async def test_system_passed_to_create_async_llm_as_judge(self): method test_few_shot_passed_to_create_async_llm_as_judge (line 311) | async def test_few_shot_passed_to_create_async_llm_as_judge(self): method test_system_not_passed_when_none (line 330) | async def test_system_not_passed_when_none(self): class TestJudgeKwargs (line 351) | class TestJudgeKwargs: method test_judge_kwargs_default_none (line 354) | def test_judge_kwargs_default_none(self): method test_judge_kwargs_accepted (line 358) | def test_judge_kwargs_accepted(self): method test_judge_kwargs_overlap_with_typed_field_raises (line 366) | async def test_judge_kwargs_overlap_with_typed_field_raises(self): method test_judge_kwargs_overlap_system_raises (line 386) | async def test_judge_kwargs_overlap_system_raises(self): method test_judge_kwargs_system_allowed_when_typed_field_unset (line 407) | async def test_judge_kwargs_system_allowed_when_typed_field_unset(self): method test_judge_kwargs_forwarded_to_create_async_llm_as_judge (line 425) | async def test_judge_kwargs_forwarded_to_create_async_llm_as_judge(self): class TestOutputSchema (line 449) | class TestOutputSchema: method test_output_schema_default_none (line 452) | def test_output_schema_default_none(self): method test_output_schema_accepted (line 456) | def test_output_schema_accepted(self): method test_score_field_default (line 464) | def test_score_field_default(self): method test_score_field_custom (line 468) | def test_score_field_custom(self): method test_output_schema_imported_and_passed (line 477) | async def test_output_schema_imported_and_passed(self): method test_output_schema_rejects_non_typeddict_non_basemodel (line 508) | async def test_output_schema_rejects_non_typeddict_non_basemodel(self): class TestLangSmithJudgeExtraFields (line 539) | class TestLangSmithJudgeExtraFields: method test_extra_fields_default_none (line 542) | def test_extra_fields_default_none(self): method test_extra_fields_accepted (line 546) | def test_extra_fields_accepted(self): method test_extra_fields_forwarded_through_adapter (line 554) | async def test_extra_fields_forwarded_through_adapter(self, eval_input... FILE: packages/nvidia_nat_langchain/tests/eval/test_trajectory_evaluate.py function fixture_mock_llm (line 47) | def fixture_mock_llm(): function fixture_mock_tools (line 52) | def fixture_mock_tools(): function fixture_trajectory_evaluator (line 57) | def fixture_trajectory_evaluator(mock_llm, mock_tools): function fixture_rag_eval_input (line 62) | def fixture_rag_eval_input(): function test_trajectory_evaluate_success (line 85) | async def test_trajectory_evaluate_success(trajectory_evaluator, rag_eva... function test_trajectory_evaluate_failure (line 113) | async def test_trajectory_evaluate_failure(trajectory_evaluator, rag_eva... function test_trajectory_evaluate_recovers_score_from_output_parser_error (line 139) | async def test_trajectory_evaluate_recovers_score_from_output_parser_err... function fixture_atif_samples (line 157) | def fixture_atif_samples(): function test_trajectory_evaluate_atif_success (line 204) | async def test_trajectory_evaluate_atif_success(trajectory_evaluator, at... function test_trajectory_evaluate_atif_failure (line 229) | async def test_trajectory_evaluate_atif_failure(trajectory_evaluator, at... function test_trajectory_legacy_and_atif_lane_parity_with_tolerance (line 257) | async def test_trajectory_legacy_and_atif_lane_parity_with_tolerance(tra... function test_register_trajectory_evaluator_exposes_legacy_lane_by_default (line 324) | async def test_register_trajectory_evaluator_exposes_legacy_lane_by_defa... function test_register_trajectory_evaluator_exposes_atif_lane_when_enabled (line 336) | async def test_register_trajectory_evaluator_exposes_atif_lane_when_enab... function test_atif_to_agent_actions_does_not_dedupe_tool_invocations (line 348) | def test_atif_to_agent_actions_does_not_dedupe_tool_invocations(): function test_atif_to_agent_actions_dedupes_adjacent_llm_rows (line 376) | def test_atif_to_agent_actions_dedupes_adjacent_llm_rows(): function test_message_to_text_flattens_multimodal_structured_payload (line 392) | def test_message_to_text_flattens_multimodal_structured_payload(): function test_atif_to_agent_actions_emits_filtered_rows_and_dedupes_adjacent_llm (line 411) | def test_atif_to_agent_actions_emits_filtered_rows_and_dedupes_adjacent_... FILE: packages/nvidia_nat_langchain/tests/eval/test_tunable_rag_evaluate.py function mock_llm (line 35) | def mock_llm(): function default_score_weights (line 40) | def default_score_weights(): function rag_eval_input (line 45) | def rag_eval_input(): function evaluator (line 76) | def evaluator(mock_llm, default_score_weights): function test_evaluate_success (line 85) | async def test_evaluate_success(evaluator, rag_eval_input): function test_evaluate_partial_failure (line 109) | async def test_evaluate_partial_failure(evaluator, rag_eval_input): function test_evaluate_custom_scoring (line 134) | async def test_evaluate_custom_scoring(): function fixture_atif_samples (line 169) | def fixture_atif_samples(): function test_evaluate_atif_success (line 202) | async def test_evaluate_atif_success(evaluator, atif_samples): function test_legacy_and_atif_lane_parity_with_tolerance (line 218) | async def test_legacy_and_atif_lane_parity_with_tolerance(evaluator, rag... function test_register_tunable_rag_evaluator_exposes_legacy_lane_by_default (line 239) | async def test_register_tunable_rag_evaluator_exposes_legacy_lane_by_def... function test_register_tunable_rag_evaluator_exposes_atif_lane_when_enabled (line 250) | async def test_register_tunable_rag_evaluator_exposes_atif_lane_when_ena... FILE: packages/nvidia_nat_langchain/tests/eval/test_utils.py function fixture_sample_item (line 32) | def fixture_sample_item(): function test_openevals_kwargs_maps_fields (line 49) | def test_openevals_kwargs_maps_fields(sample_item): function test_openevals_kwargs_handles_none_expected (line 57) | def test_openevals_kwargs_handles_none_expected(): class TestExtraFieldsMapping (line 79) | class TestExtraFieldsMapping: method test_extra_fields_adds_context (line 82) | def test_extra_fields_adds_context(self, item_with_context): method test_extra_fields_multiple_mappings (line 93) | def test_extra_fields_multiple_mappings(self, item_with_context): method test_extra_fields_missing_dataset_key_raises (line 104) | def test_extra_fields_missing_dataset_key_raises(self, item_with_conte... method test_extra_fields_conflicts_with_standard_raises (line 112) | def test_extra_fields_conflicts_with_standard_raises(self, item_with_c... method test_extra_fields_none_is_noop (line 120) | def test_extra_fields_none_is_noop(self, item_with_context): function test_run_and_example_types (line 131) | def test_run_and_example_types(sample_item): function test_run_contains_correct_data (line 138) | def test_run_contains_correct_data(sample_item): function test_example_contains_correct_data (line 146) | def test_example_contains_correct_data(sample_item): class TestExtractField (line 158) | class TestExtractField: method test_flat_field (line 161) | def test_flat_field(self): method test_nested_field (line 164) | def test_nested_field(self): method test_deeply_nested (line 168) | def test_deeply_nested(self): method test_missing_field_raises_key_error (line 172) | def test_missing_field_raises_key_error(self): method test_non_dict_intermediate_raises_type_error (line 176) | def test_non_dict_intermediate_raises_type_error(self): function test_dict_result_conversion (line 186) | def test_dict_result_conversion(): function test_dict_result_with_bool_score (line 197) | def test_dict_result_with_bool_score(): function test_dict_result_with_metadata (line 204) | def test_dict_result_with_metadata(): function test_unexpected_result_type (line 211) | def test_unexpected_result_type(): function test_evaluation_result_object (line 218) | def test_evaluation_result_object(): class TestListResultHandling (line 236) | class TestListResultHandling: method test_empty_list_returns_zero (line 239) | def test_empty_list_returns_zero(self): method test_single_item_list (line 244) | def test_single_item_list(self): method test_multi_item_list_averages (line 249) | def test_multi_item_list_averages(self): method test_bool_scores_in_list_coerced (line 262) | def test_bool_scores_in_list_coerced(self): method test_list_preserves_per_item_details (line 274) | def test_list_preserves_per_item_details(self): class TestCustomSchemaResultParsing (line 292) | class TestCustomSchemaResultParsing: method test_score_field_flat (line 295) | def test_score_field_flat(self): method test_score_field_nested (line 301) | def test_score_field_nested(self): method test_score_field_missing_returns_error (line 306) | def test_score_field_missing_returns_error(self): method test_score_field_takes_precedence_over_standard_key (line 312) | def test_score_field_takes_precedence_over_standard_key(self): method test_adapter_uses_score_field (line 319) | async def test_adapter_uses_score_field(self): FILE: packages/nvidia_nat_langchain/tests/langsmith/test_langsmith_callback.py class TestLangSmithEvaluationCallback (line 27) | class TestLangSmithEvaluationCallback: method mock_langsmith (line 30) | def mock_langsmith(self): method eval_cb (line 39) | def eval_cb(self): method test_on_dataset_loaded_creates_dataset (line 43) | def test_on_dataset_loaded_creates_dataset(self, eval_cb): method test_on_dataset_loaded_stores_example_ids (line 53) | def test_on_dataset_loaded_stores_example_ids(self, eval_cb): method test_on_dataset_loaded_reuses_existing_dataset_and_loads_examples (line 65) | def test_on_dataset_loaded_reuses_existing_dataset_and_loads_examples(... class TestMatchAndLinkOtelRuns (line 85) | class TestMatchAndLinkOtelRuns: method test_normalize_strips_json_quotes (line 88) | def test_normalize_strips_json_quotes(self): method test_normalize_preserves_plain_text (line 92) | def test_normalize_preserves_plain_text(self): method test_normalize_strips_whitespace (line 96) | def test_normalize_strips_whitespace(self): method test_matched_items_not_rematched_across_retries (line 101) | def test_matched_items_not_rematched_across_retries(self, mock_sleep): method test_longest_substring_match_wins (line 154) | def test_longest_substring_match_wins(self, mock_sleep): method test_json_quoted_input_matches (line 206) | def test_json_quoted_input_matches(self, mock_sleep): class TestLangSmithEvaluationCallbackLinking (line 243) | class TestLangSmithEvaluationCallbackLinking: method mock_langsmith (line 246) | def mock_langsmith(self): method eval_cb (line 255) | def eval_cb(self): method test_on_eval_complete_links_otel_runs (line 260) | def test_on_eval_complete_links_otel_runs(self, _mock_sleep, eval_cb): method test_on_eval_complete_skips_without_dataset (line 299) | def test_on_eval_complete_skips_without_dataset(self, eval_cb): class TestTemplateFormatDetection (line 306) | class TestTemplateFormatDetection: method cb_cls (line 310) | def cb_cls(self): method test_detect_template_format (line 339) | def test_detect_template_format(self, cb_cls, text, expected): method test_detect_jinja2_block_takes_priority_over_mustache (line 342) | def test_detect_jinja2_block_takes_priority_over_mustache(self, cb_cls): method test_detect_mustache_not_confused_by_jinja2_comment_substring (line 347) | def test_detect_mustache_not_confused_by_jinja2_comment_substring(self... method test_validate_accepts_valid_formats (line 354) | def test_validate_accepts_valid_formats(self, cb_cls, fmt): method test_validate_rejects_invalid_formats (line 358) | def test_validate_rejects_invalid_formats(self, cb_cls, fmt): method test_resolve_uses_explicit_format_from_trial_result (line 364) | def test_resolve_uses_explicit_format_from_trial_result(self, cb_cls): method test_resolve_falls_back_to_auto_detection (line 377) | def test_resolve_falls_back_to_auto_detection(self, cb_cls): method test_resolve_falls_back_when_param_not_in_formats (line 388) | def test_resolve_falls_back_when_param_not_in_formats(self, cb_cls): method test_resolve_validates_explicit_format (line 400) | def test_resolve_validates_explicit_format(self, cb_cls): class TestLangSmithOptimizationCallback (line 414) | class TestLangSmithOptimizationCallback: method mock_langsmith (line 417) | def mock_langsmith(self): method opt_cb (line 426) | def opt_cb(self): method test_on_trial_end_links_otel_runs (line 431) | def test_on_trial_end_links_otel_runs(self, _mock_sleep, opt_cb): method test_on_trial_end_with_prompts (line 473) | def test_on_trial_end_with_prompts(self, opt_cb): method test_on_study_end_flushes (line 488) | def test_on_study_end_flushes(self, opt_cb): FILE: packages/nvidia_nat_langchain/tests/langsmith/test_langsmith_integration.py function test_eval_callback_creates_dataset_runs_and_feedback (line 42) | async def test_eval_callback_creates_dataset_runs_and_feedback( function test_optimizer_callback_creates_trial_runs_and_summary (line 133) | async def test_optimizer_callback_creates_trial_runs_and_summary( function test_optimizer_callback_pushes_prompts (line 192) | async def test_optimizer_callback_pushes_prompts( FILE: packages/nvidia_nat_langchain/tests/langsmith/test_otel_matching.py function _mock_run (line 35) | def _mock_run(run_id: str, input_text: str, name: str = "") ->... function _mock_item (line 44) | def _mock_item( function _mock_eval_result (line 60) | def _mock_eval_result(items: list[MagicMock]) -> MagicMock: class TestGetRunInputStr (line 71) | class TestGetRunInputStr: method test_dict_with_input_key (line 73) | def test_dict_with_input_key(self): method test_dict_without_input_key (line 78) | def test_dict_without_input_key(self): method test_plain_string (line 83) | def test_plain_string(self): method test_none_input (line 88) | def test_none_input(self): method test_nested_dict (line 93) | def test_nested_dict(self): class TestLinkRunToItem (line 104) | class TestLinkRunToItem: method test_happy_path (line 106) | def test_happy_path(self): method test_missing_example_id (line 116) | def test_missing_example_id(self): method test_update_run_fails (line 122) | def test_update_run_fails(self): method test_create_feedback_fails_partially (line 128) | def test_create_feedback_fails_partially(self): method test_empty_scores (line 137) | def test_empty_scores(self): class TestMatchSubstring (line 150) | class TestMatchSubstring: method test_all_exact_matches (line 153) | def test_all_exact_matches(self, _sleep): method test_item_substring_of_run (line 171) | def test_item_substring_of_run(self, _sleep): method test_run_substring_of_item (line 187) | def test_run_substring_of_item(self, _sleep): method test_no_matches (line 204) | def test_no_matches(self, _sleep): method test_duplicate_inputs_match_different_items (line 220) | def test_duplicate_inputs_match_different_items(self, _sleep): method test_100_items_no_substring_collision (line 245) | def test_100_items_no_substring_collision(self, _sleep): class TestMatchRetryLogic (line 270) | class TestMatchRetryLogic: method test_all_runs_first_attempt (line 273) | def test_all_runs_first_attempt(self, _sleep): method test_runs_arrive_incrementally (line 289) | def test_runs_arrive_incrementally(self, _sleep): method test_no_runs_ever (line 309) | def test_no_runs_ever(self, _sleep): method test_api_error_recovery (line 325) | def test_api_error_recovery(self, _sleep): method test_processed_run_ids_deduplication (line 343) | def test_processed_run_ids_deduplication(self, _sleep): method test_missing_run_graceful (line 361) | def test_missing_run_graceful(self, _sleep): class TestBackfillFeedbackForUnlinkedItems (line 384) | class TestBackfillFeedbackForUnlinkedItems: method test_no_backfill_when_linked_slots_cover_all_candidates (line 386) | def test_no_backfill_when_linked_slots_cover_all_candidates(self): method test_backfills_run_feedback_for_unlinked_items (line 405) | def test_backfills_run_feedback_for_unlinked_items(self): method test_backfills_when_run_query_fails (line 435) | def test_backfills_when_run_query_fails(self): method test_skips_items_without_root_span_id (line 453) | def test_skips_items_without_root_span_id(self): class TestSpanIdToRunId (line 474) | class TestSpanIdToRunId: method test_known_mapping (line 476) | def test_known_mapping(self): method test_small_span_id_zero_padded (line 482) | def test_small_span_id_zero_padded(self): method test_max_span_id (line 488) | def test_max_span_id(self): method test_realistic_span_id (line 494) | def test_realistic_span_id(self): class TestEagerLinkRunToItem (line 506) | class TestEagerLinkRunToItem: method test_happy_path (line 508) | def test_happy_path(self): method test_missing_example_id (line 517) | def test_missing_example_id(self): method test_update_run_fails_gracefully (line 524) | def test_update_run_fails_gracefully(self): method test_feedback_failure_still_returns_true (line 531) | def test_feedback_failure_still_returns_true(self): method test_multiple_scores (line 539) | def test_multiple_scores(self): class TestRetryUnlinkedReferences (line 552) | class TestRetryUnlinkedReferences: method test_retries_unlinked_items (line 555) | def test_retries_unlinked_items(self, _sleep): method test_skips_already_linked_items (line 583) | def test_skips_already_linked_items(self, _sleep): method test_skips_items_without_span_id (line 604) | def test_skips_items_without_span_id(self, _sleep): method test_handles_update_run_failure (line 625) | def test_handles_update_run_failure(self, _sleep): method test_returns_zero_when_all_linked (line 665) | def test_returns_zero_when_all_linked(self, _sleep): method test_retries_multiple_attempts_until_linked (line 693) | def test_retries_multiple_attempts_until_linked(self, _sleep): FILE: packages/nvidia_nat_langchain/tests/test_dynamo_trie_loading.py function fixture_trie_file (line 34) | def fixture_trie_file(): function fixture_mock_builder (line 55) | def fixture_mock_builder(): function test_dynamo_config_with_valid_trie_path (line 60) | def test_dynamo_config_with_valid_trie_path(trie_file): function test_dynamo_config_with_nonexistent_trie_path (line 72) | def test_dynamo_config_with_nonexistent_trie_path(): function test_dynamo_langchain_loads_trie_and_passes_to_client (line 87) | async def test_dynamo_langchain_loads_trie_and_passes_to_client(mock_cha... function test_dynamo_langchain_handles_nonexistent_trie_gracefully (line 118) | async def test_dynamo_langchain_handles_nonexistent_trie_gracefully(mock... function test_dynamo_langchain_no_trie_path_means_no_lookup (line 148) | async def test_dynamo_langchain_no_trie_path_means_no_lookup(mock_chat, ... function test_dynamo_langchain_handles_invalid_trie_file_gracefully (line 178) | async def test_dynamo_langchain_handles_invalid_trie_file_gracefully(moc... FILE: packages/nvidia_nat_langchain/tests/test_embedder_langchain.py class TestOpenAIEmbedderLangChain (line 32) | class TestOpenAIEmbedderLangChain: method openai_embedder_config (line 36) | def openai_embedder_config(self): method test_verify_ssl_passed_to_client (line 41) | async def test_verify_ssl_passed_to_client(self, class TestAzureOpenAIEmbedderLangChain (line 62) | class TestAzureOpenAIEmbedderLangChain: method azure_embedder_config (line 66) | def azure_embedder_config(self): method test_verify_ssl_passed_to_client (line 76) | async def test_verify_ssl_passed_to_client(self, class TestNIMEmbedderLangChain (line 97) | class TestNIMEmbedderLangChain: method nim_embedder_config (line 101) | def nim_embedder_config(self): method test_verify_ssl_passed_to_nvidia_embeddings (line 106) | async def test_verify_ssl_passed_to_nvidia_embeddings(self, FILE: packages/nvidia_nat_langchain/tests/test_exa_internet_search.py function test_api_key_is_secret_str (line 33) | def test_api_key_is_secret_str(constructor_args: dict): function test_default_api_key_is_unique_instance (line 44) | def test_default_api_key_is_unique_instance(): function test_max_retries_rejects_zero (line 53) | def test_max_retries_rejects_zero(): function test_max_results_rejects_zero (line 60) | def test_max_results_rejects_zero(): function test_invalid_search_type_rejected (line 67) | def test_invalid_search_type_rejected(): function test_invalid_livecrawl_rejected (line 74) | def test_invalid_livecrawl_rejected(): function tool_config (line 85) | def tool_config(): function test_empty_key_returns_unavailable (line 90) | async def test_empty_key_returns_unavailable(tool_config): function test_query_truncation (line 101) | async def test_query_truncation(tool_config): function test_empty_results (line 124) | async def test_empty_results(tool_config): function test_retries_on_exception (line 140) | async def test_retries_on_exception(tool_config): FILE: packages/nvidia_nat_langchain/tests/test_finetuning_parser.py function test_skip_non_relevant_event_types (line 25) | def test_skip_non_relevant_event_types(): function test_skip_streaming_chunks (line 35) | def test_skip_streaming_chunks(): function test_skip_llm_start_after_tool_end (line 46) | def test_skip_llm_start_after_tool_end(): FILE: packages/nvidia_nat_langchain/tests/test_langchain_agents.py function test_nim_langchain_agent (line 34) | async def test_nim_langchain_agent(): function test_openai_langchain_agent (line 58) | async def test_openai_langchain_agent(): function test_aws_bedrock_langchain_agent (line 81) | async def test_aws_bedrock_langchain_agent(): function test_azure_openai_langchain_agent (line 110) | async def test_azure_openai_langchain_agent(api_version: str | None): function test_oci_hosted_nemotron_openai_compatible_agent (line 139) | async def test_oci_hosted_nemotron_openai_compatible_agent(): function test_azure_openai_react_e2e (line 168) | async def test_azure_openai_react_e2e(test_data_dir: str): function test_huggingface_langchain_agent (line 176) | async def test_huggingface_langchain_agent(): function test_oci_langchain_agent (line 220) | async def test_oci_langchain_agent(model_env_var: str, provider: str): FILE: packages/nvidia_nat_langchain/tests/test_langchain_callback_handler.py function test_langchain_handler (line 26) | async def test_langchain_handler(reactive_stream: Subject): function test_extract_tools_schema_openai_format (line 94) | def test_extract_tools_schema_openai_format(): function test_extract_tools_schema_anthropic_format (line 120) | def test_extract_tools_schema_anthropic_format(): function test_extract_tools_schema_mixed_formats (line 150) | def test_extract_tools_schema_mixed_formats(): function test_extract_tools_schema_anthropic_additional_properties (line 190) | def test_extract_tools_schema_anthropic_additional_properties(): function test_extract_tools_schema_skips_unparseable_tool (line 214) | def test_extract_tools_schema_skips_unparseable_tool(): function test_extract_tools_schema_skips_non_mapping_input_schema (line 242) | def test_extract_tools_schema_skips_non_mapping_input_schema(caplog): function test_extract_tools_schema_empty_and_none (line 276) | def test_extract_tools_schema_empty_and_none(): FILE: packages/nvidia_nat_langchain/tests/test_langchain_parser.py class TestParseLangChainMessage (line 29) | class TestParseLangChainMessage: method test_parse_human_message (line 32) | def test_parse_human_message(self): method test_parse_ai_message (line 39) | def test_parse_ai_message(self): method test_parse_system_message (line 46) | def test_parse_system_message(self): method test_parse_tool_message (line 53) | def test_parse_tool_message(self): method test_parse_function_message (line 61) | def test_parse_function_message(self): method test_parse_ai_message_with_tool_calls (line 69) | def test_parse_ai_message_with_tool_calls(self): method test_parse_ai_message_with_function_call (line 77) | def test_parse_ai_message_with_function_call(self): method test_parse_empty_content (line 85) | def test_parse_empty_content(self): class TestParseDictMessage (line 93) | class TestParseDictMessage: method test_parse_basic_dict (line 96) | def test_parse_basic_dict(self): method test_parse_with_text_field (line 103) | def test_parse_with_text_field(self): method test_parse_default_role (line 110) | def test_parse_default_role(self): method test_parse_with_optional_fields (line 116) | def test_parse_with_optional_fields(self): method test_parse_empty_content (line 136) | def test_parse_empty_content(self): class TestExtractContent (line 143) | class TestExtractContent: method test_extract_string (line 146) | def test_extract_string(self): method test_extract_from_dict_with_content (line 150) | def test_extract_from_dict_with_content(self): method test_extract_from_dict_with_text (line 155) | def test_extract_from_dict_with_text(self): method test_extract_from_dict_with_message (line 160) | def test_extract_from_dict_with_message(self): method test_extract_from_dict_fallback_to_json (line 165) | def test_extract_from_dict_fallback_to_json(self): method test_extract_from_string_list (line 172) | def test_extract_from_string_list(self): method test_extract_from_mixed_list (line 178) | def test_extract_from_mixed_list(self): method test_extract_from_object_with_content_attr (line 185) | def test_extract_from_object_with_content_attr(self): method test_extract_fallback_to_str (line 191) | def test_extract_fallback_to_str(self): method test_extract_empty_string (line 196) | def test_extract_empty_string(self): method test_extract_none (line 200) | def test_extract_none(self): FILE: packages/nvidia_nat_langchain/tests/test_langgraph_workflow.py class TestConvertChatRequest (line 31) | class TestConvertChatRequest: method test_single_user_message (line 34) | def test_single_user_message(self): method test_multi_turn (line 44) | def test_multi_turn(self): method test_system_message (line 60) | def test_system_message(self): class TestConvertStr (line 74) | class TestConvertStr: method test_plain_text (line 77) | def test_plain_text(self): method test_empty_string (line 86) | def test_empty_string(self): class TestConvertOutputToChatResponse (line 95) | class TestConvertOutputToChatResponse: method test_single_ai_message (line 98) | def test_single_ai_message(self): method test_empty_messages (line 107) | def test_empty_messages(self): method test_multi_message_uses_last (line 115) | def test_multi_message_uses_last(self): class TestConvertOutputToChatResponseChunk (line 123) | class TestConvertOutputToChatResponseChunk: method test_single_ai_message (line 126) | def test_single_ai_message(self): method test_empty_messages (line 135) | def test_empty_messages(self): method test_multi_message_uses_last (line 143) | def test_multi_message_uses_last(self): class TestConvertToStr (line 151) | class TestConvertToStr: method test_single_ai_message (line 154) | def test_single_ai_message(self): method test_empty_messages (line 160) | def test_empty_messages(self): method test_multi_message_returns_last (line 166) | def test_multi_message_returns_last(self): class TestParseStreamOutput (line 173) | class TestParseStreamOutput: method test_flat_dict (line 176) | def test_flat_dict(self): method test_node_keyed_dict (line 184) | def test_node_keyed_dict(self): method test_multi_key_dict_raises (line 192) | def test_multi_key_dict_raises(self): FILE: packages/nvidia_nat_langchain/tests/test_llm_langchain.py class TestNimLangChain (line 46) | class TestNimLangChain: method nim_cfg (line 50) | def nim_cfg(self): method nim_cfg_wrong_api (line 55) | def nim_cfg_wrong_api(self): method test_basic_creation (line 60) | async def test_basic_creation(self, mock_chat, nim_cfg, mock_builder): method test_api_type_validation (line 70) | async def test_api_type_validation(self, mock_chat, nim_cfg_wrong_api,... method test_verify_ssl_passed_to_chat_nvidia (line 79) | async def test_verify_ssl_passed_to_chat_nvidia(self, mock_chat, nim_c... class TestOpenAILangChain (line 93) | class TestOpenAILangChain: method oa_cfg (line 97) | def oa_cfg(self): method oa_cfg_responses (line 101) | def oa_cfg_responses(self): method test_basic_creation (line 111) | async def test_basic_creation(self, mock_chat, oa_cfg, mock_builder): method test_responses_branch (line 122) | async def test_responses_branch(self, mock_chat, oa_cfg_responses, moc... method test_verify_ssl_passed_to_client (line 138) | async def test_verify_ssl_passed_to_client(self, class TestAzureOpenAILangChain (line 158) | class TestAzureOpenAILangChain: method azure_cfg (line 162) | def azure_cfg(self): method test_verify_ssl_passed_to_client (line 172) | async def test_verify_ssl_passed_to_client(self, class TestOCILangChain (line 187) | class TestOCILangChain: method oci_cfg (line 191) | def oci_cfg(self): method oci_cfg_wrong_api (line 204) | def oci_cfg_wrong_api(self): method test_basic_creation (line 215) | async def test_basic_creation(self, method test_openai_provider_uses_max_completion_tokens (line 261) | async def test_openai_provider_uses_max_completion_tokens(self, method test_api_type_validation (line 285) | async def test_api_type_validation(self, mock_get_chat, oci_cfg_wrong_... class TestBedrockLangChain (line 297) | class TestBedrockLangChain: method bedrock_cfg (line 301) | def bedrock_cfg(self): method bedrock_cfg_wrong_api (line 305) | def bedrock_cfg_wrong_api(self): method test_basic_creation (line 309) | async def test_basic_creation(self, mock_chat, bedrock_cfg, mock_build... method test_api_type_validation (line 317) | async def test_api_type_validation(self, mock_chat, bedrock_cfg_wrong_... class TestDynamoLangChain (line 329) | class TestDynamoLangChain: method dynamo_cfg_no_prefix (line 333) | def dynamo_cfg_no_prefix(self): method dynamo_cfg_with_prefix (line 341) | def dynamo_cfg_with_prefix(self): method dynamo_cfg_responses_api (line 355) | def dynamo_cfg_responses_api(self): method test_basic_creation_without_prefix (line 366) | async def test_basic_creation_without_prefix(self, mock_chat, dynamo_c... method test_creation_with_prefix_template (line 381) | async def test_creation_with_prefix_template(self, method test_responses_api_branch (line 413) | async def test_responses_api_branch(self, mock_chat, mock_create_clien... method test_excludes_dynamo_specific_fields (line 439) | async def test_excludes_dynamo_specific_fields(self, method test_verify_ssl_passed_to_client (line 487) | async def test_verify_ssl_passed_to_client(self, class TestLiteLlmLangChain (line 506) | class TestLiteLlmLangChain: method litellm_cfg (line 510) | def litellm_cfg(self): method test_verify_ssl_calls_handle_litellm_verify_ssl (line 516) | async def test_verify_ssl_calls_handle_litellm_verify_ssl(self, function test_decorator_registration (line 534) | def test_decorator_registration(mock_global_registry): FILE: packages/nvidia_nat_langchain/tests/test_tavily_internet_search.py function test_api_key_is_secret_str (line 26) | def test_api_key_is_secret_str(constructor_args: dict): function test_default_api_key_is_unique_instance (line 37) | def test_default_api_key_is_unique_instance(): FILE: packages/nvidia_nat_llama_index/src/nat/plugins/llama_index/callback_handler.py class LlamaIndexProfilerHandler (line 43) | class LlamaIndexProfilerHandler(BaseCallbackHandler, BaseProfilerCallback): method __init__ (line 56) | def __init__(self) -> None: method _extract_token_usage (line 69) | def _extract_token_usage(response: ChatResponse) -> TokenUsageBaseModel: method on_event_start (line 88) | def on_event_start( method on_event_end (line 161) | def on_event_end( method start_trace (line 232) | def start_trace(self, trace_id: str | None = None) -> None: method end_trace (line 236) | def end_trace( FILE: packages/nvidia_nat_llama_index/src/nat/plugins/llama_index/embedder.py function azure_openai_llama_index (line 28) | async def azure_openai_llama_index(embedder_config: AzureOpenAIEmbedderM... function nim_llama_index (line 52) | async def nim_llama_index(embedder_config: NIMEmbedderModelConfig, _buil... function openai_llama_index (line 78) | async def openai_llama_index(embedder_config: OpenAIEmbedderModelConfig,... FILE: packages/nvidia_nat_llama_index/src/nat/plugins/llama_index/llama_index_parser.py function parse_to_openai_message (line 29) | def parse_to_openai_message(message: IntermediateStep) -> dict: # noqa:... function _parse_assistant_message (line 59) | def _parse_assistant_message(message: IntermediateStep) -> dict: function _parse_tool_message (line 114) | def _parse_tool_message(message: IntermediateStep) -> dict: function _parse_input_message (line 136) | def _parse_input_message(message: IntermediateStep) -> dict: function _parse_dict_message (line 184) | def _parse_dict_message(msg_dict: dict) -> dict: FILE: packages/nvidia_nat_llama_index/src/nat/plugins/llama_index/llm.py function _patch_llm_based_on_config (line 44) | def _patch_llm_based_on_config(client: ModelType, llm_config: LLMBaseCon... function aws_bedrock_llama_index (line 86) | async def aws_bedrock_llama_index(llm_config: AWSBedrockModelConfig, _bu... function azure_openai_llama_index (line 102) | async def azure_openai_llama_index(llm_config: AzureOpenAIModelConfig, _... function nim_llama_index (line 127) | async def nim_llama_index(llm_config: NIMModelConfig, _builder: Builder): function openai_llama_index (line 153) | async def openai_llama_index(llm_config: OpenAIModelConfig, _builder: Bu... function litellm_llama_index (line 184) | async def litellm_llama_index(llm_config: LiteLlmModelConfig, _builder: ... FILE: packages/nvidia_nat_llama_index/src/nat/plugins/llama_index/tool_wrapper.py function langchain_tool_wrapper (line 23) | def langchain_tool_wrapper(name: str, fn: Function, builder: Builder): FILE: packages/nvidia_nat_llama_index/tests/test_embedder_llama_index.py class TestOpenAIEmbedderLlamaIndex (line 34) | class TestOpenAIEmbedderLlamaIndex: method openai_embedder_config (line 38) | def openai_embedder_config(self): method test_verify_ssl_passed_to_client (line 43) | async def test_verify_ssl_passed_to_client(self, class TestAzureOpenAIEmbedderLlamaIndex (line 64) | class TestAzureOpenAIEmbedderLlamaIndex: method azure_embedder_config (line 68) | def azure_embedder_config(self): method test_verify_ssl_passed_to_client (line 78) | async def test_verify_ssl_passed_to_client(self, class TestNIMEmbedderLlamaIndex (line 99) | class TestNIMEmbedderLlamaIndex: method nim_embedder_config (line 103) | def nim_embedder_config(self): method test_verify_ssl_true_functions (line 107) | async def test_verify_ssl_true_functions(self, mock_embedding, nim_emb... method test_verify_ssl_false_raises_value_error (line 114) | async def test_verify_ssl_false_raises_value_error(self, nim_embedder_... FILE: packages/nvidia_nat_llama_index/tests/test_llama_index_agents.py function calculator (line 31) | def calculator(expression: str) -> str: function create_minimal_agent (line 48) | async def create_minimal_agent(llm_name: str, llm_config: Any) -> ReActA... function test_nim_minimal_agent (line 66) | async def test_nim_minimal_agent(): function test_openai_minimal_agent (line 79) | async def test_openai_minimal_agent(): function test_aws_bedrock_minimal_agent (line 92) | async def test_aws_bedrock_minimal_agent(): function test_azure_openai_minimal_agent (line 114) | async def test_azure_openai_minimal_agent(api_version: str | None): FILE: packages/nvidia_nat_llama_index/tests/test_llama_index_callback_handler.py function test_llama_index_handler_order (line 19) | async def test_llama_index_handler_order(reactive_stream: Subject): FILE: packages/nvidia_nat_llama_index/tests/test_llama_index_parser.py class TestParseDictMessage (line 22) | class TestParseDictMessage: method test_parse_basic_dict (line 25) | def test_parse_basic_dict(self): method test_parse_with_text_field (line 32) | def test_parse_with_text_field(self): method test_parse_with_blocks (line 39) | def test_parse_with_blocks(self): method test_parse_with_blocks_objects (line 46) | def test_parse_with_blocks_objects(self): method test_parse_default_role (line 58) | def test_parse_default_role(self): method test_parse_with_optional_fields (line 64) | def test_parse_with_optional_fields(self): method test_parse_empty_content (line 84) | def test_parse_empty_content(self): class TestExtractContent (line 91) | class TestExtractContent: method test_extract_string (line 94) | def test_extract_string(self): method test_extract_from_dict_with_content (line 98) | def test_extract_from_dict_with_content(self): method test_extract_from_dict_with_text (line 103) | def test_extract_from_dict_with_text(self): method test_extract_from_dict_with_blocks (line 108) | def test_extract_from_dict_with_blocks(self): method test_extract_from_dict_fallback_to_json (line 113) | def test_extract_from_dict_fallback_to_json(self): method test_extract_from_string_list (line 120) | def test_extract_from_string_list(self): method test_extract_from_mixed_list (line 126) | def test_extract_from_mixed_list(self): method test_extract_from_object_with_content_attr (line 133) | def test_extract_from_object_with_content_attr(self): method test_extract_from_object_with_text_attr (line 139) | def test_extract_from_object_with_text_attr(self): method test_extract_fallback_to_str (line 146) | def test_extract_fallback_to_str(self): method test_extract_empty_string (line 151) | def test_extract_empty_string(self): method test_extract_none (line 155) | def test_extract_none(self): FILE: packages/nvidia_nat_llama_index/tests/test_llm_llama_index.py class TestNimLlamaIndex (line 37) | class TestNimLlamaIndex: method nim_cfg (line 41) | def nim_cfg(self): method nim_cfg_bad_api (line 45) | def nim_cfg_bad_api(self): method test_basic_creation (line 49) | async def test_basic_creation(self, mock_nv, nim_cfg, mock_builder): method test_api_type_validation (line 58) | async def test_api_type_validation(self, mock_nv, nim_cfg_bad_api, moc... method test_verify_ssl_passed_to_client (line 67) | async def test_verify_ssl_passed_to_client(self, class TestOpenAILlamaIndex (line 88) | class TestOpenAILlamaIndex: method oa_cfg_chat (line 92) | def oa_cfg_chat(self): method oa_cfg_responses (line 96) | def oa_cfg_responses(self): method test_chat_completion_branch (line 101) | async def test_chat_completion_branch(self, mock_openai, oa_cfg_chat, ... method test_responses_branch (line 112) | async def test_responses_branch(self, mock_resp, oa_cfg_responses, moc... method test_verify_ssl_passed_to_client (line 123) | async def test_verify_ssl_passed_to_client(self, class TestBedrockLlamaIndex (line 144) | class TestBedrockLlamaIndex: method br_cfg (line 148) | def br_cfg(self): method br_cfg_bad_api (line 152) | def br_cfg_bad_api(self): method test_basic_creation (line 156) | async def test_basic_creation(self, mock_bedrock, br_cfg, mock_builder): method test_api_type_validation (line 163) | async def test_api_type_validation(self, mock_bedrock, br_cfg_bad_api,... function test_decorator_registration (line 176) | def test_decorator_registration(mock_global_registry): FILE: packages/nvidia_nat_mcp/scripts/check_mcp_auth_cookie.py class _InteractiveExecutionError (line 67) | class _InteractiveExecutionError(RuntimeError): method __init__ (line 70) | def __init__(self) -> None: class _ExecutionStatusTimeout (line 74) | class _ExecutionStatusTimeout(TimeoutError): method __init__ (line 77) | def __init__(self, timeout_seconds: float) -> None: function build_ws_message (line 81) | def build_ws_message(input_message: str) -> dict: function build_http_payload (line 106) | def build_http_payload(input_message: str) -> dict: function parse_args (line 124) | def parse_args() -> argparse.Namespace: function _validate_user_id (line 159) | def _validate_user_id(raw_user_id: str) -> str: function _validate_http_url (line 168) | def _validate_http_url(raw_url: str) -> str: function _resolve_http_url (line 176) | def _resolve_http_url(args: argparse.Namespace) -> str: function _absolute_url (line 182) | def _absolute_url(http_url: str, maybe_relative: str | None) -> str | None: function _print_chat_result (line 188) | def _print_chat_result(data: dict) -> None: function _handle_execution_status_payload (line 196) | def _handle_execution_status_payload(status_payload: dict) -> tuple[bool... function _follow_http_interactive (line 211) | def _follow_http_interactive(client: httpx.Client, http_url: str, first_... function run_ws (line 251) | async def run_ws(args: argparse.Namespace) -> None: function run_http (line 302) | def run_http(args: argparse.Namespace) -> None: function main (line 327) | async def main() -> None: FILE: packages/nvidia_nat_mcp/scripts/check_mcp_auth_jwt.py class _AuthlibMissingError (line 59) | class _AuthlibMissingError(ImportError): method __init__ (line 62) | def __init__(self) -> None: class _InteractiveExecutionError (line 83) | class _InteractiveExecutionError(RuntimeError): method __init__ (line 86) | def __init__(self) -> None: class _ExecutionStatusTimeout (line 90) | class _ExecutionStatusTimeout(TimeoutError): method __init__ (line 93) | def __init__(self, timeout_seconds: float) -> None: function make_test_jwt (line 97) | def make_test_jwt(user_id: str) -> str: function build_ws_message (line 112) | def build_ws_message(input_message: str) -> dict: function build_http_payload (line 137) | def build_http_payload(input_message: str, *, stream: bool = False) -> d... function parse_args (line 156) | def parse_args() -> argparse.Namespace: function _validate_user_id (line 190) | def _validate_user_id(raw_user_id: str) -> str: function _validate_http_url (line 199) | def _validate_http_url(raw_url: str) -> str: function _resolve_http_url (line 207) | def _resolve_http_url(args: argparse.Namespace) -> str: function _is_streaming_http_target (line 215) | def _is_streaming_http_target(args: argparse.Namespace, http_url: str) -... function _absolute_url (line 219) | def _absolute_url(http_url: str, maybe_relative: str | None) -> str | None: function _print_chat_result (line 225) | def _print_chat_result(data: dict) -> None: function _handle_execution_status_payload (line 233) | def _handle_execution_status_payload(status_payload: dict) -> tuple[bool... function _follow_http_interactive (line 256) | async def _follow_http_interactive(client: httpx.AsyncClient, http_url: ... function run_ws (line 303) | async def run_ws(args: argparse.Namespace) -> None: function run_http (line 354) | async def run_http(args: argparse.Namespace) -> None: function main (line 432) | async def main() -> None: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/auth_flow_handler.py class MCPAuthenticationFlowHandler (line 38) | class MCPAuthenticationFlowHandler(ConsoleAuthenticationFlowHandler): method __init__ (line 53) | def __init__(self): method authenticate (line 63) | async def authenticate(self, config: AuthProviderBaseConfig, method: A... method _handle_oauth2_auth_code_flow (line 93) | async def _handle_oauth2_auth_code_flow(self, cfg: OAuth2AuthCodeFlowP... method _start_redirect_server (line 195) | async def _start_redirect_server(self) -> None: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/auth_provider.py class OAuth2Endpoints (line 46) | class OAuth2Endpoints(BaseModel): class OAuth2Credentials (line 54) | class OAuth2Credentials(BaseModel): class DiscoverOAuth2Endpoints (line 60) | class DiscoverOAuth2Endpoints: method __init__ (line 69) | def __init__(self, config: MCPOAuth2ProviderConfig): method discover (line 76) | async def discover(self, response: httpx.Response | None = None) -> tu... method _authorization_base_url (line 132) | def _authorization_base_url(self) -> str: method _extract_from_www_authenticate_header (line 137) | def _extract_from_www_authenticate_header(self, hdr: str) -> str | None: method _fetch_pr_issuer (line 152) | async def _fetch_pr_issuer(self, url: str) -> str | None: method _discover_via_issuer_or_base (line 169) | async def _discover_via_issuer_or_base(self, base_or_issuer: str) -> O... method _build_path_aware_discovery_urls (line 222) | def _build_path_aware_discovery_urls(self, base_or_issuer: str) -> lis... class DynamicClientRegistration (line 243) | class DynamicClientRegistration: method __init__ (line 246) | def __init__(self, config: MCPOAuth2ProviderConfig): method _authorization_base_url (line 249) | def _authorization_base_url(self) -> str: method register (line 254) | async def register(self, endpoints: OAuth2Endpoints, scopes: list[str]... class MCPOAuth2Provider (line 315) | class MCPOAuth2Provider(AuthProviderBase[MCPOAuth2ProviderConfig]): method __init__ (line 318) | def __init__(self, config: MCPOAuth2ProviderConfig, builder=None): method _invalidate_cached_registration (line 351) | def _invalidate_cached_registration(self, reason: str) -> None: method _is_cached_credentials_expired (line 361) | def _is_cached_credentials_expired(self) -> bool: method _is_redirect_uri_registration_error (line 372) | def _is_redirect_uri_registration_error(self, error: Exception) -> bool: method _discover_and_register_locked (line 377) | async def _discover_and_register_locked(self, method _set_custom_auth_callback (line 387) | def _set_custom_auth_callback(self, method authenticate (line 397) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... method _effective_scopes (line 429) | def _effective_scopes(self) -> list[str]: method _discover_and_register (line 433) | async def _discover_and_register(self, response: httpx.Response | None... method _nat_oauth2_authenticate (line 462) | async def _nat_oauth2_authenticate(self, user_id: str | None = None) -... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/auth_provider_config.py class MCPOAuth2ProviderConfig (line 24) | class MCPOAuth2ProviderConfig(AuthProviderBaseConfig, name="mcp_oauth2"): method validate_auth_config (line 76) | def validate_auth_config(self): FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/register.py function mcp_oauth2_provider (line 25) | async def mcp_oauth2_provider(authentication_provider: MCPOAuth2Provider... function mcp_service_account_provider (line 31) | async def mcp_service_account_provider(authentication_provider: MCPServi... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/service_account/provider.py class MCPServiceAccountProvider (line 33) | class MCPServiceAccountProvider(AuthProviderBase[MCPServiceAccountProvid... method __init__ (line 45) | def __init__(self, config: MCPServiceAccountProviderConfig, builder=No... method _load_function (line 68) | def _load_function(self, function_path: str) -> typing.Callable: method authenticate (line 79) | async def authenticate(self, user_id: str | None = None, **kwargs) -> ... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/service_account/provider_config.py class ServiceTokenConfig (line 28) | class ServiceTokenConfig(BaseModel): method validate_token_or_function (line 72) | def validate_token_or_function(self): class MCPServiceAccountProviderConfig (line 86) | class MCPServiceAccountProviderConfig(AuthProviderBaseConfig, name="mcp_... method validate_scopes (line 129) | def validate_scopes(cls, v): FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/auth/service_account/token_client.py class ServiceAccountTokenClient (line 28) | class ServiceAccountTokenClient: method __init__ (line 35) | def __init__( method token_expires_at (line 65) | def token_expires_at(self) -> datetime | None: method _get_lock (line 68) | async def _get_lock(self) -> asyncio.Lock: method _is_token_valid (line 74) | def _is_token_valid(self) -> bool: method get_access_token (line 81) | async def get_access_token(self) -> SecretStr: method _fetch_new_token (line 109) | async def _fetch_new_token(self) -> SecretStr: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/cli/commands.py function mcp_command (line 35) | def mcp_command(): function format_mcp_error (line 56) | def format_mcp_error(error, include_traceback=False): function validate_transport_cli_args (line 60) | def validate_transport_cli_args(transport: str, command: str | None, arg... function _validate_oauth_cli_options (line 79) | def _validate_oauth_cli_options( class MCPPingResult (line 108) | class MCPPingResult(BaseModel): function format_tool (line 123) | def format_tool(tool: Any) -> dict[str, str | None]: function print_tool (line 163) | def print_tool(tool_dict: dict[str, str | None], detail: bool = False) -... function _set_auth_defaults (line 185) | def _set_auth_defaults(auth: bool, function _create_mcp_client_config (line 213) | async def _create_mcp_client_config( function _create_bearer_token_auth_config (line 256) | async def _create_bearer_token_auth_config( function list_tools_via_function_group (line 291) | async def list_tools_via_function_group( function list_tools_direct (line 385) | async def list_tools_direct(command, url, tool_name=None, transport='sse... function ping_mcp_server (line 473) | async def ping_mcp_server(url: str, function mcp_client_command (line 580) | def mcp_client_command(): function mcp_client_tool_group (line 590) | def mcp_client_tool_group(): function mcp_client_tool_list (line 631) | def mcp_client_tool_list(ctx, function mcp_client_ping (line 772) | def mcp_client_ping(url: str, function call_tool_direct (line 855) | async def call_tool_direct(command: str | None, function call_tool_and_print (line 961) | async def call_tool_and_print(command: str | None, function mcp_client_tool_call (line 1102) | def mcp_client_tool_call(tool_name: str, FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/client/client_base.py class AuthAdapter (line 54) | class AuthAdapter(httpx.Auth): method __init__ (line 60) | def __init__(self, auth_provider: AuthProviderBase, user_id: str | Non... method async_auth_flow (line 68) | async def async_auth_flow(self, request: httpx.Request) -> AsyncGenera... method _get_auth_headers (line 110) | async def _get_auth_headers(self, class MCPBaseClient (line 138) | class MCPBaseClient(ABC): method __init__ (line 153) | def __init__(self, method auth_provider (line 191) | def auth_provider(self) -> AuthProviderBase | None: method transport (line 195) | def transport(self) -> str: method __aenter__ (line 198) | async def __aenter__(self): method __aexit__ (line 212) | async def __aexit__(self, exc_type, exc_value, traceback): method is_connected (line 223) | def is_connected(self) -> bool: method server_name (line 228) | def server_name(self): method connect_to_server (line 236) | async def connect_to_server(self) -> AsyncGenerator[ClientSession, None]: method _reconnect (line 242) | async def _reconnect(self): method _with_reconnect (line 278) | async def _with_reconnect(self, coro): method _has_cached_auth_token (line 308) | async def _has_cached_auth_token(self) -> bool: method _get_tool_call_timeout (line 333) | async def _get_tool_call_timeout(self) -> timedelta: method get_tools (line 350) | async def get_tools(self) -> dict[str, MCPToolClient]: method get_tool (line 386) | async def get_tool(self, tool_name: str) -> MCPToolClient: method set_user_auth_callback (line 410) | def set_user_auth_callback(self, auth_callback: Callable[[AuthFlowType... method call_tool (line 416) | async def call_tool(self, tool_name: str, tool_args: dict | None): class MCPSSEClient (line 426) | class MCPSSEClient(MCPBaseClient): method __init__ (line 434) | def __init__(self, method url (line 452) | def url(self) -> str: method server_name (line 456) | def server_name(self): method connect_to_server (line 461) | async def connect_to_server(self): class MCPStdioClient (line 471) | class MCPStdioClient(MCPBaseClient): method __init__ (line 483) | def __init__(self, method command (line 505) | def command(self) -> str: method server_name (line 509) | def server_name(self): method args (line 513) | def args(self) -> list[str] | None: method env (line 517) | def env(self) -> dict[str, str] | None: method connect_to_server (line 522) | async def connect_to_server(self): class MCPStreamableHTTPClient (line 534) | class MCPStreamableHTTPClient(MCPBaseClient): method __init__ (line 551) | def __init__(self, method url (line 577) | def url(self) -> str: method custom_headers (line 581) | def custom_headers(self) -> dict[str, str]: method mcp_session_id (line 586) | def mcp_session_id(self) -> str | None: method server_name (line 601) | def server_name(self): method connect_to_server (line 606) | async def connect_to_server(self): class MCPToolClient (line 648) | class MCPToolClient: method __init__ (line 661) | def __init__(self, method name (line 677) | def name(self): method description (line 682) | def description(self): method input_schema (line 691) | def input_schema(self): method set_description (line 697) | def set_description(self, description: str): method acall (line 703) | async def acall(self, tool_args: dict) -> str: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/client/client_config.py class MCPToolOverrideConfig (line 28) | class MCPToolOverrideConfig(BaseModel): class MCPServerConfig (line 36) | class MCPServerConfig(BaseModel): method validate_model (line 64) | def validate_model(self): class MCPClientBaseConfig (line 97) | class MCPClientBaseConfig(FunctionGroupBaseConfig): method _validate_reconnect_backoff (line 133) | def _validate_reconnect_backoff(self) -> "MCPClientBaseConfig": class MCPClientConfig (line 140) | class MCPClientConfig(MCPClientBaseConfig, name="mcp_client"): class PerUserMCPClientConfig (line 154) | class PerUserMCPClientConfig(MCPClientBaseConfig, name="per_user_mcp_cli... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/client/client_impl.py function _annotation_allows_none (line 48) | def _annotation_allows_none(annotation: object) -> bool: function _drop_invalid_none_values (line 64) | def _drop_invalid_none_values(args: dict, schema: type[BaseModel]) -> dict: class PerUserMCPFunctionGroup (line 78) | class PerUserMCPFunctionGroup(FunctionGroup): method __init__ (line 83) | def __init__(self, *args, **kwargs): function mcp_per_user_tool_function (line 92) | def mcp_per_user_tool_function(tool, client: MCPBaseClient): class SessionData (line 138) | class SessionData: class MCPFunctionGroup (line 150) | class MCPFunctionGroup(FunctionGroup): method __init__ (line 189) | def __init__(self, *args, **kwargs): method session_count (line 218) | def session_count(self) -> int: method session_limit (line 223) | def session_limit(self) -> int: method _get_random_session_id (line 227) | def _get_random_session_id(self) -> str: method _get_session_id_from_context (line 232) | def _get_session_id_from_context(self) -> str | None: method cleanup_sessions (line 257) | async def cleanup_sessions(self, max_age: timedelta | None = None) -> ... method _cleanup_inactive_sessions (line 272) | async def _cleanup_inactive_sessions(self, max_age: timedelta | None =... method _get_session_client (line 329) | async def _get_session_client(self, session_id: str) -> MCPBaseClient ... method _session_usage_context (line 387) | async def _session_usage_context(self, session_id: str): method _create_session_client (line 417) | async def _create_session_client(self, session_id: str) -> tuple[MCPBa... function mcp_session_tool_function (line 487) | def mcp_session_tool_function(tool, function_group: MCPFunctionGroup): function mcp_client_function_group (line 556) | async def mcp_client_function_group(config: MCPClientConfig, _builder: B... function mcp_apply_tool_alias_and_description (line 673) | def mcp_apply_tool_alias_and_description( function per_user_mcp_client_function_group (line 691) | async def per_user_mcp_client_function_group(config: PerUserMCPClientCon... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/client/fastapi_routes.py class MCPToolInfo (line 32) | class MCPToolInfo(BaseModel): class MCPClientToolListResponse (line 41) | class MCPClientToolListResponse(BaseModel): function _collect_mcp_client_tool_list (line 47) | async def _collect_mcp_client_tool_list(function_groups: dict[str, Funct... function add_mcp_client_tool_list_route (line 174) | async def add_mcp_client_tool_list_route(app: FastAPI, builder: Workflow... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/exception_handler.py function format_mcp_error (line 37) | def format_mcp_error(error: MCPError, include_traceback: bool = False) -... function _extract_url (line 55) | def _extract_url(args: tuple, kwargs: dict[str, Any], url_param: str, fu... function extract_primary_exception (line 84) | def extract_primary_exception(exceptions: list[Exception]) -> Exception: function convert_to_mcp_error (line 114) | def convert_to_mcp_error(exception: Exception, url: str) -> MCPError: function handle_mcp_exceptions (line 147) | def handle_mcp_exceptions(url_param: str = "url") -> Callable[..., Any]: function mcp_exception_handler (line 199) | def mcp_exception_handler(func: Callable[..., Any]) -> Callable[..., Any]: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/exceptions.py class MCPErrorCategory (line 19) | class MCPErrorCategory(StrEnum): class MCPError (line 30) | class MCPError(Exception): method __init__ (line 33) | def __init__(self, class MCPConnectionError (line 46) | class MCPConnectionError(MCPError): method __init__ (line 49) | def __init__(self, url: str, original_exception: Exception | None = No... class MCPTimeoutError (line 60) | class MCPTimeoutError(MCPError): method __init__ (line 63) | def __init__(self, url: str, original_exception: Exception | None = No... class MCPSSLError (line 74) | class MCPSSLError(MCPError): method __init__ (line 77) | def __init__(self, url: str, original_exception: Exception | None = No... class MCPRequestError (line 88) | class MCPRequestError(MCPError): method __init__ (line 91) | def __init__(self, url: str, original_exception: Exception | None = No... class MCPToolNotFoundError (line 103) | class MCPToolNotFoundError(MCPError): method __init__ (line 106) | def __init__(self, tool_name: str, url: str, original_exception: Excep... class MCPAuthenticationError (line 117) | class MCPAuthenticationError(MCPError): method __init__ (line 120) | def __init__(self, url: str, original_exception: Exception | None = No... class MCPProtocolError (line 131) | class MCPProtocolError(MCPError): method __init__ (line 134) | def __init__(self, url: str, message: str = "Protocol error", original... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/front_end_config.py class MCPFrontEndConfig (line 29) | class MCPFrontEndConfig(FrontEndBaseConfig, name="mcp"): method validate_base_path (line 61) | def validate_base_path(cls, v: str | None) -> str | None: method validate_security_configuration (line 84) | def validate_security_configuration(self): FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/front_end_plugin.py class MCPFrontEndPlugin (line 30) | class MCPFrontEndPlugin(FrontEndBase[MCPFrontEndConfig]): method get_worker_class (line 33) | def get_worker_class(self) -> type[MCPFrontEndPluginWorkerBase]: method get_worker_class_name (line 40) | def get_worker_class_name(self) -> str: method _get_worker_instance (line 48) | def _get_worker_instance(self): method run (line 61) | async def run(self) -> None: method _run_with_mount (line 107) | async def _run_with_mount(self, mcp: "FastMCP") -> None: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/front_end_plugin_worker.py class MCPFrontEndPluginWorkerBase (line 43) | class MCPFrontEndPluginWorkerBase(ABC): method __init__ (line 51) | def __init__(self, config: Config): method _setup_health_endpoint (line 66) | def _setup_health_endpoint(self, mcp: FastMCP): method create_mcp_server (line 98) | async def create_mcp_server(self) -> FastMCP: method add_routes (line 110) | async def add_routes(self, mcp: FastMCP, builder: WorkflowBuilder): method _default_add_routes (line 123) | async def _default_add_routes(self, mcp: FastMCP, builder: WorkflowBui... method _get_all_functions (line 202) | async def _get_all_functions(self, workflow: Workflow) -> dict[str, Fu... method add_root_level_routes (line 225) | async def add_root_level_routes(self, wrapper_app: "FastAPI", mcp: Fas... method _setup_debug_endpoints (line 247) | def _setup_debug_endpoints(self, mcp: FastMCP, functions: Mapping[str,... class MCPFrontEndPluginWorker (line 355) | class MCPFrontEndPluginWorker(MCPFrontEndPluginWorkerBase): method create_mcp_server (line 375) | async def create_mcp_server(self) -> FastMCP: method add_routes (line 407) | async def add_routes(self, mcp: FastMCP, builder: WorkflowBuilder): FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/introspection_token_verifier.py class IntrospectionTokenVerifier (line 27) | class IntrospectionTokenVerifier(TokenVerifier): method __init__ (line 30) | def __init__(self, config: OAuth2ResourceServerConfig): method verify_token (line 56) | async def verify_token(self, token: str) -> AccessToken | None: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/memory_profiler.py class MemoryProfiler (line 25) | class MemoryProfiler: method __init__ (line 28) | def __init__(self, enabled: bool = False, log_interval: int = 50, top_... method _log (line 65) | def _log(self, message: str, *args: Any) -> None: method on_request_complete (line 74) | def on_request_complete(self) -> None: method _ensure_tracing (line 82) | def _ensure_tracing(self) -> bool: method _safe_traced_memory (line 110) | def _safe_traced_memory(self) -> tuple[float, float] | None: method _safe_snapshot (line 122) | def _safe_snapshot(self) -> tracemalloc.Snapshot | None: method log_memory_stats (line 132) | def log_memory_stats(self) -> dict[str, Any]: method _count_instances_of_type (line 210) | def _count_instances_of_type(self, type_name: str) -> int: method _safe_exporter_count (line 221) | def _safe_exporter_count(self) -> int: method _safe_isolated_exporter_count (line 229) | def _safe_isolated_exporter_count(self) -> int: method _safe_intermediate_step_manager_count (line 236) | def _safe_intermediate_step_manager_count(self) -> int: method _safe_outstanding_step_count (line 250) | def _safe_outstanding_step_count(self) -> int: method get_stats (line 278) | def get_stats(self) -> dict[str, Any]: method reset_baseline (line 310) | def reset_baseline(self) -> None: FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/register_frontend.py function register_mcp_front_end (line 24) | async def register_mcp_front_end(config: MCPFrontEndConfig, full_config:... FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/server/tool_converter.py function is_field_optional (line 41) | def is_field_optional(field: FieldInfo) -> tuple[bool, Any]: function create_function_wrapper (line 73) | def create_function_wrapper( function get_function_description (line 214) | def get_function_description(function: FunctionBase) -> str: function register_function_with_mcp (line 257) | def register_function_with_mcp(mcp: FastMCP, FILE: packages/nvidia_nat_mcp/src/nat/plugins/mcp/utils.py function _get_or_create_enum (line 26) | def _get_or_create_enum(name: str, values: frozenset[str]) -> type[Enum]: function truncate_session_id (line 46) | def truncate_session_id(session_id: str, max_length: int = 10) -> str: function model_from_mcp_schema (line 62) | def model_from_mcp_schema(name: str, mcp_input_schema: dict) -> type[Bas... FILE: packages/nvidia_nat_mcp/tests/cli/test_mcp_cli.py function test_mcp_plugin_discovered (line 42) | def test_mcp_plugin_discovered(): function fixture_mock_tools (line 55) | def fixture_mock_tools(): function fixture_cli_runner (line 71) | def fixture_cli_runner(): function test_mcp_client_tool_list_variants (line 85) | def test_mcp_client_tool_list_variants( function test_mcp_client_tool_list_specific_tool (line 106) | def test_mcp_client_tool_list_specific_tool(mock_fetcher, mock_tools): function test_mcp_client_ping_output (line 128) | def test_mcp_client_ping_output(mock_ping, cli_runner, json_flag): function test_mcp_client_tool_call_direct_variants (line 146) | def test_mcp_client_tool_call_direct_variants(mock_call, cli_runner, wit... function test_mcp_client_tool_list_direct_fetcher_called (line 164) | def test_mcp_client_tool_list_direct_fetcher_called(mock_fetcher, mock_t... function test_mcp_client_tool_call_invalid_json_args (line 182) | def test_mcp_client_tool_call_invalid_json_args(): function test_mcp_client_tool_call_args_env_parsing (line 196) | def test_mcp_client_tool_call_args_env_parsing(mock_call): function test_mcp_client_ping_unreachable (line 225) | def test_mcp_client_ping_unreachable(mock_ping): function test_mcp_client_tool_call_mcp_error_formatted (line 251) | def test_mcp_client_tool_call_mcp_error_formatted(mock_format, mock_call): class _DummySchema (line 271) | class _DummySchema: method schema_json (line 273) | def schema_json(self, indent=2): function _install_fake_mcp (line 278) | def _install_fake_mcp(monkeypatch, *, list_tools_response=None, call_too... function test_format_tool (line 393) | def test_format_tool(name, input_schema, expect_none, expect_contains, e... function test_print_tool_cases (line 435) | def test_print_tool_cases(capsys, tool, detail, expected_present, expect... function test_list_tools_direct_success_transports (line 452) | def test_list_tools_direct_success_transports(monkeypatch, transport, co... function test_list_tools_direct_tool_not_found_prints (line 475) | def test_list_tools_direct_tool_not_found_prints(monkeypatch, capsys, tr... function test_list_tools_direct_error_is_formatted (line 500) | def test_list_tools_direct_error_is_formatted(monkeypatch, transport, co... function test_ping_mcp_server_healthy_transports (line 534) | def test_ping_mcp_server_healthy_transports(monkeypatch, transport, comm... function test_ping_mcp_server_timeout (line 543) | def test_ping_mcp_server_timeout(monkeypatch, transport): function test_ping_mcp_server_stdio_missing_command (line 561) | def test_ping_mcp_server_stdio_missing_command(monkeypatch): function test_call_tool_direct_success_transports (line 576) | def test_call_tool_direct_success_transports(monkeypatch, transport, com... function test_call_tool_direct_tool_error_converted (line 624) | def test_call_tool_direct_tool_error_converted(monkeypatch, transport, c... function test_call_tool_direct_missing_required_config (line 656) | def test_call_tool_direct_missing_required_config(monkeypatch, transport... function test_validate_transport_cli_args (line 682) | def test_validate_transport_cli_args(transport, command, args, env, expe... function test_call_tool_and_print_group_success (line 692) | def test_call_tool_and_print_group_success(monkeypatch): function test_call_tool_and_print_group_tool_not_found (line 749) | def test_call_tool_and_print_group_tool_not_found(monkeypatch): function test_mcp_client_tool_call_bearer_token_direct (line 805) | def test_mcp_client_tool_call_bearer_token_direct(mock_call, cli_runner): function test_mcp_client_tool_call_bearer_token_env (line 823) | def test_mcp_client_tool_call_bearer_token_env(mock_call, cli_runner): function test_mcp_client_tool_call_bearer_token_with_oauth_error (line 840) | def test_mcp_client_tool_call_bearer_token_with_oauth_error(cli_runner): function test_mcp_client_tool_call_bearer_token_with_direct_error (line 854) | def test_mcp_client_tool_call_bearer_token_with_direct_error(cli_runner): FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_auth_provider.py function mock_config (line 40) | def mock_config() -> MCPOAuth2ProviderConfig: function mock_config_with_credentials (line 51) | def mock_config_with_credentials() -> MCPOAuth2ProviderConfig: function mock_endpoints (line 64) | def mock_endpoints() -> OAuth2Endpoints: function mock_credentials (line 74) | def mock_credentials() -> OAuth2Credentials: class TestMCPOAuth2ProviderConfig (line 87) | class TestMCPOAuth2ProviderConfig: method test_validate_allows_public_client_without_secret (line 90) | def test_validate_allows_public_client_without_secret(self): method test_validate_rejects_no_client_id_when_dynamic_registration_disabled (line 101) | def test_validate_rejects_no_client_id_when_dynamic_registration_disab... class TestDiscoverOAuth2Endpoints (line 116) | class TestDiscoverOAuth2Endpoints: method test_discover_cached_endpoints (line 119) | async def test_discover_cached_endpoints(self, mock_config): method test_discover_with_www_authenticate_hint (line 136) | async def test_discover_with_www_authenticate_hint(self, mock_config): method test_discover_fallback_to_server_base (line 168) | async def test_discover_fallback_to_server_base(self, mock_config): method test_extract_from_www_authenticate_header (line 184) | def test_extract_from_www_authenticate_header(self, mock_config): method test_authorization_base_url (line 212) | def test_authorization_base_url(self, mock_config): method test_build_path_aware_discovery_urls (line 219) | def test_build_path_aware_discovery_urls(self, mock_config): class TestDynamicClientRegistration (line 249) | class TestDynamicClientRegistration: method test_register_success (line 252) | async def test_register_success(self, mock_config, mock_endpoints): method test_register_without_registration_url (line 270) | async def test_register_without_registration_url(self, mock_config): method test_register_invalid_response (line 294) | async def test_register_invalid_response(self, mock_config, mock_endpo... method test_register_missing_client_id (line 307) | async def test_register_missing_client_id(self, mock_config, mock_endp... class TestMCPOAuth2Provider (line 326) | class TestMCPOAuth2Provider: method test_authenticate_requires_user_id_raises (line 329) | async def test_authenticate_requires_user_id_raises(self, mock_config): method test_authenticate_normal_request_returns_empty_when_no_provider (line 339) | async def test_authenticate_normal_request_returns_empty_when_no_provi... method test_authenticate_with_manual_credentials (line 349) | async def test_authenticate_with_manual_credentials(self, mock_config_... method test_authenticate_with_dynamic_registration (line 374) | async def test_authenticate_with_dynamic_registration(self, mock_confi... method test_authenticate_dynamic_registration_disabled (line 404) | async def test_authenticate_dynamic_registration_disabled(self, mock_e... method test_effective_scopes_uses_config_scopes (line 431) | async def test_effective_scopes_uses_config_scopes(self): method test_effective_scopes_falls_back_to_discovered (line 444) | async def test_effective_scopes_falls_back_to_discovered(self, mock_co... method test_effective_scopes_returns_empty_when_none_available (line 457) | async def test_effective_scopes_returns_empty_when_none_available(self... method test_fetch_pr_issuer_success (line 464) | async def test_fetch_pr_issuer_success(self, mock_config): method test_fetch_pr_issuer_invalid_json (line 478) | async def test_fetch_pr_issuer_invalid_json(self, mock_config): method test_fetch_pr_issuer_no_authorization_servers (line 492) | async def test_fetch_pr_issuer_no_authorization_servers(self, mock_con... method test_discover_via_issuer_or_base_success (line 506) | async def test_discover_via_issuer_or_base_success(self, mock_config): method test_discover_via_issuer_or_base_no_authorization_endpoint (line 527) | async def test_discover_via_issuer_or_base_no_authorization_endpoint(s... method test_discover_via_issuer_or_base_no_token_endpoint (line 542) | async def test_discover_via_issuer_or_base_no_token_endpoint(self, moc... method test_discover_via_issuer_or_base_invalid_json (line 557) | async def test_discover_via_issuer_or_base_invalid_json(self, mock_con... method test_discover_via_issuer_or_base_non_200_status (line 572) | async def test_discover_via_issuer_or_base_non_200_status(self, mock_c... method test_discover_via_issuer_or_base_exception_handling (line 585) | async def test_discover_via_issuer_or_base_exception_handling(self, mo... method test_register_with_scopes (line 596) | async def test_register_with_scopes(self, mock_config, mock_endpoints): method test_register_with_token_endpoint_auth_method (line 613) | async def test_register_with_token_endpoint_auth_method(self, mock_con... method test_discover_and_register_with_endpoints_changed (line 634) | async def test_discover_and_register_with_endpoints_changed(self, mock... method test_discover_and_register_with_manual_credentials (line 657) | async def test_discover_and_register_with_manual_credentials(self, moc... method test_discover_and_register_without_registration_endpoint (line 679) | async def test_discover_and_register_without_registration_endpoint(sel... method test_authenticate_with_user_id_propagation (line 701) | async def test_authenticate_with_user_id_propagation(self, mock_config... method test_authenticate_without_user_id_in_request (line 717) | async def test_authenticate_without_user_id_in_request(self, mock_conf... method test_authenticate_retry_after_401_clears_auth_code_provider (line 733) | async def test_authenticate_retry_after_401_clears_auth_code_provider(... method test_effective_scopes_with_config_scopes (line 756) | async def test_effective_scopes_with_config_scopes(self, mock_config): method test_effective_scopes_with_discovered_scopes (line 764) | async def test_effective_scopes_with_discovered_scopes(self, mock_conf... method test_effective_scopes_config_overrides_discovered (line 775) | async def test_effective_scopes_config_overrides_discovered(self, mock... method test_oauth_client_ttl (line 788) | async def test_oauth_client_ttl(self, mock_endpoints, oauth_client_ttl): method test_oauth_client_ttl_not_expired (line 824) | async def test_oauth_client_ttl_not_expired(self, mock_endpoints): method test_auth_resource_used_in_authorization_request (line 859) | async def test_auth_resource_used_in_authorization_request(self, mock_... FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_auth_timeout.py class MockMCPClient (line 34) | class MockMCPClient(MCPBaseClient): method __init__ (line 37) | def __init__(self, **kwargs): method connect_to_server (line 42) | def connect_to_server(self): # type: ignore class MockAsyncContextManager (line 47) | class MockAsyncContextManager: method __init__ (line 50) | def __init__(self, client): method __aenter__ (line 53) | async def __aenter__(self): method __aexit__ (line 64) | async def __aexit__(self, exc_type, exc_val, exc_tb): function test_auth_flow_timeout_configuration (line 73) | async def test_auth_flow_timeout_configuration(): function test_default_timeout_values (line 84) | async def test_default_timeout_values(): function test_has_cached_auth_token_no_auth_provider (line 97) | async def test_has_cached_auth_token_no_auth_provider(): function test_has_cached_auth_token_with_valid_token (line 106) | async def test_has_cached_auth_token_with_valid_token(): function test_has_cached_auth_token_with_expired_token (line 130) | async def test_has_cached_auth_token_with_expired_token(): function test_has_cached_auth_token_no_cached_tokens (line 155) | async def test_has_cached_auth_token_no_cached_tokens(): function test_has_cached_auth_token_multiple_tokens_one_valid (line 176) | async def test_has_cached_auth_token_multiple_tokens_one_valid(): function test_get_tool_call_timeout_no_auth_provider (line 210) | async def test_get_tool_call_timeout_no_auth_provider(): function test_get_tool_call_timeout_with_cached_token (line 222) | async def test_get_tool_call_timeout_with_cached_token(): function test_get_tool_call_timeout_without_cached_token (line 252) | async def test_get_tool_call_timeout_without_cached_token(): function test_auth_adapter_tracks_authentication_state (line 284) | async def test_auth_adapter_tracks_authentication_state(): function test_auth_adapter_initializes_with_auth_provider (line 298) | async def test_auth_adapter_initializes_with_auth_provider(): function test_with_reconnect_timeout_during_auth_no_reconnect (line 317) | async def test_with_reconnect_timeout_during_auth_no_reconnect(): function test_with_reconnect_error_during_auth_no_reconnect (line 354) | async def test_with_reconnect_error_during_auth_no_reconnect(): function test_with_reconnect_timeout_not_during_auth_does_reconnect (line 391) | async def test_with_reconnect_timeout_not_during_auth_does_reconnect(): function test_with_reconnect_error_not_during_auth_does_reconnect (line 433) | async def test_with_reconnect_error_not_during_auth_does_reconnect(): function test_call_tool_uses_correct_timeout_with_cached_token (line 480) | async def test_call_tool_uses_correct_timeout_with_cached_token(): function test_call_tool_uses_extended_timeout_without_token (line 522) | async def test_call_tool_uses_extended_timeout_without_token(): function test_timeout_switches_after_authentication (line 561) | async def test_timeout_switches_after_authentication(): FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_client_base.py function _create_test_mcp_server (line 37) | def _create_test_mcp_server(port: int) -> FastMCP: function _wait_for_uvicorn_server (line 51) | async def _wait_for_uvicorn_server(server: uvicorn.Server): function mcp_client_fixture (line 62) | async def mcp_client_fixture(request: pytest.FixtureRequest, unused_tcp_... function test_mcp_client_base_methods (line 136) | async def test_mcp_client_base_methods(mcp_client: MCPBaseClient): function test_error_handling (line 159) | async def test_error_handling(mcp_client: MCPBaseClient): class MockMCPClient (line 175) | class MockMCPClient(MCPBaseClient): method __init__ (line 178) | def __init__(self, **kwargs): method connect_to_server (line 188) | def connect_to_server(self): # type: ignore class MockAsyncContextManager (line 193) | class MockAsyncContextManager: method __init__ (line 196) | def __init__(self, client): method __aenter__ (line 199) | async def __aenter__(self): method __aexit__ (line 223) | async def __aexit__(self, exc_type, exc_val, exc_tb): function test_reconnect_configuration (line 227) | async def test_reconnect_configuration(): function test_tool_call_timeout_configuration (line 240) | async def test_tool_call_timeout_configuration(): function test_reconnect_disabled_no_retry (line 248) | async def test_reconnect_disabled_no_retry(): function test_reconnect_success_after_failure (line 267) | async def test_reconnect_success_after_failure(): function test_reconnect_max_attempts_exceeded (line 297) | async def test_reconnect_max_attempts_exceeded(): function test_reconnect_backoff_timing (line 321) | async def test_reconnect_backoff_timing(): function test_reconnect_max_backoff_limit (line 365) | async def test_reconnect_max_backoff_limit(): function test_tool_call_timeout_passed_to_session (line 404) | async def test_tool_call_timeout_passed_to_session(): function test_with_reconnect_success_no_retry (line 428) | async def test_with_reconnect_success_no_retry(): function test_with_reconnect_disabled_propagates_error (line 446) | async def test_with_reconnect_disabled_propagates_error(): function test_reconnect_lock_prevents_concurrent_reconnects (line 459) | async def test_reconnect_lock_prevents_concurrent_reconnects(): function test_connection_established_flag (line 515) | async def test_connection_established_flag(): function test_is_connected_lifecycle (line 532) | async def test_is_connected_lifecycle(): function test_is_connected_false_after_reconnect_failure (line 544) | async def test_is_connected_false_after_reconnect_failure(): class TestMCPToolClient (line 569) | class TestMCPToolClient: method test_tool_client_instantiation (line 572) | def test_tool_client_instantiation(self): method test_tool_client_with_input_schema (line 591) | def test_tool_client_with_input_schema(self): method test_tool_client_description_override (line 610) | def test_tool_client_description_override(self): method test_tool_client_no_parent_client_raises_error (line 628) | def test_tool_client_no_parent_client_raises_error(self): class TestMCPStreamableHTTPClientSessionIdAndHeaders (line 640) | class TestMCPStreamableHTTPClientSessionIdAndHeaders: method test_custom_headers_initialization (line 643) | def test_custom_headers_initialization(self): method test_custom_headers_default_empty (line 650) | def test_custom_headers_default_empty(self): method test_custom_headers_none_becomes_empty_dict (line 656) | def test_custom_headers_none_becomes_empty_dict(self): method test_mcp_session_id_before_connection (line 662) | def test_mcp_session_id_before_connection(self): method test_mcp_session_id_with_callback (line 668) | def test_mcp_session_id_with_callback(self): method test_mcp_session_id_callback_returns_none (line 678) | def test_mcp_session_id_callback_returns_none(self): method test_mcp_session_id_cleared_after_disconnect (line 687) | async def test_mcp_session_id_cleared_after_disconnect(self): method test_connect_to_server_sets_session_id_callback (line 699) | async def test_connect_to_server_sets_session_id_callback(self): method test_connect_to_server_passes_custom_headers (line 730) | async def test_connect_to_server_passes_custom_headers(self): method test_connect_to_server_no_headers_when_empty (line 762) | async def test_connect_to_server_no_headers_when_empty(self): class TestMCPServerConfigCustomHeaders (line 793) | class TestMCPServerConfigCustomHeaders: method test_custom_headers_valid_for_streamable_http (line 796) | def test_custom_headers_valid_for_streamable_http(self): method test_custom_headers_rejected_for_stdio (line 806) | def test_custom_headers_rejected_for_stdio(self): method test_custom_headers_rejected_for_sse (line 813) | def test_custom_headers_rejected_for_sse(self): method test_custom_headers_default_none (line 820) | def test_custom_headers_default_none(self): method test_transport_defaults_to_streamable_http (line 828) | def test_transport_defaults_to_streamable_http(self): FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_client_impl.py class _InputSchema (line 36) | class _InputSchema(BaseModel): class _FakeTool (line 41) | class _FakeTool: method __init__ (line 44) | def __init__(self, name: str, description: str = "desc") -> None: method acall (line 49) | async def acall(self, args: dict[str, Any]) -> str: method set_description (line 53) | def set_description(self, description: str) -> None: class _FakeMCPClient (line 59) | class _FakeMCPClient(MCPBaseClient): method __init__ (line 62) | def __init__(self, method get_tool (line 73) | async def get_tool(self, name: str) -> _FakeTool: method get_tools (line 77) | async def get_tools(self) -> dict[str, _FakeTool]: method connect_to_server (line 82) | async def connect_to_server(self): function test_mcp_apply_tool_alias_and_description_none_returns_empty (line 87) | def test_mcp_apply_tool_alias_and_description_none_returns_empty(): function test_mcp_apply_tool_alias_and_description_filters_to_existing (line 94) | def test_mcp_apply_tool_alias_and_description_filters_to_existing(): function test_mcp_apply_tool_alias_and_description_applies_alias_and_desc (line 102) | def test_mcp_apply_tool_alias_and_description_applies_alias_and_desc(cap... function test_mcp_client_function_group_includes_respected (line 112) | async def test_mcp_client_function_group_includes_respected(): function test_mcp_client_function_group_applies_overrides (line 132) | async def test_mcp_client_function_group_applies_overrides(): function test_mcp_client_function_group_no_include_exposes_all (line 152) | async def test_mcp_client_function_group_no_include_exposes_all(): function _make_group (line 168) | def _make_group(server_cfg=None, client_cfg=None): class TestSessionToolDefaultUserPath (line 177) | class TestSessionToolDefaultUserPath: method test_returns_unavailable_when_base_client_is_none (line 180) | async def test_returns_unavailable_when_base_client_is_none(self): method test_returns_unavailable_when_base_client_disconnected (line 191) | async def test_returns_unavailable_when_base_client_disconnected(self): method test_invokes_tool_when_connected (line 209) | async def test_invokes_tool_when_connected(self): class TestSessionToolSessionPath (line 225) | class TestSessionToolSessionPath: method session_group (line 229) | def session_group(self): method test_returns_unavailable_when_session_client_is_none (line 238) | async def test_returns_unavailable_when_session_client_is_none(self, s... method test_returns_unavailable_when_session_client_disconnected (line 253) | async def test_returns_unavailable_when_session_client_disconnected(se... method test_invokes_tool_when_connected (line 269) | async def test_invokes_tool_when_connected(self, session_group): method test_tool_call_executes_inside_session_context (line 286) | async def test_tool_call_executes_inside_session_context(self, session... FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_schema.py function _get_sample_schema (line 25) | def _get_sample_schema(): function test_schema_generation (line 112) | def test_schema_generation(sample_schema): function test_schema_missing_required_fields_raises (line 162) | def test_schema_missing_required_fields_raises(sample_schema): function test_anyof_array_and_null (line 179) | def test_anyof_array_and_null(): function test_anyof_string_and_number (line 232) | def test_anyof_string_and_number(): function test_oneof_union (line 265) | def test_oneof_union(): function test_anyof_with_object (line 297) | def test_anyof_with_object(): function test_anyof_required_field (line 332) | def test_anyof_required_field(): function test_anyof_array_of_objects (line 363) | def test_anyof_array_of_objects(): function test_nested_anyof_in_array_items (line 403) | def test_nested_anyof_in_array_items(): function test_nested_anyof_in_object_properties (line 439) | def test_nested_anyof_in_object_properties(): function test_anyof_array_with_anyof_items (line 476) | def test_anyof_array_with_anyof_items(): function test_oneof_with_nested_object (line 513) | def test_oneof_with_nested_object(): function test_deeply_nested_anyof (line 559) | def test_deeply_nested_anyof(): function test_anyof_with_array_of_objects_with_anyof (line 608) | def test_anyof_with_array_of_objects_with_anyof(): function test_required_nullable_field_with_anyof (line 664) | def test_required_nullable_field_with_anyof(): function test_required_nullable_field_with_type_list (line 703) | def test_required_nullable_field_with_type_list(): function test_required_nullable_field_with_enum (line 738) | def test_required_nullable_field_with_enum(): function test_required_nullable_field_with_const_null (line 764) | def test_required_nullable_field_with_const_null(): function test_type_list_with_array_items (line 790) | def test_type_list_with_array_items(): function test_type_list_with_object_properties (line 831) | def test_type_list_with_object_properties(): function test_optional_field_with_explicit_null_default_becomes_nullable (line 863) | def test_optional_field_with_explicit_null_default_becomes_nullable(): FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_service_account.py function service_account_config (line 35) | def service_account_config() -> MCPServiceAccountProviderConfig: function minimal_config (line 50) | def minimal_config() -> MCPServiceAccountProviderConfig: function mock_token_response (line 61) | def mock_token_response(): class TestServiceTokenConfig (line 73) | class TestServiceTokenConfig: method test_valid_static_token_config (line 76) | def test_valid_static_token_config(self): method test_valid_dynamic_function_config (line 86) | def test_valid_dynamic_function_config(self): method test_validation_requires_token_or_function (line 96) | def test_validation_requires_token_or_function(self): method test_validation_rejects_both_token_and_function (line 101) | def test_validation_rejects_both_token_and_function(self): method test_default_header_name (line 109) | def test_default_header_name(self): class TestServiceAccountTokenClient (line 120) | class TestServiceAccountTokenClient: method test_fetch_token_success (line 123) | async def test_fetch_token_success(self, minimal_config, mock_token_re... method test_fetch_token_caching (line 159) | async def test_fetch_token_caching(self, minimal_config, mock_token_re... method test_fetch_token_401_unauthorized (line 186) | async def test_fetch_token_401_unauthorized(self, minimal_config): method test_fetch_token_network_error (line 205) | async def test_fetch_token_network_error(self, minimal_config): class TestMCPServiceAccountProvider (line 230) | class TestMCPServiceAccountProvider: method test_authenticate_success_with_service_token (line 233) | async def test_authenticate_success_with_service_token(self, service_a... method test_authenticate_success_without_service_token (line 260) | async def test_authenticate_success_without_service_token(self, minima... method test_authenticate_single_auth_pattern (line 274) | async def test_authenticate_single_auth_pattern(self): method test_authenticate_propagates_token_client_errors (line 292) | async def test_authenticate_propagates_token_client_errors(self, minim... method test_authenticate_with_dynamic_function_returning_tuple (line 303) | async def test_authenticate_with_dynamic_function_returning_tuple(self): method test_authenticate_with_dynamic_function_error_handling (line 338) | async def test_authenticate_with_dynamic_function_error_handling(self): class TestMCPServiceAccountIntegration (line 372) | class TestMCPServiceAccountIntegration: method test_full_auth_flow_with_dual_headers (line 375) | async def test_full_auth_flow_with_dual_headers(self, service_account_... method test_auth_flow_with_token_refresh (line 407) | async def test_auth_flow_with_token_refresh(self, minimal_config, mock... method test_end_to_end_oauth2_flow (line 437) | async def test_end_to_end_oauth2_flow(self, service_account_config, mo... FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_session_management.py class TestMCPSessionManagement (line 31) | class TestMCPSessionManagement: method cleanup_sessions (line 34) | async def cleanup_sessions(self, function_group): method mock_config (line 52) | def mock_config(self): method mock_auth_provider (line 76) | def mock_auth_provider(self): method mock_base_client (line 92) | def mock_base_client(self): method function_group (line 102) | def function_group(self, mock_config, mock_auth_provider, mock_base_cl... method test_get_session_client_returns_base_client_for_default_user (line 112) | async def test_get_session_client_returns_base_client_for_default_user... method test_get_session_client_creates_new_session_client (line 121) | async def test_get_session_client_creates_new_session_client(self, fun... method test_get_session_client_reuses_existing_session_client (line 142) | async def test_get_session_client_reuses_existing_session_client(self,... method test_get_session_client_updates_last_activity (line 164) | async def test_get_session_client_updates_last_activity(self, function... method test_get_session_client_enforces_max_sessions_limit (line 191) | async def test_get_session_client_enforces_max_sessions_limit(self, fu... method test_cleanup_inactive_sessions_removes_old_sessions (line 218) | async def test_cleanup_inactive_sessions_removes_old_sessions(self, fu... method test_cleanup_inactive_sessions_preserves_active_sessions (line 243) | async def test_cleanup_inactive_sessions_preserves_active_sessions(sel... method test_session_usage_context_manager (line 272) | async def test_session_usage_context_manager(self, function_group): method test_session_usage_context_manager_multiple_sessions (line 303) | async def test_session_usage_context_manager_multiple_sessions(self, f... method test_create_session_client_unsupported_transport (line 331) | async def test_create_session_client_unsupported_transport(self, funct... method test_cleanup_inactive_sessions_with_custom_max_age (line 339) | async def test_cleanup_inactive_sessions_with_custom_max_age(self, fun... method test_cleanup_inactive_sessions_with_longer_max_age (line 363) | async def test_cleanup_inactive_sessions_with_longer_max_age(self, fun... method test_cleanup_handles_client_close_errors (line 389) | async def test_cleanup_handles_client_close_errors(self, function_group): method test_concurrent_session_creation (line 414) | async def test_concurrent_session_creation(self, function_group): method test_throttled_cleanup_on_access (line 441) | async def test_throttled_cleanup_on_access(self, function_group): method test_manual_cleanup_sessions (line 482) | async def test_manual_cleanup_sessions(self, function_group): method test_manual_cleanup_with_active_sessions (line 520) | async def test_manual_cleanup_with_active_sessions(self, function_group): method test_manual_cleanup_returns_correct_count (line 548) | async def test_manual_cleanup_returns_correct_count(self, function_gro... method test_lifetime_task_successful_initialization (line 583) | async def test_lifetime_task_successful_initialization(self, function_... method test_lifetime_task_initialization_failure (line 612) | async def test_lifetime_task_initialization_failure(self, function_gro... method test_lifetime_task_timeout (line 624) | async def test_lifetime_task_timeout(self, mock_config, mock_auth_prov... method test_lifetime_task_cleanup_on_stop_event (line 648) | async def test_lifetime_task_cleanup_on_stop_event(self, function_group): method test_lifetime_task_cancel_scope_respect (line 672) | async def test_lifetime_task_cancel_scope_respect(self, function_group): method test_cleanup_with_lifetime_task (line 717) | async def test_cleanup_with_lifetime_task(self, function_group): method test_cleanup_skips_active_sessions_with_lifetime_task (line 747) | async def test_cleanup_skips_active_sessions_with_lifetime_task(self, ... method test_cleanup_handles_already_done_task (line 782) | async def test_cleanup_handles_already_done_task(self, function_group): method test_session_creation_and_usage_with_lifetime_task (line 813) | async def test_session_creation_and_usage_with_lifetime_task(self, fun... method test_multiple_sessions_independence_with_lifetime_tasks (line 848) | async def test_multiple_sessions_independence_with_lifetime_tasks(self... FILE: packages/nvidia_nat_mcp/tests/client/test_mcp_token_storage.py function sample_auth_result (line 44) | def sample_auth_result() -> AuthResult: function expired_auth_result (line 56) | def expired_auth_result() -> AuthResult: function mock_object_store (line 64) | def mock_object_store(): function mock_config (line 74) | def mock_config(): class TestObjectStoreTokenStorage (line 90) | class TestObjectStoreTokenStorage: method test_store_and_retrieve (line 93) | async def test_store_and_retrieve(self, mock_object_store, sample_auth... method test_retrieve_nonexistent_token (line 128) | async def test_retrieve_nonexistent_token(self, mock_object_store): method test_delete_token (line 137) | async def test_delete_token(self, mock_object_store): method test_delete_nonexistent_token (line 150) | async def test_delete_nonexistent_token(self, mock_object_store): method test_key_hashing_consistency (line 158) | async def test_key_hashing_consistency(self, mock_object_store, sample... method test_secret_str_serialization (line 173) | async def test_secret_str_serialization(self, mock_object_store, sampl... method test_clear_all_not_supported (line 197) | async def test_clear_all_not_supported(self, mock_object_store): class TestInMemoryTokenStorage (line 213) | class TestInMemoryTokenStorage: method test_store_and_retrieve (line 216) | async def test_store_and_retrieve(self, sample_auth_result): method test_retrieve_nonexistent_token (line 233) | async def test_retrieve_nonexistent_token(self): method test_delete_token (line 241) | async def test_delete_token(self, sample_auth_result): method test_delete_nonexistent_token (line 254) | async def test_delete_nonexistent_token(self): method test_clear_all (line 261) | async def test_clear_all(self, sample_auth_result): method test_multiple_users (line 276) | async def test_multiple_users(self, sample_auth_result): class TestTokenStorageIntegration (line 301) | class TestTokenStorageIntegration: method test_oauth2_provider_with_in_memory_storage (line 304) | async def test_oauth2_provider_with_in_memory_storage(self, mock_config): method test_oauth2_provider_with_object_store_reference (line 312) | async def test_oauth2_provider_with_object_store_reference(self, mock_... method test_token_storage_lazy_resolution (line 326) | async def test_token_storage_lazy_resolution(self, mock_config, sample... method test_token_persistence_across_provider_instances (line 359) | async def test_token_persistence_across_provider_instances(self): method test_url_user_id_compatibility (line 380) | async def test_url_user_id_compatibility(self, mock_object_store): FILE: packages/nvidia_nat_mcp/tests/server/test_add_root_level_routes.py class CustomRootLevelRoutesWorker (line 31) | class CustomRootLevelRoutesWorker(MCPFrontEndPluginWorker): method add_root_level_routes (line 35) | async def add_root_level_routes(self, wrapper_app: FastAPI, mcp: FastM... function mcp_config_with_base_path (line 57) | def mcp_config_with_base_path() -> Config: function mcp_config_without_base_path (line 65) | def mcp_config_without_base_path() -> Config: function test_default_add_root_level_routes_does_nothing (line 71) | async def test_default_add_root_level_routes_does_nothing(mcp_config_wit... function test_custom_worker_adds_root_level_routes (line 87) | async def test_custom_worker_adds_root_level_routes(mcp_config_with_base... function test_root_level_routes_are_accessible (line 108) | async def test_root_level_routes_are_accessible(mcp_config_with_base_pat... function test_add_root_level_routes_called_in_run_with_mount (line 139) | async def test_add_root_level_routes_called_in_run_with_mount(): function test_root_level_routes_not_interfere_with_mcp_routes (line 188) | async def test_root_level_routes_not_interfere_with_mcp_routes(mcp_confi... FILE: packages/nvidia_nat_mcp/tests/server/test_main.py function test_mcp_command_registration (line 17) | def test_mcp_command_registration(): FILE: packages/nvidia_nat_mcp/tests/server/test_mcp_client_endpoint.py class _ToolStub (line 32) | class _ToolStub: method __init__ (line 34) | def __init__(self, description: str): class _ClientStub (line 38) | class _ClientStub: method __init__ (line 40) | def __init__(self, server_name: str, tools: dict[str, _ToolStub], rais... method get_tools (line 45) | async def get_tools(self) -> dict[str, _ToolStub]: class _FnStub (line 51) | class _FnStub: method __init__ (line 53) | def __init__(self, description: str): class _GroupInstanceStub (line 57) | class _GroupInstanceStub: method __init__ (line 59) | def __init__(self, config, client: _ClientStub, functions_map: dict[st... method get_config (line 65) | def get_config(self): method get_accessible_functions (line 68) | async def get_accessible_functions(self, filter_fn=None) -> dict[str, ... class _ConfiguredGroupStub (line 72) | class _ConfiguredGroupStub: method __init__ (line 74) | def __init__(self, config, instance): class _BuilderStub (line 79) | class _BuilderStub: method __init__ (line 81) | def __init__(self, groups: dict[str, _ConfiguredGroupStub]): class _WorkflowStub (line 86) | class _WorkflowStub: method __init__ (line 88) | def __init__(self, function_groups: dict[str, _GroupInstanceStub]): class _SessionStub (line 92) | class _SessionStub: method __init__ (line 94) | def __init__(self, workflow: _WorkflowStub): class _PerUserSessionManagerStub (line 98) | class _PerUserSessionManagerStub: method __init__ (line 100) | def __init__(self, workflow: _WorkflowStub): method is_workflow_per_user (line 105) | def is_workflow_per_user(self) -> bool: method session (line 109) | async def session(self, user_id=None, http_connection=None): function fixture_app_worker (line 115) | async def fixture_app_worker(set_nat_config_file_env_var): function test_mcp_client_tool_list_success_with_alias (line 124) | async def test_mcp_client_tool_list_success_with_alias(app_worker): function test_mcp_client_tool_list_unhealthy_marks_unavailable (line 168) | async def test_mcp_client_tool_list_unhealthy_marks_unavailable(app_work... function test_mcp_client_tool_list_per_user_success (line 202) | async def test_mcp_client_tool_list_per_user_success(app_worker): function test_mcp_client_tool_list_per_user_missing_config (line 237) | async def test_mcp_client_tool_list_per_user_missing_config(app_worker): FILE: packages/nvidia_nat_mcp/tests/server/test_mcp_custom_routes.py class CustomMCPWorker (line 31) | class CustomMCPWorker(MCPFrontEndPluginWorker): method add_routes (line 35) | async def add_routes(self, mcp, builder: WorkflowBuilder): function mcp_nat_config (line 55) | def mcp_nat_config() -> Config: function test_custom_mcp_worker (line 61) | async def test_custom_mcp_worker(mcp_nat_config: Config): function test_runner_class_configuration (line 102) | def test_runner_class_configuration(mcp_nat_config: Config): FILE: packages/nvidia_nat_mcp/tests/server/test_mcp_debug_routes.py class MockTestSchema (line 29) | class MockTestSchema(BaseModel): class ChatRequestSchema (line 35) | class ChatRequestSchema(BaseModel): class WorkflowMock (line 41) | class WorkflowMock: method __init__ (line 44) | def __init__(self): method run (line 49) | def run(self, *_args, **_kwargs): class RegularFunction (line 54) | class RegularFunction(FunctionBase[str, str, str]): method __init__ (line 58) | def __init__(self): method _ainvoke (line 61) | async def _ainvoke(self, value: str) -> str: method _astream (line 64) | async def _astream(self, value: str): class ChatRequestFunction (line 68) | class ChatRequestFunction(FunctionBase[str, str, str]): method __init__ (line 72) | def __init__(self): method _ainvoke (line 75) | async def _ainvoke(self, value: str) -> str: method _astream (line 78) | async def _astream(self, value: str): class NoSchemaFunction (line 82) | class NoSchemaFunction(FunctionBase[str, str, str]): method __init__ (line 87) | def __init__(self): method _ainvoke (line 90) | async def _ainvoke(self, value: str) -> str: method _astream (line 93) | async def _astream(self, value: str): function mcp_config (line 98) | def mcp_config(): function worker (line 104) | def worker(mcp_config): function mcp_server (line 110) | def mcp_server(): function test_functions (line 116) | def test_functions(): function setup_debug_endpoints (line 127) | def setup_debug_endpoints(worker, mcp_server, test_functions): class TestDebugRouteBasics (line 134) | class TestDebugRouteBasics: method test_route_exists_and_structure (line 138) | async def test_route_exists_and_structure(self, setup_debug_endpoints,... class TestDetailParameter (line 158) | class TestDetailParameter: method test_detail_with_names (line 169) | async def test_detail_with_names(self, setup_debug_endpoints, detail_p... method test_detail_without_names (line 189) | async def test_detail_without_names(self, setup_debug_endpoints, detai... method test_defaults (line 203) | async def test_defaults(self, setup_debug_endpoints): class TestNameParameter (line 219) | class TestNameParameter: method test_name_parameter_formats (line 229) | async def test_name_parameter_formats(self, setup_debug_endpoints, nam... method test_repeated_name_parameters (line 240) | async def test_repeated_name_parameters(self, setup_debug_endpoints): method test_invalid_tool_names (line 251) | async def test_invalid_tool_names(self, setup_debug_endpoints): method test_edge_cases (line 260) | async def test_edge_cases(self, setup_debug_endpoints): class TestSchemaHandling (line 275) | class TestSchemaHandling: method test_regular_schema_generation (line 279) | async def test_regular_schema_generation(self, setup_debug_endpoints): method test_chat_request_schema_simplification (line 292) | async def test_chat_request_schema_simplification(self, setup_debug_en... method test_no_schema_and_workflow_identification (line 305) | async def test_no_schema_and_workflow_identification(self, setup_debug... FILE: packages/nvidia_nat_mcp/tests/server/test_mcp_front_end_config.py function test_mcp_front_end_config_default_values (line 23) | def test_mcp_front_end_config_default_values(): function test_mcp_front_end_config_custom_values (line 36) | def test_mcp_front_end_config_custom_values(): function test_mcp_front_end_config_port_validation (line 53) | def test_mcp_front_end_config_port_validation(): function test_mcp_front_end_config_from_dict (line 68) | def test_mcp_front_end_config_from_dict(): function test_security_warning_non_localhost_without_auth (line 89) | def test_security_warning_non_localhost_without_auth(caplog): function test_no_security_warning_localhost_without_auth (line 97) | def test_no_security_warning_localhost_without_auth(caplog): function test_no_security_warning_with_auth (line 104) | def test_no_security_warning_with_auth(caplog): function test_security_warning_sse_with_auth (line 112) | def test_security_warning_sse_with_auth(caplog): function test_security_warning_sse_non_localhost (line 121) | def test_security_warning_sse_non_localhost(caplog): function test_no_security_warning_sse_localhost (line 129) | def test_no_security_warning_sse_localhost(caplog): function test_no_security_warning_streamable_http_with_auth (line 136) | def test_no_security_warning_streamable_http_with_auth(caplog): FILE: packages/nvidia_nat_mcp/tests/server/test_mcp_front_end_plugin.py function echo_function_config (line 29) | def echo_function_config(): function mcp_config (line 34) | def mcp_config(echo_function_config) -> Config: function test_mcp_front_end_plugin_init (line 47) | def test_mcp_front_end_plugin_init(mcp_config): function test_get_all_functions (line 57) | async def test_get_all_functions(): function test_filter_functions (line 83) | async def test_filter_functions(_mock_run, mcp_config): function test_workflow_alias_usage_in_mcp_front_end (line 111) | async def test_workflow_alias_usage_in_mcp_front_end(): function test_workflow_alias_priority_over_type (line 149) | async def test_workflow_alias_priority_over_type(): function test_workflow_alias_with_function_groups (line 175) | async def test_workflow_alias_with_function_groups(): function test_session_manager_creation_for_workflow_vs_function (line 211) | async def test_session_manager_creation_for_workflow_vs_function(): FILE: packages/nvidia_nat_mcp/tests/server/test_mcp_frontend_register.py function test_register_mcp_front_end (line 24) | async def test_register_mcp_front_end(): FILE: packages/nvidia_nat_mcp/tests/server/test_memory_profiler.py class TestMemoryProfilerInit (line 23) | class TestMemoryProfilerInit: method test_init_disabled (line 26) | def test_init_disabled(self): method test_init_enabled (line 34) | def test_init_enabled(self): method test_init_normalizes_interval (line 43) | def test_init_normalizes_interval(self): class TestMemoryProfilerDisabled (line 50) | class TestMemoryProfilerDisabled: method test_on_request_complete_disabled (line 53) | def test_on_request_complete_disabled(self): method test_get_stats_disabled (line 62) | def test_get_stats_disabled(self): method test_log_memory_stats_disabled (line 70) | def test_log_memory_stats_disabled(self): method test_reset_baseline_disabled (line 78) | def test_reset_baseline_disabled(self): class TestMemoryProfilerEnabled (line 86) | class TestMemoryProfilerEnabled: method test_on_request_complete_increments (line 89) | def test_on_request_complete_increments(self): method test_on_request_complete_logs_at_interval (line 100) | def test_on_request_complete_logs_at_interval(self, mock_logger): method test_get_stats_returns_structure (line 114) | def test_get_stats_returns_structure(self): class TestMemoryProfilerInstanceTracking (line 129) | class TestMemoryProfilerInstanceTracking: method test_safe_intermediate_step_manager_count (line 132) | def test_safe_intermediate_step_manager_count(self): method test_safe_outstanding_step_count (line 159) | def test_safe_outstanding_step_count(self): method test_safe_exporter_count (line 168) | def test_safe_exporter_count(self): method test_count_instances_of_type (line 177) | def test_count_instances_of_type(self): class TestMemoryProfilerThreadSafety (line 187) | class TestMemoryProfilerThreadSafety: method test_safe_outstanding_step_count_handles_runtime_error (line 190) | def test_safe_outstanding_step_count_handles_runtime_error(self): method test_safe_intermediate_step_manager_count_handles_runtime_error (line 203) | def test_safe_intermediate_step_manager_count_handles_runtime_error(se... class TestMemoryProfilerEdgeCases (line 216) | class TestMemoryProfilerEdgeCases: method test_count_instances_handles_exceptions (line 219) | def test_count_instances_handles_exceptions(self): method test_log_memory_stats_without_tracemalloc (line 227) | def test_log_memory_stats_without_tracemalloc(self): FILE: packages/nvidia_nat_mcp/tests/server/test_tool_converter.py class MockChatRequest (line 36) | class MockChatRequest(BaseModel): class MockRegularSchema (line 42) | class MockRegularSchema(BaseModel): class MockAllRequiredSchema (line 48) | class MockAllRequiredSchema(BaseModel): class MockMixedRequiredOptionalSchema (line 55) | class MockMixedRequiredOptionalSchema(BaseModel): class MockAllOptionalSchema (line 64) | class MockAllOptionalSchema(BaseModel): class MockOptionalTypesSchema (line 72) | class MockOptionalTypesSchema(BaseModel): function create_mock_workflow_with_observability (line 80) | def create_mock_workflow_with_observability(): function create_mock_session_manager (line 94) | def create_mock_session_manager(workflow=None, result_value="result"): class TestIsFieldOptional (line 120) | class TestIsFieldOptional: method test_required_field_no_default (line 123) | def test_required_field_no_default(self): method test_optional_field_with_string_default (line 135) | def test_optional_field_with_string_default(self): method test_optional_field_with_int_default (line 147) | def test_optional_field_with_int_default(self): method test_optional_field_with_factory_default (line 159) | def test_optional_field_with_factory_default(self): method test_optional_field_with_none_default (line 173) | def test_optional_field_with_none_default(self): method test_optional_field_with_bool_default (line 185) | def test_optional_field_with_bool_default(self): method test_optional_field_with_zero_default (line 197) | def test_optional_field_with_zero_default(self): method test_required_fields_consistency (line 209) | def test_required_fields_consistency(self): method test_optional_fields_consistency (line 221) | def test_optional_fields_consistency(self): class TestCreateFunctionWrapper (line 234) | class TestCreateFunctionWrapper: method test_create_wrapper_for_chat_request_function (line 237) | def test_create_wrapper_for_chat_request_function(self): method test_create_wrapper_for_regular_function (line 254) | def test_create_wrapper_for_regular_function(self): method test_create_wrapper_for_workflow (line 272) | def test_create_wrapper_for_workflow(self): method test_wrapper_execution_with_observability (line 287) | async def test_wrapper_execution_with_observability(self): method test_wrapper_execution_via_session_manager (line 305) | async def test_wrapper_execution_via_session_manager(self): class TestGetFunctionDescription (line 319) | class TestGetFunctionDescription: method test_get_description_from_workflow_description (line 322) | def test_get_description_from_workflow_description(self): method test_get_description_from_workflow_config (line 335) | def test_get_description_from_workflow_config(self): method test_get_description_from_function (line 349) | def test_get_description_from_function(self): method test_get_empty_description (line 361) | def test_get_empty_description(self): class TestRegisterFunctionWithMcp (line 374) | class TestRegisterFunctionWithMcp: method test_register_function_with_mcp_uses_function_metadata (line 380) | def test_register_function_with_mcp_uses_function_metadata(self, mock_... method test_register_workflow_with_mcp_falls_back_to_workflow (line 411) | def test_register_workflow_with_mcp_falls_back_to_workflow(self, mock_... class TestParameterSchemaValidation (line 438) | class TestParameterSchemaValidation: method test_all_required_parameters (line 441) | def test_all_required_parameters(self): method test_all_optional_parameters (line 462) | def test_all_optional_parameters(self): method test_mixed_required_and_optional_parameters (line 492) | def test_mixed_required_and_optional_parameters(self): method test_optional_with_none_type (line 521) | def test_optional_with_none_type(self): method test_parameter_annotations_preserved (line 546) | def test_parameter_annotations_preserved(self): method test_parameter_order_preserved (line 565) | def test_parameter_order_preserved(self): class TestIntegrationScenarios (line 587) | class TestIntegrationScenarios: method test_observability_context_propagation (line 590) | async def test_observability_context_propagation(self): method test_error_handling_in_wrapper_execution (line 604) | async def test_error_handling_in_wrapper_execution(self): method test_wrapper_with_optional_parameters_omitted (line 627) | async def test_wrapper_with_optional_parameters_omitted(self): method test_wrapper_with_optional_parameters_provided (line 642) | async def test_wrapper_with_optional_parameters_provided(self): method test_wrapper_with_none_values (line 660) | async def test_wrapper_with_none_values(self): class TestResultTypeConversion (line 675) | class TestResultTypeConversion: method test_runner_result_called_without_to_type (line 678) | async def test_runner_result_called_without_to_type(self): method test_dict_result_converted_to_json_string (line 691) | async def test_dict_result_converted_to_json_string(self): method test_list_result_converted_to_json_string (line 706) | async def test_list_result_converted_to_json_string(self): method test_string_result_returned_as_is (line 721) | async def test_string_result_returned_as_is(self): method test_complex_dict_result_serialization (line 735) | async def test_complex_dict_result_serialization(self): method test_non_string_non_dict_result_converted_to_string (line 758) | async def test_non_string_non_dict_result_converted_to_string(self): FILE: packages/nvidia_nat_mem0ai/src/nat/plugins/mem0ai/mem0_editor.py class Mem0Editor (line 29) | class Mem0Editor(MemoryEditor): method __init__ (line 34) | def __init__(self, mem0_client: AsyncMemoryClient): method add_items (line 44) | async def add_items(self, items: list[MemoryItem]) -> None: method search (line 71) | async def search(self, query: str, top_k: int = 5, **kwargs) \ method remove_items (line 105) | async def remove_items(self, **kwargs): FILE: packages/nvidia_nat_mem0ai/src/nat/plugins/mem0ai/memory.py class Mem0MemoryClientConfig (line 23) | class Mem0MemoryClientConfig(MemoryBaseConfig, RetryMixin, name="mem0_me... function mem0_memory_client (line 32) | async def mem0_memory_client(config: Mem0MemoryClientConfig, builder: Bu... FILE: packages/nvidia_nat_mem0ai/tests/test_mem0_editor.py function mock_mem0_client_fixture (line 25) | def mock_mem0_client_fixture() -> AsyncMock: function mem0_editor_fixture (line 31) | def mem0_editor_fixture(mock_mem0_client: AsyncMock): function sample_memory_item_fixture (line 37) | def sample_memory_item_fixture(): function test_add_items_success (line 58) | async def test_add_items_success(mem0_editor: Mem0Editor, mock_mem0_clie... function test_add_items_empty_list (line 72) | async def test_add_items_empty_list(mem0_editor: Mem0Editor, mock_mem0_c... function test_search_success (line 79) | async def test_search_success(mem0_editor: Mem0Editor, mock_mem0_client:... function test_search_missing_user_id (line 105) | async def test_search_missing_user_id(mem0_editor: Mem0Editor): function test_remove_items_by_memory_id (line 111) | async def test_remove_items_by_memory_id(mem0_editor: Mem0Editor, mock_m... function test_remove_items_by_user_id (line 118) | async def test_remove_items_by_user_id(mem0_editor: Mem0Editor, mock_mem... function test_remove_items_missing_arguments (line 125) | async def test_remove_items_missing_arguments(mem0_editor: Mem0Editor): FILE: packages/nvidia_nat_memmachine/src/nat/plugins/memmachine/memmachine_editor.py class MemMachineEditor (line 29) | class MemMachineEditor(MemoryEditor): method __init__ (line 45) | def __init__(self, memmachine_instance: Any): method _get_memory_instance (line 57) | def _get_memory_instance(self, method add_items (line 108) | async def add_items(self, items: list[MemoryItem]) -> None: method search (line 206) | async def search(self, query: str, top_k: int = 5, **kwargs) -> list[M... method remove_items (line 420) | async def remove_items(self, **kwargs) -> None: FILE: packages/nvidia_nat_memmachine/src/nat/plugins/memmachine/memory.py class MemMachineMemoryClientConfig (line 30) | class MemMachineMemoryClientConfig(MemoryBaseConfig, RetryMixin, name="m... function memmachine_memory_client (line 50) | async def memmachine_memory_client( FILE: packages/nvidia_nat_memmachine/tests/test_add_and_retrieve.py function _memmachine_available (line 45) | async def _memmachine_available(base_url: str) -> bool: function _run_add_and_retrieve (line 58) | async def _run_add_and_retrieve(): function test_add_and_retrieve_integration (line 216) | async def test_add_and_retrieve_integration(): FILE: packages/nvidia_nat_memmachine/tests/test_memmachine_api_calls.py class APICallSpy (line 33) | class APICallSpy: method __init__ (line 36) | def __init__(self): method record_call (line 40) | def record_call(self, method_name: str, args: tuple, kwargs: dict): method get_calls (line 44) | def get_calls(self, method_name: str | None = None): method assert_called_with (line 50) | def assert_called_with(self, method_name: str, **expected_kwargs): function api_spy_fixture (line 67) | def api_spy_fixture(): function spied_memory_instance_fixture (line 73) | def spied_memory_instance_fixture(api_spy: APICallSpy): function spied_project_fixture (line 116) | def spied_project_fixture(spied_memory_instance: Mock, api_spy: APICallS... function spied_client_fixture (line 131) | def spied_client_fixture(spied_project: Mock, api_spy: APICallSpy): function editor_with_spy_fixture (line 150) | def editor_with_spy_fixture(spied_client: Mock): class TestAddItemsAPICalls (line 155) | class TestAddItemsAPICalls: method test_add_conversation_calls_add_with_correct_parameters (line 158) | async def test_add_conversation_calls_add_with_correct_parameters(self, method test_add_direct_memory_calls_add_with_both_types (line 199) | async def test_add_direct_memory_calls_add_with_both_types(self, method test_add_conversation_memory_calls_add_with_both_types (line 223) | async def test_add_conversation_memory_calls_add_with_both_types(self, method test_add_with_custom_project_org_calls_get_or_create_project (line 247) | async def test_add_with_custom_project_org_calls_get_or_create_project... method test_add_preserves_metadata_except_special_fields (line 270) | async def test_add_preserves_metadata_except_special_fields(self, class TestSearchAPICalls (line 304) | class TestSearchAPICalls: method test_search_calls_memory_search_with_correct_parameters (line 307) | async def test_search_calls_memory_search_with_correct_parameters(self, method test_search_with_custom_project_org (line 333) | async def test_search_with_custom_project_org(self, class TestRemoveItemsAPICalls (line 351) | class TestRemoveItemsAPICalls: method test_remove_episodic_calls_delete_episodic (line 354) | async def test_remove_episodic_calls_delete_episodic(self, editor_with... method test_remove_semantic_calls_delete_semantic (line 365) | async def test_remove_semantic_calls_delete_semantic(self, editor_with... class TestAPICallParameterValidation (line 377) | class TestAPICallParameterValidation: method test_add_uses_keyword_arguments_not_positional (line 380) | async def test_add_uses_keyword_arguments_not_positional(self, method test_search_uses_limit_not_top_k (line 405) | async def test_search_uses_limit_not_top_k(self, method test_metadata_is_dict_or_none_not_empty_dict (line 426) | async def test_metadata_is_dict_or_none_not_empty_dict(self, editor_wi... class TestDataTransformation (line 453) | class TestDataTransformation: method test_conversation_messages_preserved_in_order (line 456) | async def test_conversation_messages_preserved_in_order(self, method test_tags_included_in_metadata (line 486) | async def test_tags_included_in_metadata(self, editor_with_spy: MemMac... method test_empty_conversation_uses_memory_text (line 508) | async def test_empty_conversation_uses_memory_text(self, editor_with_s... FILE: packages/nvidia_nat_memmachine/tests/test_memmachine_editor.py function mock_memory_instance_fixture (line 25) | def mock_memory_instance_fixture(): function mock_project_fixture (line 36) | def mock_project_fixture(mock_memory_instance): function mock_client_fixture (line 49) | def mock_client_fixture(mock_project): function memmachine_editor_with_client_fixture (line 60) | def memmachine_editor_with_client_fixture(mock_client): function memmachine_editor_with_project_fixture (line 66) | def memmachine_editor_with_project_fixture(mock_project): function sample_memory_item_fixture (line 72) | def sample_memory_item_fixture(): function sample_direct_memory_item_fixture (line 95) | def sample_direct_memory_item_fixture(): function test_add_items_with_conversation (line 109) | async def test_add_items_with_conversation(memmachine_editor_with_client... function test_add_items_with_direct_memory (line 171) | async def test_add_items_with_direct_memory(memmachine_editor_with_clien... function test_add_items_empty_list (line 194) | async def test_add_items_empty_list(memmachine_editor_with_client: MemMa... function test_add_items_with_memory_text_only (line 202) | async def test_add_items_with_memory_text_only(memmachine_editor_with_cl... function test_search_success (line 227) | async def test_search_success(memmachine_editor_with_client: MemMachineE... function test_search_with_string_tags (line 272) | async def test_search_with_string_tags(memmachine_editor_with_client: Me... function test_search_empty_results (line 301) | async def test_search_empty_results(memmachine_editor_with_client: MemMa... function test_search_missing_user_id (line 321) | async def test_search_missing_user_id(memmachine_editor_with_client: Mem... function test_search_with_defaults (line 327) | async def test_search_with_defaults(memmachine_editor_with_client: MemMa... function test_remove_items_by_memory_id_episodic (line 349) | async def test_remove_items_by_memory_id_episodic(memmachine_editor_with... function test_remove_items_by_memory_id_semantic (line 364) | async def test_remove_items_by_memory_id_semantic(memmachine_editor_with... function test_remove_items_by_memory_id_without_user_id (line 379) | async def test_remove_items_by_memory_id_without_user_id(memmachine_edit... function test_remove_items_by_user_id_not_implemented (line 385) | async def test_remove_items_by_user_id_not_implemented(memmachine_editor... function test_editor_with_project_instance (line 391) | async def test_editor_with_project_instance(memmachine_editor_with_proje... function test_add_items_with_custom_project_and_org (line 406) | async def test_add_items_with_custom_project_and_org(memmachine_editor_w... function test_search_with_custom_project_and_org (line 431) | async def test_search_with_custom_project_and_org(memmachine_editor_with... FILE: packages/nvidia_nat_memmachine/tests/test_memmachine_integration.py function memmachine_base_url_fixture (line 38) | def memmachine_base_url_fixture(fail_missing: bool = False) -> str: function test_config_fixture (line 62) | def test_config_fixture(memmachine_base_url: str) -> MemMachineMemoryCli... function test_user_id_fixture (line 74) | def test_user_id_fixture() -> str: function test_add_and_retrieve_conversation_memory (line 82) | async def test_add_and_retrieve_conversation_memory(test_config: MemMach... function test_add_and_retrieve_direct_memory (line 153) | async def test_add_and_retrieve_direct_memory(test_config: MemMachineMem... function test_add_multiple_and_retrieve_all (line 226) | async def test_add_multiple_and_retrieve_all(test_config: MemMachineMemo... function test_add_and_verify_conversation_content_match (line 277) | async def test_add_and_verify_conversation_content_match(test_config: Me... function test_conversation_and_direct_memory_both_retrievable (line 341) | async def test_conversation_and_direct_memory_both_retrievable(test_conf... FILE: packages/nvidia_nat_memmachine/tests/test_memory.py function mock_builder_fixture (line 29) | def mock_builder_fixture(): function config_fixture (line 35) | def config_fixture(): function config_minimal_fixture (line 45) | def config_minimal_fixture(): function mock_memmachine_client_fixture (line 51) | def mock_memmachine_client_fixture(): function mock_project_fixture (line 59) | def mock_project_fixture(): function test_memmachine_memory_client_success (line 67) | async def test_memmachine_memory_client_success(config: MemMachineMemory... function test_memmachine_memory_client_minimal_config (line 84) | async def test_memmachine_memory_client_minimal_config(config_minimal: M... function test_memmachine_memory_client_initialization_error (line 96) | async def test_memmachine_memory_client_initialization_error(config: Mem... function test_memmachine_memory_client_project_creation_failure (line 104) | async def test_memmachine_memory_client_project_creation_failure(config:... function test_memmachine_memory_client_config_validation (line 119) | async def test_memmachine_memory_client_config_validation(): function test_memmachine_memory_client_with_retry_mixin (line 134) | async def test_memmachine_memory_client_with_retry_mixin(config: MemMach... FILE: packages/nvidia_nat_mysql/src/nat/plugins/mysql/mysql_object_store.py class MySQLObjectStore (line 31) | class MySQLObjectStore(ObjectStore): method __init__ (line 36) | def __init__(self, *, bucket_name: str, host: str, port: int, username... method _schema (line 51) | def _schema(self) -> str: method __aenter__ (line 54) | async def __aenter__(self) -> "MySQLObjectStore": method __aexit__ (line 107) | async def __aexit__(self, exc_type, exc_value, traceback) -> None: method put_object (line 120) | async def put_object(self, key: str, item: ObjectStoreItem): method upsert_object (line 145) | async def upsert_object(self, key: str, item: ObjectStoreItem): method get_object (line 172) | async def get_object(self, key: str) -> ObjectStoreItem: method delete_object (line 194) | async def delete_object(self, key: str): FILE: packages/nvidia_nat_mysql/src/nat/plugins/mysql/object_store.py class MySQLObjectStoreClientConfig (line 27) | class MySQLObjectStoreClientConfig(ObjectStoreBaseConfig, name="mysql"): function mysql_object_store_client (line 62) | async def mysql_object_store_client(config: MySQLObjectStoreClientConfig... FILE: packages/nvidia_nat_mysql/tests/test_mysql_object_store.py function _mysql_server (line 30) | async def _mysql_server(request, mysql_server: dict[str, str | int]): class TestMySQLObjectStore (line 36) | class TestMySQLObjectStore(ObjectStoreTests): method _get_store (line 39) | async def _get_store(self): FILE: packages/nvidia_nat_nemo_customizer/src/nat/plugins/customizer/dpo/config.py class DPOTrajectoryBuilderConfig (line 34) | class DPOTrajectoryBuilderConfig(TrajectoryBuilderConfig, name="dpo_traj... method validate_config (line 100) | def validate_config(self) -> "DPOTrajectoryBuilderConfig": class NeMoCustomizerTrainerConfig (line 112) | class NeMoCustomizerTrainerConfig(TrainerConfig, name="nemo_customizer_t... class DPOSpecificHyperparameters (line 173) | class DPOSpecificHyperparameters(BaseModel): class NeMoCustomizerHyperparameters (line 197) | class NeMoCustomizerHyperparameters(BaseModel): class NIMDeploymentConfig (line 234) | class NIMDeploymentConfig(BaseModel): class NeMoCustomizerTrainerAdapterConfig (line 264) | class NeMoCustomizerTrainerAdapterConfig(TrainerAdapterConfig, name="nem... method validate_config (line 362) | def validate_config(self) -> "NeMoCustomizerTrainerAdapterConfig": FILE: packages/nvidia_nat_nemo_customizer/src/nat/plugins/customizer/dpo/register.py function dpo_trajectory_builder (line 38) | async def dpo_trajectory_builder(config: DPOTrajectoryBuilderConfig, bui... function nemo_customizer_trainer_adapter (line 78) | async def nemo_customizer_trainer_adapter(config: NeMoCustomizerTrainerA... function nemo_customizer_trainer (line 124) | async def nemo_customizer_trainer(config: NeMoCustomizerTrainerConfig, b... FILE: packages/nvidia_nat_nemo_customizer/src/nat/plugins/customizer/dpo/trainer.py class NeMoCustomizerTrainer (line 42) | class NeMoCustomizerTrainer(Trainer): method __init__ (line 55) | def __init__(self, trainer_config: NeMoCustomizerTrainerConfig, **kwar... method initialize (line 77) | async def initialize(self, run_config: FinetuneConfig) -> None: method run_epoch (line 107) | async def run_epoch(self, epoch: int, run_id: str) -> TrainingJobRef |... method run (line 173) | async def run(self, num_epochs: int) -> list[TrainingJobStatus]: method _deduplicate_trajectories (line 278) | def _deduplicate_trajectories(self, collection: TrajectoryCollection) ... method _sample_trajectories (line 308) | def _sample_trajectories(self, collection: TrajectoryCollection, max_p... method get_metrics (line 328) | async def get_metrics(self, run_id: str) -> dict[str, Any]: method cleanup (line 351) | async def cleanup(self) -> None: method log_progress (line 368) | def log_progress(self, epoch: int, metrics: dict[str, Any], output_dir... method _log_final_metrics (line 395) | def _log_final_metrics(self, final_status: TrainingJobStatus) -> None: FILE: packages/nvidia_nat_nemo_customizer/src/nat/plugins/customizer/dpo/trainer_adapter.py class NeMoCustomizerTrainerAdapter (line 48) | class NeMoCustomizerTrainerAdapter(TrainerAdapter): method __init__ (line 60) | def __init__(self, adapter_config: NeMoCustomizerTrainerAdapterConfig): method entity_client (line 76) | def entity_client(self) -> NeMoMicroservices: method hf_api (line 83) | def hf_api(self) -> HfApi: method initialize (line 92) | async def initialize(self, run_config: FinetuneConfig) -> None: method _ensure_namespaces_exist (line 105) | async def _ensure_namespaces_exist(self) -> None: method is_healthy (line 135) | async def is_healthy(self) -> bool: method _format_prompt (line 139) | def _format_prompt(self, prompt: list[OpenAIMessage] | str) -> list[di... method _trajectory_to_dpo_jsonl (line 163) | def _trajectory_to_dpo_jsonl(self, trajectories: TrajectoryCollection)... method _setup_dataset (line 200) | async def _setup_dataset(self, run_id: str, training_jsonl: str, valid... method submit (line 274) | async def submit(self, trajectories: TrajectoryCollection) -> Training... method status (line 325) | async def status(self, ref: TrainingJobRef) -> TrainingJobStatus: method wait_until_complete (line 378) | async def wait_until_complete(self, ref: TrainingJobRef, poll_interval... method _deploy_model (line 480) | async def _deploy_model(self, ref: TrainingJobRef) -> None: method _wait_for_deployment_ready (line 523) | async def _wait_for_deployment_ready( method log_progress (line 595) | def log_progress(self, ref: TrainingJobRef, metrics: dict[str, Any], o... FILE: packages/nvidia_nat_nemo_customizer/src/nat/plugins/customizer/dpo/trajectory_builder.py class CandidateStep (line 67) | class CandidateStep: class PreferencePair (line 98) | class PreferencePair: class DPOTrajectoryBuilder (line 145) | class DPOTrajectoryBuilder(TrajectoryBuilder): method __init__ (line 171) | def __init__(self, trajectory_builder_config: DPOTrajectoryBuilderConf... method start_run (line 189) | async def start_run(self, run_id: str, meta: dict | None = None) -> None: method finalize (line 225) | async def finalize(self, run_id: str, meta: dict | None = None) -> Tra... method log_progress (line 321) | def log_progress(self, run_id: str, metrics: dict[str, Any], output_di... method _collect_candidates (line 365) | def _collect_candidates(self, eval_result: EvaluationRunOutput) -> dic... method _is_target_step (line 413) | def _is_target_step(self, step: IntermediateStep) -> bool: method _parse_candidate (line 426) | def _parse_candidate(self, example_id: str, step: IntermediateStep) ->... method _extract_prompt (line 522) | def _extract_prompt(self, input_data: Any) -> PromptType: method _generate_preference_pairs (line 561) | def _generate_preference_pairs(self, candidates_by_turn: dict[str, lis... method _generate_exhaustive_pairs (line 602) | def _generate_exhaustive_pairs(self, sorted_candidates: list[Candidate... method _generate_best_vs_worst_pair (line 649) | def _generate_best_vs_worst_pair(self, sorted_candidates: list[Candida... method _build_trajectories (line 690) | def _build_trajectories(self, pairs: list[PreferencePair]) -> list[Tra... method _group_by_example (line 744) | def _group_by_example(self, trajectories: list[Trajectory]) -> list[li... FILE: packages/nvidia_nat_nemo_customizer/tests/conftest.py function dpo_config (line 37) | def dpo_config(): function dpo_builder (line 52) | def dpo_builder(dpo_config): function create_ttc_event_data (line 59) | def create_ttc_event_data( function create_intermediate_step (line 77) | def create_intermediate_step( function create_candidate_ttc_data (line 101) | def create_candidate_ttc_data( function sample_ttc_data (line 119) | def sample_ttc_data(): function sample_intermediate_steps (line 129) | def sample_intermediate_steps(sample_ttc_data): function mock_eval_result (line 141) | def mock_eval_result(sample_intermediate_steps): function multi_turn_ttc_data (line 160) | def multi_turn_ttc_data(): function multi_turn_intermediate_steps (line 174) | def multi_turn_intermediate_steps(multi_turn_ttc_data): function mock_multi_turn_eval_result (line 180) | def mock_multi_turn_eval_result(multi_turn_intermediate_steps): function multi_example_ttc_data (line 199) | def multi_example_ttc_data(): FILE: packages/nvidia_nat_nemo_customizer/tests/test_dpo_config.py class TestDPOTrajectoryBuilderConfig (line 23) | class TestDPOTrajectoryBuilderConfig: method test_default_values (line 26) | def test_default_values(self): method test_custom_step_name (line 37) | def test_custom_step_name(self): method test_exhaustive_pairs_false (line 42) | def test_exhaustive_pairs_false(self): method test_min_score_diff_positive (line 47) | def test_min_score_diff_positive(self): method test_min_score_diff_negative_fails (line 52) | def test_min_score_diff_negative_fails(self): method test_max_pairs_per_turn_valid (line 57) | def test_max_pairs_per_turn_valid(self): method test_max_pairs_per_turn_zero_fails (line 65) | def test_max_pairs_per_turn_zero_fails(self): method test_max_pairs_per_turn_none (line 70) | def test_max_pairs_per_turn_none(self): method test_reward_from_score_diff_false (line 75) | def test_reward_from_score_diff_false(self): method test_require_multiple_candidates_false (line 80) | def test_require_multiple_candidates_false(self): method test_config_name (line 85) | def test_config_name(self): method test_model_validator (line 89) | def test_model_validator(self): method test_full_configuration (line 94) | def test_full_configuration(self): FILE: packages/nvidia_nat_nemo_customizer/tests/test_dpo_trajectory_builder.py function create_candidate_ttc_data (line 41) | def create_candidate_ttc_data( function create_intermediate_step (line 59) | def create_intermediate_step( class TestCandidateStep (line 83) | class TestCandidateStep: method test_candidate_step_creation (line 86) | def test_candidate_step_creation(self): method test_candidate_step_default_metadata (line 106) | def test_candidate_step_default_metadata(self): method test_candidate_step_with_openai_messages (line 119) | def test_candidate_step_with_openai_messages(self): class TestPreferencePair (line 141) | class TestPreferencePair: method test_preference_pair_creation (line 144) | def test_preference_pair_creation(self): class TestDPOTrajectoryBuilder (line 173) | class TestDPOTrajectoryBuilder: method test_builder_initialization (line 176) | def test_builder_initialization(self, dpo_builder, dpo_config): method test_builder_config_reference (line 182) | def test_builder_config_reference(self, dpo_builder, dpo_config): method test_start_run (line 190) | async def test_start_run(self, dpo_builder): method test_start_run_duplicate (line 199) | async def test_start_run_duplicate(self, dpo_builder): method test_start_run_callback_on_success (line 206) | async def test_start_run_callback_on_success(self, dpo_builder): method test_start_run_callback_on_failure (line 223) | async def test_start_run_callback_on_failure(self, dpo_builder): method test_start_run_callback_on_cancellation (line 238) | async def test_start_run_callback_on_cancellation(self, dpo_builder): method test_finalize_unknown_run (line 256) | async def test_finalize_unknown_run(self, dpo_builder): method test_finalize_with_trajectories (line 261) | async def test_finalize_with_trajectories(self, dpo_builder, mock_eval... method test_finalize_empty_result (line 278) | async def test_finalize_empty_result(self, dpo_builder): method test_finalize_metrics_tracking (line 294) | async def test_finalize_metrics_tracking(self, dpo_builder, mock_eval_... method test_is_target_step_matching (line 315) | def test_is_target_step_matching(self, dpo_builder): method test_is_target_step_wrong_name (line 326) | def test_is_target_step_wrong_name(self, dpo_builder): method test_is_target_step_wrong_category (line 337) | def test_is_target_step_wrong_category(self, dpo_builder): method test_is_target_step_wrong_type (line 348) | def test_is_target_step_wrong_type(self, dpo_builder): method test_parse_candidate_success (line 363) | def test_parse_candidate_success(self, dpo_builder): method test_parse_candidate_missing_turn_id (line 378) | def test_parse_candidate_missing_turn_id(self, dpo_builder): method test_parse_candidate_missing_score (line 392) | def test_parse_candidate_missing_score(self, dpo_builder): method test_parse_candidate_no_data (line 406) | def test_parse_candidate_no_data(self, dpo_builder): method test_parse_candidate_with_openai_messages (line 416) | def test_parse_candidate_with_openai_messages(self, dpo_builder): method test_extract_prompt_string (line 446) | def test_extract_prompt_string(self, dpo_builder): method test_extract_prompt_none (line 451) | def test_extract_prompt_none(self, dpo_builder): method test_extract_prompt_openai_messages (line 456) | def test_extract_prompt_openai_messages(self, dpo_builder): method test_collect_candidates (line 475) | def test_collect_candidates(self, dpo_builder, mock_eval_result): method test_collect_candidates_multi_turn (line 485) | def test_collect_candidates_multi_turn(self, dpo_builder, mock_multi_t... method test_collect_candidates_filters_non_target_steps (line 491) | def test_collect_candidates_filters_non_target_steps(self, dpo_builder): method test_generate_exhaustive_pairs (line 521) | def test_generate_exhaustive_pairs(self, dpo_builder, sample_ttc_data): method test_generate_best_vs_worst_pairs (line 544) | def test_generate_best_vs_worst_pairs(self, dpo_config, sample_ttc_data): method test_generate_pairs_min_score_diff_filter (line 567) | def test_generate_pairs_min_score_diff_filter(self, dpo_config): method test_generate_pairs_max_pairs_per_turn (line 585) | def test_generate_pairs_max_pairs_per_turn(self, dpo_config): method test_generate_pairs_single_candidate_skip (line 602) | def test_generate_pairs_single_candidate_skip(self, dpo_builder): method test_generate_pairs_single_candidate_allowed (line 612) | def test_generate_pairs_single_candidate_allowed(self, dpo_config): method test_build_trajectories (line 628) | def test_build_trajectories(self, dpo_builder): method test_build_trajectories_reward_from_chosen_score (line 667) | def test_build_trajectories_reward_from_chosen_score(self, dpo_config): method test_build_trajectories_with_openai_messages (line 689) | def test_build_trajectories_with_openai_messages(self, dpo_builder): method test_group_by_example (line 723) | def test_group_by_example(self, dpo_builder): method test_group_by_example_unknown_id (line 740) | def test_group_by_example_unknown_id(self, dpo_builder): method test_log_progress (line 754) | def test_log_progress(self, dpo_builder, tmp_path): method test_log_progress_default_output_dir (line 781) | def test_log_progress_default_output_dir(self, dpo_builder): method test_log_progress_appends_to_file (line 787) | def test_log_progress_appends_to_file(self, dpo_builder, tmp_path): class TestDPOTrajectoryBuilderIntegration (line 801) | class TestDPOTrajectoryBuilderIntegration: method test_full_pipeline (line 804) | async def test_full_pipeline(self, dpo_builder, mock_eval_result): method test_multi_turn_pipeline (line 828) | async def test_multi_turn_pipeline(self, dpo_builder, mock_multi_turn_... method test_pipeline_with_custom_config (line 843) | async def test_pipeline_with_custom_config(self, dpo_config): FILE: packages/nvidia_nat_nemo_customizer/tests/test_nemo_customizer.py class TestNeMoCustomizerHyperparameters (line 48) | class TestNeMoCustomizerHyperparameters: method test_default_values (line 51) | def test_default_values(self): method test_custom_values (line 62) | def test_custom_values(self): method test_invalid_epochs (line 80) | def test_invalid_epochs(self): method test_invalid_learning_rate (line 85) | def test_invalid_learning_rate(self): class TestNIMDeploymentConfig (line 91) | class TestNIMDeploymentConfig: method test_default_values (line 94) | def test_default_values(self): method test_custom_values (line 104) | def test_custom_values(self): class TestNeMoCustomizerTrainerAdapterConfig (line 121) | class TestNeMoCustomizerTrainerAdapterConfig: method test_required_fields (line 124) | def test_required_fields(self): method test_minimal_config (line 129) | def test_minimal_config(self): method test_trailing_slash_removed (line 145) | def test_trailing_slash_removed(self): method test_full_config (line 157) | def test_full_config(self): method test_dataset_output_dir_default_none (line 185) | def test_dataset_output_dir_default_none(self): method test_config_name (line 196) | def test_config_name(self): method test_max_consecutive_status_failures_default (line 200) | def test_max_consecutive_status_failures_default(self): method test_max_consecutive_status_failures_custom (line 210) | def test_max_consecutive_status_failures_custom(self): method test_max_consecutive_status_failures_min_bound (line 221) | def test_max_consecutive_status_failures_min_bound(self): method test_max_consecutive_status_failures_max_bound (line 232) | def test_max_consecutive_status_failures_max_bound(self): function adapter_config (line 250) | def adapter_config(): function trainer_adapter (line 261) | def trainer_adapter(adapter_config): function sample_trajectories (line 267) | def sample_trajectories(): class TestNeMoCustomizerTrainerAdapter (line 291) | class TestNeMoCustomizerTrainerAdapter: method test_initialization (line 294) | def test_initialization(self, trainer_adapter, adapter_config): method test_lazy_client_initialization (line 301) | def test_lazy_client_initialization(self, trainer_adapter): method test_format_prompt_full_history_with_messages (line 312) | def test_format_prompt_full_history_with_messages(self, trainer_adapter): method test_format_prompt_full_history_with_string (line 328) | def test_format_prompt_full_history_with_string(self, trainer_adapter): method test_format_prompt_last_message_only_with_messages (line 338) | def test_format_prompt_last_message_only_with_messages(self, trainer_a... method test_format_prompt_last_message_only_with_string (line 352) | def test_format_prompt_last_message_only_with_string(self, trainer_ada... method test_format_prompt_empty_messages (line 360) | def test_format_prompt_empty_messages(self, trainer_adapter): method test_trajectory_to_dpo_jsonl (line 368) | def test_trajectory_to_dpo_jsonl(self, trainer_adapter, sample_traject... method test_trajectory_to_dpo_jsonl_last_message_mode (line 387) | def test_trajectory_to_dpo_jsonl_last_message_mode(self, trainer_adapt... method test_trajectory_to_dpo_jsonl_empty_raises (line 400) | def test_trajectory_to_dpo_jsonl_empty_raises(self, trainer_adapter): method test_is_healthy_success (line 407) | async def test_is_healthy_success(self, trainer_adapter): method test_is_healthy_failure (line 420) | async def test_is_healthy_failure(self, trainer_adapter): method test_submit_creates_job (line 428) | async def test_submit_creates_job(self, trainer_adapter, sample_trajec... method test_submit_duplicate_run_raises (line 449) | async def test_submit_duplicate_run_raises(self, trainer_adapter, samp... method test_status_returns_job_status (line 456) | async def test_status_returns_job_status(self, trainer_adapter): method test_status_unknown_run_uses_metadata (line 477) | async def test_status_unknown_run_uses_metadata(self, trainer_adapter): method test_status_unknown_run_no_metadata_raises (line 497) | async def test_status_unknown_run_no_metadata_raises(self, trainer_ada... method test_log_progress (line 504) | def test_log_progress(self, trainer_adapter, tmp_path): method test_wait_until_complete_transient_failure_recovery (line 527) | async def test_wait_until_complete_transient_failure_recovery(self, ad... method test_wait_until_complete_max_failures_reached (line 556) | async def test_wait_until_complete_max_failures_reached(self, adapter_... method test_wait_until_complete_custom_max_failures (line 583) | async def test_wait_until_complete_custom_max_failures(self): method test_wait_until_complete_failure_counter_resets (line 615) | async def test_wait_until_complete_failure_counter_resets(self, adapte... method test_wait_until_complete_actual_job_failure_not_retried (line 658) | async def test_wait_until_complete_actual_job_failure_not_retried(self... class TestTrainerAdapterIntegration (line 685) | class TestTrainerAdapterIntegration: method test_full_workflow_mock (line 688) | async def test_full_workflow_mock(self, adapter_config, sample_traject... method test_submit_with_dataset_output_dir (line 727) | async def test_submit_with_dataset_output_dir(self, sample_trajectorie... class TestNeMoCustomizerTrainerConfig (line 782) | class TestNeMoCustomizerTrainerConfig: method test_default_values (line 785) | def test_default_values(self): method test_custom_values (line 795) | def test_custom_values(self): method test_invalid_num_runs (line 812) | def test_invalid_num_runs(self): method test_invalid_max_pairs (line 820) | def test_invalid_max_pairs(self): method test_config_name (line 828) | def test_config_name(self): class TestNeMoCustomizerTrainer (line 838) | class TestNeMoCustomizerTrainer: method trainer_config (line 842) | def trainer_config(self): method finetune_config (line 850) | def finetune_config(self, tmp_path): method trainer (line 872) | def trainer(self, trainer_config): method sample_dpo_trajectories (line 877) | def sample_dpo_trajectories(self): method test_trainer_initialization (line 896) | def test_trainer_initialization(self, trainer, trainer_config): method test_trainer_initialize (line 904) | async def test_trainer_initialize(self, trainer, finetune_config): method test_trainer_initialize_no_curriculum (line 922) | async def test_trainer_initialize_no_curriculum(self, trainer, finetun... method test_run_epoch_collects_trajectories (line 935) | async def test_run_epoch_collects_trajectories(self, trainer, finetune... method test_run_epoch_empty_trajectories (line 961) | async def test_run_epoch_empty_trajectories(self, trainer, finetune_co... method test_run_multiple_collection_runs (line 984) | async def test_run_multiple_collection_runs(self, trainer, finetune_co... method test_run_no_wait_for_completion (line 1023) | async def test_run_no_wait_for_completion(self, trainer_config, finetu... method test_run_collection_error_stops (line 1057) | async def test_run_collection_error_stops(self, trainer, finetune_conf... method test_run_collection_error_continues (line 1075) | async def test_run_collection_error_continues(self, trainer_config, fi... method test_run_no_trajectories_fails (line 1125) | async def test_run_no_trajectories_fails(self, trainer, finetune_config): method test_deduplicate_trajectories (line 1149) | def test_deduplicate_trajectories(self, trainer, sample_dpo_trajectori... method test_sample_trajectories (line 1184) | def test_sample_trajectories(self, trainer): method test_sample_trajectories_below_limit (line 1207) | def test_sample_trajectories_below_limit(self, trainer): method test_get_metrics (line 1230) | async def test_get_metrics(self, trainer, finetune_config): method test_log_progress (line 1269) | def test_log_progress(self, trainer, finetune_config, tmp_path): method test_cleanup (line 1290) | async def test_cleanup(self, trainer, finetune_config): method test_run_not_initialized_raises (line 1315) | async def test_run_not_initialized_raises(self, trainer): FILE: packages/nvidia_nat_openpipe_art/src/nat/plugins/openpipe/config.py class ARTTrajectoryBuilderConfig (line 25) | class ARTTrajectoryBuilderConfig(TrajectoryBuilderConfig, name="openpipe... class ARTBackendConfig (line 34) | class ARTBackendConfig(BaseModel): class ARTTrainerAdapterConfig (line 62) | class ARTTrainerAdapterConfig(TrainerAdapterConfig, name="openpipe_art_t... class ARTTrainerConfig (line 71) | class ARTTrainerConfig(TrainerConfig, name="openpipe_art_trainer"): FILE: packages/nvidia_nat_openpipe_art/src/nat/plugins/openpipe/register.py function register_art_trajectory_builder (line 30) | async def register_art_trajectory_builder(config: ARTTrajectoryBuilderCo... function register_art_trainer_adapter (line 45) | async def register_art_trainer_adapter(config: ARTTrainerAdapterConfig, ... function register_art_trainer (line 60) | async def register_art_trainer(config: ARTTrainerConfig, builder: Builder): FILE: packages/nvidia_nat_openpipe_art/src/nat/plugins/openpipe/trainer.py class ARTTrainer (line 48) | class ARTTrainer(Trainer): method __init__ (line 57) | def __init__(self, trainer_config: ARTTrainerConfig, **kwargs) -> None: method initialize (line 77) | async def initialize(self, run_config: FinetuneConfig) -> None: method run_epoch (line 94) | async def run_epoch(self, epoch: int, run_id: str) -> TrainingJobRef |... method run (line 241) | async def run(self, num_epochs: int) -> list[TrainingJobStatus]: method get_metrics (line 296) | async def get_metrics(self, run_id: str) -> dict[str, Any]: method cleanup (line 318) | async def cleanup(self) -> None: method log_progress (line 340) | def log_progress(self, epoch: int, metrics: dict[str, Any], output_dir... method apply_curriculum_learning (line 375) | def apply_curriculum_learning(self, trajectory_collection: TrajectoryC... method _create_reward_plot (line 510) | def _create_reward_plot(self, epoch: int, output_dir: Path) -> None: method _log_metrics_to_file (line 628) | def _log_metrics_to_file(self, epoch: int, metrics: dict[str, Any], ou... FILE: packages/nvidia_nat_openpipe_art/src/nat/plugins/openpipe/trainer_adapter.py class ARTTrainerAdapter (line 41) | class ARTTrainerAdapter(TrainerAdapter): method __init__ (line 46) | def __init__(self, adapter_config: ARTTrainerAdapterConfig): method training_jobs (line 71) | def training_jobs(self) -> dict[str, asyncio.Task[None]]: method initialize (line 74) | async def initialize(self, run_config: FinetuneConfig) -> None: method is_healthy (line 87) | async def is_healthy(self) -> bool: method _validate_episode_order (line 97) | async def _validate_episode_order(self, traj: Trajectory): method _construct_trajectory_groups (line 125) | async def _construct_trajectory_groups(self, trajectory_lists: list[li... method submit (line 201) | async def submit(self, trajectories: TrajectoryCollection) -> Training... method status (line 257) | async def status(self, ref: TrainingJobRef) -> TrainingJobStatus: method wait_until_complete (line 293) | async def wait_until_complete(self, ref: TrainingJobRef, poll_interval... method log_progress (line 303) | def log_progress(self, ref: TrainingJobRef, metrics: dict[str, Any], o... FILE: packages/nvidia_nat_openpipe_art/src/nat/plugins/openpipe/trajectory_builder.py class ARTTrajectoryBuilder (line 41) | class ARTTrajectoryBuilder(TrajectoryBuilder): method __init__ (line 46) | def __init__( method num_generations (line 54) | def num_generations(self) -> int: method start_run (line 57) | async def start_run(self, run_id: str, meta: dict | None = None) -> None: method finalize (line 99) | async def finalize(self, run_id: str, meta: dict | None = None) -> Tra... method log_progress (line 302) | def log_progress(self, run_id: str, metrics: dict[str, Any], output_di... FILE: packages/nvidia_nat_openpipe_art/tests/conftest.py function mock_art_library (line 28) | def mock_art_library(): function mock_openai_types (line 66) | def mock_openai_types(): function disable_matplotlib (line 98) | def disable_matplotlib(): FILE: packages/nvidia_nat_openpipe_art/tests/test_trainer.py class TestARTTrainer (line 38) | class TestARTTrainer: method trainer_config (line 42) | def trainer_config(self): method finetune_config (line 47) | def finetune_config(self, tmp_path): method trainer (line 66) | def trainer(self, trainer_config): method test_trainer_initialization (line 70) | async def test_trainer_initialization(self, trainer, trainer_config): method test_trainer_initialize (line 78) | async def test_trainer_initialize(self, trainer, finetune_config): method test_run_epoch_with_trajectories (line 97) | async def test_run_epoch_with_trajectories(self, trainer, finetune_con... method test_run_epoch_without_trajectories (line 130) | async def test_run_epoch_without_trajectories(self, trainer, finetune_... method test_run_multiple_epochs (line 156) | async def test_run_multiple_epochs(self, trainer, finetune_config): method test_run_with_failed_epoch (line 195) | async def test_run_with_failed_epoch(self, trainer, finetune_config): method test_run_validation_evaluation (line 217) | async def test_run_validation_evaluation(self, trainer, finetune_confi... method test_get_metrics (line 255) | async def test_get_metrics(self, trainer): method test_log_progress (line 278) | async def test_log_progress(self, trainer, finetune_config, tmp_path): method test_apply_curriculum_learning_disabled (line 313) | def test_apply_curriculum_learning_disabled(self, trainer, finetune_co... method test_apply_curriculum_learning_enabled (line 328) | async def test_apply_curriculum_learning_enabled(self, trainer, finetu... method test_apply_curriculum_learning_expansion (line 368) | async def test_apply_curriculum_learning_expansion(self, trainer, fine... method test_create_reward_plot (line 411) | def test_create_reward_plot(self, mock_plt, trainer, tmp_path): method test_cleanup (line 442) | async def test_cleanup(self, trainer, finetune_config): method test_curriculum_learning_single_group (line 474) | def test_curriculum_learning_single_group(self, trainer, finetune_conf... method test_curriculum_learning_no_variance (line 498) | async def test_curriculum_learning_no_variance(self, trainer, finetune... FILE: packages/nvidia_nat_openpipe_art/tests/test_trainer_adapter.py class TestARTTrainerAdapter (line 39) | class TestARTTrainerAdapter: method backend_config (line 43) | def backend_config(self): method adapter_config (line 57) | def adapter_config(self, backend_config): method finetune_config (line 64) | def finetune_config(self, tmp_path): method mock_art_backend (line 82) | def mock_art_backend(self): method mock_art_model (line 88) | def mock_art_model(self): method adapter (line 98) | def adapter(self, adapter_config, mock_art_backend, mock_art_model): method test_adapter_initialization (line 106) | def test_adapter_initialization(self, adapter, adapter_config): method test_adapter_initialize (line 113) | async def test_adapter_initialize(self, adapter, finetune_config): method test_adapter_initialize_unhealthy_backend (line 122) | async def test_adapter_initialize_unhealthy_backend(self, adapter, fin... method test_is_healthy_success (line 129) | async def test_is_healthy_success(self, mock_client, adapter): method test_is_healthy_failure (line 138) | async def test_is_healthy_failure(self, mock_client, adapter): method test_validate_episode_order_valid (line 147) | async def test_validate_episode_order_valid(self, adapter): method test_validate_episode_order_empty (line 158) | async def test_validate_episode_order_empty(self, adapter): method test_validate_episode_order_invalid_first (line 165) | async def test_validate_episode_order_invalid_first(self, adapter): method test_validate_episode_order_consecutive_assistant (line 173) | async def test_validate_episode_order_consecutive_assistant(self, adap... method test_construct_trajectory_groups (line 187) | async def test_construct_trajectory_groups(self, mock_traj_group, mock... method test_construct_trajectory_groups_with_invalid (line 215) | async def test_construct_trajectory_groups_with_invalid(self, mock_art... method test_submit_trajectories (line 234) | async def test_submit_trajectories(self, adapter): method test_submit_no_valid_trajectories (line 256) | async def test_submit_no_valid_trajectories(self, adapter): method test_submit_duplicate_run_id (line 264) | async def test_submit_duplicate_run_id(self, adapter): method test_submit_with_checkpoint_deletion (line 283) | async def test_submit_with_checkpoint_deletion(self, adapter): method test_status_running_job (line 301) | async def test_status_running_job(self, adapter): method test_status_completed_job (line 315) | async def test_status_completed_job(self, adapter): method test_status_failed_job (line 330) | async def test_status_failed_job(self, adapter): method test_status_cancelled_job (line 345) | async def test_status_cancelled_job(self, adapter): method test_status_unknown_job (line 359) | async def test_status_unknown_job(self, adapter): method test_wait_until_complete (line 366) | async def test_wait_until_complete(self, adapter): method test_wait_until_complete_unknown_job (line 389) | async def test_wait_until_complete_unknown_job(self, adapter): method test_log_progress (line 396) | def test_log_progress(self, adapter, tmp_path): method test_training_jobs_property (line 416) | def test_training_jobs_property(self, adapter): method test_construct_trajectory_with_tool_calls (line 427) | async def test_construct_trajectory_with_tool_calls(self, mock_traj_gr... method test_submit_task_callback_success (line 444) | async def test_submit_task_callback_success(self, adapter): method test_submit_task_callback_failure (line 472) | async def test_submit_task_callback_failure(self, adapter): FILE: packages/nvidia_nat_openpipe_art/tests/test_trajectory_builder.py class TestARTTrajectoryBuilder (line 37) | class TestARTTrajectoryBuilder: method builder_config (line 41) | def builder_config(self): method finetune_config (line 46) | def finetune_config(self, tmp_path): method builder (line 69) | def builder(self, builder_config): method test_builder_initialization (line 73) | def test_builder_initialization(self, builder, builder_config): method test_builder_initialize (line 79) | async def test_builder_initialize(self, builder, finetune_config): method test_start_run (line 86) | async def test_start_run(self, builder): method test_start_run_duplicate (line 102) | async def test_start_run_duplicate(self, builder): method test_finalize_with_trajectories (line 109) | async def test_finalize_with_trajectories(self, builder, finetune_conf... method test_finalize_no_reward_results (line 165) | async def test_finalize_no_reward_results(self, builder, finetune_conf... method test_finalize_unknown_run (line 185) | async def test_finalize_unknown_run(self, builder): method test_finalize_single_generation (line 190) | async def test_finalize_single_generation(self, builder, finetune_conf... method test_finalize_no_target_function_trajectory (line 232) | async def test_finalize_no_target_function_trajectory(self, builder, f... method test_finalize_invalid_episode (line 261) | async def test_finalize_invalid_episode(self, builder, finetune_config): method test_finalize_parse_error (line 301) | async def test_finalize_parse_error(self, builder, finetune_config): method test_log_progress (line 332) | def test_log_progress(self, builder, tmp_path): method test_num_generations_property (line 353) | def test_num_generations_property(self, builder): method test_task_callback_on_success (line 357) | async def test_task_callback_on_success(self, builder): method test_task_callback_on_failure (line 383) | async def test_task_callback_on_failure(self, builder): method test_task_callback_on_cancellation (line 406) | async def test_task_callback_on_cancellation(self, builder): method test_finalize_groups_by_example_id (line 428) | async def test_finalize_groups_by_example_id(self, builder, finetune_c... method test_finalize_with_tool_messages (line 487) | async def test_finalize_with_tool_messages(self, builder, finetune_con... method test_compute_reward (line 528) | async def test_compute_reward(self, builder): method test_finalize_skips_short_episodes (line 537) | async def test_finalize_skips_short_episodes(self, builder, finetune_c... FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/mixin/otlp_span_exporter_mixin.py class OTLPSpanExporterMixin (line 28) | class OTLPSpanExporterMixin: method __init__ (line 49) | def __init__(self, method export_otel_spans (line 74) | async def export_otel_spans(self, spans: list[OtelSpan]) -> None: FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/otel_span.py class MimeTypes (line 43) | class MimeTypes(Enum): class OtelSpan (line 49) | class OtelSpan(Span): method __init__ (line 70) | def __init__( method resource (line 131) | def resource(self) -> Resource: method set_resource (line 139) | def set_resource(self, resource: Resource) -> None: method instrumentation_scope (line 148) | def instrumentation_scope(self) -> InstrumentationScope: method parent (line 157) | def parent(self) -> Span | None: method name (line 166) | def name(self) -> str: method kind (line 175) | def kind(self) -> int | SpanKind: method start_time (line 184) | def start_time(self) -> int: method end_time (line 193) | def end_time(self) -> int | None: method attributes (line 202) | def attributes(self) -> dict[str, Any]: method events (line 211) | def events(self) -> list: method links (line 220) | def links(self) -> list: method status (line 229) | def status(self) -> Status: method dropped_attributes (line 238) | def dropped_attributes(self) -> int: method dropped_events (line 247) | def dropped_events(self) -> int: method dropped_links (line 256) | def dropped_links(self) -> int: method span_id (line 265) | def span_id(self) -> int: method trace_id (line 274) | def trace_id(self) -> int: method is_remote (line 283) | def is_remote(self) -> bool: method end (line 291) | def end(self, end_time: int | None = None) -> None: method is_recording (line 301) | def is_recording(self) -> bool: method get_span_context (line 309) | def get_span_context(self) -> SpanContext: method set_attribute (line 317) | def set_attribute(self, key: str, value: Any) -> None: method set_attributes (line 326) | def set_attributes(self, attributes: dict[str, Any]) -> None: method add_event (line 334) | def add_event(self, name: str, attributes: dict[str, Any] | None = Non... method update_name (line 346) | def update_name(self, name: str) -> None: method set_status (line 354) | def set_status(self, status: Status, description: str | None = None) -... method get_links (line 364) | def get_links(self) -> list: method get_end_time (line 372) | def get_end_time(self) -> int | None: method get_status (line 380) | def get_status(self) -> Status: method get_parent (line 388) | def get_parent(self) -> Span | None: method record_exception (line 396) | def record_exception(self, method copy (line 439) | def copy(self) -> "OtelSpan": method _format_context (line 464) | def _format_context(context: SpanContext) -> dict[str, str]: method _format_attributes (line 472) | def _format_attributes(attributes: types.Attributes, ) -> dict[str, An... method _format_events (line 478) | def _format_events(events: Sequence[Event]) -> list[dict[str, Any]]: method _format_links (line 486) | def _format_links(links: Sequence[trace_api.Link]) -> list[dict[str, A... method to_json (line 492) | def to_json(self, indent: int | None = 4): FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/otel_span_exporter.py function get_opentelemetry_sdk_version (line 33) | def get_opentelemetry_sdk_version() -> str: class SpanToOtelProcessor (line 46) | class SpanToOtelProcessor(Processor[Span, OtelSpan]): method process (line 49) | async def process(self, item: Span) -> OtelSpan: class OtelSpanBatchProcessor (line 53) | class OtelSpanBatchProcessor(BatchingProcessor[OtelSpan]): class OtelSpanExporter (line 62) | class OtelSpanExporter(SpanExporter[Span, OtelSpan]): method __init__ (line 90) | def __init__(self, method export_processed (line 124) | async def export_processed(self, item: OtelSpan | list[OtelSpan]) -> N... method export_otel_spans (line 156) | async def export_otel_spans(self, spans: list[OtelSpan]) -> None: FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/otlp_span_adapter_exporter.py class OTLPSpanAdapterExporter (line 26) | class OTLPSpanAdapterExporter(OTLPSpanExporterMixin, OtelSpanExporter): method __init__ (line 58) | def __init__( FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/otlp_span_redaction_adapter_exporter.py class OTLPSpanHeaderRedactionAdapterExporter (line 31) | class OTLPSpanHeaderRedactionAdapterExporter(OTLPSpanAdapterExporter): method __init__ (line 78) | def __init__( FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/register.py class LangfuseTelemetryExporter (line 33) | class LangfuseTelemetryExporter(BatchConfigMixin, TelemetryExporterBaseC... function langfuse_telemetry_exporter (line 46) | async def langfuse_telemetry_exporter(config: LangfuseTelemetryExporter,... class LangsmithTelemetryExporter (line 70) | class LangsmithTelemetryExporter(BatchConfigMixin, CollectorConfigMixin,... function langsmith_telemetry_exporter (line 87) | async def langsmith_telemetry_exporter(config: LangsmithTelemetryExporte... class OtelCollectorTelemetryExporter (line 110) | class OtelCollectorTelemetryExporter(BatchConfigMixin, function otel_telemetry_exporter (line 121) | async def otel_telemetry_exporter(config: OtelCollectorTelemetryExporter... class PatronusTelemetryExporter (line 147) | class PatronusTelemetryExporter(BatchConfigMixin, CollectorConfigMixin, ... function patronus_telemetry_exporter (line 157) | async def patronus_telemetry_exporter(config: PatronusTelemetryExporter,... class GalileoTelemetryExporter (line 180) | class GalileoTelemetryExporter(BatchConfigMixin, CollectorConfigMixin, T... function galileo_telemetry_exporter (line 190) | async def galileo_telemetry_exporter(config: GalileoTelemetryExporter, b... class DBNLTelemetryExporter (line 212) | class DBNLTelemetryExporter(BatchConfigMixin, TelemetryExporterBaseConfi... function dbnl_telemetry_exporter (line 221) | async def dbnl_telemetry_exporter(config: DBNLTelemetryExporter, builder... FILE: packages/nvidia_nat_opentelemetry/src/nat/plugins/opentelemetry/span_converter.py class _SharedObjects (line 63) | class _SharedObjects: method __init__ (line 65) | def __init__(self): function _get_shared_resource (line 74) | def _get_shared_resource(): function _get_shared_instrumentation_scope (line 82) | def _get_shared_instrumentation_scope(): function convert_event_type_to_span_kind (line 90) | def convert_event_type_to_span_kind(event_type: str) -> OpenInferenceSpa... function convert_span_status_code (line 102) | def convert_span_status_code(nat_status_code: SpanStatusCode) -> StatusC... function convert_span_to_otel (line 119) | def convert_span_to_otel(nat_span: Span) -> OtelSpan: function convert_spans_to_otel_batch (line 216) | def convert_spans_to_otel_batch(spans: list[Span]) -> list[OtelSpan]: FILE: packages/nvidia_nat_opentelemetry/tests/observability/test_otel_span_ids.py function test_otel_span_ids_are_non_zero (line 19) | def test_otel_span_ids_are_non_zero(): FILE: packages/nvidia_nat_opentelemetry/tests/observability/test_otlp_span_adapter_exporter.py function create_test_intermediate_step (line 36) | def create_test_intermediate_step(parent_id="root", class TestOTLPSpanAdapterExporter (line 46) | class TestOTLPSpanAdapterExporter: method mock_context_state (line 50) | def mock_context_state(self): method basic_exporter_config (line 55) | def basic_exporter_config(self): method sample_start_event (line 67) | def sample_start_event(self): method sample_end_event (line 82) | def sample_end_event(self): method mock_otel_span (line 97) | def mock_otel_span(self): method test_initialization_with_required_params (line 103) | def test_initialization_with_required_params(self, basic_exporter_conf... method test_initialization_with_all_params (line 112) | def test_initialization_with_all_params(self, mock_context_state, basi... method test_initialization_with_otlp_kwargs (line 132) | def test_initialization_with_otlp_kwargs(self, basic_exporter_config): method test_initialization_without_headers (line 140) | def test_initialization_without_headers(self, basic_exporter_config): method test_initialization_with_empty_resource_attributes (line 147) | def test_initialization_with_empty_resource_attributes(self, basic_exp... method test_export_otel_spans_success (line 155) | async def test_export_otel_spans_success(self, mock_otlp_exporter_clas... method test_export_otel_spans_with_exception (line 175) | async def test_export_otel_spans_with_exception(self, method test_export_multiple_spans (line 199) | async def test_export_multiple_spans(self, mock_otlp_exporter_class, b... method test_end_to_end_span_processing (line 219) | async def test_end_to_end_span_processing(self, basic_exporter_config,... method test_batching_behavior (line 257) | async def test_batching_behavior(self, mock_otlp_exporter_class, basic... method test_inheritance_structure (line 304) | def test_inheritance_structure(self, basic_exporter_config): method test_otlp_exporter_initialization_with_headers (line 317) | def test_otlp_exporter_initialization_with_headers(self, mock_otlp_exp... method test_otlp_exporter_initialization_without_headers (line 328) | def test_otlp_exporter_initialization_without_headers(self, mock_otlp_... method test_missing_endpoint_parameter (line 337) | def test_missing_endpoint_parameter(self): method test_resource_attributes_applied_to_spans (line 343) | async def test_resource_attributes_applied_to_spans(self, method test_initialization_with_grpc_protocol (line 366) | def test_initialization_with_grpc_protocol(self, basic_exporter_config): method test_initialization_with_http_protocol_explicit (line 376) | def test_initialization_with_http_protocol_explicit(self, basic_export... method test_initialization_with_invalid_protocol (line 386) | def test_initialization_with_invalid_protocol(self, basic_exporter_con... method test_grpc_exporter_initialization_with_headers (line 394) | def test_grpc_exporter_initialization_with_headers(self, mock_grpc_exp... method test_grpc_export_otel_spans_success (line 405) | async def test_grpc_export_otel_spans_success(self, mock_grpc_exporter... method test_grpc_resource_attributes_applied (line 426) | async def test_grpc_resource_attributes_applied(self, FILE: packages/nvidia_nat_opentelemetry/tests/observability/test_otlp_span_adapter_integration.py function create_test_intermediate_step (line 40) | def create_test_intermediate_step(parent_id="root", class TestOTLPSpanAdapterExporterIntegration (line 50) | class TestOTLPSpanAdapterExporterIntegration: method mock_otlp_server (line 54) | def mock_otlp_server(self): method sample_events (line 78) | def sample_events(self): method test_actual_span_export_to_mock_server (line 106) | async def test_actual_span_export_to_mock_server(self, mock_otlp_serve... method test_export_error_handling_with_real_endpoint (line 146) | async def test_export_error_handling_with_real_endpoint(self, sample_e... method test_span_batching_with_real_export (line 166) | async def test_span_batching_with_real_export(self, mock_otlp_server): method test_basic_export_functionality (line 211) | async def test_basic_export_functionality(self, mock_otlp_server, samp... FILE: packages/nvidia_nat_opentelemetry/tests/observability/test_otlp_span_redaction_adapter_exporter.py function create_test_intermediate_step (line 43) | def create_test_intermediate_step(parent_id="root", class TestOTLPSpanHeaderRedactionAdapterExporterInitialization (line 53) | class TestOTLPSpanHeaderRedactionAdapterExporterInitialization: method mock_context_state (line 57) | def mock_context_state(self): method basic_exporter_config (line 62) | def basic_exporter_config(self): method sample_redaction_callback (line 74) | def sample_redaction_callback(self): method test_initialization_with_minimal_params (line 82) | def test_initialization_with_minimal_params(self, basic_exporter_config): method test_initialization_with_redaction_params (line 91) | def test_initialization_with_redaction_params(self, basic_exporter_con... method test_initialization_with_privacy_tagging_params (line 108) | def test_initialization_with_privacy_tagging_params(self, basic_export... method test_initialization_with_all_privacy_levels (line 116) | def test_initialization_with_all_privacy_levels(self, basic_exporter_c... method test_initialization_with_all_parameters (line 125) | def test_initialization_with_all_parameters(self, method test_initialization_with_force_redaction (line 159) | def test_initialization_with_force_redaction(self, basic_exporter_conf... method test_initialization_with_empty_tags_dict (line 168) | def test_initialization_with_empty_tags_dict(self, basic_exporter_conf... method test_missing_endpoint_parameter (line 174) | def test_missing_endpoint_parameter(self): class TestOTLPSpanHeaderRedactionAdapterExporterProcessors (line 180) | class TestOTLPSpanHeaderRedactionAdapterExporterProcessors: method basic_exporter_config (line 184) | def basic_exporter_config(self): method sample_redaction_callback (line 189) | def sample_redaction_callback(self): method test_processor_addition_order (line 198) | def test_processor_addition_order(self, mock_add_processor, basic_expo... method test_header_redaction_processor_configuration (line 235) | def test_header_redaction_processor_configuration(self, method test_span_tagging_processor_configuration (line 266) | def test_span_tagging_processor_configuration(self, mock_add_processor... method test_processors_added_with_none_values (line 286) | def test_processors_added_with_none_values(self, mock_add_processor, b... class TestOTLPSpanHeaderRedactionAdapterExporterRedaction (line 317) | class TestOTLPSpanHeaderRedactionAdapterExporterRedaction: method basic_exporter_config (line 321) | def basic_exporter_config(self): method sample_span (line 326) | def sample_span(self): method test_redaction_callback_functionality (line 336) | def test_redaction_callback_functionality(self, basic_exporter_config): method test_force_redaction_configuration (line 351) | def test_force_redaction_configuration(self, basic_exporter_config): method test_redaction_disabled_configuration (line 360) | def test_redaction_disabled_configuration(self, basic_exporter_config): method test_default_redaction_value_configuration (line 369) | def test_default_redaction_value_configuration(self, basic_exporter_co... method test_custom_redaction_value_configuration (line 392) | def test_custom_redaction_value_configuration(self, basic_exporter_con... method test_redaction_value_end_to_end (line 419) | async def test_redaction_value_end_to_end(self, mock_context_get, basi... method test_default_redaction_value_end_to_end (line 470) | async def test_default_redaction_value_end_to_end(self, mock_context_g... class TestOTLPSpanHeaderRedactionAdapterExporterPrivacyTagging (line 510) | class TestOTLPSpanHeaderRedactionAdapterExporterPrivacyTagging: method basic_exporter_config (line 514) | def basic_exporter_config(self): method test_privacy_level_none (line 518) | def test_privacy_level_none(self, basic_exporter_config): method test_privacy_level_low (line 525) | def test_privacy_level_low(self, basic_exporter_config): method test_privacy_level_medium (line 532) | def test_privacy_level_medium(self, basic_exporter_config): method test_privacy_level_high (line 539) | def test_privacy_level_high(self, basic_exporter_config): method test_custom_privacy_tag_key (line 546) | def test_custom_privacy_tag_key(self, basic_exporter_config): method test_privacy_tagging_without_tag_key (line 553) | def test_privacy_tagging_without_tag_key(self, basic_exporter_config): method test_privacy_tagging_without_tag_value (line 559) | def test_privacy_tagging_without_tag_value(self, basic_exporter_config): class TestOTLPSpanHeaderRedactionAdapterExporterIntegration (line 566) | class TestOTLPSpanHeaderRedactionAdapterExporterIntegration: method mock_context_state (line 570) | def mock_context_state(self): method basic_exporter_config (line 575) | def basic_exporter_config(self): method sample_start_event (line 587) | def sample_start_event(self): method sample_end_event (line 604) | def sample_end_event(self): method sample_redaction_callback (line 621) | def sample_redaction_callback(self): method test_end_to_end_with_redaction_and_tagging (line 630) | async def test_end_to_end_with_redaction_and_tagging( method test_redaction_only_configuration (line 670) | async def test_redaction_only_configuration( method test_privacy_tagging_only_configuration (line 707) | async def test_privacy_tagging_only_configuration( class TestOTLPSpanHeaderRedactionAdapterExporterInheritance (line 744) | class TestOTLPSpanHeaderRedactionAdapterExporterInheritance: method basic_exporter_config (line 748) | def basic_exporter_config(self): method test_inheritance_structure (line 752) | def test_inheritance_structure(self, basic_exporter_config): method test_method_availability (line 764) | def test_method_availability(self, basic_exporter_config): method test_processor_management_methods (line 776) | def test_processor_management_methods(self, basic_exporter_config): method test_otlp_exporter_initialization (line 785) | def test_otlp_exporter_initialization(self, mock_otlp_exporter_class, ... class TestOTLPSpanHeaderRedactionAdapterExporterEdgeCases (line 799) | class TestOTLPSpanHeaderRedactionAdapterExporterEdgeCases: method basic_exporter_config (line 803) | def basic_exporter_config(self): method test_empty_redaction_attributes_list (line 807) | def test_empty_redaction_attributes_list(self, basic_exporter_config): method test_complex_redaction_callback (line 816) | def test_complex_redaction_callback(self, basic_exporter_config): method test_multiple_redaction_attributes (line 842) | def test_multiple_redaction_attributes(self, basic_exporter_config): method test_inheritance_with_super_call (line 857) | def test_inheritance_with_super_call(self, basic_exporter_config): method test_redaction_callback_none_handling (line 877) | def test_redaction_callback_none_handling(self, basic_exporter_config): method test_combined_force_redaction_and_privacy_tagging (line 889) | def test_combined_force_redaction_and_privacy_tagging(self, basic_expo... class TestOTLPSpanHeaderRedactionAdapterExporterExportFunctionality (line 901) | class TestOTLPSpanHeaderRedactionAdapterExporterExportFunctionality: method basic_exporter_config (line 905) | def basic_exporter_config(self): method mock_otel_span (line 910) | def mock_otel_span(self): method test_export_otel_spans_with_processing (line 917) | async def test_export_otel_spans_with_processing(self, method test_export_processed_with_resource_attributes (line 942) | async def test_export_processed_with_resource_attributes( method test_export_with_exception_handling (line 970) | async def test_export_with_exception_handling( class TestOTLPSpanHeaderRedactionAdapterExporterBatching (line 997) | class TestOTLPSpanHeaderRedactionAdapterExporterBatching: method basic_exporter_config (line 1001) | def basic_exporter_config(self): method test_batching_with_redaction_and_tagging (line 1006) | async def test_batching_with_redaction_and_tagging(self, mock_otlp_exp... class TestOTLPSpanHeaderRedactionAdapterExporterPublicInterface (line 1058) | class TestOTLPSpanHeaderRedactionAdapterExporterPublicInterface: method basic_exporter_config (line 1062) | def basic_exporter_config(self): method test_name_property (line 1066) | def test_name_property(self, basic_exporter_config): method test_is_isolated_instance_property_false (line 1072) | def test_is_isolated_instance_property_false(self, basic_exporter_conf... method test_stop_method (line 1078) | async def test_stop_method(self, basic_exporter_config): method test_on_error_method (line 1089) | def test_on_error_method(self, basic_exporter_config): method test_on_complete_method (line 1098) | def test_on_complete_method(self, basic_exporter_config): method test_export_otel_spans_error_handling (line 1106) | async def test_export_otel_spans_error_handling(self, mock_otlp_export... method test_export_processed_with_single_span (line 1127) | async def test_export_processed_with_single_span(self, mock_otlp_expor... method test_export_processed_with_span_list (line 1150) | async def test_export_processed_with_span_list(self, mock_otlp_exporte... method test_export_processed_with_invalid_type (line 1175) | async def test_export_processed_with_invalid_type(self, method test_add_processor_public_interface (line 1194) | def test_add_processor_public_interface(self, basic_exporter_config): method test_context_manager_lifecycle (line 1210) | async def test_context_manager_lifecycle(self, mock_otlp_exporter_clas... class TestOTLPSpanHeaderRedactionAdapterExporterRealWorldScenarios (line 1235) | class TestOTLPSpanHeaderRedactionAdapterExporterRealWorldScenarios: method basic_exporter_config (line 1239) | def basic_exporter_config(self): method test_datadog_integration_scenario (line 1243) | def test_datadog_integration_scenario(self): method test_jaeger_integration_scenario (line 1263) | def test_jaeger_integration_scenario(self): method test_custom_otlp_backend_scenario (line 1279) | def test_custom_otlp_backend_scenario(self): method test_high_volume_scenario_configuration (line 1310) | def test_high_volume_scenario_configuration(self): method test_development_environment_scenario (line 1326) | def test_development_environment_scenario(self): class TestOTLPSpanHeaderRedactionAdapterExporterGRPCProtocol (line 1350) | class TestOTLPSpanHeaderRedactionAdapterExporterGRPCProtocol: method basic_exporter_config (line 1354) | def basic_exporter_config(self): method test_initialization_with_grpc_protocol (line 1365) | def test_initialization_with_grpc_protocol(self, basic_exporter_config): method test_initialization_with_http_protocol_explicit (line 1376) | def test_initialization_with_http_protocol_explicit(self, basic_export... method test_initialization_with_invalid_protocol (line 1387) | def test_initialization_with_invalid_protocol(self, basic_exporter_con... method test_grpc_exporter_initialization_with_redaction (line 1397) | def test_grpc_exporter_initialization_with_redaction(self, mock_grpc_e... method test_grpc_export_with_redaction (line 1415) | async def test_grpc_export_with_redaction(self, mock_grpc_exporter_cla... method test_grpc_with_privacy_tagging (line 1439) | def test_grpc_with_privacy_tagging(self, mock_grpc_exporter_class, bas... method test_grpc_with_redaction_and_privacy_tagging (line 1455) | def test_grpc_with_redaction_and_privacy_tagging(self, mock_grpc_expor... method test_grpc_resource_attributes (line 1472) | async def test_grpc_resource_attributes(self, mock_grpc_exporter_class... FILE: packages/nvidia_nat_phoenix/src/nat/plugins/phoenix/mixin/phoenix_mixin.py class PhoenixMixin (line 26) | class PhoenixMixin: method __init__ (line 46) | def __init__(self, *args, endpoint: str, project: str, timeout: float ... method export_otel_spans (line 63) | async def export_otel_spans(self, spans: list[OtelSpan]) -> None: FILE: packages/nvidia_nat_phoenix/src/nat/plugins/phoenix/phoenix_exporter.py class PhoenixOtelExporter (line 25) | class PhoenixOtelExporter(PhoenixMixin, OtelSpanExporter): method __init__ (line 47) | def __init__(self, FILE: packages/nvidia_nat_phoenix/src/nat/plugins/phoenix/register.py class PhoenixTelemetryExporter (line 29) | class PhoenixTelemetryExporter(BatchConfigMixin, CollectorConfigMixin, T... function phoenix_telemetry_exporter (line 38) | async def phoenix_telemetry_exporter(config: PhoenixTelemetryExporter, b... FILE: packages/nvidia_nat_phoenix/src/nat/plugins/phoenix/scripts/export_trajectory_to_phoenix/atif_trajectory_exporter.py function _iso_to_epoch (line 47) | def _iso_to_epoch(timestamp: str) -> float: function _new_trace_id (line 52) | def _new_trace_id() -> int: function _is_terminal_agent_step (line 57) | def _is_terminal_agent_step(step: dict[str, Any]) -> bool: function _per_toolcall_meta (line 62) | def _per_toolcall_meta( function _topo_sort_indices (line 84) | def _topo_sort_indices(ancestries: list[AtifAncestry]) -> list[int]: function _message_to_str (line 104) | def _message_to_str(message: Any) -> str: class ATIFTrajectorySpanExporter (line 118) | class ATIFTrajectorySpanExporter(SerializeMixin): method __init__ (line 128) | def __init__(self, span_prefix: str | None = None): method convert (line 137) | def convert(self, trajectory_data: dict[str, Any]) -> list[Span]: method _create_llm_span (line 301) | def _create_llm_span( method _create_agent_spans (line 366) | def _create_agent_spans( method _create_function_span (line 429) | def _create_function_span( method _create_system_tool_spans (line 476) | def _create_system_tool_spans( method _create_tool_span (line 539) | def _create_tool_span( method _convert_subagent (line 589) | def _convert_subagent( method _make_span (line 631) | def _make_span( method _trajectory_time_bounds (line 691) | def _trajectory_time_bounds(steps: list[dict[str, Any]]) -> tuple[floa... FILE: packages/nvidia_nat_phoenix/src/nat/plugins/phoenix/scripts/export_trajectory_to_phoenix/atif_trajectory_phoenix_exporter.py class ATIFTrajectoryPhoenixExporter (line 35) | class ATIFTrajectoryPhoenixExporter: method __init__ (line 50) | def __init__( method export (line 62) | def export(self, trajectory_data: dict[str, Any]) -> None: FILE: packages/nvidia_nat_phoenix/src/nat/plugins/phoenix/scripts/export_trajectory_to_phoenix/export_atif_trajectory_to_phoenix.py function main (line 35) | def main() -> None: FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/calc/calc_runner.py class LinearFitAnalyzer (line 46) | class LinearFitAnalyzer: method __init__ (line 49) | def __init__(self, fit_config: FitConfig): method analyze_metrics (line 54) | def analyze_metrics(self, sizing_metrics_per_concurrency: dict[int, Si... class CalcRunner (line 110) | class CalcRunner: method __init__ (line 115) | def __init__(self, config: CalcRunnerConfig): method validate_config (line 137) | def validate_config(self) -> None: method target_llm_latency (line 180) | def target_llm_latency(self) -> float: method target_wf_runtime (line 184) | def target_wf_runtime(self) -> float: method target_users (line 188) | def target_users(self) -> int: method test_gpu_count (line 192) | def test_gpu_count(self) -> int: method append_job (line 196) | def append_job(self) -> bool: method output_dir (line 200) | def output_dir(self) -> Path: method _calc_gpu_estimates_based_on_slope (line 203) | def _calc_gpu_estimates_based_on_slope(self, method _calc_gpu_estimates_per_concurrency (line 248) | def _calc_gpu_estimates_per_concurrency(self, sizing_metrics_per_concu... method _validate_gpu_estimation_parameters (line 304) | def _validate_gpu_estimation_parameters(self, use_latency: bool, use_r... method _validate_metrics_data (line 320) | def _validate_metrics_data(self, sizing_metrics_per_concurrency: dict)... method _calc_fit_and_gpu_estimate (line 330) | def _calc_fit_and_gpu_estimate(self, sizing_metrics_per_concurrency: d... method generate_calc_runner_output (line 381) | def generate_calc_runner_output(self) -> CalcRunnerOutput: method plot_concurrency_vs_time_metrics (line 417) | def plot_concurrency_vs_time_metrics(self, output_dir: Path): method write_output (line 448) | def write_output(self, output_dir: Path, calc_runner_output: CalcRunne... method run_offline (line 481) | def run_offline(self) -> CalcRunnerOutput: method run_online (line 536) | async def run_online(self) -> CalcRunnerOutput: method run (line 610) | async def run(self) -> CalcRunnerOutput: FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/calc/calculations.py function compute_slope (line 27) | def compute_slope(concurrencies: list[float], function _remove_outliers (line 93) | def _remove_outliers(x: np.ndarray, y: np.ndarray, fit_config: FitConfig... function calc_gpu_estimate_based_on_slope (line 183) | def calc_gpu_estimate_based_on_slope(target_time_metric: float, function calc_gpu_estimate_for_single_concurrency (line 232) | def calc_gpu_estimate_for_single_concurrency(target_llm_latency: float, FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/calc/data_models.py class FitConfig (line 23) | class FitConfig(BaseModel): class CalcRunnerConfig (line 43) | class CalcRunnerConfig(BaseModel): class SizingMetricPerItem (line 84) | class SizingMetricPerItem(BaseModel): class SizingMetricsAlerts (line 94) | class SizingMetricsAlerts(BaseModel): class SizingMetrics (line 102) | class SizingMetrics(BaseModel): class LinearFitResult (line 119) | class LinearFitResult(BaseModel): class FitResults (line 129) | class FitResults(BaseModel): class GPUEstimates (line 138) | class GPUEstimates(BaseModel): class CalcAlerts (line 149) | class CalcAlerts(BaseModel): class CalcData (line 164) | class CalcData(BaseModel): class CalcRunnerOutput (line 177) | class CalcRunnerOutput(BaseModel): FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/calc/plot.py class PlotConfig (line 30) | class PlotConfig: function _validate_columns (line 95) | def _validate_columns(df: pd.DataFrame, required_columns: list[str], con... function plot_concurrency_vs_time_metrics_simple (line 113) | def plot_concurrency_vs_time_metrics_simple(df: pd.DataFrame, output_dir... function plot_metric_vs_concurrency_with_optional_fit (line 150) | def plot_metric_vs_concurrency_with_optional_fit( function plot_concurrency_vs_time_metrics (line 262) | def plot_concurrency_vs_time_metrics(metrics_per_concurrency: dict[int, ... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/cli/sizing.py function calc_command (line 114) | def calc_command(ctx, function sizing_command (line 279) | def sizing_command(): FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/data_frame_row.py class DataFrameRow (line 23) | class DataFrameRow(BaseModel): method cast_to_str (line 45) | def cast_to_str(cls, v): FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/decorators/framework_wrapper.py function set_framework_profiler_handler (line 44) | def set_framework_profiler_handler( function chain_wrapped_build_fn (line 198) | def chain_wrapped_build_fn( FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/decorators/function_tracking.py function _serialize_data (line 35) | def _serialize_data(obj: Any) -> Any: function _prepare_serialized_args_kwargs (line 53) | def _prepare_serialized_args_kwargs(*args, **kwargs) -> tuple[list[Any],... function push_intermediate_step (line 60) | def push_intermediate_step(step_manager: IntermediateStepManager, function track_function (line 88) | def track_function(func: F, *, metadata: dict[str, Any] | None = None) -... function track_function (line 94) | def track_function(*, metadata: dict[str, Any] | None = None) -> Callabl... function track_function (line 99) | def track_function(func: Any = None, *, metadata: dict[str, Any] | None ... function track_unregistered_function (line 280) | def track_unregistered_function(func: F, *, name: str | None = None, met... function track_unregistered_function (line 286) | def track_unregistered_function(*, name: str | None = None, metadata: di... function track_unregistered_function (line 291) | def track_unregistered_function(func: Callable[..., Any] | None = None, FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/decorators/latency.py function latency_sensitive (line 63) | def latency_sensitive(sensitivity: int) -> Callable[[F], F]: FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/forecasting/model_trainer.py function create_model (line 29) | def create_model(model_type: str) -> ForecastingBaseModel: class ModelTrainer (line 43) | class ModelTrainer: method __init__ (line 54) | def __init__(self, model_type: str = DEFAULT_MODEL_TYPE): method train (line 58) | def train(self, raw_stats: list[list[IntermediatePropertyAdaptor]]) ->... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/forecasting/models/forecasting_base_model.py class ForecastingBaseModel (line 24) | class ForecastingBaseModel(ABC): method fit (line 30) | def fit(self, raw_stats): method predict (line 37) | def predict(self, raw_stats) -> np.ndarray: FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/forecasting/models/linear_model.py class LinearModel (line 26) | class LinearModel(ForecastingBaseModel): method __init__ (line 31) | def __init__(self): method fit (line 46) | def fit(self, raw_stats: list[list[IntermediatePropertyAdaptor]]): method predict (line 58) | def predict(self, raw_stats: list[list[IntermediatePropertyAdaptor]]) ... method _prep_single (line 66) | def _prep_single(self, raw_stats: list[list[IntermediatePropertyAdapto... method _prep_for_model_training (line 86) | def _prep_for_model_training(self, raw_stats: list[list[IntermediatePr... method _extract_token_usage_meta (line 104) | def _extract_token_usage_meta(self, all_requests_data: list[list[Inter... method _preprocess_for_forecasting (line 135) | def _preprocess_for_forecasting(self, arr: np.ndarray, matrix_length: ... method _flatten_features (line 176) | def _flatten_features(self, x_list, y_list): FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/forecasting/models/random_forest_regressor.py class RandomForestModel (line 26) | class RandomForestModel(ForecastingBaseModel): method __init__ (line 31) | def __init__(self): method fit (line 46) | def fit(self, raw_stats: list[list[IntermediatePropertyAdaptor]]): method predict (line 57) | def predict(self, raw_stats: list[list[IntermediatePropertyAdaptor]]) ... method _prep_single (line 65) | def _prep_single(self, raw_stats: list[list[IntermediatePropertyAdapto... method _prep_for_model_training (line 92) | def _prep_for_model_training(self, raw_stats: list[list[IntermediatePr... method _preprocess_for_forecasting (line 111) | def _preprocess_for_forecasting( method _extract_token_usage_meta (line 218) | def _extract_token_usage_meta(self, all_requests_data: list[list[Inter... method _flatten_features (line 249) | def _flatten_features(self, x_list, y_list): FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/bottleneck_analysis/nested_stack_analysis.py function build_call_tree_for_example (line 51) | def build_call_tree_for_example(example_df: pd.DataFrame) -> list[CallNo... function build_call_tree_per_example (line 143) | def build_call_tree_per_example(all_steps: list[list[IntermediateStep]])... function compute_time_based_concurrency (line 178) | def compute_time_based_concurrency(roots: list[CallNode]) -> Concurrency... function find_midpoint_concurrency (line 267) | def find_midpoint_concurrency(node: CallNode, segments: list[tuple[float... function save_gantt_chart (line 296) | def save_gantt_chart(all_nodes: list[CallNode], output_path: str) -> None: function analyze_calls_and_build_result (line 350) | def analyze_calls_and_build_result(roots: list[CallNode], output_dir: st... function multi_example_call_profiling (line 442) | def multi_example_call_profiling(all_steps: list[list[IntermediateStep]], FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py function profile_workflow_bottlenecks (line 40) | def profile_workflow_bottlenecks(all_steps: list[list[IntermediateStep]]... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/data_models.py class PrefixInfo (line 28) | class PrefixInfo(BaseModel): class FrameworkLLMPrefixData (line 38) | class FrameworkLLMPrefixData(BaseModel): class CommonPrefixesOutput (line 47) | class CommonPrefixesOutput(RootModel[dict[str, FrameworkLLMPrefixData]]): method to_dict (line 53) | def to_dict(self) -> dict[str, FrameworkLLMPrefixData]: class LLMUniquenessMetrics (line 65) | class LLMUniquenessMetrics(BaseModel): class LLMUniquenessMetricsByLLM (line 74) | class LLMUniquenessMetricsByLLM(RootModel[dict[str, LLMUniquenessMetrics... method to_dict (line 80) | def to_dict(self) -> dict[str, Any]: class SimpleOperationStats (line 90) | class SimpleOperationStats(BaseModel): class SimpleBottleneckReport (line 105) | class SimpleBottleneckReport(BaseModel): class CallNode (line 119) | class CallNode(BaseModel): method compute_self_time (line 153) | def compute_self_time(self) -> float: method compute_subtree_time (line 187) | def compute_subtree_time(self) -> float: method __str__ (line 197) | def __str__(self) -> str: method _repr (line 200) | def _repr(self, level: int) -> str: class NodeMetrics (line 212) | class NodeMetrics(BaseModel): class ConcurrencyDistribution (line 232) | class ConcurrencyDistribution(BaseModel): class NestedCallProfilingResult (line 245) | class NestedCallProfilingResult(BaseModel): class ConcurrencyCallNode (line 266) | class ConcurrencyCallNode(CallNode): class ConcurrencySpikeInfo (line 288) | class ConcurrencySpikeInfo(BaseModel): class ConcurrencyCorrelationStats (line 301) | class ConcurrencyCorrelationStats(BaseModel): class ConcurrencyAnalysisResult (line 309) | class ConcurrencyAnalysisResult(BaseModel): class PrefixCallNode (line 339) | class PrefixCallNode(BaseModel): class FrequentPattern (line 354) | class FrequentPattern(BaseModel): class PrefixSpanSubworkflowResult (line 365) | class PrefixSpanSubworkflowResult(BaseModel): FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/dynamo_metrics.py class DynamoCoreMetrics (line 211) | class DynamoCoreMetrics(BaseModel): method get_effective_kv_efficiency (line 300) | def get_effective_kv_efficiency(self) -> float | None: method is_complete (line 314) | def is_complete(self) -> bool: method get_optimization_summary (line 327) | def get_optimization_summary(self) -> dict[str, float | None]: method to_optimization_score (line 341) | def to_optimization_score( class DynamoMetricsResult (line 384) | class DynamoMetricsResult(BaseModel): method compute_kv_efficiency (line 572) | def compute_kv_efficiency(self) -> float | None: method get_core_metrics (line 590) | def get_core_metrics(self) -> DynamoCoreMetrics: method has_core_metrics (line 624) | def has_core_metrics(self) -> bool: class DynamoMetricsCollector (line 639) | class DynamoMetricsCollector: method __init__ (line 656) | def __init__(self, config: DynamoMetricsConfig): method collect (line 666) | async def collect(self) -> DynamoMetricsResult: method _get_enabled_metrics (line 740) | def _get_enabled_metrics(self) -> dict[str, str]: method _query_prometheus (line 787) | async def _query_prometheus(self, client: httpx.AsyncClient, query: st... method _query_prometheus_instant (line 812) | async def _query_prometheus_instant(self, client: httpx.AsyncClient, q... method _query_prometheus_range (line 862) | async def _query_prometheus_range(self, client: httpx.AsyncClient, que... method health_check (line 977) | async def health_check(self) -> dict[str, Any]: function collect_dynamo_metrics (line 1020) | async def collect_dynamo_metrics(config: DynamoMetricsConfig) -> DynamoM... function collect_core_metrics (line 1034) | async def collect_core_metrics( FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/experimental/concurrency_spike_analysis.py function build_call_tree_for_example (line 49) | def build_call_tree_for_example(example_df: pd.DataFrame) -> list[Concur... function build_call_tree_per_example (line 127) | def build_call_tree_per_example(df: pd.DataFrame) -> list[ConcurrencyCal... function flatten_calls (line 146) | def flatten_calls(roots: list[ConcurrencyCallNode]) -> list[ConcurrencyC... function compute_concurrency_distribution (line 167) | def compute_concurrency_distribution(roots: list[ConcurrencyCallNode]) -... function build_concurrency_segments (line 196) | def build_concurrency_segments(roots: list[ConcurrencyCallNode]) -> list... function find_percentile_concurrency (line 224) | def find_percentile_concurrency(dist_map: dict[int, float], percentile: ... function detect_concurrency_spikes (line 250) | def detect_concurrency_spikes(segments: list[tuple[float, float, int]], ... function find_calls_active_in_interval (line 262) | def find_calls_active_in_interval(roots: list[ConcurrencyCallNode], star... function correlate_spike_calls (line 280) | def correlate_spike_calls(spikes: list[ConcurrencySpikeInfo], roots: lis... function compute_midpoint_concurrency (line 308) | def compute_midpoint_concurrency(n: ConcurrencyCallNode, segments: list[... function average_latency_by_midpoint_concurrency (line 330) | def average_latency_by_midpoint_concurrency(roots: list[ConcurrencyCallN... function concurrency_spike_analysis (line 361) | def concurrency_spike_analysis( FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/experimental/prefix_span_analysis.py function parse_op_type (line 48) | def parse_op_type(evt: str) -> str | None: function get_op_name (line 58) | def get_op_name(row: pd.Series, op_type: str) -> str: function build_call_sequence_for_example (line 67) | def build_call_sequence_for_example(example_df: pd.DataFrame) -> list[Pr... function build_sequences (line 130) | def build_sequences(df: pd.DataFrame) -> dict[int, list[PrefixCallNode]]: function build_token (line 150) | def build_token(call: PrefixCallNode, max_text_len: int = 20, prefix_lis... function convert_sequences_for_prefixspan (line 180) | def convert_sequences_for_prefixspan(sequences_map: dict[int, list[Prefi... function run_prefixspan (line 201) | def run_prefixspan(sequences_map: dict[int, list[PrefixCallNode]], function find_contiguous_matches (line 245) | def find_contiguous_matches(pattern: list[str], seq: list[str]) -> list[... function compute_coverage_and_duration (line 260) | def compute_coverage_and_duration(sequences_map: dict[int, list[PrefixCa... function prefixspan_subworkflow_with_text (line 324) | def prefixspan_subworkflow_with_text(all_steps: list[list[IntermediateSt... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/llm_metrics.py class LLMMetrics (line 23) | class LLMMetrics: method compute_profiling_metrics (line 29) | def compute_profiling_metrics(all_steps: list[list[IntermediateStep]])... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/prompt_caching.py function build_prefix_trie (line 26) | def build_prefix_trie(strings: list[str]) -> dict: function collect_prefixes_iterative (line 53) | def collect_prefixes_iterative(root: dict, total_calls: int) -> list[dict]: function get_common_prefixes (line 90) | def get_common_prefixes(all_steps: list[list[IntermediateStep]], FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/token_uniqueness.py function compute_inter_query_token_uniqueness_by_llm (line 29) | def compute_inter_query_token_uniqueness_by_llm(all_steps: list[list[Int... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/inference_optimization/workflow_runtimes.py function compute_workflow_runtime_metrics (line 23) | def compute_workflow_runtime_metrics(all_steps: list[list[IntermediateSt... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/intermediate_property_adapter.py class IntermediatePropertyAdaptor (line 21) | class IntermediatePropertyAdaptor(IntermediateStep): method from_intermediate_step (line 24) | def from_intermediate_step(cls, step: IntermediateStep) -> "Intermedia... method token_usage (line 32) | def token_usage(self) -> TokenUsageBaseModel: method seconds_between_calls (line 36) | def seconds_between_calls(self) -> int: method llm_text_input (line 40) | def llm_text_input(self) -> str: method llm_text_output (line 47) | def llm_text_output(self) -> str: method llm_text_chunk (line 54) | def llm_text_chunk(self) -> str: method tool_input (line 61) | def tool_input(self) -> str: method tool_output (line 68) | def tool_output(self) -> str: method llm_name (line 75) | def llm_name(self) -> str: method tool_name (line 82) | def tool_name(self) -> str: method function_name (line 89) | def function_name(self) -> str: method function_id (line 93) | def function_id(self) -> str: method parent_function_id (line 97) | def parent_function_id(self) -> str: method parent_function_name (line 101) | def parent_function_name(self) -> str: FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/profile_runner.py class SimpleMetricsHolder (line 37) | class SimpleMetricsHolder(BaseModel): class InferenceOptimizationHolder (line 43) | class InferenceOptimizationHolder(BaseModel): class ProfilerRunner (line 51) | class ProfilerRunner: method __init__ (line 72) | def __init__(self, profiler_config: ProfilerConfig, output_dir: Path, ... method _get_workflow_time_window (line 86) | def _get_workflow_time_window( method run (line 121) | async def run(self, all_steps: list[list[IntermediateStep]]) -> Profil... method _compute_workflow_run_time_confidence_intervals (line 399) | def _compute_workflow_run_time_confidence_intervals(self) -> Inference... method _compute_llm_latency_confidence_intervals (line 418) | def _compute_llm_latency_confidence_intervals(self) -> InferenceMetric... method _compute_throughput_estimates (line 441) | def _compute_throughput_estimates(self) -> InferenceMetricsModel: method _compute_confidence_intervals (line 500) | def _compute_confidence_intervals(self, data: list[float], metric_name... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/runtime_evaluator/atif_evaluate.py function _iso_to_epoch (line 26) | def _iso_to_epoch(ts: str | None) -> float | None: class AverageLLMLatencyAtifEvaluator (line 36) | class AverageLLMLatencyAtifEvaluator(AtifBaseEvaluator): method __init__ (line 44) | def __init__(self, max_concurrency: int = 8): method evaluate_atif_item (line 47) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... class AverageWorkflowRuntimeAtifEvaluator (line 70) | class AverageWorkflowRuntimeAtifEvaluator(AtifBaseEvaluator): method __init__ (line 75) | def __init__(self, max_concurrency: int = 8): method evaluate_atif_item (line 78) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... class AverageNumberOfLLMCallsAtifEvaluator (line 94) | class AverageNumberOfLLMCallsAtifEvaluator(AtifBaseEvaluator): method __init__ (line 99) | def __init__(self, max_concurrency: int = 8): method evaluate_atif_item (line 102) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... class AverageTokensPerLLMEndAtifEvaluator (line 111) | class AverageTokensPerLLMEndAtifEvaluator(AtifBaseEvaluator): method __init__ (line 116) | def __init__(self, max_concurrency: int = 8): method evaluate_atif_item (line 119) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/runtime_evaluator/evaluate.py class _CallTiming (line 29) | class _CallTiming: method latency (line 34) | def latency(self) -> float | None: class AverageLLMLatencyEvaluator (line 40) | class AverageLLMLatencyEvaluator(BaseEvaluator): method __init__ (line 46) | def __init__(self, max_concurrency: int = 8): method evaluate_item (line 49) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: ... class AverageWorkflowRuntimeEvaluator (line 68) | class AverageWorkflowRuntimeEvaluator(BaseEvaluator): method __init__ (line 74) | def __init__(self, max_concurrency: int = 8): method evaluate_item (line 77) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: ... class AverageNumberOfLLMCallsEvaluator (line 86) | class AverageNumberOfLLMCallsEvaluator(BaseEvaluator): method __init__ (line 91) | def __init__(self, max_concurrency: int = 8): method evaluate_item (line 94) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: ... class AverageTokensPerLLMEndEvaluator (line 99) | class AverageTokensPerLLMEndEvaluator(BaseEvaluator): method __init__ (line 105) | def __init__(self, max_concurrency: int = 8): method evaluate_item (line 108) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: ... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/runtime_evaluator/register.py class AverageLLMLatencyConfig (line 27) | class AverageLLMLatencyConfig(EvaluatorBaseConfig, name="avg_llm_latency"): class AverageWorkflowRuntimeConfig (line 33) | class AverageWorkflowRuntimeConfig(EvaluatorBaseConfig, name="avg_workfl... class AverageNumberOfLLMCallsConfig (line 39) | class AverageNumberOfLLMCallsConfig(EvaluatorBaseConfig, name="avg_num_l... class AverageTokensPerLLMEndConfig (line 45) | class AverageTokensPerLLMEndConfig(EvaluatorBaseConfig, name="avg_tokens... function register_avg_llm_latency_evaluator (line 52) | async def register_avg_llm_latency_evaluator(config: AverageLLMLatencyCo... function register_avg_workflow_runtime_evaluator (line 76) | async def register_avg_workflow_runtime_evaluator(config: AverageWorkflo... function register_avg_num_llm_calls_evaluator (line 100) | async def register_avg_num_llm_calls_evaluator(config: AverageNumberOfLL... function register_avg_tokens_per_llm_end_evaluator (line 124) | async def register_avg_tokens_per_llm_end_evaluator(config: AverageToken... FILE: packages/nvidia_nat_profiler/src/nat/plugins/profiler/utils.py function detect_llm_frameworks_in_build_fn (line 36) | def detect_llm_frameworks_in_build_fn( function create_standardized_dataframe (line 150) | def create_standardized_dataframe(requests_data: list[list[IntermediateS... FILE: packages/nvidia_nat_profiler/tests/calc/test_calc_runner.py function make_sizing_metrics (line 30) | def make_sizing_metrics(latency, runtime, interrupted=False): function make_config (line 40) | def make_config( function patch_write_output (line 63) | def patch_write_output(): function test_calc_runner (line 72) | async def test_calc_runner(latencies, runtimes): FILE: packages/nvidia_nat_profiler/tests/decorators/test_function_tracking.py function test_sync_function_no_metadata (line 32) | async def test_sync_function_no_metadata(reactive_stream: Subject): function test_sync_function_with_metadata (line 59) | async def test_sync_function_with_metadata(reactive_stream: Subject): function test_sync_generator (line 82) | async def test_sync_generator(reactive_stream: Subject): function test_class_method (line 105) | async def test_class_method(reactive_stream: Subject): function test_async_function (line 129) | async def test_async_function(reactive_stream: Subject): function test_async_generator (line 150) | async def test_async_generator(reactive_stream: Subject): class MyModel (line 178) | class MyModel(BaseModel): function test_sync_function_pydantic (line 184) | async def test_sync_function_pydantic(reactive_stream: Subject): class TestTrackUnregisteredFunction (line 216) | class TestTrackUnregisteredFunction: method mock_context (line 220) | def mock_context(self): method test_basic_decoration_sync_function (line 231) | def test_basic_decoration_sync_function(self, mock_context): method test_decoration_with_custom_name (line 248) | def test_decoration_with_custom_name(self, mock_context): method test_decoration_with_metadata (line 262) | def test_decoration_with_metadata(self, mock_context): method test_decoration_with_name_and_metadata (line 279) | def test_decoration_with_name_and_metadata(self, mock_context): method test_invalid_metadata_type (line 296) | def test_invalid_metadata_type(self): method test_invalid_metadata_keys (line 304) | def test_invalid_metadata_keys(self): method test_async_function_decoration (line 312) | async def test_async_function_decoration(self, mock_context): method test_sync_generator_decoration (line 330) | def test_sync_generator_decoration(self, mock_context): method test_async_generator_decoration (line 347) | async def test_async_generator_decoration(self, mock_context): method test_function_with_kwargs (line 368) | def test_function_with_kwargs(self, mock_context): method test_decorator_preserves_function_attributes (line 384) | def test_decorator_preserves_function_attributes(self): method test_no_parentheses_vs_with_parentheses (line 396) | def test_no_parentheses_vs_with_parentheses(self, mock_context): method test_manual_decorator_application (line 417) | def test_manual_decorator_application(self, mock_context): FILE: packages/nvidia_nat_profiler/tests/decorators/test_latency.py class TestLatencySensitiveValidation (line 24) | class TestLatencySensitiveValidation: method test_accepts_int (line 27) | def test_accepts_int(self): method test_rejects_string (line 37) | def test_rejects_string(self): method test_rejects_float (line 45) | def test_rejects_float(self): method test_rejects_none (line 53) | def test_rejects_none(self): method test_accepts_zero (line 61) | def test_accepts_zero(self): method test_accepts_negative (line 72) | def test_accepts_negative(self): method test_accepts_large_int (line 83) | def test_accepts_large_int(self): method test_accepts_arbitrary_int (line 93) | def test_accepts_arbitrary_int(self): class TestContextIntegration (line 105) | class TestContextIntegration: method test_default_sensitivity_is_medium (line 108) | def test_default_sensitivity_is_medium(self): method test_push_higher_priority_changes_sensitivity (line 114) | def test_push_higher_priority_changes_sensitivity(self): method test_push_lower_priority_keeps_current (line 128) | def test_push_lower_priority_keeps_current(self): method test_deep_nesting_maintains_priority (line 146) | def test_deep_nesting_maintains_priority(self): method test_exception_in_context_still_pops (line 181) | def test_exception_in_context_still_pops(self): class TestDecoratorSyncFunctions (line 198) | class TestDecoratorSyncFunctions: method test_sync_function_with_int (line 201) | def test_sync_function_with_int(self): method test_sync_function_with_lower_int (line 218) | def test_sync_function_with_lower_int(self): method test_sync_function_priority_nesting (line 229) | def test_sync_function_priority_nesting(self): method test_sync_function_with_return_value (line 246) | def test_sync_function_with_return_value(self): method test_sync_function_with_args_kwargs (line 256) | def test_sync_function_with_args_kwargs(self): method test_sync_function_exception_propagates (line 266) | def test_sync_function_exception_propagates(self): method test_invalid_sensitivity_at_decoration_time (line 282) | def test_invalid_sensitivity_at_decoration_time(self): class TestDecoratorAsyncFunctions (line 291) | class TestDecoratorAsyncFunctions: method test_async_function_with_int (line 294) | async def test_async_function_with_int(self): method test_async_function_with_lower_int (line 311) | async def test_async_function_with_lower_int(self): method test_async_function_priority_nesting (line 322) | async def test_async_function_priority_nesting(self): method test_async_function_with_return_value (line 339) | async def test_async_function_with_return_value(self): method test_async_function_with_args_kwargs (line 350) | async def test_async_function_with_args_kwargs(self): method test_async_function_exception_propagates (line 361) | async def test_async_function_exception_propagates(self): method test_mixed_sync_async_nesting (line 377) | async def test_mixed_sync_async_nesting(self): class TestDecoratorGeneratorFunctions (line 396) | class TestDecoratorGeneratorFunctions: method test_generator_function_with_int (line 399) | def test_generator_function_with_int(self): method test_generator_function_with_lower_int (line 419) | def test_generator_function_with_lower_int(self): method test_generator_function_priority_nesting (line 431) | def test_generator_function_priority_nesting(self): method test_generator_function_yields_values (line 449) | def test_generator_function_yields_values(self): method test_generator_function_with_args_kwargs (line 460) | def test_generator_function_with_args_kwargs(self): method test_generator_function_exception_propagates (line 472) | def test_generator_function_exception_propagates(self): method test_generator_function_early_exit (line 492) | def test_generator_function_early_exit(self): class TestDecoratorAsyncGeneratorFunctions (line 515) | class TestDecoratorAsyncGeneratorFunctions: method test_async_generator_function_with_int (line 518) | async def test_async_generator_function_with_int(self): method test_async_generator_function_with_lower_int (line 538) | async def test_async_generator_function_with_lower_int(self): method test_async_generator_function_priority_nesting (line 550) | async def test_async_generator_function_priority_nesting(self): method test_async_generator_function_yields_values (line 570) | async def test_async_generator_function_yields_values(self): method test_async_generator_function_with_args_kwargs (line 581) | async def test_async_generator_function_with_args_kwargs(self): method test_async_generator_function_exception_propagates (line 593) | async def test_async_generator_function_exception_propagates(self): method test_async_generator_function_early_exit (line 613) | async def test_async_generator_function_early_exit(self): method test_mixed_async_and_async_gen_nesting (line 637) | async def test_mixed_async_and_async_gen_nesting(self): FILE: packages/nvidia_nat_profiler/tests/forecasting/test_model_trainer.py function test_create_model (line 31) | def test_create_model(model_type: str, expected_model_class: type[Foreca... function test_create_model_invalid_type (line 35) | def test_create_model_invalid_type(): function test_model_trainer_initialization (line 49) | def test_model_trainer_initialization(model_trainer_kwargs: dict): function test_model_trainer_train (line 58) | def test_model_trainer_train(model_type: str, FILE: packages/nvidia_nat_profiler/tests/metrics/test_common_prefixes.py function minimal_valid_df_fixture (line 33) | def minimal_valid_df_fixture(): function test_get_common_prefixes_minimal (line 72) | def test_get_common_prefixes_minimal(minimal_valid_df): function test_get_common_prefixes_min_call_percentage (line 97) | def test_get_common_prefixes_min_call_percentage(minimal_valid_df): FILE: packages/nvidia_nat_profiler/tests/metrics/test_concurrency_spike.py function minimal_valid_df_fixture (line 39) | def minimal_valid_df_fixture(): function test_concurrency_spike_analysis_minimal (line 119) | def test_concurrency_spike_analysis_minimal(minimal_valid_df): function test_concurrency_spike_analysis_spike_threshold (line 150) | def test_concurrency_spike_analysis_spike_threshold(minimal_valid_df): function test_concurrency_spike_analysis_report_contents (line 167) | def test_concurrency_spike_analysis_report_contents(minimal_valid_df): FILE: packages/nvidia_nat_profiler/tests/metrics/test_llm_metrics.py function sample_dataframe_fixture (line 32) | def sample_dataframe_fixture(): function test_columns_added (line 101) | def test_columns_added(sample_dataframe): function test_nova_event_id (line 121) | def test_nova_event_id(sample_dataframe): function test_requests_remaining_in_event (line 129) | def test_requests_remaining_in_event(sample_dataframe): function test_time_to_next_event (line 156) | def test_time_to_next_event(sample_dataframe): function test_time_to_event_end (line 177) | def test_time_to_event_end(sample_dataframe): function test_predicted_osl (line 198) | def test_predicted_osl(sample_dataframe): function test_time_to_session_end (line 218) | def test_time_to_session_end(sample_dataframe): FILE: packages/nvidia_nat_profiler/tests/metrics/test_nested_bottleneck.py function minimal_valid_df_fixture (line 57) | def minimal_valid_df_fixture(): function test_build_call_tree_for_example_basic (line 131) | def test_build_call_tree_for_example_basic(minimal_valid_df): function test_build_call_tree_per_example_basic (line 161) | def test_build_call_tree_per_example_basic(minimal_valid_df): function test_compute_time_based_concurrency_empty (line 177) | def test_compute_time_based_concurrency_empty(): function test_compute_time_based_concurrency_basic (line 187) | def test_compute_time_based_concurrency_basic(minimal_valid_df): function test_find_midpoint_concurrency_no_segments (line 203) | def test_find_midpoint_concurrency_no_segments(minimal_valid_df): function test_find_midpoint_concurrency_basic (line 222) | def test_find_midpoint_concurrency_basic(minimal_valid_df): function test_analyze_calls_and_build_result_empty (line 249) | def test_analyze_calls_and_build_result_empty(): function test_analyze_calls_and_build_result_basic (line 257) | def test_analyze_calls_and_build_result_basic(minimal_valid_df, tmp_path): function test_multi_example_call_profiling_full (line 277) | def test_multi_example_call_profiling_full(minimal_valid_df, tmp_path): FILE: packages/nvidia_nat_profiler/tests/metrics/test_prefix_span.py function minimal_valid_df_fixture (line 39) | def minimal_valid_df_fixture(): function test_prefixspan_subworkflow_with_text_basic (line 100) | def test_prefixspan_subworkflow_with_text_basic(minimal_valid_df): function test_prefixspan_subworkflow_with_text_min_coverage (line 116) | def test_prefixspan_subworkflow_with_text_min_coverage(minimal_valid_df): function test_prefixspan_subworkflow_with_text_prefix_list (line 133) | def test_prefixspan_subworkflow_with_text_prefix_list(minimal_valid_df): function test_prefixspan_subworkflow_with_text_numeric_fields (line 156) | def test_prefixspan_subworkflow_with_text_numeric_fields(minimal_valid_df): function test_prefixspan_subworkflow_with_text_top_k (line 168) | def test_prefixspan_subworkflow_with_text_top_k(minimal_valid_df): function test_prefixspan_subworkflow_with_text_no_patterns (line 179) | def test_prefixspan_subworkflow_with_text_no_patterns(minimal_valid_df): FILE: packages/nvidia_nat_profiler/tests/metrics/test_simple_bottleneck.py function minimal_valid_df_fixture (line 39) | def minimal_valid_df_fixture(): function test_profile_workflow_bottlenecks_incomplete_pairs (line 97) | def test_profile_workflow_bottlenecks_incomplete_pairs(minimal_valid_df): function test_profile_workflow_bottlenecks_normal (line 115) | def test_profile_workflow_bottlenecks_normal(minimal_valid_df): function test_profile_workflow_bottlenecks_freq_stats (line 138) | def test_profile_workflow_bottlenecks_freq_stats(minimal_valid_df): function test_profile_workflow_bottlenecks_summary (line 158) | def test_profile_workflow_bottlenecks_summary(minimal_valid_df): FILE: packages/nvidia_nat_profiler/tests/metrics/test_token_uniqueness.py function minimal_valid_df_fixture (line 33) | def minimal_valid_df_fixture(): function test_compute_inter_query_token_uniqueness_by_llm_no_llm_start (line 106) | def test_compute_inter_query_token_uniqueness_by_llm_no_llm_start(minima... function test_compute_inter_query_token_uniqueness_by_llm_minimal (line 123) | def test_compute_inter_query_token_uniqueness_by_llm_minimal(minimal_val... function test_compute_inter_query_token_uniqueness_by_llm_two_consecutive_llm_calls (line 144) | def test_compute_inter_query_token_uniqueness_by_llm_two_consecutive_llm... function test_compute_inter_query_token_uniqueness_by_llm_multiple_examples (line 188) | def test_compute_inter_query_token_uniqueness_by_llm_multiple_examples(m... function test_compute_inter_query_token_uniqueness_by_llm_no_consecutive_calls (line 230) | def test_compute_inter_query_token_uniqueness_by_llm_no_consecutive_call... FILE: packages/nvidia_nat_profiler/tests/profiler/prediction_trie/test_data_models.py function test_prediction_metrics_creation (line 21) | def test_prediction_metrics_creation(): function test_prediction_metrics_defaults (line 30) | def test_prediction_metrics_defaults(): function test_llm_call_prediction_creation (line 36) | def test_llm_call_prediction_creation(): function test_llm_call_prediction_defaults (line 47) | def test_llm_call_prediction_defaults(): function test_llm_call_prediction_latency_sensitivity_default (line 54) | def test_llm_call_prediction_latency_sensitivity_default(): function test_llm_call_prediction_latency_sensitivity_set (line 59) | def test_llm_call_prediction_latency_sensitivity_set(): function test_llm_call_prediction_latency_sensitivity_in_model_dump (line 64) | def test_llm_call_prediction_latency_sensitivity_in_model_dump(): function test_llm_call_prediction_latency_sensitivity_none_in_model_dump (line 70) | def test_llm_call_prediction_latency_sensitivity_none_in_model_dump(): function test_prediction_trie_node_creation (line 76) | def test_prediction_trie_node_creation(): function test_prediction_trie_node_with_children (line 84) | def test_prediction_trie_node_with_children(): function test_prediction_trie_node_with_predictions (line 91) | def test_prediction_trie_node_with_predictions(): function test_prediction_trie_node_nested_hierarchy (line 105) | def test_prediction_trie_node_nested_hierarchy(): FILE: packages/nvidia_nat_profiler/tests/profiler/prediction_trie/test_metrics_accumulator.py function test_accumulator_add_single_sample (line 21) | def test_accumulator_add_single_sample(): function test_accumulator_add_multiple_samples (line 32) | def test_accumulator_add_multiple_samples(): function test_accumulator_empty (line 44) | def test_accumulator_empty(): FILE: packages/nvidia_nat_profiler/tests/profiler/prediction_trie/test_serialization.py function fixture_sample_trie (line 30) | def fixture_sample_trie() -> PredictionTrieNode: function test_save_and_load_trie (line 53) | def test_save_and_load_trie(sample_trie): function test_saved_file_has_metadata (line 66) | def test_saved_file_has_metadata(sample_trie): function test_save_and_load_trie_with_latency_sensitivity (line 81) | def test_save_and_load_trie_with_latency_sensitivity(): function test_load_trie_without_latency_sensitivity (line 110) | def test_load_trie_without_latency_sensitivity(): FILE: packages/nvidia_nat_profiler/tests/profiler/prediction_trie/test_trie_builder.py function fixture_simple_trace (line 30) | def fixture_simple_trace() -> list[IntermediateStep]: function test_trie_builder_builds_from_single_trace (line 96) | def test_trie_builder_builds_from_single_trace(simple_trace): function test_trie_builder_computes_remaining_calls (line 111) | def test_trie_builder_computes_remaining_calls(simple_trace): function test_trie_builder_computes_output_tokens (line 123) | def test_trie_builder_computes_output_tokens(simple_trace): function test_trie_builder_computes_interarrival_time (line 135) | def test_trie_builder_computes_interarrival_time(simple_trace): function test_extract_contexts_include_call_duration (line 145) | def test_extract_contexts_include_call_duration(simple_trace): function test_extract_contexts_include_workflow_duration (line 156) | def test_extract_contexts_include_workflow_duration(simple_trace): function test_sensitivity_not_computed_without_config (line 166) | def test_sensitivity_not_computed_without_config(simple_trace): function test_sensitivity_computed_with_config (line 177) | def test_sensitivity_computed_with_config(simple_trace): function test_sensitivity_first_call_higher_than_last_call (line 193) | def test_sensitivity_first_call_higher_than_last_call(simple_trace): function test_sensitivity_respects_scale (line 207) | def test_sensitivity_respects_scale(): function test_sensitivity_aggregated_across_traces (line 251) | def test_sensitivity_aggregated_across_traces(simple_trace): function test_sensitivity_on_aggregated_any_index (line 265) | def test_sensitivity_on_aggregated_any_index(simple_trace): function fixture_parallel_trace (line 284) | def fixture_parallel_trace() -> list[IntermediateStep]: function test_parallel_slack_detected (line 390) | def test_parallel_slack_detected(parallel_trace): function test_parallel_slack_zero_when_no_siblings (line 400) | def test_parallel_slack_zero_when_no_siblings(simple_trace): function test_parallel_slack_zero_when_llm_is_longest (line 414) | def test_parallel_slack_zero_when_llm_is_longest(): function test_parallel_slack_not_computed_when_w_parallel_zero (line 478) | def test_parallel_slack_not_computed_when_w_parallel_zero(parallel_trace): function test_sensitivity_reduced_for_parallel_call (line 488) | def test_sensitivity_reduced_for_parallel_call(parallel_trace): function test_sensitivity_score_clamped (line 518) | def test_sensitivity_score_clamped(parallel_trace): function test_build_sibling_map (line 531) | def test_build_sibling_map(parallel_trace): function test_backward_compat_default_w_parallel (line 554) | def test_backward_compat_default_w_parallel(simple_trace): function _make_ctx (line 575) | def _make_ctx(start: float, end: float) -> LLMCallContext: function test_logical_positions_transitive_overlap (line 588) | def test_logical_positions_transitive_overlap(): function test_logical_positions_no_overlap (line 600) | def test_logical_positions_no_overlap(): function test_logical_positions_two_groups (line 607) | def test_logical_positions_two_groups(): function test_logical_positions_empty (line 616) | def test_logical_positions_empty(): function test_logical_positions_single (line 621) | def test_logical_positions_single(): FILE: packages/nvidia_nat_profiler/tests/profiler/prediction_trie/test_trie_lookup.py function fixture_sample_trie (line 25) | def fixture_sample_trie() -> PredictionTrieNode: function test_lookup_exact_match (line 66) | def test_lookup_exact_match(sample_trie): function test_lookup_partial_path_match (line 75) | def test_lookup_partial_path_match(sample_trie): function test_lookup_unknown_call_index_fallback (line 86) | def test_lookup_unknown_call_index_fallback(sample_trie): function test_lookup_no_match_returns_root_aggregated (line 96) | def test_lookup_no_match_returns_root_aggregated(sample_trie): FILE: packages/nvidia_nat_profiler/tests/profiler/test_runtime_evaluator_atif.py function _make_sample (line 33) | def _make_sample( function test_iso_to_epoch_conversion (line 59) | def test_iso_to_epoch_conversion(ts, expected): function test_evaluate_atif_item_single_valid_latency (line 72) | async def test_evaluate_atif_item_single_valid_latency(): function test_evaluate_atif_item_multiple_latencies_averaged (line 94) | async def test_evaluate_atif_item_multiple_latencies_averaged(): function test_evaluate_atif_item_empty_trajectory (line 125) | async def test_evaluate_atif_item_empty_trajectory(): function test_evaluate_atif_item_no_agent_steps (line 137) | async def test_evaluate_atif_item_no_agent_steps(): function test_evaluate_atif_item_agent_with_metrics_no_span_timestamp (line 152) | async def test_evaluate_atif_item_agent_with_metrics_no_span_timestamp(): function test_evaluate_atif_item_timestamp_none_skips_step (line 172) | async def test_evaluate_atif_item_timestamp_none_skips_step(): function test_evaluate_atif_item_invalid_span_timestamp_skips_step (line 192) | async def test_evaluate_atif_item_invalid_span_timestamp_skips_step(): function test_evaluate_atif_item_mixed_valid_and_invalid_steps (line 213) | async def test_evaluate_atif_item_mixed_valid_and_invalid_steps(): function test_evaluate_atif_fn_batch_aggregation (line 243) | async def test_evaluate_atif_fn_batch_aggregation(): function test_workflow_runtime_atif_valid_timestamps (line 282) | async def test_workflow_runtime_atif_valid_timestamps(): function test_workflow_runtime_atif_steps_without_timestamp_skipped (line 299) | async def test_workflow_runtime_atif_steps_without_timestamp_skipped(): function test_num_llm_calls_atif_counts_agent_steps_with_metrics (line 318) | async def test_num_llm_calls_atif_counts_agent_steps_with_metrics(): function test_tokens_per_llm_end_atif_averages_from_metrics (line 337) | async def test_tokens_per_llm_end_atif_averages_from_metrics(): function test_register_avg_llm_latency_exposes_evaluate_atif_fn (line 365) | async def test_register_avg_llm_latency_exposes_evaluate_atif_fn(): FILE: packages/nvidia_nat_profiler/tests/test_percentile_interval_computation.py function _percentile_reference (line 31) | def _percentile_reference(arr: list[float], pct: float) -> float: function runner (line 48) | def runner(tmp_path) -> ProfilerRunner: function test_empty_input_returns_defaults (line 58) | def test_empty_input_returns_defaults(runner: ProfilerRunner): function test_single_value_collapses_intervals_and_percentiles (line 72) | def test_single_value_collapses_intervals_and_percentiles(runner: Profil... function test_multiple_values_compute_correct_stats (line 86) | def test_multiple_values_compute_correct_stats(runner: ProfilerRunner): FILE: packages/nvidia_nat_profiler/tests/test_prediction_trie_e2e.py function make_agent_trace (line 33) | def make_agent_trace(agent_name: str, num_llm_calls: int, base_timestamp... function test_e2e_prediction_trie_workflow (line 83) | async def test_e2e_prediction_trie_workflow(): FILE: packages/nvidia_nat_profiler/tests/test_prediction_trie_integration.py function fixture_sample_traces (line 34) | def fixture_sample_traces() -> list[list[IntermediateStep]]: function test_profiler_generates_prediction_trie (line 74) | async def test_profiler_generates_prediction_trie(sample_traces): FILE: packages/nvidia_nat_profiler/tests/test_producer_consumer_queue.py function test_usage_stat_order_and_latency (line 25) | async def test_usage_stat_order_and_latency(reactive_stream: Subject): FILE: packages/nvidia_nat_profiler/tests/test_profiler.py function minimal_eval_config_fixture (line 33) | def minimal_eval_config_fixture(tmp_path): class BrokenStr (line 48) | class BrokenStr: method __str__ (line 50) | def __str__(self): function test_cast_to_str_success (line 54) | def test_cast_to_str_success(): function test_cast_to_str_none (line 83) | def test_cast_to_str_none(): function test_cast_to_str_failure (line 107) | def test_cast_to_str_failure(): function test_validate_assignment (line 132) | def test_validate_assignment(): function test_average_workflow_runtime (line 158) | async def test_average_workflow_runtime(minimal_eval_config): function test_average_llm_latency (line 238) | async def test_average_llm_latency(minimal_eval_config): FILE: packages/nvidia_nat_rag/src/nat/plugins/rag/client.py class NATRAGConfig (line 40) | class NATRAGConfig(FunctionGroupBaseConfig, name="nat_rag"): function nat_rag (line 56) | async def nat_rag(config: NATRAGConfig, builder: Builder) -> AsyncGenera... FILE: packages/nvidia_nat_rag/src/nat/plugins/rag/config.py class RAGPipelineConfig (line 28) | class RAGPipelineConfig(BaseModel): FILE: packages/nvidia_nat_rag/src/nat/plugins/rag/models.py class RAGResultBase (line 21) | class RAGResultBase(BaseModel): class RAGSearchResult (line 26) | class RAGSearchResult(RAGResultBase): method __str__ (line 30) | def __str__(self) -> str: class RAGGenerateResult (line 34) | class RAGGenerateResult(RAGResultBase): method __str__ (line 39) | def __str__(self) -> str: FILE: packages/nvidia_nat_rag/tests/test_rag_function.py function fixture_mock_builder (line 82) | def fixture_mock_builder() -> MagicMock: class TestNvidiaRAGMethods (line 109) | class TestNvidiaRAGMethods: method test_import_and_instantiate_nvidia_rag (line 112) | def test_import_and_instantiate_nvidia_rag(self) -> None: method test_generate_method_exists (line 120) | def test_generate_method_exists(self) -> None: method test_search_method_exists (line 127) | def test_search_method_exists(self) -> None: method test_health_method_exists (line 134) | def test_health_method_exists(self) -> None: class TestNvidiaRAGIntegration (line 148) | class TestNvidiaRAGIntegration: method fixture_create_collection (line 152) | def fixture_create_collection(self, milvus_uri: str): method test_search (line 198) | async def test_search( method test_generate (line 239) | async def test_generate( method test_health (line 277) | async def test_health( FILE: packages/nvidia_nat_rag/tests/test_rag_models.py class TestRAGSearchResult (line 25) | class TestRAGSearchResult: method citations (line 29) | def citations(self) -> Citations: method test_creation (line 33) | def test_creation(self, citations: Citations) -> None: method test_str_returns_json (line 38) | def test_str_returns_json(self, citations: Citations) -> None: class TestRAGGenerateResult (line 47) | class TestRAGGenerateResult: method citations (line 51) | def citations(self) -> Citations: method test_creation_with_answer_only (line 55) | def test_creation_with_answer_only(self) -> None: method test_creation_with_citations (line 61) | def test_creation_with_citations(self, citations: Citations) -> None: method test_str_without_citations (line 67) | def test_str_without_citations(self) -> None: method test_str_with_citations (line 76) | def test_str_with_citations(self, citations: Citations) -> None: FILE: packages/nvidia_nat_rag/tests/test_tools.py class TestNATRAG (line 30) | class TestNATRAG: method fixture_mock_builder (line 33) | def fixture_mock_builder(self) -> MagicMock: method fixture_config (line 57) | def fixture_config(self) -> NATRAGConfig: method fixture_mock_rag_client (line 69) | def fixture_mock_rag_client(self) -> MagicMock: method test_search_returns_results (line 74) | async def test_search_returns_results(self, method test_generate_returns_answer (line 89) | async def test_generate_returns_answer(self, method test_generate_handles_empty_stream (line 112) | async def test_generate_handles_empty_stream(self, method test_group_exposes_both_tools (line 131) | async def test_group_exposes_both_tools(self, FILE: packages/nvidia_nat_ragaai/src/nat/plugins/ragaai/mixin/ragaai_catalyst_mixin.py class RAGATraceExporterOptWrite (line 35) | class RAGATraceExporterOptWrite(RAGATraceExporter): method __init__ (line 46) | def __init__(self, *args, debug_mode: bool = False, **kwargs): method prepare_trace (line 50) | def prepare_trace(self, spans, trace_id): class DynamicTraceExporterOptWrite (line 155) | class DynamicTraceExporterOptWrite(DynamicTraceExporter): method __init__ (line 167) | def __init__(self, *args, debug_mode: bool = False, **kwargs): class RagaAICatalystMixin (line 172) | class RagaAICatalystMixin: method __init__ (line 199) | def __init__(self, method export_otel_spans (line 231) | async def export_otel_spans(self, spans: list[OtelSpan]) -> None: FILE: packages/nvidia_nat_ragaai/src/nat/plugins/ragaai/ragaai_catalyst_exporter.py class RagaAICatalystExporter (line 25) | class RagaAICatalystExporter(RagaAICatalystMixin, OtelSpanExporter): method __init__ (line 54) | def __init__(self, FILE: packages/nvidia_nat_ragaai/src/nat/plugins/ragaai/register.py class CatalystTelemetryExporter (line 31) | class CatalystTelemetryExporter(BatchConfigMixin, CollectorConfigMixin, ... function catalyst_telemetry_exporter (line 48) | async def catalyst_telemetry_exporter(config: CatalystTelemetryExporter,... FILE: packages/nvidia_nat_ragas/src/nat/plugins/ragas/rag_evaluator/atif_evaluate.py function _observation_result_to_text (line 32) | def _observation_result_to_text(result: ATIFObservationResult) -> str: function _trajectory_to_retrieved_contexts (line 36) | def _trajectory_to_retrieved_contexts(trajectory: ATIFTrajectory) -> lis... class RAGAtifEvaluator (line 48) | class RAGAtifEvaluator(AtifBaseEvaluator): method __init__ (line 50) | def __init__(self, metric: SimpleBaseMetric, max_concurrency: int = 8): method _atif_sample_to_ragas (line 55) | def _atif_sample_to_ragas(sample: AtifEvalSample) -> SingleTurnSample: method evaluate_atif_item (line 70) | async def evaluate_atif_item(self, sample: AtifEvalSample) -> EvalOutp... FILE: packages/nvidia_nat_ragas/src/nat/plugins/ragas/rag_evaluator/data_models.py class EvalOutputItemRagasReasoning (line 19) | class EvalOutputItemRagasReasoning(BaseModel): FILE: packages/nvidia_nat_ragas/src/nat/plugins/ragas/rag_evaluator/evaluate.py class RAGEvaluator (line 35) | class RAGEvaluator(BaseEvaluator): method __init__ (line 37) | def __init__(self, metric: SimpleBaseMetric, max_concurrency: int = 8,... method _extract_input_obj (line 44) | def _extract_input_obj(self, item: EvalInputItem) -> str: method _eval_input_item_to_ragas (line 63) | def _eval_input_item_to_ragas(self, item: EvalInputItem): method evaluate_item (line 82) | async def evaluate_item(self, item: EvalInputItem) -> EvalOutputItem: FILE: packages/nvidia_nat_ragas/src/nat/plugins/ragas/rag_evaluator/llm_adapter.py class NatLangChainRagasLLMAdapter (line 25) | class NatLangChainRagasLLMAdapter(InstructorBaseRagasLLM): method __init__ (line 36) | def __init__(self, langchain_llm: object, llm_name: str | None = None): method _llm_context (line 40) | def _llm_context(self) -> str: method _coerce_output (line 46) | def _coerce_output(result: object, response_model: type[InstructorType... method _structured_llm (line 55) | def _structured_llm(self, response_model: type[InstructorTypeVar]) -> ... method generate (line 62) | def generate(self, prompt: str, response_model: type[InstructorTypeVar... method agenerate (line 69) | async def agenerate(self, prompt: str, response_model: type[Instructor... FILE: packages/nvidia_nat_ragas/src/nat/plugins/ragas/rag_evaluator/register.py class RagasMetricConfig (line 37) | class RagasMetricConfig(BaseModel): class RagasEvaluatorConfig (line 44) | class RagasEvaluatorConfig(EvaluatorLLMConfig, name="ragas"): method validate_metric (line 63) | def validate_metric(cls, values): method metric_name (line 79) | def metric_name(self) -> str: method metric_config (line 88) | def metric_config(self) -> RagasMetricConfig: function register_ragas_evaluator (line 98) | async def register_ragas_evaluator(config: RagasEvaluatorConfig, builder... FILE: packages/nvidia_nat_ragas/src/nat/plugins/ragas/rag_evaluator/utils.py function nan_to_zero (line 24) | def nan_to_zero(v: float | None) -> float: function extract_metric_score (line 29) | def extract_metric_score(metric_result: MetricResult) -> float | None: function build_metric_kwargs (line 42) | def build_metric_kwargs(sample: object) -> dict[str, str | list[str]]: function score_metric_result (line 49) | async def score_metric_result(metric: SimpleBaseMetric, sample: object) ... FILE: packages/nvidia_nat_ragas/tests/conftest.py function rag_expected_outputs_fixture (line 26) | def rag_expected_outputs_fixture() -> list[str]: function intermediate_step_adapter_fixture (line 32) | def intermediate_step_adapter_fixture() -> "IntermediateStepAdapter": function rag_eval_input_fixture (line 38) | def rag_eval_input_fixture( FILE: packages/nvidia_nat_ragas/tests/test_rag_evaluate.py class ExampleModel (line 43) | class ExampleModel(BaseModel): function fixture_atif_samples (line 49) | def fixture_atif_samples(rag_user_inputs, rag_expected_outputs, rag_gene... function ragas_judge_llm (line 84) | def ragas_judge_llm() -> "LangchainLLMWrapper": function ragas_metric (line 93) | def ragas_metric() -> "Metric": function rag_evaluator (line 100) | def rag_evaluator(ragas_judge_llm, ragas_metric) -> "RAGEvaluator": function rag_evaluator_content (line 106) | def rag_evaluator_content(ragas_judge_llm, ragas_metric) -> "RAGEvaluator": function test_eval_input_to_ragas (line 112) | def test_eval_input_to_ragas(rag_evaluator, rag_eval_input, intermediate... function test_rag_evaluate_success (line 128) | async def test_rag_evaluate_success(rag_evaluator, rag_eval_input): function test_rag_evaluate_failure (line 150) | async def test_rag_evaluate_failure(rag_evaluator, rag_eval_input): function test_atif_samples_to_ragas (line 178) | def test_atif_samples_to_ragas(ragas_judge_llm, ragas_metric, atif_sampl... function test_rag_atif_evaluate_success (line 193) | async def test_rag_atif_evaluate_success(ragas_judge_llm, ragas_metric, ... function test_rag_legacy_and_atif_dataset_parity (line 214) | def test_rag_legacy_and_atif_dataset_parity(rag_evaluator, function test_atif_samples_to_ragas_edge_cases (line 272) | def test_atif_samples_to_ragas_edge_cases(ragas_judge_llm, function test_rag_legacy_and_atif_score_parity (line 296) | async def test_rag_legacy_and_atif_score_parity(rag_evaluator, function test_extract_input_obj_base_model_with_field (line 354) | def test_extract_input_obj_base_model_with_field(rag_evaluator_content): function test_extract_input_obj_dict_with_field (line 363) | def test_extract_input_obj_dict_with_field(rag_evaluator_content): function test_extract_input_obj_base_model_without_field (line 372) | def test_extract_input_obj_base_model_without_field(rag_evaluator, rag_e... function test_register_ragas_evaluator_atif_lane_disabled_by_default (line 389) | async def test_register_ragas_evaluator_atif_lane_disabled_by_default(): function test_register_ragas_evaluator_atif_lane_enabled (line 406) | async def test_register_ragas_evaluator_atif_lane_enabled(): function test_register_ragas_evaluator_injects_llm_into_metric_kwargs (line 427) | async def test_register_ragas_evaluator_injects_llm_into_metric_kwargs(): function test_score_metric_result_filters_unsupported_kwargs (line 463) | async def test_score_metric_result_filters_unsupported_kwargs(): FILE: packages/nvidia_nat_redis/src/nat/plugins/redis/memory.py class RedisMemoryClientConfig (line 26) | class RedisMemoryClientConfig(MemoryBaseConfig, name="redis_memory"): function redis_memory_client (line 37) | async def redis_memory_client(config: RedisMemoryClientConfig, builder: ... FILE: packages/nvidia_nat_redis/src/nat/plugins/redis/object_store.py class RedisObjectStoreClientConfig (line 25) | class RedisObjectStoreClientConfig(ObjectStoreBaseConfig, name="redis"): method validate_ttl (line 39) | def validate_ttl(cls, v: int | None) -> int | None: function redis_object_store_client (line 46) | async def redis_object_store_client(config: RedisObjectStoreClientConfig... FILE: packages/nvidia_nat_redis/src/nat/plugins/redis/redis_editor.py class RedisEditor (line 33) | class RedisEditor(MemoryEditor): method __init__ (line 38) | def __init__(self, redis_client: redis.Redis, key_prefix: str, embedde... method add_items (line 52) | async def add_items(self, items: list[MemoryItem]) -> None: method search (line 104) | async def search(self, query: str, top_k: int = 5, **kwargs) -> list[M... method _create_memory_item (line 217) | def _create_memory_item(self, memory_data: dict, user_id: str, similar... method remove_items (line 234) | async def remove_items(self, **kwargs): FILE: packages/nvidia_nat_redis/src/nat/plugins/redis/redis_object_store.py class RedisObjectStore (line 29) | class RedisObjectStore(ObjectStore): method __init__ (line 37) | def __init__( method __aenter__ (line 58) | async def __aenter__(self) -> "RedisObjectStore": method __aexit__ (line 81) | async def __aexit__(self, exc_type, exc_value, traceback) -> None: method _make_key (line 89) | def _make_key(self, key: str) -> str: method put_object (line 93) | async def put_object(self, key: str, item: ObjectStoreItem): method upsert_object (line 107) | async def upsert_object(self, key: str, item: ObjectStoreItem): method get_object (line 117) | async def get_object(self, key: str) -> ObjectStoreItem: method delete_object (line 130) | async def delete_object(self, key: str): FILE: packages/nvidia_nat_redis/src/nat/plugins/redis/schema.py function create_schema (line 32) | def create_schema(embedding_dim: int = DEFAULT_DIM): function ensure_index_exists (line 74) | async def ensure_index_exists(client: redis.Redis, key_prefix: str, embe... FILE: packages/nvidia_nat_redis/tests/test_redis_editor.py class TestEmbeddings (line 27) | class TestEmbeddings(Embeddings): method embed_query (line 30) | def embed_query(self, text: str) -> list[float]: method embed_documents (line 36) | def embed_documents(self, texts: list[str]) -> list[list[float]]: function mock_redis_client_fixture (line 47) | def mock_redis_client_fixture() -> AsyncMock: function redis_editor_fixture (line 63) | def redis_editor_fixture(mock_redis_client: AsyncMock): function sample_memory_item_fixture (line 75) | def sample_memory_item_fixture(): function test_add_items_success (line 96) | async def test_add_items_success(redis_editor: RedisEditor, function test_add_items_empty_list (line 124) | async def test_add_items_empty_list(redis_editor: RedisEditor, mock_redi... function test_search_success (line 132) | async def test_search_success(redis_editor: RedisEditor, mock_redis_clie... function test_search_with_similarity_threshold_filters_results (line 174) | async def test_search_with_similarity_threshold_filters_results(redis_ed... FILE: packages/nvidia_nat_redis/tests/test_redis_object_store.py function _redis_server (line 30) | def _redis_server(request, redis_server: dict[str, str | int]): class TestRedisObjectStore (line 35) | class TestRedisObjectStore(ObjectStoreTests): method _get_store (line 38) | async def _get_store(self): FILE: packages/nvidia_nat_s3/src/nat/plugins/s3/object_store.py class S3ObjectStoreClientConfig (line 27) | class S3ObjectStoreClientConfig(ObjectStoreBaseConfig, name="s3"): function s3_object_store_client (line 45) | async def s3_object_store_client(config: S3ObjectStoreClientConfig, _bui... FILE: packages/nvidia_nat_s3/src/nat/plugins/s3/s3_object_store.py class S3ObjectStore (line 30) | class S3ObjectStore(ObjectStore): method __init__ (line 35) | def __init__(self, method __aenter__ (line 59) | async def __aenter__(self) -> "S3ObjectStore": method __aexit__ (line 81) | async def __aexit__(self, exc_type, exc_value, traceback) -> None: method put_object (line 90) | async def put_object(self, key: str, item: ObjectStoreItem) -> None: method upsert_object (line 121) | async def upsert_object(self, key: str, item: ObjectStoreItem) -> None: method get_object (line 139) | async def get_object(self, key: str) -> ObjectStoreItem: method delete_object (line 152) | async def delete_object(self, key: str) -> None: FILE: packages/nvidia_nat_s3/tests/test_s3_object_store.py function _minio_server (line 31) | def _minio_server(request, minio_server: dict[str, str | int]): class TestS3ObjectStore (line 37) | class TestS3ObjectStore(ObjectStoreTests): method _get_store (line 40) | async def _get_store(self): FILE: packages/nvidia_nat_security/src/nat/plugins/security/cli/red_teaming/red_teaming.py function red_team_command (line 82) | def red_team_command(ctx, **kwargs) -> None: function process_red_team_eval (line 88) | def process_red_team_eval( FILE: packages/nvidia_nat_security/src/nat/plugins/security/cli/red_teaming/red_teaming_utils.py function load_red_teaming_config (line 30) | def load_red_teaming_config(config_file: Path) -> RedTeamingRunnerConfig: FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/red_teaming_evaluator/data_models.py class ConditionEvalOutputItem (line 25) | class ConditionEvalOutputItem(EvalOutputItem): method empty (line 43) | def empty(cls, id: str, error: str | None = None) -> ConditionEvalOutp... class RedTeamingEvalOutputItem (line 52) | class RedTeamingEvalOutputItem(EvalOutputItem): FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/red_teaming_evaluator/evaluate.py class ReductionStrategy (line 39) | class ReductionStrategy(StrEnum): class RedTeamingEvaluator (line 46) | class RedTeamingEvaluator(BaseEvaluator): method __init__ (line 49) | def __init__(self, method _evaluation_prompt (line 77) | def _evaluation_prompt(self, method filter_trajectory (line 113) | def filter_trajectory(self, trajectory: list[IntermediateStep], method extract_output_from_step (line 127) | def extract_output_from_step(self, step: IntermediateStep) -> str: method evaluate_single_output (line 150) | async def evaluate_single_output(self, question: str, expected_behavio... method _evaluate_filter_condition (line 202) | async def _evaluate_filter_condition(self, method evaluate_item (line 279) | async def evaluate_item(self, item: EvalInputItem) -> RedTeamingEvalOu... method _runnable_with_retries (line 312) | def _runnable_with_retries(self, original_fn: Callable, llm_retry_cont... FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/red_teaming_evaluator/filter_conditions.py class IntermediateStepsFilterCondition (line 25) | class IntermediateStepsFilterCondition(BaseModel): method filter_trajectory (line 40) | def filter_trajectory(self, trajectory: list[IntermediateStep]) -> lis... method default (line 73) | def default(cls) -> IntermediateStepsFilterCondition: FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/red_teaming_evaluator/register.py class RedTeamingEvaluatorConfig (line 28) | class RedTeamingEvaluatorConfig(EvaluatorBaseConfig, name="red_teaming_e... function register_red_teaming_evaluator (line 42) | async def register_red_teaming_evaluator(config: RedTeamingEvaluatorConf... FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/runners/red_teaming_runner/config.py class _RedTeamingScenarioRaw (line 44) | class _RedTeamingScenarioRaw(BaseModel): class RedTeamingScenario (line 66) | class RedTeamingScenario(BaseModel): class RedTeamingRunnerConfig (line 99) | class RedTeamingRunnerConfig(BaseModel): method validate_and_resolve_scenarios (line 176) | def validate_and_resolve_scenarios(self) -> RedTeamingRunnerConfig: method rebuild_annotations (line 242) | def rebuild_annotations(cls) -> bool: FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/runners/red_teaming_runner/report_utils.py function _validate_columns (line 30) | def _validate_columns(df: pd.DataFrame, required_columns: list[str], con... function plot_score_boxplot (line 48) | def plot_score_boxplot( function plot_success_rate_bar (line 171) | def plot_success_rate_bar( function generate_standard_plots (line 246) | def generate_standard_plots(df: pd.DataFrame) -> list[tuple[str, str, go... function _get_risk_color (line 356) | def _get_risk_color(value: float, max_value: float = 1.0) -> str: function _render_summary_html (line 385) | def _render_summary_html(summary: dict[str, Any] | None) -> str: function save_combined_html (line 481) | def save_combined_html( function generate_and_save_report (line 645) | def generate_and_save_report( FILE: packages/nvidia_nat_security/src/nat/plugins/security/eval/runners/red_teaming_runner/runner.py class RedTeamingRunner (line 48) | class RedTeamingRunner: method __init__ (line 68) | def __init__( method run (line 103) | async def run(self) -> dict[str, EvaluationRunOutput]: method generate_workflow_configs (line 150) | def generate_workflow_configs(self) -> dict[str, Config]: method setup_output_directory (line 228) | def setup_output_directory(self, generated_workflow_configs: dict[str,... method save_configs (line 261) | def save_configs( method _apply_overrides_to_all (line 288) | def _apply_overrides_to_all( method _build_evaluation_configs (line 311) | def _build_evaluation_configs( method _validate_base_config_for_direct_use (line 355) | def _validate_base_config_for_direct_use(self, base_workflow_config: C... method _warn_about_other_evaluators (line 417) | def _warn_about_other_evaluators(self, base_workflow_config: Config) -... method _validate_dataset_exists (line 436) | def _validate_dataset_exists( method _merge_general_config (line 473) | def _merge_general_config( method _attach_middleware_everywhere (line 513) | def _attach_middleware_everywhere( method _inject_evaluator_config (line 550) | def _inject_evaluator_config( method _update_config_value (line 586) | def _update_config_value(self, scenario_config_dict: dict[str, typing.... method _find_red_teaming_evaluator_results (line 603) | def _find_red_teaming_evaluator_results(self, results: dict[str, Evalu... method _compute_result_summary (line 620) | def _compute_result_summary(self, df: pd.DataFrame) -> dict[str, typin... method _log_results_summary (line 703) | def _log_results_summary(self, method _build_flat_results (line 792) | def _build_flat_results(self, results: dict[str, EvaluationRunOutput])... method _save_flat_results (line 848) | def _save_flat_results(self, flat_results: list[dict[str, typing.Any]]... FILE: packages/nvidia_nat_security/tests/eval/red_teaming_evaluator/fake_chat_models.py class FakeJudgeLLM (line 33) | class FakeJudgeLLM(BaseChatModel): method _evaluate_output (line 42) | def _evaluate_output(self, messages: list[BaseMessage]) -> AIMessage: method _agenerate (line 81) | async def _agenerate( method _generate (line 93) | def _generate( method _llm_type (line 106) | def _llm_type(self) -> str: FILE: packages/nvidia_nat_security/tests/eval/red_teaming_evaluator/test_evaluate.py function mock_llm (line 37) | def mock_llm(): function red_teaming_evaluator (line 45) | def red_teaming_evaluator(mock_llm): function create_intermediate_step (line 56) | def create_intermediate_step(): function sample_trajectory (line 80) | def sample_trajectory(create_intermediate_step): function eval_input_item (line 90) | def eval_input_item(sample_trajectory): function test_init (line 101) | def test_init(mock_llm): function test_filter_trajectory (line 118) | def test_filter_trajectory(red_teaming_evaluator, sample_trajectory): function test_extract_output_from_step (line 136) | def test_extract_output_from_step(red_teaming_evaluator, function test_evaluate_single_output_success (line 152) | async def test_evaluate_single_output_success(red_teaming_evaluator, moc... function test_evaluate_single_output_parsing_error (line 172) | async def test_evaluate_single_output_parsing_error(red_teaming_evaluato... function test_evaluate_item_single_condition_success (line 192) | async def test_evaluate_item_single_condition_success(red_teaming_evalua... function test_evaluate_item_multiple_conditions (line 211) | async def test_evaluate_item_multiple_conditions(red_teaming_evaluator, ... function test_evaluate_item_empty_trajectory (line 232) | async def test_evaluate_item_empty_trajectory(red_teaming_evaluator, moc... function test_e2e_evaluator_with_multiple_conditions (line 254) | async def test_e2e_evaluator_with_multiple_conditions(create_intermediat... function test_e2e_evaluator_no_conditions_different_reduction_strategies (line 363) | async def test_e2e_evaluator_no_conditions_different_reduction_strategie... FILE: packages/nvidia_nat_security/tests/eval/red_teaming_evaluator/test_filter_conditions.py function fixture_create_intermediate_step (line 27) | def fixture_create_intermediate_step(): function fixture_sample_trajectory (line 70) | def fixture_sample_trajectory(create_intermediate_step): function fixture_trajectory_with_none_names (line 97) | def fixture_trajectory_with_none_names(create_intermediate_step): class TestIntermediateStepsFilterCondition (line 109) | class TestIntermediateStepsFilterCondition: method test_filter_by_event_type_enum (line 112) | def test_filter_by_event_type_enum(self, sample_trajectory): method test_filter_by_event_type_string (line 125) | def test_filter_by_event_type_string(self, sample_trajectory): method test_filter_by_payload_name (line 137) | def test_filter_by_payload_name(self, sample_trajectory): method test_filter_by_event_type_and_payload_name (line 151) | def test_filter_by_event_type_and_payload_name(self, sample_trajectory): method test_filter_no_conditions (line 165) | def test_filter_no_conditions(self, sample_trajectory): method test_filter_empty_trajectory (line 174) | def test_filter_empty_trajectory(self): method test_filter_no_matches (line 185) | def test_filter_no_matches(self, sample_trajectory): method test_filter_payload_name_with_none_values (line 197) | def test_filter_payload_name_with_none_values(self, trajectory_with_no... method test_filter_multiple_tools_same_event_type (line 210) | def test_filter_multiple_tools_same_event_type(self, sample_trajectory): method test_filter_preserves_order (line 223) | def test_filter_preserves_order(self, sample_trajectory): method test_filter_condition_name_field (line 236) | def test_filter_condition_name_field(self): FILE: packages/nvidia_nat_security/tests/eval/runners/red_teaming_runner/test_red_teaming_config.py class TestRedTeamingRunnerConfigNormalConstruction (line 32) | class TestRedTeamingRunnerConfigNormalConstruction: method test_construct_with_redteaming_scenario_objects (line 35) | def test_construct_with_redteaming_scenario_objects(self): class TestRedTeamingRunnerConfigWithExtends (line 140) | class TestRedTeamingRunnerConfigWithExtends: method test_construct_with_extends_and_multiple_overrides (line 143) | def test_construct_with_extends_and_multiple_overrides(self): class TestRedTeamingRunnerConfigValidationErrors (line 223) | class TestRedTeamingRunnerConfigValidationErrors: method test_extends_references_nonexistent_evaluator_default (line 226) | def test_extends_references_nonexistent_evaluator_default(self): method test_raw_scenario_without_extends_validates_evaluator_dict (line 255) | def test_raw_scenario_without_extends_validates_evaluator_dict(self): method test_raw_scenario_with_invalid_evaluator_dict_fails (line 281) | def test_raw_scenario_with_invalid_evaluator_dict_fails(self): FILE: packages/nvidia_nat_security/tests/eval/runners/red_teaming_runner/test_red_teaming_runner.py class SimpleFunctionGroupConfig (line 40) | class SimpleFunctionGroupConfig(FunctionGroupBaseConfig, name="simple_fu... function register_test_types (line 46) | async def register_test_types(): function fixture_base_config (line 57) | def fixture_base_config() -> Config: function fixture_red_teaming_config (line 72) | def fixture_red_teaming_config() -> RedTeamingRunnerConfig: function fixture_red_teaming_config_with_extends (line 98) | def fixture_red_teaming_config_with_extends() -> RedTeamingRunnerConfig: function test_middleware_attached_everywhere (line 126) | def test_middleware_attached_everywhere(base_config: Config, red_teaming... function test_evaluator_injected_with_scenario_overrides (line 139) | def test_evaluator_injected_with_scenario_overrides(base_config: Config,... function test_baseline_scenario_no_middleware (line 157) | def test_baseline_scenario_no_middleware(base_config: Config, red_teamin... function test_general_config_merged (line 168) | def test_general_config_merged(base_config: Config): function test_dataset_validation_error (line 191) | def test_dataset_validation_error(red_teaming_config: RedTeamingRunnerCo... function test_direct_config_validation_requires_middleware_and_evaluator (line 201) | def test_direct_config_validation_requires_middleware_and_evaluator(): FILE: packages/nvidia_nat_semantic_kernel/src/nat/plugins/semantic_kernel/callback_handler.py class SemanticKernelPatchMethod (line 40) | class SemanticKernelPatchMethod(BaseModel): class SemanticKernelProfilerHandler (line 48) | class SemanticKernelProfilerHandler(BaseProfilerCallback): method __init__ (line 59) | def __init__(self, workflow_llms: dict) -> None: method instrument (line 80) | def instrument(self) -> None: method _build_llm_call_patch (line 109) | def _build_llm_call_patch(self, original_func: Callable[..., Any]) -> ... method _build_tool_call_patch (line 175) | def _build_tool_call_patch(self, original_func: Callable[..., Any]) ->... FILE: packages/nvidia_nat_semantic_kernel/src/nat/plugins/semantic_kernel/llm.py function _patch_llm_based_on_config (line 39) | def _patch_llm_based_on_config(client: ModelType, llm_config: LLMBaseCon... function azure_openai_semantic_kernel (line 92) | async def azure_openai_semantic_kernel(llm_config: AzureOpenAIModelConfi... function openai_semantic_kernel (line 111) | async def openai_semantic_kernel(llm_config: OpenAIModelConfig, _builder... FILE: packages/nvidia_nat_semantic_kernel/src/nat/plugins/semantic_kernel/tool_wrapper.py function get_type_info (line 35) | def get_type_info(field_type): function resolve_type (line 54) | def resolve_type(t): function semantic_kernel_tool_wrapper (line 67) | def semantic_kernel_tool_wrapper(name: str, fn: Function, builder: Build... FILE: packages/nvidia_nat_semantic_kernel/tests/test_llm_sk.py class TestOpenAISemanticKernel (line 36) | class TestOpenAISemanticKernel: method oa_cfg (line 40) | def oa_cfg(self): method oa_cfg_responses (line 44) | def oa_cfg_responses(self): method test_basic_creation (line 49) | async def test_basic_creation(self, mock_sk, oa_cfg, mock_builder): method test_responses_api_blocked (line 57) | async def test_responses_api_blocked(self, mock_sk, oa_cfg_responses, ... method test_verify_ssl_passed_to_client (line 67) | async def test_verify_ssl_passed_to_client(self, class TestAzureOpenAISemanticKernel (line 89) | class TestAzureOpenAISemanticKernel: method azure_cfg (line 93) | def azure_cfg(self): method test_verify_ssl_passed_to_client (line 104) | async def test_verify_ssl_passed_to_client(self, function test_decorator_registration (line 126) | def test_decorator_registration(mock_global_registry): FILE: packages/nvidia_nat_semantic_kernel/tests/test_sk_callback_handler.py function test_semantic_kernel_handler_tool_call (line 22) | async def test_semantic_kernel_handler_tool_call(reactive_stream: Subject): FILE: packages/nvidia_nat_semantic_kernel/tests/test_sk_decorator.py class DummyInput (line 26) | class DummyInput(BaseModel): class DummyOutput (line 30) | class DummyOutput(BaseModel): class InnerModel (line 35) | class InnerModel(BaseModel): class OuterModel (line 39) | class OuterModel(BaseModel): class NestedOutput (line 44) | class NestedOutput(BaseModel): class DummyFunction (line 53) | class DummyFunction: method __init__ (line 56) | def __init__(self): method acall_invoke (line 66) | async def acall_invoke(self, *args, **kwargs): class DummyNestedFunction (line 72) | class DummyNestedFunction: method __init__ (line 75) | def __init__(self): method acall_invoke (line 84) | async def acall_invoke(self, *args, **kwargs): class DummyStreamingFunction (line 90) | class DummyStreamingFunction: method __init__ (line 93) | def __init__(self): method acall_stream (line 102) | async def acall_stream(self, *args, **kwargs): method _astream (line 107) | async def _astream(self, value): function test_semantic_kernel_tool_wrapper_simple_arguments (line 117) | async def test_semantic_kernel_tool_wrapper_simple_arguments(): function test_semantic_kernel_tool_wrapper_nested_base_model (line 153) | async def test_semantic_kernel_tool_wrapper_nested_base_model(): function test_semantic_kernel_tool_wrapper_streaming (line 186) | async def test_semantic_kernel_tool_wrapper_streaming(): FILE: packages/nvidia_nat_strands/src/nat/plugins/strands/callback_handler.py class StrandsToolInstrumentationHook (line 40) | class StrandsToolInstrumentationHook: method __init__ (line 47) | def __init__(self, handler: 'StrandsProfilerHandler'): method on_before_tool_invocation (line 57) | def on_before_tool_invocation(self, event: Any) -> None: method on_after_tool_invocation (line 102) | def on_after_tool_invocation(self, event: Any) -> None: method _extract_tool_info (line 159) | def _extract_tool_info(self, selected_tool: Any, tool_use: dict) -> tu... class StrandsProfilerHandler (line 178) | class StrandsProfilerHandler(BaseProfilerCallback): method __init__ (line 180) | def __init__(self) -> None: method instrument (line 188) | def instrument(self) -> None: method _instrument_agent_init (line 248) | def _instrument_agent_init(self) -> None: method _extract_model_info (line 302) | def _extract_model_info(self, model_instance: Any) -> tuple[str, dict[... method _wrap_stream_method (line 319) | def _wrap_stream_method(self, original: Callable[..., Any]) -> Callabl... method _extract_text_from_event (line 500) | def _extract_text_from_event(self, ev: dict) -> str: method _finalize_tool_call (line 536) | def _finalize_tool_call(self, tool_call: dict[str, Any]) -> None: method _extract_tool_call_from_event (line 552) | def _extract_tool_call_from_event(self, ev: dict) -> dict[str, Any] | ... method _extract_usage_from_event (line 588) | def _extract_usage_from_event(self, ev: dict) -> dict[str, int] | None: FILE: packages/nvidia_nat_strands/src/nat/plugins/strands/llm.py function _patch_llm_based_on_config (line 73) | def _patch_llm_based_on_config(client: ModelType, llm_config: LLMBaseCon... function openai_strands (line 141) | async def openai_strands(llm_config: OpenAIModelConfig, _builder: Builde... function nim_strands (line 206) | async def nim_strands(llm_config: NIMModelConfig, _builder: Builder) -> ... function bedrock_strands (line 328) | async def bedrock_strands(llm_config: AWSBedrockModelConfig, _builder: B... FILE: packages/nvidia_nat_strands/src/nat/plugins/strands/tool_wrapper.py function _json_schema_from_pydantic (line 34) | def _json_schema_from_pydantic(model: type[BaseModel]) -> dict[str, Any]: function _to_tool_result (line 46) | def _to_tool_result(tool_use_id: str, value: Any) -> dict[str, Any]: function _to_error_result (line 58) | def _to_error_result(tool_use_id: str, err: Exception) -> dict[str, Any]: class NATFunctionAgentTool (line 68) | class NATFunctionAgentTool(AgentTool): method __init__ (line 71) | def __init__(self, name: str, description: str | None, input_schema: d... method tool_name (line 83) | def tool_name(self) -> str: method tool_spec (line 87) | def tool_spec(self) -> ToolSpec: method tool_type (line 91) | def tool_type(self) -> str: method stream (line 94) | async def stream(self, tool_use: ToolUse, _invocation_state: dict[str,... function strands_tool_wrapper (line 136) | def strands_tool_wrapper(name: str, fn: Function, _builder: Builder) -> ... FILE: packages/nvidia_nat_strands/tests/test_callback_handler.py function test_strands_handler_tool_execution (line 19) | async def test_strands_handler_tool_execution(reactive_stream: Subject): FILE: packages/nvidia_nat_strands/tests/test_strands_callback_handler.py class TestStrandsToolInstrumentationHook (line 28) | class TestStrandsToolInstrumentationHook: method mock_handler (line 32) | def mock_handler(self): method mock_step_manager (line 37) | def mock_step_manager(self): method tool_hook (line 44) | def tool_hook(self, mock_handler, mock_step_manager): method test_hook_initialization (line 50) | def test_hook_initialization(self, mock_handler): method test_on_before_tool_invocation_emits_start_span (line 63) | def test_on_before_tool_invocation_emits_start_span(self, tool_hook, m... method test_on_before_tool_invocation_instruments_nat_wrapped_tools (line 88) | def test_on_before_tool_invocation_instruments_nat_wrapped_tools(self,... method test_on_after_tool_invocation_emits_end_span (line 109) | def test_on_after_tool_invocation_emits_end_span(self, tool_hook, mock... class TestStrandsProfilerHandler (line 141) | class TestStrandsProfilerHandler: method test_handler_initialization (line 144) | def test_handler_initialization(self): method test_instrument_patches_llm_methods (line 152) | def test_instrument_patches_llm_methods(self, mock_importlib): method test_instrument_only_runs_once (line 185) | def test_instrument_only_runs_once(self): method test_extract_model_info_extracts_name (line 197) | def test_extract_model_info_extracts_name(self): method test_extract_model_info_handles_missing_attrs (line 210) | def test_extract_model_info_handles_missing_attrs(self): class TestStrandsProfilerHandlerIntegration (line 223) | class TestStrandsProfilerHandlerIntegration: method test_full_instrumentation_flow (line 227) | def test_full_instrumentation_flow(self, mock_importlib): # pylint: d... class TestStrandsProfilerHandlerEventExtraction (line 268) | class TestStrandsProfilerHandlerEventExtraction: method handler (line 272) | def handler(self): method test_extract_text_from_event_with_data (line 276) | def test_extract_text_from_event_with_data(self, handler): method test_extract_text_from_event_without_data (line 285) | def test_extract_text_from_event_without_data(self, handler): method test_extract_text_from_event_non_dict (line 294) | def test_extract_text_from_event_non_dict(self, handler): method test_extract_text_from_event_none_data (line 303) | def test_extract_text_from_event_none_data(self, handler): method test_extract_usage_from_event_valid (line 312) | def test_extract_usage_from_event_valid(self, handler): method test_extract_usage_from_event_missing_metadata (line 322) | def test_extract_usage_from_event_missing_metadata(self, handler): method test_extract_usage_from_event_missing_usage (line 331) | def test_extract_usage_from_event_missing_usage(self, handler): method test_extract_usage_from_event_non_dict_metadata (line 340) | def test_extract_usage_from_event_non_dict_metadata(self, handler): method test_extract_usage_from_event_non_dict_usage (line 349) | def test_extract_usage_from_event_non_dict_usage(self, handler): method test_extract_usage_from_event_invalid_values (line 358) | def test_extract_usage_from_event_invalid_values(self, handler): method test_extract_usage_from_event_partial_data (line 367) | def test_extract_usage_from_event_partial_data(self, handler): method test_extract_usage_from_event_non_dict_input (line 383) | def test_extract_usage_from_event_non_dict_input(self, handler): class TestStrandsProfilerHandlerStreamWrapper (line 393) | class TestStrandsProfilerHandlerStreamWrapper: method handler (line 397) | def handler(self): method mock_context (line 402) | def mock_context(self): method test_wrap_stream_method_basic_flow (line 412) | async def test_wrap_stream_method_basic_flow(self, handler, mock_conte... method test_wrap_stream_method_with_exception (line 461) | async def test_wrap_stream_method_with_exception(self, handler, mock_c... method test_wrap_stream_method_non_async_generator (line 492) | async def test_wrap_stream_method_non_async_generator(self, handler, m... method test_wrap_stream_method_message_handling (line 521) | async def test_wrap_stream_method_message_handling(self, handler, mock... class TestStrandsProfilerHandlerAgentInstrumentation (line 564) | class TestStrandsProfilerHandlerAgentInstrumentation: method handler (line 568) | def handler(self): method test_instrument_agent_init_success (line 573) | def test_instrument_agent_init_success(self, mock_importlib, handler): method test_instrument_agent_init_agent_not_found (line 633) | def test_instrument_agent_init_agent_not_found(self, mock_importlib, h... method test_instrument_agent_init_import_error (line 648) | def test_instrument_agent_init_import_error(self, mock_importlib, hand... method test_instrument_agent_init_hook_registration_error (line 660) | def test_instrument_agent_init_hook_registration_error(self, mock_impo... class TestStrandsProfilerHandlerToolCallTracking (line 696) | class TestStrandsProfilerHandlerToolCallTracking: method fixture_handler (line 700) | def fixture_handler(self): method test_extract_tool_call_from_contentBlockStart (line 704) | def test_extract_tool_call_from_contentBlockStart(self, handler): method test_extract_tool_call_from_contentBlockDelta (line 716) | def test_extract_tool_call_from_contentBlockDelta(self, handler): method test_finalize_tool_call_parses_json (line 727) | def test_finalize_tool_call_parses_json(self, handler): method test_finalize_tool_call_handles_invalid_json (line 737) | def test_finalize_tool_call_handles_invalid_json(self, handler): method test_extract_text_from_contentBlockDelta (line 747) | def test_extract_text_from_contentBlockDelta(self, handler): method test_extract_text_fallback_to_data (line 756) | def test_extract_text_fallback_to_data(self, handler): method test_extract_tool_info_handles_missing_toolUseId (line 765) | def test_extract_tool_info_handles_missing_toolUseId(self): FILE: packages/nvidia_nat_strands/tests/test_strands_integration.py class CalculatorInput (line 38) | class CalculatorInput(BaseModel): class CalculatorOutput (line 45) | class CalculatorOutput(BaseModel): class TestStrandsAgentE2EOpenAI (line 50) | class TestStrandsAgentE2EOpenAI: method calculator_function (line 54) | async def calculator_function(self) -> LambdaFunction: method builder (line 82) | def builder(self) -> MagicMock: method test_strands_agent_with_openai_simple_task (line 89) | async def test_strands_agent_with_openai_simple_task(self, calculator_... method test_strands_agent_with_openai_multiple_operations (line 118) | async def test_strands_agent_with_openai_multiple_operations(self, cal... method test_strands_agent_with_openai_error_handling (line 143) | async def test_strands_agent_with_openai_error_handling(self, calculat... class TestStrandsAgentE2ENIM (line 163) | class TestStrandsAgentE2ENIM: method echo_function (line 167) | async def echo_function(self) -> LambdaFunction: method builder (line 186) | def builder(self) -> MagicMock: method test_strands_agent_with_nim_simple_task (line 193) | async def test_strands_agent_with_nim_simple_task(self, echo_function,... method test_strands_agent_with_nim_reasoning (line 225) | async def test_strands_agent_with_nim_reasoning(self, echo_function, b... method test_strands_agent_with_nim_thinking_mixin_non_streaming (line 247) | async def test_strands_agent_with_nim_thinking_mixin_non_streaming(sel... method test_strands_agent_with_nim_thinking_mixin_streaming (line 275) | async def test_strands_agent_with_nim_thinking_mixin_streaming(self, e... class TestStrandsAgentE2EBedrock (line 300) | class TestStrandsAgentE2EBedrock: method greeting_function (line 304) | async def greeting_function(self) -> LambdaFunction: method builder (line 325) | def builder(self) -> MagicMock: method test_strands_agent_with_bedrock_simple_task (line 332) | async def test_strands_agent_with_bedrock_simple_task(self, greeting_f... method test_strands_agent_with_bedrock_claude (line 363) | async def test_strands_agent_with_bedrock_claude(self, greeting_functi... class TestStrandsProfilerIntegration (line 386) | class TestStrandsProfilerIntegration: method builder (line 390) | def builder(self) -> MagicMock: method simple_function (line 395) | async def simple_function(self): method test_strands_profiler_captures_llm_calls (line 416) | async def test_strands_profiler_captures_llm_calls(self, simple_functi... method test_strands_profiler_captures_tool_calls (line 449) | async def test_strands_profiler_captures_tool_calls(self, simple_funct... FILE: packages/nvidia_nat_strands/tests/test_strands_llm.py class TestOpenAIStrands (line 32) | class TestOpenAIStrands: method openai_config (line 36) | def openai_config(self): method openai_config_wrong_api (line 41) | def openai_config_wrong_api(self): method mock_model_fixture (line 46) | def mock_model_fixture(self): method mock_async_openai_fixture (line 51) | def mock_async_openai_fixture(self): method test_openai_strands_basic (line 56) | async def test_openai_strands_basic(self, mock_model, openai_config, m... method test_openai_strands_with_params (line 66) | async def test_openai_strands_with_params(self, mock_model, openai_con... method test_api_type_validation (line 79) | async def test_api_type_validation(self, mock_model, openai_config_wro... method test_verify_ssl_passed_to_client (line 88) | async def test_verify_ssl_passed_to_client(self, class TestBedrockStrands (line 103) | class TestBedrockStrands: method bedrock_config (line 107) | def bedrock_config(self): method bedrock_config_wrong_api (line 115) | def bedrock_config_wrong_api(self): method test_bedrock_strands_basic (line 125) | async def test_bedrock_strands_basic(self, mock_model, bedrock_config,... method test_api_type_validation (line 136) | async def test_api_type_validation(self, mock_model, bedrock_config_wr... class TestNIMStrands (line 144) | class TestNIMStrands: method nim_config (line 148) | def nim_config(self): method nim_config_wrong_api (line 157) | def nim_config_wrong_api(self): method mock_oai_clients_fixture (line 167) | def mock_oai_clients_fixture(self): method test_nim_strands_basic (line 176) | async def test_nim_strands_basic(self, nim_config, mock_builder, mock_... method test_nim_strands_with_env_var (line 205) | async def test_nim_strands_with_env_var(self, mock_builder, mock_oai_c... method test_nim_strands_default_base_url (line 220) | async def test_nim_strands_default_base_url(self, mock_builder, mock_o... method test_nim_strands_nim_override_dummy_api_key (line 232) | async def test_nim_strands_nim_override_dummy_api_key(self, mock_build... method test_nim_compatible_openai_model_format_request_messages (line 249) | def test_nim_compatible_openai_model_format_request_messages(self): method test_nim_compatible_openai_model_format_request_message_content_reasoning (line 289) | def test_nim_compatible_openai_model_format_request_message_content_re... method test_nim_compatible_openai_model_format_request_message_content_other_types (line 319) | def test_nim_compatible_openai_model_format_request_message_content_ot... method test_nim_strands_excludes_nat_specific_params (line 331) | async def test_nim_strands_excludes_nat_specific_params(self, mock_bui... method test_api_type_validation (line 353) | async def test_api_type_validation(self, nim_config_wrong_api, mock_bu... method test_verify_ssl_passed_to_client (line 365) | async def test_verify_ssl_passed_to_client(self, class TestPatchLLMBasedOnConfig (line 379) | class TestPatchLLMBasedOnConfig: method mock_client (line 383) | def mock_client(self): method test_patch_llm_no_mixins (line 387) | def test_patch_llm_no_mixins(self, mock_client): method test_patch_llm_with_retry_mixin (line 397) | def test_patch_llm_with_retry_mixin(self, mock_patch_retry, mock_client): method test_patch_llm_with_thinking_mixin (line 423) | def test_patch_llm_with_thinking_mixin(self, mock_patch_thinking, mock... method test_patch_llm_with_both_mixins (line 456) | def test_patch_llm_with_both_mixins(self, mock_patch_retry, mock_patch... class TestStrandsThinkingInjector (line 501) | class TestStrandsThinkingInjector: method test_inject_with_positional_system_prompt (line 504) | def test_inject_with_positional_system_prompt(self): method test_inject_with_keyword_system_prompt (line 515) | def test_inject_with_keyword_system_prompt(self): method test_inject_with_no_existing_system_prompt (line 525) | def test_inject_with_no_existing_system_prompt(self): method test_inject_with_empty_system_prompt (line 534) | def test_inject_with_empty_system_prompt(self): FILE: packages/nvidia_nat_strands/tests/test_strands_tool_wrapper.py class DummyInput (line 30) | class DummyInput(BaseModel): class DummyFunction (line 35) | class DummyFunction: method __init__ (line 38) | def __init__(self): method acall_invoke (line 42) | async def acall_invoke(self, **kwargs): class TestJsonSchemaFromPydantic (line 46) | class TestJsonSchemaFromPydantic: method test_json_schema_from_pydantic_basic (line 49) | def test_json_schema_from_pydantic_basic(self): method test_json_schema_from_pydantic_exception_handling (line 55) | def test_json_schema_from_pydantic_exception_handling(self): class TestToToolResult (line 68) | class TestToToolResult: method test_to_tool_result_with_dict (line 71) | def test_to_tool_result_with_dict(self): method test_to_tool_result_with_string (line 78) | def test_to_tool_result_with_string(self): class TestToErrorResult (line 86) | class TestToErrorResult: method test_to_error_result_with_exception (line 89) | def test_to_error_result_with_exception(self): class TestStrandsToolWrapper (line 99) | class TestStrandsToolWrapper: method mock_function (line 103) | def mock_function(self): method test_strands_tool_wrapper_creation (line 111) | def test_strands_tool_wrapper_creation(self, mock_nat_tool, mock_funct... class TestNATFunctionAgentTool (line 120) | class TestNATFunctionAgentTool: method mock_function (line 124) | def mock_function(self): method tool_spec (line 131) | def tool_spec(self): method test_nat_function_agent_tool_initialization (line 135) | def test_nat_function_agent_tool_initialization(self, mock_function, t... method test_nat_function_agent_tool_stream_success (line 145) | async def test_nat_function_agent_tool_stream_success(self, mock_funct... method test_nat_function_agent_tool_stream_error (line 174) | async def test_nat_function_agent_tool_stream_error(self, mock_functio... method test_nat_function_agent_tool_streaming_function (line 201) | async def test_nat_function_agent_tool_streaming_function(self, tool_s... method test_nat_function_agent_tool_streaming_with_error (line 240) | async def test_nat_function_agent_tool_streaming_with_error(self, tool... method test_nat_function_agent_tool_properties (line 274) | def test_nat_function_agent_tool_properties(self, mock_function): method test_nat_function_agent_tool_empty_input (line 289) | async def test_nat_function_agent_tool_empty_input(self, mock_function... class TestToolWrapperEdgeCases (line 309) | class TestToolWrapperEdgeCases: method test_strands_tool_wrapper_no_input_schema (line 312) | def test_strands_tool_wrapper_no_input_schema(self): method test_json_schema_from_pydantic_with_title (line 321) | def test_json_schema_from_pydantic_with_title(self): method test_to_tool_result_with_list (line 334) | def test_to_tool_result_with_list(self): method test_to_tool_result_with_tuple (line 342) | def test_to_tool_result_with_tuple(self): method test_to_error_result_with_custom_exception (line 350) | def test_to_error_result_with_custom_exception(self): FILE: packages/nvidia_nat_test/src/_utils/configs.py class WorkflowTestConfig (line 28) | class WorkflowTestConfig(FunctionBaseConfig, name="test_workflow"): class FunctionTestConfig (line 34) | class FunctionTestConfig(FunctionBaseConfig, name="test_function"): class PerUserFunctionTestConfig (line 38) | class PerUserFunctionTestConfig(FunctionBaseConfig, name="test_per_user_... class ToolDocstringTestConfig (line 42) | class ToolDocstringTestConfig(FunctionBaseConfig, name="test_tool_docstr... class ToolNoDescriptionTestConfig (line 46) | class ToolNoDescriptionTestConfig(FunctionBaseConfig, name="test_tool_no... class LLMProviderTestConfig (line 50) | class LLMProviderTestConfig(LLMBaseConfig, name="test_llm"): class EmbedderProviderTestConfig (line 54) | class EmbedderProviderTestConfig(EmbedderBaseConfig, name="test_embeddin... class MemoryTestConfig (line 58) | class MemoryTestConfig(MemoryBaseConfig, name="test_memory"): class ObjectStoreTestConfig (line 62) | class ObjectStoreTestConfig(ObjectStoreBaseConfig, name="test_object_sto... class RegistryHandlerTestConfig (line 66) | class RegistryHandlerTestConfig(RegistryHandlerBaseConfig, name="test_re... class AuthenticationProviderTestConfig (line 70) | class AuthenticationProviderTestConfig(AuthProviderBaseConfig, name="tes... class TrainerTestConfig (line 74) | class TrainerTestConfig(TrainerConfig, name="test_trainer"): class TrainerAdapterTestConfig (line 78) | class TrainerAdapterTestConfig(TrainerAdapterConfig, name="test_trainer_... class TrajectoryBuilderTestConfig (line 82) | class TrajectoryBuilderTestConfig(TrajectoryBuilderConfig, name="test_tr... FILE: packages/nvidia_nat_test/src/_utils/dask_utils.py function wait_job (line 22) | def wait_job(dask_client: "DaskClient", job_id: str, timeout: int = 60) ... FILE: packages/nvidia_nat_test/src/nat/test/embedder.py class EmbedderTestConfig (line 26) | class EmbedderTestConfig(EmbedderBaseConfig, name="test_embedder"): function embedder_test_provider (line 34) | async def embedder_test_provider(config: EmbedderTestConfig, builder: Bu... function embedder_langchain_test_client (line 40) | async def embedder_langchain_test_client(config: EmbedderTestConfig, bui... FILE: packages/nvidia_nat_test/src/nat/test/functions.py class EchoFunctionConfig (line 28) | class EchoFunctionConfig(FunctionBaseConfig, name="test_echo"): function echo_function (line 33) | async def echo_function(config: EchoFunctionConfig, builder: Builder): class StreamingEchoFunctionConfig (line 54) | class StreamingEchoFunctionConfig(FunctionBaseConfig, name="test_streami... function streaming_function (line 59) | async def streaming_function(config: StreamingEchoFunctionConfig, builde... class ConstantFunctionConfig (line 75) | class ConstantFunctionConfig(FunctionBaseConfig, name="test_constant"): function constant_function (line 80) | async def constant_function(config: ConstantFunctionConfig, builder: Bui... class StreamingConstantFunctionConfig (line 88) | class StreamingConstantFunctionConfig(FunctionBaseConfig, name="test_str... function streaming_constant_function (line 93) | async def streaming_constant_function(config: StreamingConstantFunctionC... class HeaderCaptureFunctionConfig (line 102) | class HeaderCaptureFunctionConfig(FunctionBaseConfig, name="test_header_... function header_capture_function (line 108) | async def header_capture_function(config: HeaderCaptureFunctionConfig, b... FILE: packages/nvidia_nat_test/src/nat/test/llm.py class MockLLMConfig (line 36) | class MockLLMConfig(LLMBaseConfig, name="nat_test_llm"): class _ResponseChooser (line 46) | class _ResponseChooser: method __init__ (line 52) | def __init__(self, response_seq: list[str], delay_ms: int): method next_response (line 56) | def next_response(self) -> str: method sync_sleep (line 62) | def sync_sleep(self) -> None: method async_sleep (line 65) | async def async_sleep(self) -> None: function test_llm_provider (line 70) | async def test_llm_provider(config: MockLLMConfig, builder: Builder) -> ... function test_llm_langchain (line 76) | async def test_llm_langchain(config: MockLLMConfig, builder: Builder): function test_llm_llama_index (line 111) | async def test_llm_llama_index(config: MockLLMConfig, builder: Builder): function test_llm_crewai (line 146) | async def test_llm_crewai(config: MockLLMConfig, builder: Builder): function test_llm_semantic_kernel (line 161) | async def test_llm_semantic_kernel(config: MockLLMConfig, builder: Build... function test_llm_agno (line 190) | async def test_llm_agno(config: MockLLMConfig, builder: Builder): function test_llm_adk (line 217) | async def test_llm_adk(config: MockLLMConfig, builder: Builder): FILE: packages/nvidia_nat_test/src/nat/test/memory.py class DummyMemoryConfig (line 23) | class DummyMemoryConfig(MemoryBaseConfig, name="test_dummy"): function echo_function (line 28) | async def echo_function(config: DummyMemoryConfig, builder: Builder): FILE: packages/nvidia_nat_test/src/nat/test/object_store_tests.py class ObjectStoreTests (line 30) | class ObjectStoreTests: method _get_store (line 34) | async def _get_store(self): method store (line 38) | async def store(self): method test_create_object_store (line 43) | async def test_create_object_store(self, store: ObjectStore): method test_put_object (line 46) | async def test_put_object(self, store: ObjectStore): method test_upsert_object (line 58) | async def test_upsert_object(self, store: ObjectStore): method test_get_object (line 81) | async def test_get_object(self, store: ObjectStore): method test_delete_object (line 97) | async def test_delete_object(self, store: ObjectStore): FILE: packages/nvidia_nat_test/src/nat/test/observability.py function create_mock_step (line 19) | def create_mock_step(event_type, event_state, framework=None, data=None,... FILE: packages/nvidia_nat_test/src/nat/test/plugin.py function pytest_addoption (line 39) | def pytest_addoption(parser: pytest.Parser): function pytest_runtest_setup (line 67) | def pytest_runtest_setup(item): function register_components_fixture (line 78) | def register_components_fixture(): function module_registry_fixture (line 91) | def module_registry_fixture(): function function_registry_fixture (line 104) | def function_registry_fixture(): function fail_missing_fixture (line 117) | def fail_missing_fixture(pytestconfig: pytest.Config) -> bool: function require_env_variables (line 125) | def require_env_variables(varnames: list[str], reason: str, fail_missing... function openai_api_key_fixture (line 144) | def openai_api_key_fixture(fail_missing: bool): function oci_nemotron_endpoint_fixture (line 155) | def oci_nemotron_endpoint_fixture(fail_missing: bool): function nvidia_api_key_fixture (line 168) | def nvidia_api_key_fixture(fail_missing: bool): function serp_api_key_fixture (line 179) | def serp_api_key_fixture(fail_missing: bool): function serperdev_api_key_fixture (line 190) | def serperdev_api_key_fixture(fail_missing: bool): function tavily_api_key_fixture (line 201) | def tavily_api_key_fixture(fail_missing: bool): function mem0_api_key_fixture (line 212) | def mem0_api_key_fixture(fail_missing: bool): function aws_keys_fixture (line 223) | def aws_keys_fixture(fail_missing: bool): function azure_openai_keys_fixture (line 237) | def azure_openai_keys_fixture(fail_missing: bool): function oci_genai_fixture (line 249) | def oci_genai_fixture(fail_missing: bool): function langfuse_keys_fixture (line 266) | def langfuse_keys_fixture(fail_missing: bool): function wandb_api_key_fixture (line 278) | def wandb_api_key_fixture(fail_missing: bool): function require_weave_fixture (line 289) | def require_weave_fixture(fail_missing: bool) -> types.ModuleType: function langsmith_api_key_fixture (line 304) | def langsmith_api_key_fixture(fail_missing: bool): function langsmith_client_fixture (line 315) | def langsmith_client_fixture(langsmith_api_key: str, fail_missing: bool)... function project_name_fixture (line 328) | def project_name_fixture() -> str: function langsmith_project_name_fixture (line 334) | def langsmith_project_name_fixture(langsmith_client: "langsmith.client.C... function galileo_api_key_fixture (line 342) | def galileo_api_key_fixture(fail_missing: bool): function galileo_project_fixture (line 353) | def galileo_project_fixture(galileo_api_key: str, fail_missing: bool, function galileo_log_stream_fixture (line 372) | def galileo_log_stream_fixture(galileo_project: "galileo.projects.Projec... function catalyst_keys_fixture (line 383) | def catalyst_keys_fixture(fail_missing: bool): function catalyst_project_name_fixture (line 395) | def catalyst_project_name_fixture(catalyst_keys) -> str: function catalyst_dataset_name_fixture (line 400) | def catalyst_dataset_name_fixture(catalyst_project_name: str, project_na... function require_docker_fixture (line 415) | def require_docker_fixture(fail_missing: bool) -> "DockerClient": function restore_environ_fixture (line 430) | def restore_environ_fixture(): function root_repo_dir_fixture (line 445) | def root_repo_dir_fixture() -> Path: function examples_dir_fixture (line 451) | def examples_dir_fixture(root_repo_dir: Path) -> Path: function env_without_nat_log_level_fixture (line 456) | def env_without_nat_log_level_fixture() -> dict[str, str]: function etcd_url_fixture (line 463) | def etcd_url_fixture(fail_missing: bool = False) -> str: function milvus_uri_fixture (line 486) | def milvus_uri_fixture(etcd_url: str, fail_missing: bool = False) -> str: function populate_milvus_fixture (line 506) | def populate_milvus_fixture(milvus_uri: str, root_repo_dir: Path): function require_nest_asyncio_fixture (line 553) | def require_nest_asyncio_fixture(): function phoenix_url_fixture (line 571) | def phoenix_url_fixture(fail_missing: bool) -> str: function phoenix_trace_url_fixture (line 593) | def phoenix_trace_url_fixture(phoenix_url: str) -> str: function fixture_redis_server (line 602) | def fixture_redis_server(fail_missing: bool) -> Generator[dict[str, str ... function fixture_mysql_server (line 627) | async def fixture_mysql_server(fail_missing: bool) -> AsyncGenerator[dic... function minio_server_fixture (line 650) | def minio_server_fixture(fail_missing: bool) -> Generator[dict[str, str ... function langfuse_bucket_fixture (line 690) | def langfuse_bucket_fixture(fail_missing: bool, minio_server: dict[str, ... function langfuse_url_fixture (line 720) | def langfuse_url_fixture(fail_missing: bool, langfuse_bucket: str) -> str: function langfuse_trace_url_fixture (line 743) | def langfuse_trace_url_fixture(langfuse_url: str) -> str: function oauth2_server_url_fixture (line 752) | def oauth2_server_url_fixture(fail_missing: bool) -> str: function oauth2_client_credentials_fixture (line 774) | def oauth2_client_credentials_fixture(oauth2_server_url: str, fail_missi... function local_sandbox_url_fixture (line 847) | def local_sandbox_url_fixture(fail_missing: bool) -> str: function sandbox_config_fixture (line 864) | def sandbox_config_fixture(local_sandbox_url: str) -> dict[str, typing.A... function piston_url_fixture (line 875) | def piston_url_fixture(fail_missing: bool) -> str: function import_adk_early (line 912) | def import_adk_early(): function mock_create_http_client_fixture (line 927) | def mock_create_http_client_fixture() -> Generator[mock.MagicMock]: function fixture_mock_async_httpx_client (line 936) | def fixture_mock_async_httpx_client() -> Generator[mock.MagicMock]: function fixture_mock_sync_httpx_client (line 946) | def fixture_mock_sync_httpx_client() -> Generator[mock.MagicMock]: function mock_builder (line 955) | def mock_builder() -> mock.MagicMock: FILE: packages/nvidia_nat_test/src/nat/test/tool_test_runner.py class MockBuilder (line 62) | class MockBuilder(Builder): method __init__ (line 67) | def __init__(self): method sync_builder (line 73) | def sync_builder(self) -> SyncBuilder: method mock_function (line 76) | def mock_function(self, name: str, mock_response: typing.Any): method mock_function_group (line 80) | def mock_function_group(self, name: str, mock_response: typing.Any): method mock_llm (line 84) | def mock_llm(self, name: str, mock_response: typing.Any): method mock_embedder (line 88) | def mock_embedder(self, name: str, mock_response: typing.Any): method mock_memory_client (line 92) | def mock_memory_client(self, name: str, mock_response: typing.Any): method mock_retriever (line 96) | def mock_retriever(self, name: str, mock_response: typing.Any): method mock_object_store (line 100) | def mock_object_store(self, name: str, mock_response: typing.Any): method mock_ttc_strategy (line 104) | def mock_ttc_strategy(self, name: str, mock_response: typing.Any): method mock_auth_provider (line 108) | def mock_auth_provider(self, name: str, mock_response: typing.Any): method mock_trainer (line 112) | def mock_trainer(self, name: str, mock_response: typing.Any): method mock_trainer_adapter (line 116) | def mock_trainer_adapter(self, name: str, mock_response: typing.Any): method mock_trajectory_builder (line 120) | def mock_trajectory_builder(self, name: str, mock_response: typing.Any): method add_ttc_strategy (line 124) | async def add_ttc_strategy(self, name: str, config: TTCStrategyBaseCon... method get_ttc_strategy (line 128) | async def get_ttc_strategy(self, strategy_name: str, pipeline_type: Pi... method get_ttc_strategy_config (line 140) | async def get_ttc_strategy_config(self, method add_auth_provider (line 147) | async def add_auth_provider(self, name: str, config: AuthProviderBaseC... method get_auth_provider (line 151) | async def get_auth_provider(self, auth_provider_name: str) -> AuthProv... method add_function (line 160) | async def add_function(self, name: str, config: FunctionBaseConfig) ->... method get_function (line 164) | async def get_function(self, name: str) -> Function: method get_function_config (line 172) | def get_function_config(self, name: str) -> FunctionBaseConfig: method add_function_group (line 176) | async def add_function_group(self, name: str, config: FunctionGroupBas... method get_function_group (line 180) | async def get_function_group(self, name: str) -> FunctionGroup: method get_function_group_config (line 188) | def get_function_group_config(self, name: str) -> FunctionGroupBaseCon... method set_workflow (line 192) | async def set_workflow(self, config: FunctionBaseConfig) -> Function: method get_workflow (line 198) | def get_workflow(self) -> Function: method get_workflow_config (line 204) | def get_workflow_config(self) -> FunctionBaseConfig: method get_tools (line 208) | async def get_tools(self, tool_names: Sequence[str], wrapper_type) -> ... method get_tool (line 212) | async def get_tool(self, fn_name: str, wrapper_type) -> typing.Any: method add_llm (line 216) | async def add_llm(self, name: str, config) -> None: method get_llm (line 220) | async def get_llm(self, llm_name: str, wrapper_type): method get_llm_config (line 230) | def get_llm_config(self, llm_name: str) -> LLMBaseConfig: method add_embedder (line 234) | async def add_embedder(self, name: str, config) -> None: method get_embedder (line 238) | async def get_embedder(self, embedder_name: str, wrapper_type): method get_embedder_config (line 248) | def get_embedder_config(self, embedder_name: str) -> EmbedderBaseConfig: method add_memory_client (line 252) | async def add_memory_client(self, name: str, config) -> MemoryEditor: method get_memory_client (line 255) | async def get_memory_client(self, memory_name: str) -> MemoryEditor: method get_memory_client_config (line 265) | def get_memory_client_config(self, memory_name: str) -> MemoryBaseConfig: method add_retriever (line 269) | async def add_retriever(self, name: str, config) -> None: method get_retriever (line 273) | async def get_retriever(self, retriever_name: str, wrapper_type=None): method get_retriever_config (line 282) | async def get_retriever_config(self, retriever_name: str) -> Retriever... method add_object_store (line 286) | async def add_object_store(self, name: str, config: ObjectStoreBaseCon... method get_object_store_client (line 290) | async def get_object_store_client(self, object_store_name: str) -> Obj... method get_object_store_config (line 302) | def get_object_store_config(self, object_store_name: str) -> ObjectSto... method get_function_dependencies (line 306) | def get_function_dependencies(self, fn_name: str) -> FunctionDependenc... method get_function_group_dependencies (line 310) | def get_function_group_dependencies(self, fn_name: str) -> FunctionDep... method get_middleware (line 314) | async def get_middleware(self, middleware_name: str | MiddlewareRef) -... method get_middleware_config (line 318) | def get_middleware_config(self, middleware_name: str | MiddlewareRef) ... method add_middleware (line 322) | async def add_middleware(self, name: str | MiddlewareRef, method add_trainer (line 327) | async def add_trainer(self, name: str, config: TrainerConfig) -> Trainer: method get_trainer (line 331) | async def get_trainer(self, method get_trainer_config (line 343) | async def get_trainer_config(self, trainer_name: str) -> TrainerConfig: method add_trainer_adapter (line 347) | async def add_trainer_adapter(self, name: str, config: TrainerAdapterC... method get_trainer_adapter (line 351) | async def get_trainer_adapter(self, trainer_adapter_name: str) -> Trai... method get_trainer_adapter_config (line 360) | async def get_trainer_adapter_config(self, trainer_adapter_name: str) ... method add_trajectory_builder (line 364) | async def add_trajectory_builder(self, name: str, config: TrajectoryBu... method get_trajectory_builder (line 368) | async def get_trajectory_builder(self, trajectory_builder_name: str) -... method get_trajectory_builder_config (line 378) | async def get_trajectory_builder_config(self, trajectory_builder_name:... class ToolTestRunner (line 383) | class ToolTestRunner: method __init__ (line 406) | def __init__(self): method _ensure_plugins_loaded (line 409) | def _ensure_plugins_loaded(self): method test_tool (line 413) | async def test_tool(self, method with_mocks (line 495) | async def with_mocks(self): method test_tool_with_builder (line 514) | async def test_tool_with_builder( function with_mocked_dependencies (line 589) | async def with_mocked_dependencies(): FILE: packages/nvidia_nat_test/src/nat/test/utils.py function locate_repo_root (line 36) | def locate_repo_root() -> Path: function locate_example_src_dir (line 42) | def locate_example_src_dir(example_config_class: type) -> Path: function locate_example_dir (line 50) | def locate_example_dir(example_config_class: type) -> Path: function locate_example_config (line 59) | def locate_example_config(example_config_class: type, function run_workflow (line 73) | async def run_workflow(*, function serve_workflow (line 96) | async def serve_workflow(*, function build_nat_client (line 162) | async def build_nat_client( function validate_workflow_output (line 195) | def validate_workflow_output(workflow_output_file: Path) -> None: FILE: packages/nvidia_nat_test/tests/test_env_fixtures.py function test_require_env_variables (line 38) | def test_require_env_variables(fail_on_missing: bool, env_vars: dict[str... FILE: packages/nvidia_nat_test/tests/test_test_llm.py function _register_test_llm (line 28) | def _register_test_llm(): function test_llm_config_cls (line 37) | def test_llm_config_cls(): function test_yaml_llm_chat_completion_single (line 55) | async def test_yaml_llm_chat_completion_single(tmp_path, seq, expected): function test_yaml_llm_chat_completion_cycle_and_ordering (line 81) | async def test_yaml_llm_chat_completion_cycle_and_ordering(tmp_path, wor... function test_yaml_llm_chat_completion_with_delay (line 121) | async def test_yaml_llm_chat_completion_with_delay(tmp_path): function test_yaml_llm_chat_completion_two_configs (line 152) | async def test_yaml_llm_chat_completion_two_configs(tmp_path, seq_a, seq... function test_yaml_llm_cycle_varied_lengths (line 206) | async def test_yaml_llm_cycle_varied_lengths(tmp_path, seq, expected): function test_yaml_llm_special_char_sequences (line 242) | async def test_yaml_llm_special_char_sequences(tmp_path, seq): function test_yaml_llm_cycle_persistence_across_runs (line 289) | async def test_yaml_llm_cycle_persistence_across_runs(tmp_path, seq, num... function test_builder_framework_cycle (line 329) | async def test_builder_framework_cycle(wrapper: str, seq: list[str], tes... function test_langchain_bind_tools (line 419) | async def test_langchain_bind_tools(test_llm_config_cls): function test_langchain_bind (line 447) | async def test_langchain_bind(test_llm_config_cls): function test_langchain_bind_tools_chaining (line 465) | async def test_langchain_bind_tools_chaining(test_llm_config_cls): FILE: packages/nvidia_nat_test/tests/test_test_utils.py function example_config_class_fixture (line 24) | def example_config_class_fixture() -> type: function simple_web_query_dir_fixture (line 30) | def simple_web_query_dir_fixture(root_repo_dir: Path) -> Path: function simple_web_query_src_dir_fixture (line 36) | def simple_web_query_src_dir_fixture(simple_web_query_dir: Path) -> Path: function test_locate_example_src_dir (line 41) | def test_locate_example_src_dir(example_config_class: type, simple_web_q... function test_locate_example_dir (line 47) | def test_locate_example_dir(example_config_class: type, simple_web_query... function test_locate_example_config (line 55) | def test_locate_example_config(example_config_class: type, FILE: packages/nvidia_nat_vanna/src/nat/plugins/vanna/db_utils.py function _serialize_secret (line 32) | def _serialize_secret(v: SecretStr) -> str: class SupportedDatabase (line 41) | class SupportedDatabase(StrEnum): class QueryResult (line 47) | class QueryResult(BaseModel): method to_dataframe (line 53) | def to_dataframe(self) -> Any: method to_records (line 59) | def to_records(self) -> list[dict[str, Any]]: method row_count (line 64) | def row_count(self) -> int: function extract_sql_from_message (line 73) | def extract_sql_from_message(sql_query: str | Any) -> str: function connect_to_databricks (line 143) | def connect_to_databricks(connection_url: str) -> Any: function connect_to_database (line 163) | def connect_to_database( function execute_query (line 203) | def execute_query(connection: Any, query: str) -> QueryResult: function async_execute_query (line 229) | async def async_execute_query(connection: Any, query: str) -> QueryResult: function setup_vanna_db_connection (line 247) | def setup_vanna_db_connection( FILE: packages/nvidia_nat_vanna/src/nat/plugins/vanna/execute_db_query.py class StatusPayload (line 35) | class StatusPayload(BaseModel): class ExecuteDBQueryInput (line 41) | class ExecuteDBQueryInput(BaseModel): class DataFrameInfo (line 47) | class DataFrameInfo(BaseModel): class ExecuteDBQueryOutput (line 55) | class ExecuteDBQueryOutput(BaseModel): class ExecuteDBQueryConfig (line 70) | class ExecuteDBQueryConfig(FunctionBaseConfig, name="execute_db_query"): function execute_db_query (line 90) | async def execute_db_query( FILE: packages/nvidia_nat_vanna/src/nat/plugins/vanna/text2sql.py class StatusPayload (line 37) | class StatusPayload(BaseModel): class Text2SQLOutput (line 42) | class Text2SQLOutput(BaseModel): class Text2SQLConfig (line 48) | class Text2SQLConfig(FunctionBaseConfig, name="text2sql"): function text2sql (line 101) | async def text2sql(config: Text2SQLConfig, builder: Builder): FILE: packages/nvidia_nat_vanna/src/nat/plugins/vanna/vanna_utils.py function extract_json_from_string (line 32) | def extract_json_from_string(content: str) -> dict: function remove_think_tags (line 72) | def remove_think_tags(text: str, model_name: str, reasoning_models: set[... function to_langchain_msgs (line 93) | def to_langchain_msgs(msgs): class VannaLangChainLLM (line 103) | class VannaLangChainLLM(VannaBase): method __init__ (line 106) | def __init__(self, client=None, config=None): method system_message (line 121) | def system_message(self, message: str) -> dict: method user_message (line 125) | def user_message(self, message: str) -> dict: method assistant_message (line 129) | def assistant_message(self, message: str) -> dict: method get_training_sql_prompt (line 133) | def get_training_sql_prompt( method get_sql_prompt (line 161) | def get_sql_prompt( method submit_prompt (line 211) | async def submit_prompt(self, prompt, **kwargs) -> str: class MilvusVectorStore (line 234) | class MilvusVectorStore(Milvus_VectorStore): method __init__ (line 237) | def __init__(self, config=None): method _ensure_collections_created (line 272) | async def _ensure_collections_created(self): method _create_sql_collection (line 283) | async def _create_sql_collection(self, name: str): method _create_ddl_collection (line 328) | async def _create_ddl_collection(self, name: str): method _create_doc_collection (line 372) | async def _create_doc_collection(self, name: str): method add_question_sql (line 416) | async def add_question_sql(self, question: str, sql: str, **kwargs) ->... method add_ddl (line 427) | async def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 442) | async def add_documentation(self, documentation: str, **kwargs) -> str: method get_related_record (line 457) | async def get_related_record(self, collection_name: str) -> list: method get_similar_question_sql (line 480) | async def get_similar_question_sql(self, question: str, **kwargs) -> l... method get_training_data (line 509) | async def get_training_data(self, **kwargs): method close (line 556) | async def close(self): class VannaLangChain (line 566) | class VannaLangChain(MilvusVectorStore, VannaLangChainLLM): method __init__ (line 569) | def __init__(self, client, config=None): method generate_sql (line 581) | async def generate_sql( class VannaSingleton (line 640) | class VannaSingleton: method _get_lock (line 647) | def _get_lock(cls) -> asyncio.Lock: method instance (line 654) | def instance(cls) -> VannaLangChain | None: method get_instance (line 663) | async def get_instance( method reset (line 738) | async def reset(cls): function train_vanna (line 760) | async def train_vanna(vn: VannaLangChain, auto_train: bool = False): FILE: packages/nvidia_nat_vanna/tests/test_vanna_db_utils.py class TestQueryResult (line 32) | class TestQueryResult: method test_to_records (line 35) | def test_to_records(self): method test_to_dataframe (line 42) | def test_to_dataframe(self): method test_empty_result (line 52) | def test_empty_result(self): class TestExtractSqlFromMessage (line 59) | class TestExtractSqlFromMessage: method test_basemodel_with_sql_field (line 62) | def test_basemodel_with_sql_field(self): method test_dict_with_sql_key (line 72) | def test_dict_with_sql_key(self): method test_json_string (line 77) | def test_json_string(self): method test_sql_equals_format (line 82) | def test_sql_equals_format(self): method test_sql_equals_double_quotes (line 87) | def test_sql_equals_double_quotes(self): method test_tool_message_format (line 92) | def test_tool_message_format(self): method test_object_with_content_attribute (line 97) | def test_object_with_content_attribute(self): class TestConnectToDatabricks (line 109) | class TestConnectToDatabricks: method test_connection_error_propagation (line 113) | def test_connection_error_propagation(self, mock_create_engine): class TestConnectToDatabase (line 121) | class TestConnectToDatabase: method test_databricks_connection (line 130) | def test_databricks_connection(self, mock_databricks, db_type): method test_unsupported_database_types (line 147) | def test_unsupported_database_types(self, invalid_type, expected_msg): class TestExecuteQuery (line 153) | class TestExecuteQuery: method test_successful_query_with_results (line 156) | def test_successful_query_with_results(self): method test_empty_query_result (line 175) | def test_empty_query_result(self): method test_query_execution_error (line 192) | def test_query_execution_error(self): class TestSetupVannaDbConnection (line 201) | class TestSetupVannaDbConnection: method test_vanna_configuration (line 205) | def test_vanna_configuration(self, mock_connect): method test_vanna_run_sql_integration (line 225) | async def test_vanna_run_sql_integration(self, mock_connect, mock_asyn... FILE: packages/nvidia_nat_weave/src/nat/plugins/weave/fastapi_plugin_worker.py class WeaveFeedbackPayload (line 36) | class WeaveFeedbackPayload(BaseModel): method validate_comment_length (line 45) | def validate_comment_length(cls, v: str | None) -> str | None: method validate_at_least_one_feedback (line 52) | def validate_at_least_one_feedback(self) -> 'WeaveFeedbackPayload': class WeaveFeedbackResponse (line 59) | class WeaveFeedbackResponse(BaseModel): class WeaveFastAPIPluginWorker (line 65) | class WeaveFastAPIPluginWorker(FastApiFrontEndPluginWorker): method add_routes (line 83) | async def add_routes(self, app: FastAPI, builder: WorkflowBuilder) -> ... method _add_weave_feedback_route (line 91) | async def _add_weave_feedback_route(self, app: FastAPI, builder: Workf... FILE: packages/nvidia_nat_weave/src/nat/plugins/weave/register.py class WeaveTelemetryExporter (line 29) | class WeaveTelemetryExporter(TelemetryExporterBaseConfig, name="weave"): function weave_telemetry_exporter (line 51) | async def weave_telemetry_exporter(config: WeaveTelemetryExporter, build... function _build_weave_eval_callback (line 85) | def _build_weave_eval_callback(config: WeaveTelemetryExporter, **kwargs): FILE: packages/nvidia_nat_weave/src/nat/plugins/weave/weave_eval_callback.py class WeaveEvaluationCallback (line 31) | class WeaveEvaluationCallback: method __init__ (line 34) | def __init__(self, *, project: str): method _is_available (line 56) | def _is_available(self) -> bool: method _initialize_client (line 59) | def _initialize_client(self) -> bool: method _prediction_inputs (line 71) | def _prediction_inputs(item: EvalInputItem) -> dict[str, Any]: method _weave_dataset (line 76) | def _weave_dataset(eval_input: EvalInput) -> list[dict[str, Any]]: method on_eval_started (line 79) | def on_eval_started(self, method evaluation_context (line 107) | def evaluation_context(self): method on_prediction (line 118) | def on_prediction(self, *, item: EvalInputItem, output: Any) -> None: method a_on_usage_stats (line 124) | async def a_on_usage_stats(self, *, item: EvalInputItem, usage_stats_i... method a_on_evaluator_score (line 132) | async def a_on_evaluator_score(self, *, eval_output: EvalOutput, evalu... method a_on_export_flush (line 151) | async def a_on_export_flush(self) -> None: method _profiler_metrics (line 163) | def _profiler_metrics(profiler_results: ProfilerResults, usage_stats: ... method on_eval_summary (line 172) | def on_eval_summary(self, FILE: packages/nvidia_nat_weave/src/nat/plugins/weave/weave_exporter.py class WeaveExporter (line 48) | class WeaveExporter(SpanExporter[Span, Span]): method __init__ (line 53) | def __init__(self, method export_processed (line 71) | async def export_processed(self, item: Span | list[Span]) -> None: method _process_start_event (line 79) | def _process_start_event(self, event: IntermediateStep): method _process_end_event (line 92) | def _process_end_event(self, event: IntermediateStep): method parent_call (line 102) | def parent_call(self, trace_id: str, parent_call_id: str) -> Generator... method _create_weave_call (line 116) | def _create_weave_call(self, step: IntermediateStep, span: Span) -> Call: method _extract_input_message (line 197) | def _extract_input_message(self, input_data: Any, inputs: dict[str, An... method _extract_output_message (line 215) | def _extract_output_message(self, output_data: Any, outputs: dict[str,... method _finish_weave_call (line 267) | def _finish_weave_call(self, step: IntermediateStep) -> None: method _cleanup_weave_calls (line 319) | async def _cleanup_weave_calls(self) -> None: method _cleanup (line 328) | async def _cleanup(self) -> None: FILE: packages/nvidia_nat_weave/tests/test_fastapi_plugin_worker.py function fixture_setup_env (line 32) | def fixture_setup_env() -> None: function fixture_mock_weave (line 42) | def fixture_mock_weave(monkeypatch): function test_weave_feedback_endpoint_with_weave_configured (line 60) | async def test_weave_feedback_endpoint_with_weave_configured() -> None: function test_feedback_endpoint_not_registered_without_weave (line 84) | async def test_feedback_endpoint_not_registered_without_weave() -> None: function test_feedback_endpoint_validates_payload (line 103) | async def test_feedback_endpoint_validates_payload() -> None: function test_weave_worker_adds_standard_routes (line 124) | async def test_weave_worker_adds_standard_routes() -> None: FILE: packages/nvidia_nat_weave/tests/test_weave_eval_callback.py function test_register_builds_weave_eval_callback (line 23) | def test_register_builds_weave_eval_callback(): function test_weave_eval_callback_noops_without_weave_runtime (line 29) | def test_weave_eval_callback_noops_without_weave_runtime(): FILE: packages/nvidia_nat_zep_cloud/src/nat/plugins/zep_cloud/memory.py class ZepMemoryClientConfig (line 23) | class ZepMemoryClientConfig(MemoryBaseConfig, RetryMixin, name="zep_memo... function zep_memory_client (line 30) | async def zep_memory_client(config: ZepMemoryClientConfig, builder: Buil... FILE: packages/nvidia_nat_zep_cloud/src/nat/plugins/zep_cloud/zep_editor.py class ZepEditor (line 33) | class ZepEditor(MemoryEditor): method __init__ (line 39) | def __init__(self, zep_client: AsyncZep) -> None: method _ensure_user_exists (line 48) | async def _ensure_user_exists(self, user_id: str) -> None: method add_items (line 90) | async def add_items(self, items: list[MemoryItem], **kwargs) -> None: method search (line 175) | async def search(self, query: str, top_k: int = 5, **kwargs) -> list[M... method remove_items (line 235) | async def remove_items(self, **kwargs) -> None: FILE: scripts/langchain_web_ingest.py function main (line 37) | async def main(*, FILE: scripts/sitemap_scraper.py function get_urls_from_sitemap (line 24) | def get_urls_from_sitemap(sitemaps: str | list, headers: dict = None, li... function _get_urls_from_sitemaps (line 53) | def _get_urls_from_sitemaps(sitemap: str, session): FILE: scripts/web_utils.py function _wrap_request (line 25) | async def _wrap_request(f, url): function scrape (line 34) | async def scrape(urls: list | str, headers: dict = None): function get_file_path_from_url (line 65) | def get_file_path_from_url(url: str, base_path: str) -> str: function cache_html (line 89) | def cache_html(input_dict: dict, base_path="."): function _get_short_url (line 118) | def _get_short_url(url: str):