Major refactor: API, providers, messaging, and Anthropic protocol
Some checks are pending
CI / checks (push) Waiting to run

Consolidates the incremental refactor work into a single change set: modular web tools (api/web_tools), native Anthropic request building and SSE block policy, OpenAI conversion and error handling, provider transports and rate limiting, messaging handler and tree queue, safe logging, smoke tests, and broad test coverage.
This commit is contained in:
Alishahryar1 2026-04-26 02:55:10 -07:00
parent b9ed704095
commit f3a7528d49
139 changed files with 7460 additions and 2422 deletions

View file

@ -16,7 +16,7 @@ from api.dependencies import (
)
from config.nim import NimSettings
from providers.deepseek import DeepSeekProvider
from providers.exceptions import UnknownProviderTypeError
from providers.exceptions import ServiceUnavailableError, UnknownProviderTypeError
from providers.lmstudio import LMStudioProvider
from providers.nvidia_nim import NvidiaNimProvider
from providers.ollama import OllamaProvider
@ -40,7 +40,7 @@ def _make_mock_settings(**overrides):
mock.nim = NimSettings()
mock.http_read_timeout = 300.0
mock.http_write_timeout = 10.0
mock.http_connect_timeout = 2.0
mock.http_connect_timeout = 10.0
mock.enable_model_thinking = True
for key, value in overrides.items():
setattr(mock, key, value)
@ -434,18 +434,17 @@ def test_resolve_provider_per_app_uses_separate_registries() -> None:
assert p1 is not p2
def test_resolve_provider_lazily_installs_registry() -> None:
"""If app has no provider_registry, one is created on app.state."""
def test_resolve_provider_missing_registry_raises_service_unavailable() -> None:
"""HTTP apps must install app.state.provider_registry (e.g. via AppRuntime)."""
with patch("api.dependencies.get_settings") as mock_settings:
mock_settings.return_value = _make_mock_settings()
settings = _make_mock_settings()
app = SimpleNamespace(state=State())
assert getattr(app.state, "provider_registry", None) is None
resolve_provider("nvidia_nim", app=cast(Starlette, app), settings=settings)
reg = app.state.provider_registry
assert reg is not None
p2 = resolve_provider("nvidia_nim", app=cast(Starlette, app), settings=settings)
assert p2 is reg.get("nvidia_nim", settings) # same registry instance
with pytest.raises(
ServiceUnavailableError, match="Provider registry is not configured"
):
resolve_provider("nvidia_nim", app=cast(Starlette, app), settings=settings)
def test_resolve_provider_unrelated_value_error_is_not_unknown_provider_log() -> None: