LangChain is agnostic about input message format:
https://docs.langchain.com/oss/python/langchain/messages#message-content
LiteLLM follows the OpenAI Responses schema for input messages:
https://docs.litellm.ai/docs/completion/input#common-params
Investigate output formats and see if we can deduplicate there as well.