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.
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/.gitignore +2 -1
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/PKG-INFO +1 -1
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/__init__.py +1 -1
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/unified_mcp_proxy.py +25 -2
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/logging_config.py +23 -15
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/pyproject.toml +4 -4
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/LICENSE +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/README.md +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/async_mcp_client.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/base_injector.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/decorator_registry.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/dependency_injector.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/full_mcp_proxy.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/http_wrapper.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/llm_config.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/llm_errors.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/mcp_client_proxy.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/mesh_llm_agent.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/mesh_llm_agent_injector.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/base_provider_handler.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/claude_handler.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/generic_handler.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/openai_handler.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/provider_handler_registry.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/response_parser.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/self_dependency_proxy.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/session_aware_client.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/session_manager.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/signature_analyzer.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/tool_executor.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/tool_schema_builder.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/.openapi-generator/FILES +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/.openapi-generator/VERSION +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/.openapi-generator-ignore +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/agents_api.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/health_api.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/tracing_api.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api_client.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/configuration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/exceptions.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_info.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_metadata.py +0 -0
- {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
- {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
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_registration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agent_registration_metadata.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/agents_list_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/capability_info.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_agent_metadata.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_agent_request.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/decorator_info.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/dependency_info.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/dependency_resolution_info.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/error_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/health_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_request.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_request_metadata.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/heartbeat_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_provider.py +0 -0
- {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
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_filter.py +0 -0
- {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
- {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
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/llm_tool_info.py +0 -0
- {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
- {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
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_agent_registration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_registration_response.py +0 -0
- {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
- {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
- {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
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/mesh_tool_registration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/registration_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/resolved_llm_provider.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/rich_dependency.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/root_response.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/standardized_dependency.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/trace_event.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/py.typed +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/rest.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_dependency_resolution.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_fast_heartbeat_check.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_health_check.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_orchestrator.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_pipeline.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_send.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_lifespan_integration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_registry_connection.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/api_pipeline.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/api_server_setup.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/fastapi_discovery.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/middleware_integration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/route_collection.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/route_integration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/dependency_resolution.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/fast_heartbeat_check.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_orchestrator.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_pipeline.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_send.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/lifespan_integration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/llm_tools_resolution.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/registry_connection.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/configuration.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/decorator_collection.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/fastapiserver_setup.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/fastmcpserver_discovery.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/heartbeat_loop.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/heartbeat_preparation.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/server_discovery.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/startup_orchestrator.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/startup_pipeline.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/base_step.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/mesh_pipeline.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/pipeline_types.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/shared/registry_connection.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/config_resolver.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/content_extractor.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/defaults.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/fast_heartbeat_status.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/fastapi_middleware_manager.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/health_check_cache.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/host_resolver.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/registry_client_wrapper.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/server_discovery.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/simple_shutdown.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/sse_parser.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/shared/support_types.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/agent_context_helper.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/context.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/execution_tracer.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/fastapi_tracing_middleware.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/redis_metadata_publisher.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/trace_context_helper.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/tracing/utils.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/utils/fastmcp_schema_extractor.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/__init__.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/decorators.py +0 -0
- {mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/mesh/helpers.py +0 -0
- {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/
|
|
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.
|
|
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
|
|
@@ -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(
|
|
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
|
-
|
|
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(
|
|
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
|
-
#
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
#
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/base_provider_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/engine/provider_handlers/provider_handler_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/__init__.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/__init__.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/agents_api.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/health_api.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api/tracing_api.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api_client.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/api_response.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/configuration.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/exceptions.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/generated/mcp_mesh_registry_client/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_dependency_resolution.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_fast_heartbeat_check.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_orchestrator.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_heartbeat_pipeline.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_lifespan_integration.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_heartbeat/api_registry_connection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/api_startup/middleware_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/dependency_resolution.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/fast_heartbeat_check.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/heartbeat_orchestrator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/lifespan_integration.py
RENAMED
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_heartbeat/llm_tools_resolution.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_mesh-0.7.10 → mcp_mesh-0.7.12}/_mcp_mesh/pipeline/mcp_startup/fastmcpserver_discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|