# frozen_string_literal: true

require Rails.root.join("lib/langchain/llm/open_router")
require Rails.root.join("lib/langchain/llm/sprint_vertex_ai")

# Teaches LangChain's assistant adapter factory to treat OpenRouter as OpenAI-compatible.
module LangchainOpenRouterAdapterPatch
  def build(llm)
    return Langchain::Assistant::LLM::Adapters::OpenAI.new if llm.is_a?(Langchain::LLM::OpenRouter)

    super
  end
end

Langchain::Assistant::LLM::Adapter.singleton_class.prepend(LangchainOpenRouterAdapterPatch)
