vmware-aria 2.4.2__tar.gz → 2.4.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/.claude-plugin/plugin.json +1 -1
  2. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/.mcp.json +1 -1
  3. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/PKG-INFO +7 -3
  4. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/README-CN.md +5 -1
  5. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/README.md +5 -1
  6. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/RELEASE_NOTES.md +10 -3
  7. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/SECURITY.md +2 -2
  8. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/openclaw.plugin.json +1 -1
  9. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/package.json +1 -1
  10. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/pyproject.toml +2 -2
  11. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/server.json +2 -2
  12. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/SKILL.md +2 -2
  13. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/references/setup-guide.md +4 -4
  14. vmware_aria-2.4.3/tests/eval/regression/test_macos_proxy_bypass.py +47 -0
  15. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/uv.lock +3 -3
  16. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/__init__.py +1 -1
  17. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/connection.py +10 -0
  18. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/.clawhubignore +0 -0
  19. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/.env.example +0 -0
  20. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/.gitignore +0 -0
  21. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/Dockerfile +0 -0
  22. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/config.example.yaml +0 -0
  23. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/docker-compose.yml +0 -0
  24. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/examples/mcp-configs/claude-code.json +0 -0
  25. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/examples/mcp-configs/cursor.json +0 -0
  26. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/examples/mcp-configs/goose.json +0 -0
  27. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/evals/evals.json +0 -0
  28. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/references/agent-guardrails.md +0 -0
  29. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/references/capabilities.md +0 -0
  30. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/references/cli-reference.md +0 -0
  31. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/references/investigation-protocol.md +0 -0
  32. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/skills/vmware-aria/references/ops-playbooks.md +0 -0
  33. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/smithery.yaml +0 -0
  34. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/__init__.py +0 -0
  35. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/conftest.py +0 -0
  36. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/__init__.py +0 -0
  37. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/__init__.py +0 -0
  38. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/_family.py +0 -0
  39. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/_scores.json +0 -0
  40. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/_scoring.py +0 -0
  41. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/_skill.py +0 -0
  42. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/conftest.py +0 -0
  43. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/test_entity_reachability.py +0 -0
  44. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/test_error_actionability.py +0 -0
  45. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/test_tool_description_quality.py +0 -0
  46. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/capability/test_tool_manifest_budget.py +0 -0
  47. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/alert_adapter_childs_no_data.json +0 -0
  48. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/alert_notes_404.json +0 -0
  49. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/alert_notes_empty.json +0 -0
  50. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/alert_vcapp_health.json +0 -0
  51. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/alertdefinition_adapter_childs_no_data.json +0 -0
  52. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/alertdefinition_vcapp_health.json +0 -0
  53. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/contributingsymptoms_vcapp_health.json +0 -0
  54. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/host_relationships_all.json +0 -0
  55. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/host_relationships_child.json +0 -0
  56. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/host_relationships_parent.json +0 -0
  57. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/host_statkey_definitions.json +0 -0
  58. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/maintenanceschedules_empty.json +0 -0
  59. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/node_status_503.json +0 -0
  60. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_adapters.json +0 -0
  61. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_node_statkey_definitions.json +0 -0
  62. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_node_statkeys.json +0 -0
  63. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_resources_node.json +0 -0
  64. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_resources_watchdog.json +0 -0
  65. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_stats_latest.json +0 -0
  66. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_stats_query.json +0 -0
  67. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_watchdog_statkey_definitions.json +0 -0
  68. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/platform_watchdog_statkeys.json +0 -0
  69. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/properties_bulk_vcapp_services.json +0 -0
  70. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/recommendation_404.json +0 -0
  71. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/recommendations_by_id_adapter_childs.json +0 -0
  72. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/recommendations_by_id_vcapp.json +0 -0
  73. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/resource_test_llm.json +0 -0
  74. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/service_resource_mem.json +0 -0
  75. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/services_info.json +0 -0
  76. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/stats_query_mixed.json +0 -0
  77. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/stats_query_no_values.json +0 -0
  78. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/symptoms_ignores_id_filter.json +0 -0
  79. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/topn_no_groups.json +0 -0
  80. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vcapp_children.json +0 -0
  81. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/versions_current.json +0 -0
  82. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_properties.json +0 -0
  83. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_relationships_all.json +0 -0
  84. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_relationships_child.json +0 -0
  85. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_relationships_parent.json +0 -0
  86. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_resource_test_llm.json +0 -0
  87. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_statkey_definitions.json +0 -0
  88. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_statkey_definitions_full.json +0 -0
  89. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_statkeys.json +0 -0
  90. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/fixtures/aria_8187/vm_statkeys_180.json +0 -0
  91. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/__init__.py +0 -0
  92. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/_live_8187.py +0 -0
  93. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/fixtures/aria_8187_alerts.json +0 -0
  94. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/fixtures/aria_8187_rightsizing.json +0 -0
  95. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_a_9x_only_404_is_not_a_bad_id.py +0 -0
  96. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_alert_ids_are_pasteable_and_times_readable.py +0 -0
  97. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_alert_notes.py +0 -0
  98. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_alert_recommendations.py +0 -0
  99. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_anomaly_count_is_total_anomalies.py +0 -0
  100. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_anomaly_limit_bounds_the_answer.py +0 -0
  101. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_aria_spec_conformance.py +0 -0
  102. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_aria_spec_shapes.py +0 -0
  103. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_aria_specific.py +0 -0
  104. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_cached_loader_agrees_with_the_resolver.py +0 -0
  105. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_capability_grader.py +0 -0
  106. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_cli_value_errors_are_usage_errors.py +0 -0
  107. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_cli_writes_guarded.py +0 -0
  108. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_credential_env_override.py +0 -0
  109. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_destructive_cli_asks_twice.py +0 -0
  110. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_doctor_does_not_send_you_to_doctor.py +0 -0
  111. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_doctor_uses_the_config_the_tools_use.py +0 -0
  112. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_documented_metric_keys_exist.py +0 -0
  113. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_empty_metrics_say_why.py +0 -0
  114. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_empty_vs_unrecognized.py +0 -0
  115. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_env_secret_obfuscation.py +0 -0
  116. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_fleet_rows_survive_the_container_key.py +0 -0
  117. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_health_degraded_is_not_down.py +0 -0
  118. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_health_says_what_it_observed.py +0 -0
  119. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_ids_must_be_uuid_shaped.py +0 -0
  120. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_instructions_name_targets.py +0 -0
  121. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_live_8187_alert_names.py +0 -0
  122. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_maintenance_mode.py +0 -0
  123. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_maintenance_schedules.py +0 -0
  124. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_mcp_parity.py +0 -0
  125. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_metrics_interval.py +0 -0
  126. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_metrics_summary.py +0 -0
  127. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_paging_loop_terminates.py +0 -0
  128. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_platform_adapters.py +0 -0
  129. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_platform_node_resources.py +0 -0
  130. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_platform_surfaces.py +0 -0
  131. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_product_version_is_read_and_parseable.py +0 -0
  132. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_release_blockers.py +0 -0
  133. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_report_fields_do_not_lie.py +0 -0
  134. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_resource_catalog.py +0 -0
  135. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_resource_list_says_which_objects_stopped_reporting.py +0 -0
  136. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_result_envelope.py +0 -0
  137. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_rightsizing_live_8187.py +0 -0
  138. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_rightsizing_recommendation_history.py +0 -0
  139. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_service_health_is_not_the_badge.py +0 -0
  140. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_stats_n1.py +0 -0
  141. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_text_io_declares_encoding.py +0 -0
  142. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_top_consumers_value_is_the_ranking.py +0 -0
  143. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_vcapp_symptoms_name_their_resources.py +0 -0
  144. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_vcf91_fleet_spec.py +0 -0
  145. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_verify_ssl_false_needs_no_urllib3.py +0 -0
  146. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/eval/regression/test_version_gated_calls_declare_their_floor.py +0 -0
  147. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_api_escape.py +0 -0
  148. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_config.py +0 -0
  149. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_error_hints.py +0 -0
  150. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_gated_writes.py +0 -0
  151. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_init_and_onboarding.py +0 -0
  152. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_investigate.py +0 -0
  153. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_no_destructive_ops.py +0 -0
  154. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_policy_roles.py +0 -0
  155. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_safe_error_passthrough.py +0 -0
  156. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/tests/test_session_pool.py +0 -0
  157. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/api_spec/vcf91_fleet_operations.json +0 -0
  158. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/api_spec/vcfops91_operations.json +0 -0
  159. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/api_spec/vrops86_operations.json +0 -0
  160. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/cli.py +0 -0
  161. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/cli_api.py +0 -0
  162. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/cli_catalog.py +0 -0
  163. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/cli_platform.py +0 -0
  164. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/cli_workflow.py +0 -0
  165. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/config.py +0 -0
  166. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/doctor.py +0 -0
  167. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/init_wizard.py +0 -0
  168. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/__init__.py +0 -0
  169. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/__main__.py +0 -0
  170. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/_shared.py +0 -0
  171. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/server.py +0 -0
  172. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/__init__.py +0 -0
  173. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/alert_definitions.py +0 -0
  174. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/alert_workflow.py +0 -0
  175. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/alerts.py +0 -0
  176. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/anomaly.py +0 -0
  177. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/api.py +0 -0
  178. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/capacity.py +0 -0
  179. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/catalog.py +0 -0
  180. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/fleet.py +0 -0
  181. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/health.py +0 -0
  182. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/maintenance.py +0 -0
  183. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/reports.py +0 -0
  184. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/mcp_server/tools/resources.py +0 -0
  185. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/notify/__init__.py +0 -0
  186. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/notify/audit.py +0 -0
  187. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/__init__.py +0 -0
  188. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/_collection.py +0 -0
  189. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/_ids.py +0 -0
  190. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/_paging.py +0 -0
  191. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/alert_notes.py +0 -0
  192. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/alert_recommendations.py +0 -0
  193. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/alerts.py +0 -0
  194. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/anomaly.py +0 -0
  195. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/api_escape.py +0 -0
  196. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/capacity.py +0 -0
  197. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/catalog.py +0 -0
  198. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/fleet.py +0 -0
  199. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/gate_measures.py +0 -0
  200. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/health.py +0 -0
  201. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/investigate.py +0 -0
  202. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/maintenance.py +0 -0
  203. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/metric_summary.py +0 -0
  204. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/platform.py +0 -0
  205. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/promql.py +0 -0
  206. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/reports.py +0 -0
  207. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/resources.py +0 -0
  208. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/service_state.py +0 -0
  209. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/symptom_resources.py +0 -0
  210. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/ops/write_gate.py +0 -0
  211. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/policy_environment.py +0 -0
  212. {vmware_aria-2.4.2 → vmware_aria-2.4.3}/vmware_aria/policy_roles.py +0 -0
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "vmware-aria",
4
4
  "displayName": "VMware Aria",
5
- "version": "2.4.2",
5
+ "version": "2.4.3",
6
6
  "description": "VMware Aria Operations: metrics, alerts, capacity, anomaly detection — 46 MCP tools.",
7
7
  "author": {
8
8
  "name": "Wei Zhou",
@@ -5,7 +5,7 @@
5
5
  "command": "uvx",
6
6
  "args": [
7
7
  "--from",
8
- "vmware-aria==2.4.2",
8
+ "vmware-aria==2.4.3",
9
9
  "vmware-aria-mcp"
10
10
  ]
11
11
  }
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: vmware-aria
3
- Version: 2.4.2
3
+ Version: 2.4.3
4
4
  Summary: VMware Aria Operations (vRealize Operations) monitoring, alerting, and capacity planning
5
5
  Project-URL: Homepage, https://github.com/vmware-skills/VMware-Aria
6
6
  Project-URL: Repository, https://github.com/vmware-skills/VMware-Aria
7
7
  Project-URL: Issues, https://github.com/vmware-skills/VMware-Aria/issues
8
8
  Project-URL: Changelog, https://github.com/vmware-skills/VMware-Aria/blob/main/RELEASE_NOTES.md
9
- Author-email: Wei Zhou <wei-wz.zhou@broadcom.com>
9
+ Author-email: Wei Zhou <zhouwei008@gmail.com>
10
10
  License-Expression: MIT
11
11
  Keywords: ai-ops,aria,capacity,mcp,monitoring,vmware,vrealize,vrops
12
12
  Classifier: Development Status :: 4 - Beta
@@ -30,7 +30,7 @@ For a read-only check of this skill with your model and agent host, use the shar
30
30
 
31
31
  > **Note**: In VCF 9.0 and later, **VMware Aria Operations** has been rebranded as **VCF Operations**. This skill works against both names — the `/suite-api/` REST endpoints are unchanged.
32
32
 
33
- > **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
33
+ > **Author**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.com
34
34
  > This is a community-driven project by a VMware engineer, not an official VMware product.
35
35
  > For official VMware developer tools see [developer.broadcom.com](https://developer.broadcom.com).
36
36
 
@@ -95,6 +95,10 @@ chmod 600 ~/.vmware-aria/.env
95
95
  vmware-aria doctor
96
96
  ```
97
97
 
98
+ On macOS, v2.4.3 honors the system proxy bypass list for Aria targets. If an
99
+ older installation reaches TCP/443 but token acquisition ends with a TLS close,
100
+ upgrade and rerun `vmware-aria doctor`. `doctor --skip-auth` checks TCP only.
101
+
98
102
  ### Offline / Air-Gapped Install (from source)
99
103
 
100
104
  This project uses the modern PEP 517 build system (hatchling), so there is **no
@@ -3,7 +3,7 @@
3
3
 
4
4
  要用自己的模型和 Agent 平台进行只读自测,请看 marketplace 根目录的[共享模型适配自测任务](https://github.com/vmware-skills/marketplace/blob/main/MODEL_FIT_SELF_TEST.md)。
5
5
 
6
- > **作者**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
6
+ > **作者**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.com
7
7
  > 本项目由 VMware 工程师维护的社区项目,非 VMware 官方产品。
8
8
  > VMware 官方开发者工具请访问 [developer.broadcom.com](https://developer.broadcom.com)。
9
9
 
@@ -63,6 +63,10 @@ chmod 600 ~/.vmware-aria/.env
63
63
  vmware-aria doctor
64
64
  ```
65
65
 
66
+ macOS 上的 v2.4.3 会遵守系统代理对 Aria 目标的绕过规则。如果旧版本能连通 TCP/443,
67
+ 但获取认证 token 时 TLS 连接被关闭,请升级后重新运行 `vmware-aria doctor`。
68
+ `doctor --skip-auth` 只检查 TCP 连通性。
69
+
66
70
  ### 离线 / 气隙环境安装(从源码)
67
71
 
68
72
  本项目采用现代 PEP 517 构建系统(hatchling),因此**没有 `setup.py`**——这是
@@ -5,7 +5,7 @@ For a read-only check of this skill with your model and agent host, use the shar
5
5
 
6
6
  > **Note**: In VCF 9.0 and later, **VMware Aria Operations** has been rebranded as **VCF Operations**. This skill works against both names — the `/suite-api/` REST endpoints are unchanged.
7
7
 
8
- > **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
8
+ > **Author**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.com
9
9
  > This is a community-driven project by a VMware engineer, not an official VMware product.
10
10
  > For official VMware developer tools see [developer.broadcom.com](https://developer.broadcom.com).
11
11
 
@@ -70,6 +70,10 @@ chmod 600 ~/.vmware-aria/.env
70
70
  vmware-aria doctor
71
71
  ```
72
72
 
73
+ On macOS, v2.4.3 honors the system proxy bypass list for Aria targets. If an
74
+ older installation reaches TCP/443 but token acquisition ends with a TLS close,
75
+ upgrade and rerun `vmware-aria doctor`. `doctor --skip-auth` checks TCP only.
76
+
73
77
  ### Offline / Air-Gapped Install (from source)
74
78
 
75
79
  This project uses the modern PEP 517 build system (hatchling), so there is **no
@@ -1,4 +1,11 @@
1
- ## v2.4.2 — p95 in metric summaries; the `confirmed` alias is gone; error hints fit the error
1
+ ## v2.4.3 — honor macOS proxy bypass for Aria targets (2026-11-08)
2
+
3
+ * Update public author/project contact metadata to `zhouwei008@gmail.com`.
4
+
5
+ * **Connection fix:** when macOS marks an Aria host as bypassed from its system HTTPS proxy, the HTTP client now uses a direct route for that host. It still honors CA bundle settings such as `SSL_CERT_FILE`; targets without a bypass keep their existing proxy route. Previously `httpx` picked up the proxy but missed the bypass, so token acquisition failed with a TLS connection close even though the appliance was healthy.
6
+ * **Live verification on Aria Operations 8.18.7:** `get_aria_health` returned `HEALTHY`; resource and metric-key discovery succeeded. For a powered-on VM, 24-hour `cpu|usage_average` had 56 five-minute points and p95 44.154666900634766. The summary p95 exactly matched an independent nearest-rank calculation from the raw points. A powered-off VM had no CPU points and correctly reported `no_data_in_window`, not zero.
7
+
8
+ ## v2.4.2 — p95 in metric summaries; the `confirmed` alias is gone; error hints fit the error (2026-11-01)
2
9
 
3
10
  * **Breaking for callers still sending `confirmed`:** the deprecated alias on `acknowledge_alert`, `cancel_alert`,
4
11
  `delete_alert_definition`, `delete_report`, `start_resource_maintenance` and `end_resource_maintenance` is removed. A call that passes it is refused
@@ -6,7 +13,7 @@
6
13
  `confirm` previews, as before.
7
14
  * **`get_resource_metrics(summary=true)` adds `p95`** per series (nearest rank), with `p95_unavailable` saying why
8
15
  when the window holds fewer than 20 numeric points ("widen the window or use a finer interval"). Issue #22.
9
- Live on 8.18.7: 288 five-minute points, `cpu|demandmhz` p95 50.2.
16
+ Live on 8.18.7: 288 five-minute points, `cpu|demandmhz` p95 50.2. A fresh lab call on 2026-11-01 was unavailable because the configured appliance did not accept a TCP 443 connection; this release does not claim a second live measurement.
10
17
  * **Error hints fit the error.** A malformed id, a 400/404/409/422 the message already explains (including the
11
18
  9.0+-only fleet / findings / PromQL endpoints on 8.x) and a missing password env var now say "The error message
12
19
  says what to change; connectivity is not the problem" instead of sending the agent to `doctor`, which would
@@ -1663,7 +1670,7 @@ This release tracks vmware-pilot v1.5.17 (new `investigate_alert` template + `re
1663
1670
  - **[READ]/[WRITE] tool prefixes**: All MCP tool descriptions now start with [READ] or [WRITE] to clearly indicate operation type
1664
1671
  - **Read/write split counts**: SKILL.md MCP Tools section header shows exact read vs write tool counts
1665
1672
  - **Negative routing**: Description frontmatter includes "Do NOT use when..." clause to prevent misrouting
1666
- - **Broadcom author attestation**: README.md, README-CN.md, and pyproject.toml include VMware by Broadcom author identity (wei-wz.zhou@broadcom.com) to resolve Snyk E005 brand warnings
1673
+ - **Broadcom author attestation**: README.md, README-CN.md, and pyproject.toml include VMware by Broadcom author identity (zhouwei008@gmail.com) to resolve Snyk E005 brand warnings
1667
1674
 
1668
1675
  ### Aria-specific
1669
1676
 
@@ -4,13 +4,13 @@
4
4
 
5
5
  This is a community-maintained open-source project and is **not affiliated with, endorsed by, or sponsored by VMware, Inc. or Broadcom Inc.** "VMware" and "Aria" are trademarks of Broadcom Inc.
6
6
 
7
- **Author**: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
7
+ **Author**: Wei Zhou, VMware by Broadcom — zhouwei008@gmail.com
8
8
 
9
9
  ## Reporting Vulnerabilities
10
10
 
11
11
  If you discover a security vulnerability, please report it privately:
12
12
 
13
- - **Email**: wei-wz.zhou@broadcom.com
13
+ - **Email**: zhouwei008@gmail.com
14
14
  - **GitHub**: Open a [private security advisory](https://github.com/vmware-skills/VMware-Aria/security/advisories/new)
15
15
 
16
16
  Do **not** open a public GitHub issue for security vulnerabilities.
@@ -11,7 +11,7 @@
11
11
  "command": "uvx",
12
12
  "args": [
13
13
  "--from",
14
- "vmware-aria==2.4.2",
14
+ "vmware-aria==2.4.3",
15
15
  "vmware-aria-mcp"
16
16
  ]
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zw008/vmware-aria",
3
- "version": "2.4.2",
3
+ "version": "2.4.3",
4
4
  "description": "VMware Aria Operations: metrics, alerts, capacity, anomaly detection — 46 MCP tools.",
5
5
  "private": true,
6
6
  "license": "MIT",
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "vmware-aria"
7
- version = "2.4.2"
7
+ version = "2.4.3"
8
8
  description = "VMware Aria Operations (vRealize Operations) monitoring, alerting, and capacity planning"
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  requires-python = ">=3.10"
12
- authors = [{ name = "Wei Zhou", email = "wei-wz.zhou@broadcom.com" }]
12
+ authors = [{ name = "Wei Zhou", email = "zhouwei008@gmail.com" }]
13
13
  keywords = ["vmware", "aria", "vrealize", "vrops", "monitoring", "capacity", "mcp", "ai-ops"]
14
14
  classifiers = [
15
15
  "Development Status :: 4 - Beta",
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/vmware-skills/VMware-Aria",
8
8
  "source": "github"
9
9
  },
10
- "version": "2.4.2",
10
+ "version": "2.4.3",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "pypi",
14
14
  "identifier": "vmware-aria",
15
- "version": "2.4.2",
15
+ "version": "2.4.3",
16
16
  "runtimeHint": "uvx",
17
17
  "packageArguments": [
18
18
  {
@@ -51,7 +51,7 @@ VMware Aria Operations (vRealize Operations 8.x, VCF Operations 9.x) AI-assisted
51
51
  ## Quick Install
52
52
 
53
53
  ```bash
54
- uv tool install vmware-aria==2.4.2
54
+ uv tool install vmware-aria==2.4.3
55
55
  vmware-aria init # guided setup: writes config + .env (chmod 600, password grep-safe), then verifies
56
56
  vmware-aria doctor
57
57
  ```
@@ -308,7 +308,7 @@ Set `VMWARE_ARIA_<TARGET_NAME_UPPER>_PASSWORD` (hyphens become underscores; targ
308
308
 
309
309
  ### `invalid peer certificate: UnknownIssuer` when running uvx (corporate TLS proxy)
310
310
 
311
- `uvx` re-resolves from PyPI on every launch, and a TLS-intercepting proxy breaks that. Run `vmware-aria mcp` after `uv tool install vmware-aria==2.4.2` (no network on launch), or set `UV_NATIVE_TLS=true` to use the system cert store.
311
+ `uvx` re-resolves from PyPI on every launch, and a TLS-intercepting proxy breaks that. Run `vmware-aria mcp` after `uv tool install vmware-aria==2.4.3` (no network on launch), or set `UV_NATIVE_TLS=true` to use the system cert store.
312
312
 
313
313
  ## Audit & Safety
314
314
 
@@ -16,19 +16,19 @@ Complete setup and security guide for `vmware-aria`.
16
16
  ### Via uv (recommended)
17
17
 
18
18
  ```bash
19
- uv tool install vmware-aria==2.4.2
19
+ uv tool install vmware-aria==2.4.3
20
20
  ```
21
21
 
22
22
  ### Via pip
23
23
 
24
24
  ```bash
25
- pip install vmware-aria==2.4.2
25
+ pip install vmware-aria==2.4.3
26
26
  ```
27
27
 
28
28
  ### From source
29
29
 
30
30
  ```bash
31
- git clone --branch v2.4.2 https://github.com/vmware-skills/VMware-Aria.git
31
+ git clone --branch v2.4.3 https://github.com/vmware-skills/VMware-Aria.git
32
32
  cd VMware-Aria
33
33
  pip install -e .
34
34
  ```
@@ -194,7 +194,7 @@ Add to `~/.claude.json` (or use `claude mcp add`):
194
194
 
195
195
  > v1.5.15+ recommends `vmware-aria mcp`. Pre-1.5.15 used the legacy
196
196
  > `vmware-aria-mcp` console script (still kept for backward compatibility).
197
- > If using `uvx --from vmware-aria==2.4.2 vmware-aria mcp` and you hit
197
+ > If using `uvx --from vmware-aria==2.4.3 vmware-aria mcp` and you hit
198
198
  > `invalid peer certificate: UnknownIssuer` behind a corporate TLS proxy,
199
199
  > set `UV_NATIVE_TLS=true` or use the recommended form above.
200
200
 
@@ -0,0 +1,47 @@
1
+ """A macOS proxy bypass must cover the Aria HTTP client, including login."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import time
6
+ import urllib.request
7
+
8
+ import httpx
9
+
10
+ from vmware_aria import connection
11
+ from vmware_aria.config import TargetConfig
12
+
13
+
14
+ def test_system_proxy_bypass_routes_aria_auth_directly(monkeypatch):
15
+ """httpx sees system proxies but does not apply macOS's bypass list."""
16
+ monkeypatch.setenv("HTTPS_PROXY", "http://127.0.0.1:1")
17
+ monkeypatch.delenv("NO_PROXY", raising=False)
18
+ monkeypatch.setattr(urllib.request, "proxy_bypass", lambda host: host == "aria.invalid")
19
+
20
+ seen = []
21
+
22
+ def direct(request: httpx.Request) -> httpx.Response:
23
+ seen.append(request.url.path)
24
+ if request.url.path.endswith("/auth/token/acquire"):
25
+ return httpx.Response(
26
+ 200,
27
+ json={"token": "test-token", "validity": int((time.time() + 3600) * 1000)},
28
+ )
29
+ return httpx.Response(200, json={})
30
+
31
+ monkeypatch.setattr(
32
+ connection.httpx,
33
+ "HTTPTransport",
34
+ lambda **_kwargs: httpx.MockTransport(direct),
35
+ )
36
+
37
+ client = connection.AriaClient(
38
+ TargetConfig(host="aria.invalid", username="admin", verify_ssl=False),
39
+ "test-password",
40
+ )
41
+ try:
42
+ assert client._token == "test-token"
43
+ assert client._client.get("https://aria.invalid/suite-api/api/resources").status_code == 200
44
+ assert any(path.endswith("/auth/token/acquire") for path in seen)
45
+ assert any(path.endswith("/resources") for path in seen)
46
+ finally:
47
+ client.close()
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 5
2
+ revision = 3
3
3
  requires-python = ">=3.10"
4
4
  resolution-markers = [
5
5
  "python_full_version >= '3.14' and sys_platform == 'win32'",
@@ -341,7 +341,7 @@ name = "exceptiongroup"
341
341
  version = "1.3.1"
342
342
  source = { registry = "https://pypi.org/simple" }
343
343
  dependencies = [
344
- { name = "typing-extensions" },
344
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
345
345
  ]
346
346
  sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
347
347
  wheels = [
@@ -1142,7 +1142,7 @@ wheels = [
1142
1142
 
1143
1143
  [[package]]
1144
1144
  name = "vmware-aria"
1145
- version = "2.4.2"
1145
+ version = "2.4.3"
1146
1146
  source = { editable = "." }
1147
1147
  dependencies = [
1148
1148
  { name = "httpx" },
@@ -1,3 +1,3 @@
1
1
  """VMware Aria Operations (vRealize Operations) monitoring and capacity planning."""
2
2
 
3
- __version__ = "2.4.2"
3
+ __version__ = "2.4.3"
@@ -17,6 +17,7 @@ from __future__ import annotations
17
17
  import logging
18
18
  import re
19
19
  import time
20
+ import urllib.request
20
21
  from typing import Any
21
22
 
22
23
  import httpx
@@ -288,10 +289,19 @@ class AriaClient:
288
289
  self._product_version: str | None | object = _UNPROBED
289
290
 
290
291
 
292
+ # httpx reads macOS system proxies but can miss their bypass list. Route
293
+ # an explicitly bypassed Aria host directly while keeping trust_env for
294
+ # CA bundle settings such as SSL_CERT_FILE.
295
+ mounts = None
296
+ if urllib.request.proxy_bypass(target.host):
297
+ origin = f"https://{target.host}:{target.port}"
298
+ mounts = {origin: httpx.HTTPTransport(verify=target.verify_ssl, trust_env=True)}
299
+
291
300
  self._client = httpx.Client(
292
301
  base_url=self._base_url,
293
302
  verify=target.verify_ssl,
294
303
  timeout=30.0,
304
+ mounts=mounts,
295
305
  )
296
306
  self._acquire_token()
297
307
 
File without changes
File without changes
File without changes
File without changes
File without changes