code: from typing import List, Optional, Type
  
  from langchain.memory import (
      ChatMessageHistory,
      ConversationBufferMemory,
      ConversationSummaryMemory,
      RedisChatMessageHistory,
      RedisEntityStore,
      VectorStoreRetrieverMemory,
  )
  
  
  class Memory:
      @staticmethod
      def messageHistory(path: str):
          history = ChatMessageHistory()
          return history
  
      @staticmethod
      def bufferMemory(path: str):
          memory = ConversationBufferMemory()
          return memory
  
      @staticmethod
      def chatSummary(path: str):
          memory = ConversationSummaryMemory()
          return memory
  
apis: langchain.memory.ConversationBufferMemory langchain.memory.ChatMessageHistory langchain.memory.ConversationSummaryMemory
extract_api: [((329, 349), 'langchain.memory.ChatMessageHistory', 'ChatMessageHistory', ([], {}), '()\n', (347, 349), False, 'from langchain.memory import ChatMessageHistory, ConversationBufferMemory, ConversationSummaryMemory, RedisChatMessageHistory, RedisEntityStore, VectorStoreRetrieverMemory\n'), ((442, 468), 'langchain.memory.ConversationBufferMemory', 'ConversationBufferMemory', ([], {}), '()\n', (466, 468), False, 'from langchain.memory import ChatMessageHistory, ConversationBufferMemory, ConversationSummaryMemory, RedisChatMessageHistory, RedisEntityStore, VectorStoreRetrieverMemory\n'), ((559, 586), 'langchain.memory.ConversationSummaryMemory', 'ConversationSummaryMemory', ([], {}), '()\n', (584, 586), False, 'from langchain.memory import ChatMessageHistory, ConversationBufferMemory, ConversationSummaryMemory, RedisChatMessageHistory, RedisEntityStore, VectorStoreRetrieverMemory\n')]