Skip to content

Commit 9c9e206

Browse files
Backport PR #1185: Fix specifying empty list in provider and model allow/denylists (#1189)
1 parent 624662a commit 9c9e206

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

packages/jupyter-ai-magics/jupyter_ai_magics/tests/test_utils.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
"restrictions",
1313
[
1414
{"allowed_providers": None, "blocked_providers": None},
15-
{"allowed_providers": [], "blocked_providers": []},
16-
{"allowed_providers": [], "blocked_providers": [KNOWN_LM_B]},
15+
{"allowed_providers": None, "blocked_providers": []},
16+
{"allowed_providers": None, "blocked_providers": [KNOWN_LM_B]},
1717
{"allowed_providers": [KNOWN_LM_A], "blocked_providers": []},
18+
{"allowed_providers": [KNOWN_LM_A], "blocked_providers": None},
1819
],
1920
)
2021
def test_get_lm_providers_not_restricted(restrictions):
@@ -25,8 +26,11 @@ def test_get_lm_providers_not_restricted(restrictions):
2526
@pytest.mark.parametrize(
2627
"restrictions",
2728
[
29+
{"allowed_providers": [], "blocked_providers": None},
2830
{"allowed_providers": [], "blocked_providers": [KNOWN_LM_A]},
31+
{"allowed_providers": None, "blocked_providers": [KNOWN_LM_A]},
2932
{"allowed_providers": [KNOWN_LM_B], "blocked_providers": []},
33+
{"allowed_providers": [KNOWN_LM_B], "blocked_providers": None},
3034
],
3135
)
3236
def test_get_lm_providers_restricted(restrictions):

packages/jupyter-ai-magics/jupyter_ai_magics/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,9 @@ def get_em_provider(
121121
def is_provider_allowed(provider_id: str, restrictions: ProviderRestrictions) -> bool:
122122
allowed = restrictions["allowed_providers"]
123123
blocked = restrictions["blocked_providers"]
124-
if blocked and provider_id in blocked:
124+
if blocked is not None and provider_id in blocked:
125125
return False
126-
if allowed and provider_id not in allowed:
126+
if allowed is not None and provider_id not in allowed:
127127
return False
128128
return True
129129

packages/jupyter-ai/jupyter_ai/config_manager.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,10 +325,13 @@ def _validate_model(self, model_id: str, raise_exc=True):
325325
"Model provider included in the provider blocklist."
326326
)
327327

328-
if self._allowed_models and model_id not in self._allowed_models:
328+
if (
329+
self._allowed_models is not None
330+
and model_id not in self._allowed_models
331+
):
329332
raise BlockedModelError("Model not included in the model allowlist.")
330333

331-
if self._blocked_models and model_id in self._blocked_models:
334+
if self._blocked_models is not None and model_id in self._blocked_models:
332335
raise BlockedModelError("Model included in the model blocklist.")
333336
except BlockedModelError as e:
334337
if raise_exc:

0 commit comments

Comments
 (0)