42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
"""Connect the AITURK distribution's media tools to its existing member key."""
|
|
|
|
|
|
def configure_existing_media(cfg: dict) -> bool:
|
|
"""Migrate an existing member endpoint when the upgraded backend starts."""
|
|
providers = cfg.get("providers") or {}
|
|
entries = providers.values() if isinstance(providers, dict) else []
|
|
for entry in entries:
|
|
if isinstance(entry, dict) and configure_media(cfg, entry):
|
|
return True
|
|
return False
|
|
|
|
|
|
def configure_media(cfg: dict, entry: dict) -> bool:
|
|
if entry.get("base_url", "").rstrip("/") != "https://ai.turkservis.online/v1":
|
|
return False
|
|
key_env = entry.get("key_env")
|
|
if not isinstance(key_env, str) or not key_env:
|
|
return False
|
|
servers = cfg.get("mcp_servers")
|
|
if servers is None:
|
|
servers = cfg["mcp_servers"] = {}
|
|
if not isinstance(servers, dict):
|
|
return False
|
|
name = "turkservis-media"
|
|
existing = servers.get(name, {})
|
|
if not isinstance(existing, dict):
|
|
return False
|
|
if existing and existing.get("url") != "https://ai.turkservis.online/mcp":
|
|
return False
|
|
updated = {
|
|
**existing,
|
|
"url": "https://ai.turkservis.online/mcp",
|
|
"headers": {"Authorization": "Bearer ${" + key_env + "}"},
|
|
"timeout": 300,
|
|
"tools": {"include": ["list_capabilities", "generate_media"]},
|
|
}
|
|
if updated == existing:
|
|
return False
|
|
servers[name] = updated
|
|
return True
|