mcp-mesh 0.7.10__tar.gz → 0.7.12__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 (152) hide show
  1. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/.gitignore +2 -1
  2. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/PKG-INFO +1 -1
  3. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/__init__.py +1 -1
  4. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/unified_mcp_proxy.py +25 -2
  5. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/logging_config.py +23 -15
  6. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/pyproject.toml +4 -4
  7. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/LICENSE +0 -0
  8. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/README.md +0 -0
  9. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/__init__.py +0 -0
  10. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/async_mcp_client.py +0 -0
  11. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/base_injector.py +0 -0
  12. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/decorator_registry.py +0 -0
  13. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/dependency_injector.py +0 -0
  14. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/full_mcp_proxy.py +0 -0
  15. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/http_wrapper.py +0 -0
  16. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/llm_config.py +0 -0
  17. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/llm_errors.py +0 -0
  18. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/mcp_client_proxy.py +0 -0
  19. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/mesh_llm_agent.py +0 -0
  20. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/mesh_llm_agent_injector.py +0 -0
  21. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/__init__.py +0 -0
  22. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/base_provider_handler.py +0 -0
  23. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/claude_handler.py +0 -0
  24. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/generic_handler.py +0 -0
  25. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/openai_handler.py +0 -0
  26. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/provider_handler_registry.py +0 -0
  27. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/response_parser.py +0 -0
  28. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/self_dependency_proxy.py +0 -0
  29. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/session_aware_client.py +0 -0
  30. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/session_manager.py +0 -0
  31. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/signature_analyzer.py +0 -0
  32. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/tool_executor.py +0 -0
  33. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/tool_schema_builder.py +0 -0
  34. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/.openapi-generator/FILES +0 -0
  35. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/.openapi-generator/VERSION +0 -0
  36. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/.openapi-generator-ignore +0 -0
  37. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/__init__.py +0 -0
  38. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/__init__.py +0 -0
  39. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/agents_api.py +0 -0
  40. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/health_api.py +0 -0
  41. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/tracing_api.py +0 -0
  42. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api_client.py +0 -0
  43. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api_response.py +0 -0
  44. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/configuration.py +0 -0
  45. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/exceptions.py +0 -0
  46. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/__init__.py +0 -0
  47. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_info.py +0 -0
  48. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata.py +0 -0
  49. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata_dependencies_inner.py +0 -0
  50. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata_dependencies_inner_one_of.py +0 -0
  51. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_registration.py +0 -0
  52. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_registration_metadata.py +0 -0
  53. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agents_list_response.py +0 -0
  54. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/capability_info.py +0 -0
  55. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_agent_metadata.py +0 -0
  56. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_agent_request.py +0 -0
  57. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_info.py +0 -0
  58. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/dependency_info.py +0 -0
  59. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/dependency_resolution_info.py +0 -0
  60. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/error_response.py +0 -0
  61. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/health_response.py +0 -0
  62. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_request.py +0 -0
  63. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_request_metadata.py +0 -0
  64. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_response.py +0 -0
  65. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_provider.py +0 -0
  66. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_provider_resolution_info.py +0 -0
  67. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter.py +0 -0
  68. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter_filter_inner.py +0 -0
  69. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter_filter_inner_one_of.py +0 -0
  70. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_info.py +0 -0
  71. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_resolution_info.py +0 -0
  72. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_agent_register_metadata.py +0 -0
  73. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_agent_registration.py +0 -0
  74. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_registration_response.py +0 -0
  75. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_registration_response_dependencies_resolved_value_inner.py +0 -0
  76. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_dependency_registration.py +0 -0
  77. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_register_metadata.py +0 -0
  78. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_registration.py +0 -0
  79. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/registration_response.py +0 -0
  80. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/resolved_llm_provider.py +0 -0
  81. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/rich_dependency.py +0 -0
  82. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/root_response.py +0 -0
  83. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/standardized_dependency.py +0 -0
  84. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/trace_event.py +0 -0
  85. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/py.typed +0 -0
  86. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/rest.py +0 -0
  87. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/__init__.py +0 -0
  88. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/__init__.py +0 -0
  89. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_dependency_resolution.py +0 -0
  90. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_fast_heartbeat_check.py +0 -0
  91. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_health_check.py +0 -0
  92. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_orchestrator.py +0 -0
  93. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_pipeline.py +0 -0
  94. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_send.py +0 -0
  95. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_lifespan_integration.py +0 -0
  96. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_registry_connection.py +0 -0
  97. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/__init__.py +0 -0
  98. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/api_pipeline.py +0 -0
  99. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/api_server_setup.py +0 -0
  100. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/fastapi_discovery.py +0 -0
  101. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/middleware_integration.py +0 -0
  102. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/route_collection.py +0 -0
  103. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/route_integration.py +0 -0
  104. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/__init__.py +0 -0
  105. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/dependency_resolution.py +0 -0
  106. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/fast_heartbeat_check.py +0 -0
  107. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_orchestrator.py +0 -0
  108. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_pipeline.py +0 -0
  109. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_send.py +0 -0
  110. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/lifespan_integration.py +0 -0
  111. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/llm_tools_resolution.py +0 -0
  112. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/registry_connection.py +0 -0
  113. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/__init__.py +0 -0
  114. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/configuration.py +0 -0
  115. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/decorator_collection.py +0 -0
  116. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/fastapiserver_setup.py +0 -0
  117. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/fastmcpserver_discovery.py +0 -0
  118. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/heartbeat_loop.py +0 -0
  119. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/heartbeat_preparation.py +0 -0
  120. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/server_discovery.py +0 -0
  121. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/startup_orchestrator.py +0 -0
  122. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/startup_pipeline.py +0 -0
  123. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/__init__.py +0 -0
  124. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/base_step.py +0 -0
  125. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/mesh_pipeline.py +0 -0
  126. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/pipeline_types.py +0 -0
  127. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/registry_connection.py +0 -0
  128. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/__init__.py +0 -0
  129. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/config_resolver.py +0 -0
  130. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/content_extractor.py +0 -0
  131. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/defaults.py +0 -0
  132. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/fast_heartbeat_status.py +0 -0
  133. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/fastapi_middleware_manager.py +0 -0
  134. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/health_check_cache.py +0 -0
  135. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/host_resolver.py +0 -0
  136. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/registry_client_wrapper.py +0 -0
  137. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/server_discovery.py +0 -0
  138. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/simple_shutdown.py +0 -0
  139. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/sse_parser.py +0 -0
  140. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/support_types.py +0 -0
  141. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/agent_context_helper.py +0 -0
  142. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/context.py +0 -0
  143. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/execution_tracer.py +0 -0
  144. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/fastapi_tracing_middleware.py +0 -0
  145. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/redis_metadata_publisher.py +0 -0
  146. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/trace_context_helper.py +0 -0
  147. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/utils.py +0 -0
  148. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/utils/fastmcp_schema_extractor.py +0 -0
  149. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/__init__.py +0 -0
  150. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/decorators.py +0 -0
  151. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/helpers.py +0 -0
  152. {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/types.py +0 -0
@@ -182,7 +182,7 @@ prompts/
182
182
  mcp-mesh-dev
183
183
  /mcp-mesh-registry
184
184
  /meshctl
185
- bin/meshctl
185
+ bin/
186
186
  *.exe
187
187
  *.dll
188
188
  *.dylib
@@ -244,3 +244,4 @@ helm/*/charts/*.tgz
244
244
  # Helm chart files copied during release (generated from observability/)
245
245
  helm/mcp-mesh-grafana/files/
246
246
  helm/mcp-mesh-tempo/files/
247
+ *.DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-mesh
3
- Version: 0.7.10
3
+ Version: 0.7.12
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.10"
34
+ __version__ = "0.7.12"
35
35
 
36
36
  # Store reference to runtime processor if initialized
37
37
  _runtime_processor = None
@@ -100,13 +100,36 @@ class UnifiedMCPProxy:
100
100
  # Try to get current trace context for header injection
101
101
  trace_headers = self._get_trace_headers()
102
102
 
103
+ # Use stream_timeout for read timeout (default 300s for LLM calls)
104
+ # Note: sse_read_timeout is deprecated, use httpx_client_factory instead
105
+ import httpx
106
+
107
+ def create_httpx_client(**kwargs):
108
+ # Override timeout to use stream_timeout for long-running LLM calls
109
+ kwargs["timeout"] = httpx.Timeout(
110
+ timeout=self.stream_timeout,
111
+ connect=30.0, # 30s for connection
112
+ read=self.stream_timeout, # Long read timeout for SSE streams
113
+ write=30.0, # 30s for writes
114
+ pool=30.0, # 30s for pool
115
+ )
116
+ return httpx.AsyncClient(**kwargs)
117
+
103
118
  if trace_headers:
104
119
  # Create client with trace headers for distributed tracing
105
- transport = StreamableHttpTransport(url=endpoint, headers=trace_headers)
120
+ transport = StreamableHttpTransport(
121
+ url=endpoint,
122
+ headers=trace_headers,
123
+ httpx_client_factory=create_httpx_client,
124
+ )
106
125
  return Client(transport)
107
126
  else:
108
127
  # Create standard client when no trace context available
109
- return Client(endpoint)
128
+ transport = StreamableHttpTransport(
129
+ url=endpoint,
130
+ httpx_client_factory=create_httpx_client,
131
+ )
132
+ return Client(transport)
110
133
 
111
134
  except ImportError as e:
112
135
  # DNS names or FastMCP not available - this will trigger HTTP fallback
@@ -31,7 +31,11 @@ class SafeStreamHandler(logging.StreamHandler):
31
31
 
32
32
 
33
33
  def configure_logging():
34
- """Configure logging based on MCP_MESH_LOG_LEVEL environment variable."""
34
+ """Configure logging based on MCP_MESH_LOG_LEVEL environment variable.
35
+
36
+ Uses allowlist approach: root logger stays at INFO to keep third-party libs quiet,
37
+ only mcp-mesh loggers are elevated to DEBUG when debug mode is enabled.
38
+ """
35
39
  # Get log level from environment, default to INFO
36
40
  log_level_str = os.environ.get("MCP_MESH_LOG_LEVEL", "INFO").upper()
37
41
 
@@ -53,8 +57,6 @@ def configure_logging():
53
57
  "1",
54
58
  "yes",
55
59
  )
56
- if debug_mode:
57
- log_level = logging.DEBUG
58
60
 
59
61
  # Clear any existing handlers to avoid conflicts
60
62
  root_logger = logging.getLogger()
@@ -63,23 +65,29 @@ def configure_logging():
63
65
 
64
66
  # Configure with safe stream handler for background threads
65
67
  handler = SafeStreamHandler(sys.stdout)
66
- handler.setLevel(log_level)
68
+ handler.setLevel(logging.DEBUG) # Handler allows all, loggers filter
67
69
  handler.setFormatter(logging.Formatter("%(levelname)-8s %(message)s"))
68
70
 
69
71
  root_logger.addHandler(handler)
70
- root_logger.setLevel(log_level)
71
72
 
72
- # Set level for all mcp_mesh loggers (both mcp_mesh and _mcp_mesh namespaces)
73
- logging.getLogger("mcp_mesh").setLevel(log_level)
74
- logging.getLogger("_mcp_mesh").setLevel(log_level)
73
+ # Root logger always INFO - all third-party libs stay quiet
74
+ # This is the allowlist approach: instead of blocklisting noisy loggers one by one,
75
+ # we keep root at INFO and only elevate mcp-mesh loggers to DEBUG
76
+ root_logger.setLevel(logging.INFO)
75
77
 
76
- # Suppress noisy third-party loggers
77
- # docket (task queue used by fastmcp) produces excessive DEBUG logs like
78
- # "Scheduling due tasks", "Getting redeliveries", "Getting new deliveries" in tight loops
79
- logging.getLogger("docket").setLevel(logging.WARNING)
80
-
81
- # Return the configured level for reference
82
- return log_level
78
+ # Only MCP Mesh loggers get DEBUG when debug mode is on
79
+ if debug_mode:
80
+ logging.getLogger("mesh").setLevel(logging.DEBUG)
81
+ logging.getLogger("mcp_mesh").setLevel(logging.DEBUG)
82
+ logging.getLogger("_mcp_mesh").setLevel(logging.DEBUG)
83
+ else:
84
+ # Use the configured log level for mcp-mesh loggers
85
+ logging.getLogger("mesh").setLevel(log_level)
86
+ logging.getLogger("mcp_mesh").setLevel(log_level)
87
+ logging.getLogger("_mcp_mesh").setLevel(log_level)
88
+
89
+ # Return the configured level for reference (DEBUG if debug mode, else configured level)
90
+ return logging.DEBUG if debug_mode else log_level
83
91
 
84
92
 
85
93
  # Configure logging on module import
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "mcp-mesh"
9
- version = "0.7.10"
9
+ version = "0.7.12"
10
10
  description = "Kubernetes-native platform for distributed MCP applications"
11
11
  readme = "README.md"
12
12
  license = { text = "MIT" }
@@ -120,7 +120,7 @@ extend-exclude = '''
120
120
  '''
121
121
 
122
122
  [tool.ruff]
123
- target-version = "0.7.10"
123
+ target-version = "0.7.12"
124
124
  line-length = 88
125
125
 
126
126
  [tool.ruff.lint]
@@ -157,7 +157,7 @@ ignore = [
157
157
  "tests/**" = ["E712", "F841", "B007", "C401", "F401"] # Relax style requirements for test files
158
158
 
159
159
  [tool.mypy]
160
- python_version = "0.7.10"
160
+ python_version = "0.7.12"
161
161
  check_untyped_defs = false # Temporarily relaxed
162
162
  disallow_any_generics = false # Temporarily relaxed
163
163
  disallow_incomplete_defs = false # Temporarily relaxed
@@ -169,7 +169,7 @@ warn_return_any = false # Temporarily relaxed
169
169
  exclude = ["tests/", ".*agent_server_generated.*", ".*registry_client_generated.*"] # Skip type checking for test and generated files
170
170
 
171
171
  [tool.pytest.ini_options]
172
- minversion = "0.7.10"
172
+ minversion = "0.7.12"
173
173
  addopts = "-ra -q --strict-markers --strict-config"
174
174
  testpaths = [
175
175
  "tests",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes