diff --git a/lm15/router.py b/lm15/router.py index a42c64a..d2b5eee 100644 --- a/lm15/router.py +++ b/lm15/router.py @@ -98,7 +98,6 @@ "CHAT_PRESET_ROUTES", "Resolution", "RouterConfig", - "RouterError", "UnknownModelError", "AmbiguousModelError", "MissingCredentialError", diff --git a/tests/test_router.py b/tests/test_router.py index b774fd7..fd48ad9 100644 --- a/tests/test_router.py +++ b/tests/test_router.py @@ -555,6 +555,15 @@ def test_router_surface_placement() -> None: assert hasattr(router_mod, name), name +def test_router_module_all_resolves() -> None: + # Every name in lm15.router.__all__ must exist: a stale entry crashes + # `from lm15.router import *` with AttributeError. + import lm15.router as router_mod + + for name in router_mod.__all__: + assert hasattr(router_mod, name), name + + def test_router_error_codes_are_bare_nouns() -> None: # Taxonomy convention: codes are bare nouns ('transport', 'provider', # ...), never suffixed with '_error'.