mcp-mesh 0.7.19__tar.gz → 0.7.21__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 (153) hide show
  1. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/PKG-INFO +1 -1
  2. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/__init__.py +1 -1
  3. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_fast_heartbeat_check.py +1 -1
  4. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_health_check.py +3 -3
  5. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_orchestrator.py +10 -14
  6. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_pipeline.py +1 -1
  7. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_registry_connection.py +4 -4
  8. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/pyproject.toml +4 -4
  9. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/.gitignore +0 -0
  10. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/LICENSE +0 -0
  11. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/README.md +0 -0
  12. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/__init__.py +0 -0
  13. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/async_mcp_client.py +0 -0
  14. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/base_injector.py +0 -0
  15. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/decorator_registry.py +0 -0
  16. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/dependency_injector.py +0 -0
  17. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/http_wrapper.py +0 -0
  18. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/llm_config.py +0 -0
  19. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/llm_errors.py +0 -0
  20. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/mesh_llm_agent.py +0 -0
  21. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/mesh_llm_agent_injector.py +0 -0
  22. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/provider_handlers/__init__.py +0 -0
  23. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/provider_handlers/base_provider_handler.py +0 -0
  24. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/provider_handlers/claude_handler.py +0 -0
  25. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/provider_handlers/generic_handler.py +0 -0
  26. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/provider_handlers/openai_handler.py +0 -0
  27. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/provider_handlers/provider_handler_registry.py +0 -0
  28. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/response_parser.py +0 -0
  29. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/self_dependency_proxy.py +0 -0
  30. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/session_aware_client.py +0 -0
  31. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/session_manager.py +0 -0
  32. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/signature_analyzer.py +0 -0
  33. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/tool_executor.py +0 -0
  34. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/tool_schema_builder.py +0 -0
  35. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/engine/unified_mcp_proxy.py +0 -0
  36. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/.openapi-generator/FILES +0 -0
  37. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/.openapi-generator/VERSION +0 -0
  38. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/.openapi-generator-ignore +0 -0
  39. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/__init__.py +0 -0
  40. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/api/__init__.py +0 -0
  41. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/api/agents_api.py +0 -0
  42. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/api/health_api.py +0 -0
  43. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/api/tracing_api.py +0 -0
  44. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/api_client.py +0 -0
  45. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/api_response.py +0 -0
  46. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/configuration.py +0 -0
  47. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/exceptions.py +0 -0
  48. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/__init__.py +0 -0
  49. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_info.py +0 -0
  50. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata.py +0 -0
  51. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata_dependencies_inner.py +0 -0
  52. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata_dependencies_inner_one_of.py +0 -0
  53. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_registration.py +0 -0
  54. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_registration_metadata.py +0 -0
  55. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agents_list_response.py +0 -0
  56. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/capability_info.py +0 -0
  57. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_agent_metadata.py +0 -0
  58. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_agent_request.py +0 -0
  59. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_info.py +0 -0
  60. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/dependency_info.py +0 -0
  61. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/dependency_resolution_info.py +0 -0
  62. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/error_response.py +0 -0
  63. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/health_response.py +0 -0
  64. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_request.py +0 -0
  65. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_request_metadata.py +0 -0
  66. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_response.py +0 -0
  67. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_provider.py +0 -0
  68. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_provider_resolution_info.py +0 -0
  69. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter.py +0 -0
  70. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter_filter_inner.py +0 -0
  71. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter_filter_inner_one_of.py +0 -0
  72. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_info.py +0 -0
  73. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_resolution_info.py +0 -0
  74. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_agent_register_metadata.py +0 -0
  75. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_agent_registration.py +0 -0
  76. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_registration_response.py +0 -0
  77. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_registration_response_dependencies_resolved_value_inner.py +0 -0
  78. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_dependency_registration.py +0 -0
  79. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_register_metadata.py +0 -0
  80. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_registration.py +0 -0
  81. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/registration_response.py +0 -0
  82. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/resolved_llm_provider.py +0 -0
  83. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/rich_dependency.py +0 -0
  84. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/root_response.py +0 -0
  85. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/standardized_dependency.py +0 -0
  86. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/models/trace_event.py +0 -0
  87. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/py.typed +0 -0
  88. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/generated/mcp_mesh_registry_client/rest.py +0 -0
  89. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/__init__.py +0 -0
  90. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/__init__.py +0 -0
  91. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_dependency_resolution.py +0 -0
  92. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_send.py +0 -0
  93. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_heartbeat/api_lifespan_integration.py +0 -0
  94. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/__init__.py +0 -0
  95. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/api_pipeline.py +0 -0
  96. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/api_server_setup.py +0 -0
  97. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/fastapi_discovery.py +0 -0
  98. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/middleware_integration.py +0 -0
  99. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/route_collection.py +0 -0
  100. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/api_startup/route_integration.py +0 -0
  101. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/__init__.py +0 -0
  102. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/dependency_resolution.py +0 -0
  103. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/fast_heartbeat_check.py +0 -0
  104. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_orchestrator.py +0 -0
  105. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_pipeline.py +0 -0
  106. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_send.py +0 -0
  107. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/lifespan_integration.py +0 -0
  108. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/llm_tools_resolution.py +0 -0
  109. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_heartbeat/registry_connection.py +0 -0
  110. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/__init__.py +0 -0
  111. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/configuration.py +0 -0
  112. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/decorator_collection.py +0 -0
  113. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/fastapiserver_setup.py +0 -0
  114. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/fastmcpserver_discovery.py +0 -0
  115. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/heartbeat_loop.py +0 -0
  116. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/heartbeat_preparation.py +0 -0
  117. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/lifespan_factory.py +0 -0
  118. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/server_discovery.py +0 -0
  119. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/startup_orchestrator.py +0 -0
  120. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/mcp_startup/startup_pipeline.py +0 -0
  121. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/shared/__init__.py +0 -0
  122. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/shared/base_step.py +0 -0
  123. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/shared/mesh_pipeline.py +0 -0
  124. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/shared/pipeline_types.py +0 -0
  125. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/pipeline/shared/registry_connection.py +0 -0
  126. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/reload.py +0 -0
  127. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/reload_runner.py +0 -0
  128. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/__init__.py +0 -0
  129. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/config_resolver.py +0 -0
  130. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/content_extractor.py +0 -0
  131. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/defaults.py +0 -0
  132. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/fast_heartbeat_status.py +0 -0
  133. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/fastapi_middleware_manager.py +0 -0
  134. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/health_check_manager.py +0 -0
  135. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/host_resolver.py +0 -0
  136. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/logging_config.py +0 -0
  137. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/registry_client_wrapper.py +0 -0
  138. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/server_discovery.py +0 -0
  139. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/simple_shutdown.py +0 -0
  140. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/sse_parser.py +0 -0
  141. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/shared/support_types.py +0 -0
  142. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/agent_context_helper.py +0 -0
  143. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/context.py +0 -0
  144. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/execution_tracer.py +0 -0
  145. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/fastapi_tracing_middleware.py +0 -0
  146. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/redis_metadata_publisher.py +0 -0
  147. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/trace_context_helper.py +0 -0
  148. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/tracing/utils.py +0 -0
  149. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/_mcp_mesh/utils/fastmcp_schema_extractor.py +0 -0
  150. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/mesh/__init__.py +0 -0
  151. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/mesh/decorators.py +0 -0
  152. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/mesh/helpers.py +0 -0
  153. {mcp_mesh-0.7.19 → mcp_mesh-0.7.21}/mesh/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-mesh
3
- Version: 0.7.19
3
+ Version: 0.7.21
4
4
  Summary: Kubernetes-native platform for distributed MCP applications
5
5
  Project-URL: Homepage, https://github.com/dhyansraj/mcp-mesh
6
6
  Project-URL: Documentation, https://github.com/dhyansraj/mcp-mesh/tree/main/docs
@@ -31,7 +31,7 @@ from .engine.decorator_registry import (
31
31
  get_decorator_stats,
32
32
  )
33
33
 
34
- __version__ = "0.7.19"
34
+ __version__ = "0.7.21"
35
35
 
36
36
  # Store reference to runtime processor if initialized
37
37
  _runtime_processor = None
@@ -73,7 +73,7 @@ class APIFastHeartbeatStep(PipelineStep):
73
73
 
74
74
  # Log status and action with API-specific messaging
75
75
  if status == FastHeartbeatStatus.NO_CHANGES:
76
- self.logger.info(
76
+ self.logger.trace(
77
77
  f"✅ API fast heartbeat: No changes detected for service '{service_id}'"
78
78
  )
79
79
  elif status == FastHeartbeatStatus.TOPOLOGY_CHANGED:
@@ -38,7 +38,7 @@ class APIHealthCheckStep(PipelineStep):
38
38
  Returns:
39
39
  PipelineResult with health_status in context
40
40
  """
41
- self.logger.info("🏥 [DEBUG] Checking FastAPI application health status")
41
+ self.logger.trace("🏥 Checking FastAPI application health status")
42
42
 
43
43
  try:
44
44
  # Get FastAPI app from context
@@ -66,7 +66,7 @@ class APIHealthCheckStep(PipelineStep):
66
66
  routes_with_mesh = self._count_mesh_routes(fastapi_app)
67
67
  total_routes = len(getattr(fastapi_app, "routes", []))
68
68
 
69
- self.logger.debug(
69
+ self.logger.trace(
70
70
  f"🔍 FastAPI app health: {app_title} v{app_version}, "
71
71
  f"{routes_with_mesh}/{total_routes} routes with mesh injection"
72
72
  )
@@ -91,7 +91,7 @@ class APIHealthCheckStep(PipelineStep):
91
91
  }
92
92
  }
93
93
 
94
- self.logger.info(
94
+ self.logger.trace(
95
95
  f"🏥 API health check passed: {app_title} v{app_version} "
96
96
  f"({routes_with_mesh} mesh routes)"
97
97
  )
@@ -58,19 +58,19 @@ class APIHeartbeatOrchestrator:
58
58
  self._log_api_heartbeat_request(heartbeat_context, self._heartbeat_count)
59
59
 
60
60
  # Execute API heartbeat pipeline with timeout protection
61
- self.logger.info(f"💓 Executing API heartbeat #{self._heartbeat_count} for service '{service_id}'")
61
+ self.logger.trace(f"💓 Executing API heartbeat #{self._heartbeat_count} for service '{service_id}'")
62
62
 
63
63
  # Add timeout to prevent hanging heartbeats (30 seconds max)
64
64
  import asyncio
65
65
 
66
66
  try:
67
- self.logger.debug("Starting API heartbeat pipeline execution")
67
+ self.logger.trace("Starting API heartbeat pipeline execution")
68
68
  result = await asyncio.wait_for(
69
69
  self.pipeline.execute_api_heartbeat_cycle(heartbeat_context),
70
70
  timeout=30.0,
71
71
  )
72
72
  if result.is_success():
73
- self.logger.debug("✅ API heartbeat pipeline completed successfully")
73
+ self.logger.trace("✅ API heartbeat pipeline completed successfully")
74
74
  else:
75
75
  self.logger.error(f"❌ API heartbeat pipeline failed: {result.message}")
76
76
  except TimeoutError:
@@ -120,10 +120,6 @@ class APIHeartbeatOrchestrator:
120
120
 
121
121
  # Get API service metadata from startup context
122
122
  api_service_metadata = startup_context.get("api_service_metadata", {})
123
- self.logger.debug(f"🔍 Startup context has api_service_metadata: {len(api_service_metadata) > 0}")
124
- if api_service_metadata:
125
- capabilities = api_service_metadata.get("capabilities", [])
126
- self.logger.debug(f"🔍 API service has {len(capabilities)} route capabilities")
127
123
 
128
124
  # Build heartbeat-specific context
129
125
  heartbeat_context = {
@@ -182,7 +178,7 @@ class APIHeartbeatOrchestrator:
182
178
  }
183
179
 
184
180
  # Log heartbeat details
185
- self.logger.debug(
181
+ self.logger.trace(
186
182
  f"🔍 API Heartbeat #{heartbeat_count} for '{service_id}': "
187
183
  f"app={app_info}, display={display_config}"
188
184
  )
@@ -197,29 +193,29 @@ class APIHeartbeatOrchestrator:
197
193
  heartbeat_response = result.context.get("heartbeat_response")
198
194
  heartbeat_success = result.context.get("heartbeat_success", False)
199
195
 
200
- self.logger.debug(f"API heartbeat result - success: {heartbeat_success}")
196
+ self.logger.trace(f"API heartbeat result - success: {heartbeat_success}")
201
197
 
202
198
  # Check if heartbeat was skipped due to optimization
203
199
  heartbeat_skipped = result.context.get("heartbeat_skipped", False)
204
200
  skip_reason = result.context.get("skip_reason")
205
201
 
206
202
  if heartbeat_success and heartbeat_response:
207
- # Log response details for debugging
203
+ # Log response details for tracing
208
204
  try:
209
205
  response_json = json.dumps(
210
206
  heartbeat_response, indent=2, default=str
211
207
  )
212
- self.logger.debug(
208
+ self.logger.trace(
213
209
  f"🔍 API heartbeat response #{heartbeat_count}:\n{response_json}"
214
210
  )
215
211
  except Exception as e:
216
- self.logger.debug(
212
+ self.logger.trace(
217
213
  f"🔍 API heartbeat response #{heartbeat_count}: {heartbeat_response} "
218
214
  f"(json serialization failed: {e})"
219
215
  )
220
216
 
221
- self.logger.info(
222
- f"💚 API heartbeat #{heartbeat_count} sent successfully for service '{service_id}'"
217
+ self.logger.debug(
218
+ f"🚀 API heartbeat #{heartbeat_count} sent for service '{service_id}'"
223
219
  )
224
220
  return True
225
221
  elif heartbeat_success and heartbeat_skipped:
@@ -208,7 +208,7 @@ class APIHeartbeatPipeline(MeshPipeline):
208
208
  # NO_CHANGES - skip for optimization
209
209
  should_execute_remaining = False
210
210
  reason = "optimization (no changes detected)"
211
- self.logger.info(
211
+ self.logger.trace(
212
212
  f"🚀 API heartbeat: Skipping remaining steps for optimization: {reason}"
213
213
  )
214
214
  elif FastHeartbeatStatusUtil.should_skip_for_resilience(
@@ -39,14 +39,14 @@ class APIRegistryConnectionStep(PipelineStep):
39
39
  Returns:
40
40
  PipelineResult with registry_wrapper in context
41
41
  """
42
- self.logger.info("🔗 [DEBUG] Preparing API registry connection for heartbeat")
42
+ self.logger.trace("🔗 Preparing API registry connection for heartbeat")
43
43
 
44
44
  try:
45
45
  # Check if registry_wrapper already exists in context
46
46
  registry_wrapper = context.get("registry_wrapper")
47
47
 
48
48
  if registry_wrapper is not None:
49
- self.logger.debug("✅ Registry wrapper already available in context")
49
+ self.logger.trace("✅ Registry wrapper already available in context")
50
50
  return PipelineResult(
51
51
  message="Registry connection already established",
52
52
  context={"registry_wrapper": registry_wrapper}
@@ -69,7 +69,7 @@ class APIRegistryConnectionStep(PipelineStep):
69
69
  rule=ValidationRule.URL_RULE,
70
70
  )
71
71
 
72
- self.logger.debug(f"🔍 Using registry URL: {registry_url}")
72
+ self.logger.trace(f"🔍 Using registry URL: {registry_url}")
73
73
 
74
74
  # Create registry client wrapper
75
75
  from ...generated.mcp_mesh_registry_client.api_client import ApiClient
@@ -80,7 +80,7 @@ class APIRegistryConnectionStep(PipelineStep):
80
80
  api_client = ApiClient(configuration=config)
81
81
  registry_wrapper = RegistryClientWrapper(api_client)
82
82
 
83
- self.logger.info(f"🔗 API registry connection prepared: {registry_url}")
83
+ self.logger.trace(f"🔗 API registry connection prepared: {registry_url}")
84
84
 
85
85
  return PipelineResult(
86
86
  message=f"Registry connection prepared for {registry_url}",
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "mcp-mesh"
9
- version = "0.7.19"
9
+ version = "0.7.21"
10
10
  description = "Kubernetes-native platform for distributed MCP applications"
11
11
  readme = "README.md"
12
12
  license = { text = "MIT" }
@@ -121,7 +121,7 @@ extend-exclude = '''
121
121
  '''
122
122
 
123
123
  [tool.ruff]
124
- target-version = "0.7.19"
124
+ target-version = "0.7.21"
125
125
  line-length = 88
126
126
 
127
127
  [tool.ruff.lint]
@@ -158,7 +158,7 @@ ignore = [
158
158
  "tests/**" = ["E712", "F841", "B007", "C401", "F401"] # Relax style requirements for test files
159
159
 
160
160
  [tool.mypy]
161
- python_version = "0.7.19"
161
+ python_version = "0.7.21"
162
162
  check_untyped_defs = false # Temporarily relaxed
163
163
  disallow_any_generics = false # Temporarily relaxed
164
164
  disallow_incomplete_defs = false # Temporarily relaxed
@@ -170,7 +170,7 @@ warn_return_any = false # Temporarily relaxed
170
170
  exclude = ["tests/", ".*agent_server_generated.*", ".*registry_client_generated.*"] # Skip type checking for test and generated files
171
171
 
172
172
  [tool.pytest.ini_options]
173
- minversion = "0.7.19"
173
+ minversion = "0.7.21"
174
174
  addopts = "-ra -q --strict-markers --strict-config"
175
175
  testpaths = [
176
176
  "tests",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes