fix(aiops): route backup decisions through ssh
This commit is contained in:
@@ -35,6 +35,18 @@ import yaml
|
||||
logger = structlog.get_logger(__name__)
|
||||
|
||||
|
||||
_PROVIDER_ALIASES = {
|
||||
"k8s": "kubernetes",
|
||||
"ssh": "ssh_host",
|
||||
}
|
||||
|
||||
|
||||
def _resolve_provider_name(provider_name: str) -> str:
|
||||
"""Normalize legacy callback spec provider names to registered MCP providers."""
|
||||
|
||||
return _PROVIDER_ALIASES.get(provider_name, provider_name)
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Data Types
|
||||
# =============================================================================
|
||||
@@ -262,14 +274,15 @@ async def dispatch_action(
|
||||
|
||||
# MCP registry dispatch
|
||||
from src.plugins.mcp.registry import get_provider
|
||||
provider = get_provider(spec.mcp_provider)
|
||||
provider_name = _resolve_provider_name(spec.mcp_provider)
|
||||
provider = get_provider(provider_name)
|
||||
if not provider:
|
||||
duration = (time.perf_counter() - start) * 1000
|
||||
return DispatchResult(
|
||||
success=False, action=action_name, incident_id=incident_id,
|
||||
user_id=user_id,
|
||||
result_text=f"{spec.emoji} {spec.label} 失敗:MCP provider '{spec.mcp_provider}' 未註冊",
|
||||
error=f"provider_not_found: {spec.mcp_provider}",
|
||||
result_text=f"{spec.emoji} {spec.label} 失敗:MCP provider '{provider_name}' 未註冊",
|
||||
error=f"provider_not_found: {provider_name}",
|
||||
duration_ms=duration,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user