from app.core.config import get_settings from app.modules.ai_agent.adapters.base import AIAdapter from app.modules.ai_agent.adapters.direct_llm import DirectLLMAdapter from app.modules.ai_agent.adapters.hermes import HermesAdapter from app.modules.ai_agent.adapters.noop import NoopAdapter from app.modules.ai_agent.adapters.openclaw import OpenClawAdapter from app.modules.ai_agent.adapters.openclaw_hermes import OpenClawHermesAdapter from app.modules.ai_agent.constants import AIProviderName def get_adapter() -> AIAdapter: """Return the configured AI provider adapter.""" settings = get_settings() provider = settings.model_provider.lower() if provider == AIProviderName.OPENCLAW: return OpenClawAdapter(settings) if provider == AIProviderName.HERMES: return HermesAdapter(settings) if provider in { AIProviderName.OPENCLAW_HERMES, AIProviderName.OPENCLAW_HERMES_DASH, AIProviderName.HYBRID, }: return OpenClawHermesAdapter(settings) if provider == AIProviderName.DIRECT_LLM: return DirectLLMAdapter(settings) return NoopAdapter()