Adds Mem0 Memory Node (#4213)

* Adds Mem0 Memory Node

* fix: update pnpm-lock.yaml

---------

Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
Co-authored-by: chungyau97 <chungyau97@gmail.com>
This commit is contained in:
Saket Aryan 2025-03-31 08:23:01 +05:30 committed by GitHub
parent 4fa2672c9d
commit 13fce45856
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 1019 additions and 0 deletions

View File

@ -0,0 +1,27 @@
import { INodeParams, INodeCredential } from '../src/Interface'
class Mem0MemoryApi implements INodeCredential {
label: string
name: string
version: number
description: string
inputs: INodeParams[]
constructor() {
this.label = 'Mem0 Memory API'
this.name = 'mem0MemoryApi'
this.version = 1.0
this.description =
'Visit <a target="_blank" href="https://app.mem0.ai/settings/api-keys">Mem0 Platform</a> to get your API credentials'
this.inputs = [
{
label: 'API Key',
name: 'apiKey',
type: 'password',
description: 'API Key from Mem0 dashboard'
}
]
}
}
module.exports = { credClass: Mem0MemoryApi }

View File

@ -0,0 +1,303 @@
import { Mem0Memory as BaseMem0Memory, Mem0MemoryInput, ClientOptions } from '@mem0/community'
import { MemoryOptions, SearchOptions } from 'mem0ai'
import { BaseMessage } from '@langchain/core/messages'
import { InputValues, MemoryVariables, OutputValues } from '@langchain/core/memory'
import { ICommonObject, IDatabaseEntity } from '../../../src'
import { IMessage, INode, INodeData, INodeParams, MemoryMethods, MessageType } from '../../../src/Interface'
import { getBaseClasses, getCredentialData, getCredentialParam, mapChatMessageToBaseMessage } from '../../../src/utils'
import { DataSource } from 'typeorm'
import { v4 as uuidv4 } from 'uuid'
interface BufferMemoryExtendedInput {
sessionId: string
appDataSource: DataSource
databaseEntities: IDatabaseEntity
chatflowid: string
}
class Mem0_Memory implements INode {
label: string
name: string
version: number
description: string
type: string
icon: string
category: string
baseClasses: string[]
credential: INodeParams
inputs: INodeParams[]
constructor() {
this.label = 'Mem0'
this.name = 'mem0'
this.version = 1.0
this.type = 'Mem0'
this.icon = 'mem0.svg'
this.category = 'Memory'
this.description = 'Stores and manages chat memory using Mem0 service'
this.baseClasses = [this.type, ...getBaseClasses(BaseMem0Memory)]
this.credential = {
label: 'Connect Credential',
name: 'credential',
type: 'credential',
optional: false,
description: 'Configure API Key for Mem0 service',
credentialNames: ['mem0MemoryApi']
}
this.inputs = [
{
label: 'User ID',
name: 'user_id',
type: 'string',
description: 'Unique identifier for the user',
default: 'flowise-default-user',
optional: false
},
{
label: 'Search Only',
name: 'searchOnly',
type: 'boolean',
description: 'Search only mode',
default: false,
optional: true,
additionalParams: true
},
{
label: 'Run ID',
name: 'run_id',
type: 'string',
description: 'Unique identifier for the run session',
default: '',
optional: true,
additionalParams: true
},
{
label: 'Agent ID',
name: 'agent_id',
type: 'string',
description: 'Identifier for the agent',
default: '',
optional: true,
additionalParams: true
},
{
label: 'App ID',
name: 'app_id',
type: 'string',
description: 'Identifier for the application',
default: '',
optional: true,
additionalParams: true
},
{
label: 'Project ID',
name: 'project_id',
type: 'string',
description: 'Identifier for the project',
default: '',
optional: true,
additionalParams: true
},
{
label: 'Organization ID',
name: 'org_id',
type: 'string',
description: 'Identifier for the organization',
default: '',
optional: true,
additionalParams: true
},
{
label: 'Memory Key',
name: 'memoryKey',
type: 'string',
default: 'history',
optional: true,
additionalParams: true
},
{
label: 'Input Key',
name: 'inputKey',
type: 'string',
default: 'input',
optional: true,
additionalParams: true
},
{
label: 'Output Key',
name: 'outputKey',
type: 'string',
default: 'text',
optional: true,
additionalParams: true
}
]
}
async init(nodeData: INodeData, _: string, options: ICommonObject): Promise<any> {
return await initializeMem0(nodeData, options)
}
}
const initializeMem0 = async (nodeData: INodeData, options: ICommonObject): Promise<BaseMem0Memory> => {
const userId = nodeData.inputs?.user_id as string
if (!userId) {
throw new Error('user_id is required for Mem0Memory')
}
const credentialData = await getCredentialData(nodeData.credential ?? '', options)
const apiKey = getCredentialParam('apiKey', credentialData, nodeData)
const mem0Options: ClientOptions = {
apiKey: apiKey,
host: nodeData.inputs?.host as string,
organizationId: nodeData.inputs?.org_id as string,
projectId: nodeData.inputs?.project_id as string
}
const memoryOptions: MemoryOptions & SearchOptions = {
user_id: userId,
run_id: (nodeData.inputs?.run_id as string) || undefined,
agent_id: (nodeData.inputs?.agent_id as string) || undefined,
app_id: (nodeData.inputs?.app_id as string) || undefined,
project_id: (nodeData.inputs?.project_id as string) || undefined,
org_id: (nodeData.inputs?.org_id as string) || undefined,
api_version: (nodeData.inputs?.api_version as string) || undefined,
enable_graph: (nodeData.inputs?.enable_graph as boolean) || false,
metadata: (nodeData.inputs?.metadata as Record<string, any>) || {},
filters: (nodeData.inputs?.filters as Record<string, any>) || {}
}
const obj: Mem0MemoryInput & Mem0MemoryExtendedInput & BufferMemoryExtendedInput & { searchOnly: boolean } = {
apiKey: apiKey,
humanPrefix: nodeData.inputs?.humanPrefix as string,
aiPrefix: nodeData.inputs?.aiPrefix as string,
inputKey: nodeData.inputs?.inputKey as string,
sessionId: nodeData.inputs?.user_id as string,
mem0Options: mem0Options,
memoryOptions: memoryOptions,
separateMessages: false,
returnMessages: false,
appDataSource: options.appDataSource as DataSource,
databaseEntities: options.databaseEntities as IDatabaseEntity,
chatflowid: options.chatflowid as string,
searchOnly: (nodeData.inputs?.searchOnly as boolean) || false
}
return new Mem0MemoryExtended(obj)
}
interface Mem0MemoryExtendedInput extends Mem0MemoryInput {
memoryOptions?: MemoryOptions | SearchOptions
}
class Mem0MemoryExtended extends BaseMem0Memory implements MemoryMethods {
userId: string
memoryKey: string
inputKey: string
appDataSource: DataSource
databaseEntities: IDatabaseEntity
chatflowid: string
searchOnly: boolean
constructor(fields: Mem0MemoryInput & Mem0MemoryExtendedInput & BufferMemoryExtendedInput & { searchOnly: boolean }) {
super(fields)
this.userId = fields.memoryOptions?.user_id ?? ''
this.memoryKey = 'history'
this.inputKey = fields.inputKey ?? 'input'
this.appDataSource = fields.appDataSource
this.databaseEntities = fields.databaseEntities
this.chatflowid = fields.chatflowid
this.searchOnly = fields.searchOnly
}
async loadMemoryVariables(values: InputValues, overrideUserId = ''): Promise<MemoryVariables> {
if (overrideUserId) {
this.userId = overrideUserId
}
return super.loadMemoryVariables(values)
}
async saveContext(inputValues: InputValues, outputValues: OutputValues, overrideUserId = ''): Promise<void> {
if (overrideUserId) {
this.userId = overrideUserId
}
if (this.searchOnly) {
return
}
return super.saveContext(inputValues, outputValues)
}
async clear(overrideUserId = ''): Promise<void> {
if (overrideUserId) {
this.userId = overrideUserId
}
return super.clear()
}
async getChatMessages(
overrideUserId = '',
returnBaseMessages = false,
prependMessages?: IMessage[]
): Promise<IMessage[] | BaseMessage[]> {
const id = overrideUserId ? overrideUserId : this.userId
if (!id) return []
let chatMessage = await this.appDataSource.getRepository(this.databaseEntities['ChatMessage']).find({
where: {
sessionId: id,
chatflowid: this.chatflowid
},
order: {
createdDate: 'DESC'
},
take: 10
})
chatMessage = chatMessage.reverse()
let returnIMessages: IMessage[] = []
for (const m of chatMessage) {
returnIMessages.push({
message: m.content as string,
type: m.role
})
}
if (prependMessages?.length) {
chatMessage.unshift(...prependMessages)
}
if (returnBaseMessages) {
const memoryVariables = await this.loadMemoryVariables({}, id)
let baseMessages = memoryVariables[this.memoryKey]
const systemMessage = { ...chatMessage[0] }
systemMessage.content = baseMessages
systemMessage.id = uuidv4()
systemMessage.role = 'apiMessage'
chatMessage.unshift(systemMessage)
return await mapChatMessageToBaseMessage(chatMessage)
}
return returnIMessages
}
async addChatMessages(msgArray: { text: string; type: MessageType }[], overrideUserId = ''): Promise<void> {
const id = overrideUserId ? overrideUserId : this.userId
const input = msgArray.find((msg) => msg.type === 'userMessage')
const output = msgArray.find((msg) => msg.type === 'apiMessage')
const inputValues = { [this.inputKey ?? 'input']: input?.text }
const outputValues = { output: output?.text }
await this.saveContext(inputValues, outputValues, id)
}
async clearChatMessages(overrideUserId = ''): Promise<void> {
const id = overrideUserId ? overrideUserId : this.userId
await this.clear(id)
}
}
module.exports = { nodeClass: Mem0_Memory }

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -56,6 +56,7 @@
"@langchain/qdrant": "^0.0.5", "@langchain/qdrant": "^0.0.5",
"@langchain/weaviate": "^0.0.1", "@langchain/weaviate": "^0.0.1",
"@langchain/xai": "^0.0.1", "@langchain/xai": "^0.0.1",
"@mem0/community": "^0.0.1",
"@mendable/firecrawl-js": "^0.0.28", "@mendable/firecrawl-js": "^0.0.28",
"@mistralai/mistralai": "0.1.3", "@mistralai/mistralai": "0.1.3",
"@modelcontextprotocol/sdk": "^1.6.1", "@modelcontextprotocol/sdk": "^1.6.1",

View File

@ -228,6 +228,9 @@ importers:
'@langchain/xai': '@langchain/xai':
specifier: ^0.0.1 specifier: ^0.0.1
version: 0.0.1(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) version: 0.0.1(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
'@mem0/community':
specifier: ^0.0.1
version: 0.0.1(e5052a461693a99134dc3e8d18ab0a6e)
'@mendable/firecrawl-js': '@mendable/firecrawl-js':
specifier: ^0.0.28 specifier: ^0.0.28
version: 0.0.28 version: 0.0.28
@ -4089,6 +4092,386 @@ packages:
youtubei.js: youtubei.js:
optional: true optional: true
'@langchain/community@0.3.37':
resolution: { integrity: sha512-Ifug3Gc6JHOFNWr0bxT1ie0AUKn3hWkZ4PG+EGqVz8MyeNr68lOhchY4oj51pQCC65KryfZ5CPhXrvbd5Il1GQ== }
engines: { node: '>=18' }
peerDependencies:
'@arcjet/redact': ^v1.0.0-alpha.23
'@aws-crypto/sha256-js': ^5.0.0
'@aws-sdk/client-bedrock-agent-runtime': ^3.749.0
'@aws-sdk/client-bedrock-runtime': ^3.749.0
'@aws-sdk/client-dynamodb': ^3.749.0
'@aws-sdk/client-kendra': ^3.749.0
'@aws-sdk/client-lambda': ^3.749.0
'@aws-sdk/client-s3': ^3.749.0
'@aws-sdk/client-sagemaker-runtime': ^3.749.0
'@aws-sdk/client-sfn': ^3.749.0
'@aws-sdk/credential-provider-node': ^3.388.0
'@aws-sdk/dsql-signer': '*'
'@azure/search-documents': ^12.0.0
'@azure/storage-blob': ^12.15.0
'@browserbasehq/sdk': '*'
'@browserbasehq/stagehand': ^1.0.0
'@clickhouse/client': ^0.2.5
'@cloudflare/ai': '*'
'@datastax/astra-db-ts': ^1.0.0
'@elastic/elasticsearch': ^8.4.0
'@getmetal/metal-sdk': '*'
'@getzep/zep-cloud': ^1.0.6
'@getzep/zep-js': ^0.9.0
'@gomomento/sdk': ^1.51.1
'@gomomento/sdk-core': ^1.51.1
'@google-ai/generativelanguage': '*'
'@google-cloud/storage': ^6.10.1 || ^7.7.0
'@gradientai/nodejs-sdk': ^1.2.0
'@huggingface/inference': ^2.6.4
'@huggingface/transformers': ^3.2.3
'@ibm-cloud/watsonx-ai': '*'
'@lancedb/lancedb': ^0.12.0
'@langchain/core': 0.3.37
'@layerup/layerup-security': ^1.5.12
'@libsql/client': ^0.14.0
'@mendable/firecrawl-js': ^1.4.3
'@mlc-ai/web-llm': '*'
'@mozilla/readability': '*'
'@neondatabase/serverless': '*'
'@notionhq/client': ^2.2.10
'@opensearch-project/opensearch': '*'
'@pinecone-database/pinecone': '*'
'@planetscale/database': ^1.8.0
'@premai/prem-sdk': ^0.3.25
'@qdrant/js-client-rest': ^1.8.2
'@raycast/api': ^1.55.2
'@rockset/client': ^0.9.1
'@smithy/eventstream-codec': ^2.0.5
'@smithy/protocol-http': ^3.0.6
'@smithy/signature-v4': ^2.0.10
'@smithy/util-utf8': ^2.0.0
'@spider-cloud/spider-client': ^0.0.21
'@supabase/supabase-js': ^2.45.0
'@tensorflow-models/universal-sentence-encoder': '*'
'@tensorflow/tfjs-converter': '*'
'@tensorflow/tfjs-core': '*'
'@upstash/ratelimit': ^1.1.3 || ^2.0.3
'@upstash/redis': ^1.20.6
'@upstash/vector': ^1.1.1
'@vercel/kv': '*'
'@vercel/postgres': '*'
'@writerai/writer-sdk': ^0.40.2
'@xata.io/client': ^0.28.0
'@zilliz/milvus2-sdk-node': '>=2.3.5'
apify-client: ^2.7.1
assemblyai: ^4.6.0
better-sqlite3: '>=9.4.0 <12.0.0'
cassandra-driver: ^4.7.2
cborg: ^4.1.1
cheerio: ^1.0.0-rc.12
chromadb: '*'
closevector-common: 0.1.3
closevector-node: 0.1.6
closevector-web: 0.1.6
cohere-ai: '*'
convex: ^1.3.1
crypto-js: ^4.2.0
d3-dsv: ^2.0.0
discord.js: ^14.14.1
dria: ^0.0.3
duck-duck-scrape: ^2.2.5
epub2: ^3.0.1
fast-xml-parser: '*'
firebase-admin: ^11.9.0 || ^12.0.0
google-auth-library: '*'
googleapis: '*'
hnswlib-node: ^3.0.0
html-to-text: ^9.0.5
ibm-cloud-sdk-core: '*'
ignore: ^5.2.0
interface-datastore: ^8.2.11
ioredis: ^5.3.2
it-all: ^3.0.4
jsdom: '*'
jsonwebtoken: ^9.0.2
llmonitor: ^0.5.9
lodash: ^4.17.21
lunary: ^0.7.10
mammoth: ^1.6.0
mariadb: ^3.4.0
mem0ai: ^2.1.8
mongodb: '>=5.2.0'
mysql2: ^3.9.8
neo4j-driver: '*'
notion-to-md: ^3.1.0
officeparser: ^4.0.4
openai: 4.82.0
pdf-parse: 1.1.1
pg: ^8.11.0
pg-copy-streams: ^6.0.5
pickleparser: ^0.2.1
playwright: ^1.32.1
portkey-ai: ^0.1.11
puppeteer: '*'
pyodide: '>=0.24.1 <0.27.0'
redis: '*'
replicate: '*'
sonix-speech-recognition: ^2.1.1
srt-parser-2: ^1.2.3
typeorm: ^0.3.20
typesense: ^1.5.3
usearch: ^1.1.1
voy-search: 0.6.2
weaviate-ts-client: '*'
web-auth-library: ^1.0.3
word-extractor: '*'
ws: ^8.14.2
youtubei.js: '*'
peerDependenciesMeta:
'@arcjet/redact':
optional: true
'@aws-crypto/sha256-js':
optional: true
'@aws-sdk/client-bedrock-agent-runtime':
optional: true
'@aws-sdk/client-bedrock-runtime':
optional: true
'@aws-sdk/client-dynamodb':
optional: true
'@aws-sdk/client-kendra':
optional: true
'@aws-sdk/client-lambda':
optional: true
'@aws-sdk/client-s3':
optional: true
'@aws-sdk/client-sagemaker-runtime':
optional: true
'@aws-sdk/client-sfn':
optional: true
'@aws-sdk/credential-provider-node':
optional: true
'@aws-sdk/dsql-signer':
optional: true
'@azure/search-documents':
optional: true
'@azure/storage-blob':
optional: true
'@browserbasehq/sdk':
optional: true
'@clickhouse/client':
optional: true
'@cloudflare/ai':
optional: true
'@datastax/astra-db-ts':
optional: true
'@elastic/elasticsearch':
optional: true
'@getmetal/metal-sdk':
optional: true
'@getzep/zep-cloud':
optional: true
'@getzep/zep-js':
optional: true
'@gomomento/sdk':
optional: true
'@gomomento/sdk-core':
optional: true
'@google-ai/generativelanguage':
optional: true
'@google-cloud/storage':
optional: true
'@gradientai/nodejs-sdk':
optional: true
'@huggingface/inference':
optional: true
'@huggingface/transformers':
optional: true
'@lancedb/lancedb':
optional: true
'@layerup/layerup-security':
optional: true
'@libsql/client':
optional: true
'@mendable/firecrawl-js':
optional: true
'@mlc-ai/web-llm':
optional: true
'@mozilla/readability':
optional: true
'@neondatabase/serverless':
optional: true
'@notionhq/client':
optional: true
'@opensearch-project/opensearch':
optional: true
'@pinecone-database/pinecone':
optional: true
'@planetscale/database':
optional: true
'@premai/prem-sdk':
optional: true
'@qdrant/js-client-rest':
optional: true
'@raycast/api':
optional: true
'@rockset/client':
optional: true
'@smithy/eventstream-codec':
optional: true
'@smithy/protocol-http':
optional: true
'@smithy/signature-v4':
optional: true
'@smithy/util-utf8':
optional: true
'@spider-cloud/spider-client':
optional: true
'@supabase/supabase-js':
optional: true
'@tensorflow-models/universal-sentence-encoder':
optional: true
'@tensorflow/tfjs-converter':
optional: true
'@tensorflow/tfjs-core':
optional: true
'@upstash/ratelimit':
optional: true
'@upstash/redis':
optional: true
'@upstash/vector':
optional: true
'@vercel/kv':
optional: true
'@vercel/postgres':
optional: true
'@writerai/writer-sdk':
optional: true
'@xata.io/client':
optional: true
'@zilliz/milvus2-sdk-node':
optional: true
apify-client:
optional: true
assemblyai:
optional: true
better-sqlite3:
optional: true
cassandra-driver:
optional: true
cborg:
optional: true
cheerio:
optional: true
chromadb:
optional: true
closevector-common:
optional: true
closevector-node:
optional: true
closevector-web:
optional: true
cohere-ai:
optional: true
convex:
optional: true
crypto-js:
optional: true
d3-dsv:
optional: true
discord.js:
optional: true
dria:
optional: true
duck-duck-scrape:
optional: true
epub2:
optional: true
fast-xml-parser:
optional: true
firebase-admin:
optional: true
google-auth-library:
optional: true
googleapis:
optional: true
hnswlib-node:
optional: true
html-to-text:
optional: true
ignore:
optional: true
interface-datastore:
optional: true
ioredis:
optional: true
it-all:
optional: true
jsdom:
optional: true
jsonwebtoken:
optional: true
llmonitor:
optional: true
lodash:
optional: true
lunary:
optional: true
mammoth:
optional: true
mariadb:
optional: true
mem0ai:
optional: true
mongodb:
optional: true
mysql2:
optional: true
neo4j-driver:
optional: true
notion-to-md:
optional: true
officeparser:
optional: true
pdf-parse:
optional: true
pg:
optional: true
pg-copy-streams:
optional: true
pickleparser:
optional: true
playwright:
optional: true
portkey-ai:
optional: true
puppeteer:
optional: true
pyodide:
optional: true
redis:
optional: true
replicate:
optional: true
sonix-speech-recognition:
optional: true
srt-parser-2:
optional: true
typeorm:
optional: true
typesense:
optional: true
usearch:
optional: true
voy-search:
optional: true
weaviate-ts-client:
optional: true
web-auth-library:
optional: true
word-extractor:
optional: true
ws:
optional: true
youtubei.js:
optional: true
'@langchain/core@0.3.37': '@langchain/core@0.3.37':
resolution: { integrity: sha512-LFk9GqHxcyCFx0oXvCBP7vDZIOUHYzzNU7JR+2ofIMnfkBLzcCKzBLySQDfPtd13PrpGHkaeOeLq8H1Tqi9lSw== } resolution: { integrity: sha512-LFk9GqHxcyCFx0oXvCBP7vDZIOUHYzzNU7JR+2ofIMnfkBLzcCKzBLySQDfPtd13PrpGHkaeOeLq8H1Tqi9lSw== }
engines: { node: '>=18' } engines: { node: '>=18' }
@ -4229,6 +4612,10 @@ packages:
resolution: { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } resolution: { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== }
hasBin: true hasBin: true
'@mem0/community@0.0.1':
resolution: { integrity: sha512-4XVBpn/xtHkYdGNxPPAqsKZimGgmH/jVXiiGlw9x0iOBLC2bhknA5/X6+znRa9YforTmPtCDiM+euWui50VqdQ== }
engines: { node: '>=18' }
'@mendable/firecrawl-js@0.0.28': '@mendable/firecrawl-js@0.0.28':
resolution: { integrity: sha512-Xa+ZbBQkoR/KHM1ZpvJBdLWSCdRoRGyllDNoVvhKxGv9qXZk9h/lBxbqp3Kc1Kg2L2JJnJCkmeaTUCAn8y33GA== } resolution: { integrity: sha512-Xa+ZbBQkoR/KHM1ZpvJBdLWSCdRoRGyllDNoVvhKxGv9qXZk9h/lBxbqp3Kc1Kg2L2JJnJCkmeaTUCAn8y33GA== }
@ -6629,6 +7016,9 @@ packages:
'@types/sockjs@0.3.36': '@types/sockjs@0.3.36':
resolution: { integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== } resolution: { integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== }
'@types/sqlite3@3.1.11':
resolution: { integrity: sha512-KYF+QgxAnnAh7DWPdNDroxkDI3/MspH1NMx6m/N/6fT1G6+jvsw4/ZePt8R8cr7ta58aboeTfYFBDxTJ5yv15w== }
'@types/stack-utils@2.0.3': '@types/stack-utils@2.0.3':
resolution: { integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== } resolution: { integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== }
@ -12076,6 +12466,23 @@ packages:
resolution: { integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw== } resolution: { integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw== }
engines: { node: '>=12' } engines: { node: '>=12' }
mem0ai@2.1.12:
resolution: { integrity: sha512-lFHgiEZkRh+WjsuVjhFCC4LAzTbCrAACoaIJccwX7qkTGl17N+8zLmWY+ozKKnXMVgRbyfjLm8XUdAPjs+RJSw== }
engines: { node: '>=18' }
peerDependencies:
'@anthropic-ai/sdk': 0.18.0
'@qdrant/js-client-rest': 1.13.0
'@supabase/supabase-js': ^2.49.1
'@types/jest': 29.5.14
'@types/pg': 8.11.0
'@types/sqlite3': 3.1.11
groq-sdk: 0.3.0
neo4j-driver: ^5.28.1
ollama: ^0.5.14
pg: 8.11.3
redis: 4.7.0
sqlite3: 5.1.7
memfs@3.5.3: memfs@3.5.3:
resolution: { integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw== } resolution: { integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw== }
engines: { node: '>= 4.0.0' } engines: { node: '>= 4.0.0' }
@ -21714,6 +22121,102 @@ snapshots:
- handlebars - handlebars
- peggy - peggy
'@langchain/community@0.3.37(d5752614a5e55f41344311ecfe9f8dee)':
dependencies:
'@browserbasehq/stagehand': 1.9.0(@playwright/test@1.49.1)(bufferutil@4.0.8)(deepmerge@4.3.1)(dotenv@16.4.5)(encoding@0.1.13)(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(utf-8-validate@6.0.4)(zod@3.22.4)
'@ibm-cloud/watsonx-ai': 1.1.2
'@langchain/core': 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
'@langchain/openai': 0.4.4(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
binary-extensions: 2.2.0
expr-eval: 2.0.2
flat: 5.0.2
ibm-cloud-sdk-core: 5.1.0
js-yaml: 4.1.0
langchain: 0.3.5(eee077d91dbaef8a94033f91f2cb9ade)
langsmith: 0.2.15(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
openai: 4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)
uuid: 10.0.0
zod: 3.22.4
zod-to-json-schema: 3.24.1(zod@3.22.4)
optionalDependencies:
'@aws-crypto/sha256-js': 5.2.0
'@aws-sdk/client-bedrock-agent-runtime': 3.755.0
'@aws-sdk/client-bedrock-runtime': 3.422.0
'@aws-sdk/client-dynamodb': 3.529.1
'@aws-sdk/client-kendra': 3.750.0
'@aws-sdk/client-s3': 3.529.1
'@aws-sdk/credential-provider-node': 3.529.1
'@browserbasehq/sdk': 2.0.0(encoding@0.1.13)
'@datastax/astra-db-ts': 1.5.0
'@elastic/elasticsearch': 8.12.2
'@getzep/zep-cloud': 1.0.7(@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)))(encoding@0.1.13)(langchain@0.3.5(eee077d91dbaef8a94033f91f2cb9ade))
'@getzep/zep-js': 0.9.0
'@gomomento/sdk': 1.68.1(encoding@0.1.13)
'@gomomento/sdk-core': 1.68.1
'@google-ai/generativelanguage': 2.6.0(encoding@0.1.13)
'@huggingface/inference': 2.6.4
'@mendable/firecrawl-js': 0.0.28
'@notionhq/client': 2.2.14(encoding@0.1.13)
'@opensearch-project/opensearch': 1.2.0
'@pinecone-database/pinecone': 4.0.0
'@qdrant/js-client-rest': 1.9.0(typescript@5.5.2)
'@smithy/eventstream-codec': 2.1.4
'@smithy/protocol-http': 3.2.2
'@smithy/signature-v4': 2.1.4
'@smithy/util-utf8': 2.2.0
'@supabase/supabase-js': 2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4)
'@upstash/redis': 1.22.1(encoding@0.1.13)
'@upstash/vector': 1.1.5
'@zilliz/milvus2-sdk-node': 2.3.5
apify-client: 2.9.3
assemblyai: 4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4)
cheerio: 1.0.0-rc.12
chromadb: 1.10.0(@google/generative-ai@0.22.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
cohere-ai: 7.10.0(encoding@0.1.13)
crypto-js: 4.2.0
d3-dsv: 2.0.0
epub2: 3.0.2(ts-toolbelt@9.6.0)
fast-xml-parser: 4.4.1
google-auth-library: 9.6.3(encoding@0.1.13)
html-to-text: 9.0.5
ignore: 5.3.1
ioredis: 5.3.2
jsdom: 22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4)
jsonwebtoken: 9.0.2
lodash: 4.17.21
lunary: 0.7.12(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))(react@18.2.0)
mammoth: 1.7.0
mem0ai: 2.1.12(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.12)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
mongodb: 6.3.0(socks@2.8.1)
mysql2: 3.11.4
neo4j-driver: 5.27.0
notion-to-md: 3.1.1(encoding@0.1.13)
pdf-parse: 1.1.1
pg: 8.11.3
playwright: 1.42.1
portkey-ai: 0.1.16
puppeteer: 20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4)
pyodide: 0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
redis: 4.6.13
replicate: 0.31.1
srt-parser-2: 1.2.3
typeorm: 0.3.20(ioredis@5.3.2)(mongodb@6.3.0(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.13.9)(typescript@5.5.2))
weaviate-ts-client: 1.6.0(encoding@0.1.13)(graphql@16.8.1)
ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- '@langchain/anthropic'
- '@langchain/aws'
- '@langchain/cohere'
- '@langchain/google-genai'
- '@langchain/google-vertexai'
- '@langchain/groq'
- '@langchain/mistralai'
- '@langchain/ollama'
- axios
- encoding
- handlebars
- peggy
'@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))': '@langchain/core@0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))':
dependencies: dependencies:
'@cfworker/json-schema': 4.1.0 '@cfworker/json-schema': 4.1.0
@ -21941,6 +22444,161 @@ snapshots:
- encoding - encoding
- supports-color - supports-color
'@mem0/community@0.0.1(e5052a461693a99134dc3e8d18ab0a6e)':
dependencies:
'@langchain/community': 0.3.37(d5752614a5e55f41344311ecfe9f8dee)
'@langchain/core': 0.3.37(openai@4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4))
axios: 1.7.9(debug@4.3.4)
mem0ai: 2.1.12(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.12)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))
uuid: 9.0.1
zod: 3.22.4
transitivePeerDependencies:
- '@anthropic-ai/sdk'
- '@arcjet/redact'
- '@aws-crypto/sha256-js'
- '@aws-sdk/client-bedrock-agent-runtime'
- '@aws-sdk/client-bedrock-runtime'
- '@aws-sdk/client-dynamodb'
- '@aws-sdk/client-kendra'
- '@aws-sdk/client-lambda'
- '@aws-sdk/client-s3'
- '@aws-sdk/client-sagemaker-runtime'
- '@aws-sdk/client-sfn'
- '@aws-sdk/credential-provider-node'
- '@aws-sdk/dsql-signer'
- '@azure/search-documents'
- '@azure/storage-blob'
- '@browserbasehq/sdk'
- '@browserbasehq/stagehand'
- '@clickhouse/client'
- '@cloudflare/ai'
- '@datastax/astra-db-ts'
- '@elastic/elasticsearch'
- '@getmetal/metal-sdk'
- '@getzep/zep-cloud'
- '@getzep/zep-js'
- '@gomomento/sdk'
- '@gomomento/sdk-core'
- '@google-ai/generativelanguage'
- '@google-cloud/storage'
- '@gradientai/nodejs-sdk'
- '@huggingface/inference'
- '@huggingface/transformers'
- '@ibm-cloud/watsonx-ai'
- '@lancedb/lancedb'
- '@langchain/anthropic'
- '@langchain/aws'
- '@langchain/cohere'
- '@langchain/google-genai'
- '@langchain/google-vertexai'
- '@langchain/groq'
- '@langchain/mistralai'
- '@langchain/ollama'
- '@layerup/layerup-security'
- '@libsql/client'
- '@mendable/firecrawl-js'
- '@mlc-ai/web-llm'
- '@mozilla/readability'
- '@neondatabase/serverless'
- '@notionhq/client'
- '@opensearch-project/opensearch'
- '@pinecone-database/pinecone'
- '@planetscale/database'
- '@premai/prem-sdk'
- '@qdrant/js-client-rest'
- '@raycast/api'
- '@rockset/client'
- '@smithy/eventstream-codec'
- '@smithy/protocol-http'
- '@smithy/signature-v4'
- '@smithy/util-utf8'
- '@spider-cloud/spider-client'
- '@supabase/supabase-js'
- '@tensorflow-models/universal-sentence-encoder'
- '@tensorflow/tfjs-converter'
- '@tensorflow/tfjs-core'
- '@types/jest'
- '@types/pg'
- '@types/sqlite3'
- '@upstash/ratelimit'
- '@upstash/redis'
- '@upstash/vector'
- '@vercel/kv'
- '@vercel/postgres'
- '@writerai/writer-sdk'
- '@xata.io/client'
- '@zilliz/milvus2-sdk-node'
- apify-client
- assemblyai
- better-sqlite3
- cassandra-driver
- cborg
- cheerio
- chromadb
- closevector-common
- closevector-node
- closevector-web
- cohere-ai
- convex
- crypto-js
- d3-dsv
- debug
- discord.js
- dria
- duck-duck-scrape
- encoding
- epub2
- fast-xml-parser
- firebase-admin
- google-auth-library
- googleapis
- groq-sdk
- handlebars
- hnswlib-node
- html-to-text
- ibm-cloud-sdk-core
- ignore
- interface-datastore
- ioredis
- it-all
- jsdom
- jsonwebtoken
- llmonitor
- lodash
- lunary
- mammoth
- mariadb
- mongodb
- mysql2
- neo4j-driver
- notion-to-md
- officeparser
- ollama
- openai
- pdf-parse
- peggy
- pg
- pg-copy-streams
- pickleparser
- playwright
- portkey-ai
- puppeteer
- pyodide
- redis
- replicate
- sonix-speech-recognition
- sqlite3
- srt-parser-2
- typeorm
- typesense
- usearch
- voy-search
- weaviate-ts-client
- web-auth-library
- word-extractor
- ws
- youtubei.js
'@mendable/firecrawl-js@0.0.28': '@mendable/firecrawl-js@0.0.28':
dependencies: dependencies:
axios: 1.7.9(debug@4.3.4) axios: 1.7.9(debug@4.3.4)
@ -25193,6 +25851,10 @@ snapshots:
dependencies: dependencies:
'@types/node': 22.13.9 '@types/node': 22.13.9
'@types/sqlite3@3.1.11':
dependencies:
'@types/node': 22.13.9
'@types/stack-utils@2.0.3': {} '@types/stack-utils@2.0.3': {}
'@types/streamx@2.9.5': '@types/streamx@2.9.5':
@ -32399,6 +33061,29 @@ snapshots:
vinyl: 2.2.1 vinyl: 2.2.1
vinyl-file: 3.0.0 vinyl-file: 3.0.0
mem0ai@2.1.12(@anthropic-ai/sdk@0.37.0(encoding@0.1.13))(@qdrant/js-client-rest@1.9.0(typescript@5.5.2))(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(@types/jest@29.5.12)(@types/pg@8.11.2)(@types/sqlite3@3.1.11)(encoding@0.1.13)(groq-sdk@0.5.0(encoding@0.1.13))(neo4j-driver@5.27.0)(ollama@0.5.11)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)):
dependencies:
'@anthropic-ai/sdk': 0.37.0(encoding@0.1.13)
'@qdrant/js-client-rest': 1.9.0(typescript@5.5.2)
'@supabase/supabase-js': 2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4)
'@types/jest': 29.5.12
'@types/pg': 8.11.2
'@types/sqlite3': 3.1.11
axios: 1.7.9(debug@4.3.4)
groq-sdk: 0.5.0(encoding@0.1.13)
neo4j-driver: 5.27.0
ollama: 0.5.11
openai: 4.82.0(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@3.22.4)
pg: 8.11.3
redis: 4.6.13
sqlite3: 5.1.7
uuid: 9.0.1
zod: 3.22.4
transitivePeerDependencies:
- debug
- encoding
- ws
memfs@3.5.3: memfs@3.5.3:
dependencies: dependencies:
fs-monkey: 1.0.5 fs-monkey: 1.0.5