"""Model Layer — vendor-neutral model access, registry, intelligence, and routing."""

from __future__ import annotations

from cyberbrain26.model_layer.litellm_client import LiteLLMClient, LiteLLMConfig
from cyberbrain26.model_layer.llama_cpp_client import LlamaCppClient, LlamaCppConfig
from cyberbrain26.model_layer.model_intelligence import (
    DiscoveryCategory,
    ModelDiscoveryConfig,
    ModelIntelligence,
)
from cyberbrain26.model_layer.model_registry import (
    ModelCapabilities,
    ModelFreeStatus,
    ModelRecord,
    ModelRegistry,
    ModelStatus,
    ModelTrust,
    ModelType,
)
from cyberbrain26.model_layer.ollama_client import OllamaClient, OllamaConfig
from cyberbrain26.model_layer.provider_interface import ProviderABC, ProviderProtocol
from cyberbrain26.model_layer.provider_registry import (
    ProviderFreeScore,
    ProviderRecord,
    ProviderRegistry,
    ProviderStatus,
    ProviderTrust,
)
from cyberbrain26.model_layer.router import (
    ModelRouter,
    ModelRouterError,
    RouterConfig,
    RouteResult,
    RouteStrategy,
)

__all__ = [
    "DiscoveryCategory",
    "LiteLLMClient",
    "LiteLLMConfig",
    "LlamaCppClient",
    "LlamaCppConfig",
    "ModelCapabilities",
    "ModelDiscoveryConfig",
    "ModelFreeStatus",
    "ModelIntelligence",
    "ModelRecord",
    "ModelRegistry",
    "ModelRouter",
    "ModelRouterError",
    "ModelStatus",
    "ModelTrust",
    "ModelType",
    "OllamaClient",
    "OllamaConfig",
    "ProviderABC",
    "ProviderFreeScore",
    "ProviderRecord",
    "ProviderRegistry",
    "ProviderStatus",
    "ProviderTrust",
    "ProviderProtocol",
    "RouteResult",
    "RouteStrategy",
    "RouterConfig",
]