MCPcopy Create free account
hub / github.com/CommonstackAI/UncommonRoute / _reload_primary_connection

Function _reload_primary_connection

uncommon_route/proxy.py:2886–2931  ·  view source on GitHub ↗
(
        *,
        next_upstream: str,
        next_api_key: str,
        persist: bool,
    )

Source from the content-addressed store, hash-verified

2884 }
2885
2886 async def _reload_primary_connection(
2887 *,
2888 next_upstream: str,
2889 next_api_key: str,
2890 persist: bool,
2891 ) -> tuple[bool, dict[str, Any]]:
2892 nonlocal upstream, _primary_api_key, _mapper, _semantic
2893 candidate_upstream = str(next_upstream or "").strip()
2894 candidate_api_key = str(next_api_key or "").strip()
2895 candidate_mapper = ModelMapper(candidate_upstream)
2896
2897 if candidate_upstream:
2898 count = await candidate_mapper.discover(candidate_api_key or None)
2899 if count <= 0:
2900 detail = candidate_mapper.provider
2901 if detail != "unknown":
2902 detail = f"{detail} (discovery failed)"
2903 return False, {
2904 "error": "Unable to validate upstream connection",
2905 "detail": detail or "discovery failed",
2906 }
2907
2908 previous_upstream = upstream
2909 previous_api_key = _primary_api_key
2910 previous_mapper = _mapper
2911 previous_semantic = _semantic
2912
2913 try:
2914 upstream = candidate_upstream
2915 _primary_api_key = candidate_api_key
2916 _mapper = candidate_mapper
2917 _semantic = _build_semantic_compressor()
2918 _refresh_active_pricing()
2919 if persist:
2920 _connections_store.set_primary(
2921 upstream=candidate_upstream,
2922 api_key=candidate_api_key,
2923 )
2924 return True, _current_connection_payload()
2925 except Exception as exc: # noqa: BLE001
2926 upstream = previous_upstream
2927 _primary_api_key = previous_api_key
2928 _mapper = previous_mapper
2929 _semantic = previous_semantic
2930 _refresh_active_pricing()
2931 return False, {"error": "Failed to reload primary connection", "detail": str(exc)}
2932
2933 async def _on_startup() -> None:
2934 # ─── v2 lifecycle startup ───

Callers 1

handle_connectionsFunction · 0.85

Calls 6

discoverMethod · 0.95
ModelMapperClass · 0.90
_refresh_active_pricingFunction · 0.85
set_primaryMethod · 0.80

Tested by

no test coverage detected