A class for managing chat message history using Xata.io client. It extends the BaseListChatMessageHistory class and provides methods to get, add, and clear messages. It also ensures the existence of a table where the chat messages are stored.

const chatHistory = new XataChatMessageHistory({
table: "messages",
sessionId: new Date().toISOString(),
client: new BaseClient({
databaseURL: process.env.XATA_DB_URL,
apiKey: process.env.XATA_API_KEY,
branch: "main",
}),
apiKey: process.env.XATA_API_KEY,
});

const chain = new ConversationChain({
llm: new ChatOpenAI(),
memory: new BufferMemory({ chatHistory }),
});

const response = await chain.invoke({
input: "What did I just say my name was?",
});
console.log({ response });

Type Parameters

  • XataClient extends BaseClient

Hierarchy (view full)

Constructors

Properties

client: XataClient

Methods

  • Adds a new message to the database.

    Parameters

    • message: BaseMessage

      The BaseMessage instance to be added.

    Returns Promise<void>

    A promise that resolves when the message has been added.

  • Retrieves all messages associated with the session ID, ordered by creation time.

    Returns Promise<BaseMessage[]>

    A promise that resolves to an array of BaseMessage instances.

""