Vercel AI SDK migration to V5 (#3223)

Co-authored-by: Saket Aryan <94069182+whysosaket@users.noreply.github.com>
This commit is contained in:
Parshva Daftari
2025-08-05 20:27:57 +05:30
committed by GitHub
co-authored by Saket Aryan
parent 42e60d6724
commit 0e18f54d36
23 changed files with 321 additions and 423 deletions
+7 -7
View File
@@ -1,4 +1,4 @@
import { LanguageModelV1Prompt } from 'ai';
import { LanguageModelV2Prompt } from '@ai-sdk/provider';
import { Mem0ConfigSettings } from './mem0-types';
import { loadApiKey } from '@ai-sdk/provider-utils';
interface Message {
@@ -6,7 +6,7 @@ interface Message {
content: string | Array<{type: string, text: string}>;
}
const flattenPrompt = (prompt: LanguageModelV1Prompt) => {
const flattenPrompt = (prompt: LanguageModelV2Prompt) => {
try {
return prompt.map((part) => {
if (part.role === "user") {
@@ -23,7 +23,7 @@ const flattenPrompt = (prompt: LanguageModelV1Prompt) => {
}
}
const convertToMem0Format = (messages: LanguageModelV1Prompt) => {
const convertToMem0Format = (messages: LanguageModelV2Prompt) => {
try {
return messages.flatMap((message: any) => {
try {
@@ -127,7 +127,7 @@ const searchInternalMemories = async (query: string, config?: Mem0ConfigSettings
}
}
const addMemories = async (messages: LanguageModelV1Prompt, config?: Mem0ConfigSettings) => {
const addMemories = async (messages: LanguageModelV2Prompt, config?: Mem0ConfigSettings) => {
try {
let finalMessages: Array<Message> = [];
if (typeof messages === "string") {
@@ -172,7 +172,7 @@ const updateMemories = async (messages: Array<Message>, config?: Mem0ConfigSetti
}
}
const retrieveMemories = async (prompt: LanguageModelV1Prompt | string, config?: Mem0ConfigSettings) => {
const retrieveMemories = async (prompt: LanguageModelV2Prompt | string, config?: Mem0ConfigSettings) => {
try {
const message = typeof prompt === 'string' ? prompt : flattenPrompt(prompt);
const systemPrompt = "These are the memories I have stored. Give more weightage to the question by users and try to answer that first. You have to modify your answer based on the memories I have provided. If the memories are irrelevant you can ignore them. Also don't reply to this section of the prompt, or the memories, they are only for your reference. The System prompt starts after text System Message: \n\n";
@@ -208,7 +208,7 @@ const retrieveMemories = async (prompt: LanguageModelV1Prompt | string, config?:
}
}
const getMemories = async (prompt: LanguageModelV1Prompt | string, config?: Mem0ConfigSettings) => {
const getMemories = async (prompt: LanguageModelV2Prompt | string, config?: Mem0ConfigSettings) => {
try {
const message = typeof prompt === 'string' ? prompt : flattenPrompt(prompt);
const memories = await searchInternalMemories(message, config);
@@ -223,7 +223,7 @@ const getMemories = async (prompt: LanguageModelV1Prompt | string, config?: Mem0
}
}
const searchMemories = async (prompt: LanguageModelV1Prompt | string, config?: Mem0ConfigSettings) => {
const searchMemories = async (prompt: LanguageModelV2Prompt | string, config?: Mem0ConfigSettings) => {
try {
const message = typeof prompt === 'string' ? prompt : flattenPrompt(prompt);
const memories = await searchInternalMemories(message, config);