From ce9c25c0edf28cd22712de792e92e1464185f033 Mon Sep 17 00:00:00 2001 From: n24q02m Date: Wed, 23 Sep 2026 14:20:18 +0700 Subject: [PATCH] fix(complexity_router): allow member Jev tuning fields; update test clients for request_kwargs --- .../management_helpers/auto_router_permissions.py | 3 +++ .../complexity_router/test_jev_confidence_gate.py | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/management_helpers/auto_router_permissions.py b/litellm/proxy/management_helpers/auto_router_permissions.py index a4428eb3a85..f2251a06e0b 100644 --- a/litellm/proxy/management_helpers/auto_router_permissions.py +++ b/litellm/proxy/management_helpers/auto_router_permissions.py @@ -85,6 +85,9 @@ class _MemberOpenSourceClassifierConfig(LiteLLMBaseModel): instructions: str | None = None circuit_breaker_enabled: bool circuit_breaker_cooldown_seconds: float + confidence_threshold: float | None = Field(default=None, ge=0.0, le=1.0) + complexity_max: float | None = Field(default=None, ge=0.0, le=1.0) + complexity_confidence_min: float | None = Field(default=None, ge=0.0, le=1.0) class _MemberComplexityRouterConfig(RequestComplexityRouterConfig): diff --git a/tests/unit/router_strategy/complexity_router/test_jev_confidence_gate.py b/tests/unit/router_strategy/complexity_router/test_jev_confidence_gate.py index 62a61c1db22..6e31e9e0a43 100644 --- a/tests/unit/router_strategy/complexity_router/test_jev_confidence_gate.py +++ b/tests/unit/router_strategy/complexity_router/test_jev_confidence_gate.py @@ -54,7 +54,12 @@ class _StaticJevClient: self.response = response self.calls = 0 - async def evaluate(self, request: JevSystemOneRequest, timeout_s: float) -> JevSystemOneResponse: + async def evaluate( + self, + request: JevSystemOneRequest, + timeout_s: float, + request_kwargs: Mapping[str, object] | None = None, + ) -> JevSystemOneResponse: self.calls += 1 return self.response @@ -65,7 +70,12 @@ class _WireJevClient: def __init__(self, payload: Mapping[str, object]) -> None: self.payload = payload - async def evaluate(self, request: JevSystemOneRequest, timeout_s: float) -> JevSystemOneResponse: + async def evaluate( + self, + request: JevSystemOneRequest, + timeout_s: float, + request_kwargs: Mapping[str, object] | None = None, + ) -> JevSystemOneResponse: return TypeAdapter(JevSystemOneResponse).validate_python(self.payload)