fix: narrow pi numeric settings types
test / unit (pull_request) Successful in 49s
test / integration (pull_request) Successful in 27s
lint / lint (push) Successful in 1m37s
test / unit (push) Successful in 31s
test / integration (push) Successful in 19s
Update Quality Badges / update-badges (push) Successful in 1m20s

This commit was merged in pull request #224.
This commit is contained in:
2026-06-10 04:30:13 +00:00
committed by didericis
parent 957d37f51f
commit 019efab804
+16 -5
View File
@@ -77,6 +77,19 @@ def _settings_value(
return default if value is None else value
def _settings_int(
settings: dict[str, object],
key: str,
default: int,
) -> int:
value = _settings_value(settings, key, default)
if isinstance(value, bool):
return default
if isinstance(value, (int, str)):
return int(value)
return default
def _pi_models_json(
settings: dict[str, object],
) -> tuple[dict[str, object], str, str, list[str], str]:
@@ -98,12 +111,10 @@ def _pi_models_json(
max_tokens_field = str(
_settings_value(settings, "max_tokens_field", "max_tokens")
)
context_window = int(_settings_value(
context_window = _settings_int(
settings, "context_window", _DEFAULT_CONTEXT_WINDOW,
))
max_tokens = int(_settings_value(
settings, "max_tokens", _DEFAULT_MAX_TOKENS,
))
)
max_tokens = _settings_int(settings, "max_tokens", _DEFAULT_MAX_TOKENS)
input_context_window = max(1, context_window - max_tokens)
provider: dict[str, object] = {
"baseUrl": base_url,