mem0ai 1.0.28 → 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +25 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.d.mts
CHANGED
|
@@ -11,6 +11,8 @@ interface MemoryOptions {
|
|
|
11
11
|
infer?: boolean;
|
|
12
12
|
page?: number;
|
|
13
13
|
page_size?: number;
|
|
14
|
+
includes?: string;
|
|
15
|
+
excludes?: string;
|
|
14
16
|
}
|
|
15
17
|
declare enum API_VERSION {
|
|
16
18
|
V1 = "v1",
|
|
@@ -60,6 +62,10 @@ interface Memory {
|
|
|
60
62
|
score?: number;
|
|
61
63
|
metadata?: any | null;
|
|
62
64
|
}
|
|
65
|
+
interface MemoryUpdateBody {
|
|
66
|
+
memoryId: string;
|
|
67
|
+
text: string;
|
|
68
|
+
}
|
|
63
69
|
interface User {
|
|
64
70
|
id: string;
|
|
65
71
|
name: string;
|
|
@@ -126,6 +132,8 @@ declare class MemoryClient {
|
|
|
126
132
|
deleteUsers(): Promise<{
|
|
127
133
|
message: string;
|
|
128
134
|
}>;
|
|
135
|
+
batchUpdate(memories: Array<MemoryUpdateBody>): Promise<string>;
|
|
136
|
+
batchDelete(memories: Array<string>): Promise<string>;
|
|
129
137
|
}
|
|
130
138
|
|
|
131
|
-
export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type Messages, type SearchOptions, type User, MemoryClient as default };
|
|
139
|
+
export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type MemoryUpdateBody, type Messages, type SearchOptions, type User, MemoryClient as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ interface MemoryOptions {
|
|
|
11
11
|
infer?: boolean;
|
|
12
12
|
page?: number;
|
|
13
13
|
page_size?: number;
|
|
14
|
+
includes?: string;
|
|
15
|
+
excludes?: string;
|
|
14
16
|
}
|
|
15
17
|
declare enum API_VERSION {
|
|
16
18
|
V1 = "v1",
|
|
@@ -60,6 +62,10 @@ interface Memory {
|
|
|
60
62
|
score?: number;
|
|
61
63
|
metadata?: any | null;
|
|
62
64
|
}
|
|
65
|
+
interface MemoryUpdateBody {
|
|
66
|
+
memoryId: string;
|
|
67
|
+
text: string;
|
|
68
|
+
}
|
|
63
69
|
interface User {
|
|
64
70
|
id: string;
|
|
65
71
|
name: string;
|
|
@@ -126,7 +132,9 @@ declare class MemoryClient {
|
|
|
126
132
|
deleteUsers(): Promise<{
|
|
127
133
|
message: string;
|
|
128
134
|
}>;
|
|
135
|
+
batchUpdate(memories: Array<MemoryUpdateBody>): Promise<string>;
|
|
136
|
+
batchDelete(memories: Array<string>): Promise<string>;
|
|
129
137
|
}
|
|
130
138
|
|
|
131
|
-
export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type Messages, type SearchOptions, type User, MemoryClient as default };
|
|
139
|
+
export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type MemoryUpdateBody, type Messages, type SearchOptions, type User, MemoryClient as default };
|
|
132
140
|
export = MemoryClient
|
package/dist/index.js
CHANGED
|
@@ -140,6 +140,8 @@ var MemoryClient = class {
|
|
|
140
140
|
this.users = this.wrapMethod("users", this.users);
|
|
141
141
|
this.deleteUser = this.wrapMethod("delete_user", this.deleteUser);
|
|
142
142
|
this.deleteUsers = this.wrapMethod("delete_users", this.deleteUsers);
|
|
143
|
+
this.batchUpdate = this.wrapMethod("batch_update", this.batchUpdate);
|
|
144
|
+
this.batchDelete = this.wrapMethod("batch_delete", this.batchDelete);
|
|
143
145
|
}
|
|
144
146
|
wrapMethod(methodName, method) {
|
|
145
147
|
return async function(...args) {
|
|
@@ -319,6 +321,29 @@ var MemoryClient = class {
|
|
|
319
321
|
}
|
|
320
322
|
return { message: "All users, agents, and sessions deleted." };
|
|
321
323
|
}
|
|
324
|
+
async batchUpdate(memories) {
|
|
325
|
+
const memoriesBody = memories.map((memory) => ({
|
|
326
|
+
memory_id: memory.memoryId,
|
|
327
|
+
text: memory.text
|
|
328
|
+
}));
|
|
329
|
+
const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {
|
|
330
|
+
method: "PUT",
|
|
331
|
+
headers: this.headers,
|
|
332
|
+
body: JSON.stringify({ memories: memoriesBody })
|
|
333
|
+
});
|
|
334
|
+
return response;
|
|
335
|
+
}
|
|
336
|
+
async batchDelete(memories) {
|
|
337
|
+
const memoriesBody = memories.map((memory) => ({
|
|
338
|
+
memory_id: memory
|
|
339
|
+
}));
|
|
340
|
+
const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {
|
|
341
|
+
method: "DELETE",
|
|
342
|
+
headers: this.headers,
|
|
343
|
+
body: JSON.stringify({ memories: memoriesBody })
|
|
344
|
+
});
|
|
345
|
+
return response;
|
|
346
|
+
}
|
|
322
347
|
};
|
|
323
348
|
|
|
324
349
|
// src/mem0.types.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/mem0.ts","../src/telemetry.ts","../src/mem0.types.ts"],"sourcesContent":["import {MemoryClient} from \"./mem0\";\n\nexport { MemoryClient } from './mem0';\nexport * from './mem0.types';\nexport default MemoryClient;","import axios from 'axios';\nimport { AllUsers, Memory, MemoryHistory, MemoryOptions, SearchOptions } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\nimport util from \"util\";\n\nclass APIError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'APIError';\n }\n}\n\ninterface ClientOptions{\n apiKey: string;\n host?: string;\n organizationName?: string;\n projectName?: string;\n organizationId?: string;\n projectId?: string;\n}\n\nexport default class MemoryClient {\n apiKey: string;\n host: string;\n organizationName: string | null;\n projectName: string | null;\n organizationId: string | number | null;\n projectId: string | number | null;\n headers: Record<string, string>;\n client: any;\n telemetryId: string;\n\n _validateApiKey(): any {\n if (!this.apiKey) {\n throw new Error('Mem0 API key is required');\n }\n if (typeof this.apiKey !== 'string') {\n throw new Error('Mem0 API key must be a string');\n }\n if (this.apiKey.trim() === '') {\n throw new Error('Mem0 API key cannot be empty');\n }\n }\n constructor(options: ClientOptions) {\n this.apiKey = options.apiKey;\n this.host = options.host || \"https://api.mem0.ai\";\n this.organizationName = options.organizationName || null;\n this.projectName = options.projectName || null;\n this.organizationId = options.organizationId || null;\n this.projectId = options.projectId || null;\n\n this.headers = {\n 'Authorization': `Token ${this.apiKey}`,\n 'Content-Type': 'application/json'\n };\n\n\n this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n\n this.telemetryId = crypto.createHash('md5').update(this.apiKey).digest('hex');\n\n captureClientEvent('init', this);\n\n this.add = this.wrapMethod('add', this.add);\n this.get = this.wrapMethod('get', this.get);\n this.getAll = this.wrapMethod('get_all', this.getAll);\n this.search = this.wrapMethod('search', this.search);\n this.delete = this.wrapMethod('delete', this.delete);\n this.deleteAll = this.wrapMethod('delete_all', this.deleteAll);\n this.history = this.wrapMethod('history', this.history);\n this.users = this.wrapMethod('users', this.users);\n this.deleteUser = this.wrapMethod('delete_user', this.deleteUser);\n this.deleteUsers = this.wrapMethod('delete_users', this.deleteUsers);\n }\n\n wrapMethod(methodName: any, method: any) {\n return async function (...args: any) {\n // @ts-ignore\n await captureClientEvent(methodName, this);\n // @ts-ignore\n return method.apply(this, args);\n }.bind(this);\n}\n\n async _fetchWithErrorHandling(url: string, options: any): Promise<any> {\n const response = await fetch(url, options);\n if (!response.ok) {\n const errorData = await response.text();\n throw new APIError(`API request failed: ${errorData}`);\n }\n const jsonResponse = await response.json();\n return jsonResponse;\n }\n\n _preparePayload(messages: string | Array<{ role: string; content: string }>,\n options: MemoryOptions): object {\n const payload: any = {};\n if (typeof messages === 'string') {\n payload.messages = [{ role: 'user', content: messages }];\n } else if (Array.isArray(messages)) {\n payload.messages = messages;\n }\n return { ...payload, ...options };\n }\n\n _prepareParams(options: MemoryOptions): object {\n return Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null));\n }\n\n async add(messages: string | Array<{ role: string; content: string }>, options:MemoryOptions = {}): Promise<Array<Memory>> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n\n const payload = this._preparePayload(messages, options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async get(memoryId: string):Promise<Memory> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n headers: this.headers\n });\n }\n\n getAll(options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, page, page_size, ...otherOptions } = options!;\n if(this.organizationName != null && this.projectName != null){\n otherOptions.org_name = this.organizationName;\n otherOptions.project_name = this.projectName;\n }\n\n let appendedParams = \"\";\n let paginated_response = false;\n\n if(page && page_size){\n appendedParams += `page=${page}&page_size=${page_size}`\n paginated_response = true;\n }\n\n if(this.organizationId != null && this.projectId != null){\n otherOptions.org_id = this.organizationId;\n otherOptions.project_id = this.projectId;\n\n if (otherOptions.org_name) delete otherOptions.org_name;\n if(otherOptions.project_name) delete otherOptions.project_name;\n }\n\n if (api_version === 'v2') {\n let url = paginated_response ? `${this.host}/v2/memories/?${appendedParams}` : `${this.host}/v2/memories/`;\n return this._fetchWithErrorHandling(url, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(otherOptions)\n });\n } else {\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(otherOptions));\n const url = paginated_response ? `${this.host}/v1/memories/?${params}&${appendedParams}` : `${this.host}/v1/memories/?${params}`;\n return this._fetchWithErrorHandling(url, {\n headers: this.headers\n });\n }\n }\n\n async search(query: string, options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, ...otherOptions } = options!;\n const payload = { query, ...otherOptions };\n if(this.organizationName != null && this.projectName != null){\n payload.org_name = this.organizationName;\n payload.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n payload.org_id = this.organizationId;\n payload.project_id = this.projectId;\n\n if (payload.org_name) delete payload.org_name;\n if(payload.project_name) delete payload.project_name;\n }\n const endpoint = api_version === 'v2' ? '/v2/memories/search/' : '/v1/memories/search/';\n const response = await this._fetchWithErrorHandling(`${this.host}${endpoint}`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async delete(memoryId: string): Promise<{ message: string }> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n }\n\n async deleteAll(options: MemoryOptions = {}): Promise<{ message: string }> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(options));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/?${params}`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async history(memoryId: string): Promise<Array<MemoryHistory>> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/history/`, {\n headers: this.headers\n });\n return response;\n }\n\n async users(): Promise<AllUsers>{\n const options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/?${params}`, {\n headers: this.headers\n });\n return response;\n }\n\n async deleteUser(entityId: string, entity: { type: string } = { type: 'user' }): Promise<{ message: string }> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/${entity.type}/${entityId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async deleteUsers(): Promise<{ message: string }> {\n const entities = await this.users();\n \n for (const entity of entities.results) {\n let options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n \n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n \n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n await this.client.delete(`/v1/entities/${entity.type}/${entity.id}/`, { params: options });\n }\n return { message: \"All users, agents, and sessions deleted.\" };\n }\n\n}\n\nexport {MemoryClient};","// @ts-nocheck\nimport { PostHog } from \"posthog-node\";\nimport os from \"os\";\nimport path from \"path\";\n\nlet version = \"1.0.20\";\n\nconst MEM0_TELEMETRY = process.env.MEM0_TELEMETRY !== \"false\";\n\nclass AnonymousTelemetry {\n constructor(projectApiKey, host) {\n this.client = new PostHog(projectApiKey, { host, flushAt: 1 });\n }\n async captureEvent(distinctId, eventName, properties = {}) {\n const eventProperties = {\n client_source: \"nodejs\",\n client_version: getVersion(),\n node_version: process.version,\n os: process.platform,\n os_version: os.release(),\n os_arch: os.arch(),\n ...properties,\n };\n try {\n this.client.capture({\n distinctId: distinctId,\n event: eventName,\n properties: eventProperties,\n });\n } catch (error) {\n console.error(\"Error capturing event:\", error);\n }\n }\n async shutdown() {\n return this.client.shutdown();\n }\n}\nfunction getVersion() {\n return version;\n}\nconst telemetry = new AnonymousTelemetry(\n \"phc_hgJkUVJFYtmaJqrvf6CYN67TIQ8yhXAkWzUn9AMU4yX\",\n \"https://us.i.posthog.com\"\n);\nasync function captureClientEvent(eventName, instance, additionalData = {}) {\n const eventData = {\n function: `${instance.constructor.name}`,\n ...additionalData,\n };\n await telemetry.captureEvent(\n instance.telemetryId,\n `client.${eventName}`,\n eventData\n );\n}\nexport { telemetry, captureClientEvent };","export interface MemoryOptions {\n user_id?: string;\n agent_id?: string;\n app_id?: string;\n metadata?: Record<string, any>;\n filters?: Record<string, any>;\n org_name?: string | null; // Deprecated\n project_name?: string | null; // Deprecated\n org_id?: string | number | null;\n project_id?: string | number | null;\n infer?: boolean;\n page?: number;\n page_size?: number;\n}\n\nexport enum API_VERSION {\n V1 = \"v1\",\n V2 = \"v2\",\n}\n\nexport interface Messages {\n role: string;\n content: string;\n}\n\nexport interface MemoryHistory {\n id: string;\n memory_id: string;\n input: Array<Messages>;\n old_memory: string | null;\n new_memory: string | null;\n user_id: string;\n categories: Array<string>;\n event: Event | string;\n created_at: Date;\n updated_at: Date;\n}\n\nexport interface SearchOptions extends MemoryOptions {\n api_version?: API_VERSION | string;\n limit?: number;\n}\n\nenum Event {\n ADD = \"ADD\",\n UPDATE = \"UPDATE\",\n DELETE = \"DELETE\",\n NOOP = \"NOOP\",\n}\n\nexport interface MemoryData {\n memory: string;\n}\n\nexport interface Memory {\n id: string;\n messages?: Array<Messages>;\n event?: Event | string;\n data?: MemoryData | null;\n memory?: string;\n user_id?: string;\n hash?: string;\n categories?: Array<string>;\n created_at?: Date;\n updated_at?: Date;\n memory_type?: string;\n score?: number;\n metadata?: any | null;\n}\n\nexport interface User {\n id: string;\n name: string;\n created_at: Date;\n updated_at: Date;\n total_memories: number;\n owner: string;\n type: string;\n}\n\nexport interface AllUsers {\n count: number;\n results: Array<User>;\n next: any;\n previous: any;\n}\n"],"mappings":"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","names":["os","axios","crypto","API_VERSION"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/mem0.ts","../src/telemetry.ts","../src/mem0.types.ts"],"sourcesContent":["import {MemoryClient} from \"./mem0\";\n\nexport { MemoryClient } from './mem0';\nexport * from './mem0.types';\nexport default MemoryClient;","import axios from 'axios';\nimport { AllUsers, Memory, MemoryHistory, MemoryOptions, MemoryUpdateBody, SearchOptions } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\nimport util from \"util\";\n\nclass APIError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'APIError';\n }\n}\n\ninterface ClientOptions{\n apiKey: string;\n host?: string;\n organizationName?: string;\n projectName?: string;\n organizationId?: string;\n projectId?: string;\n}\n\nexport default class MemoryClient {\n apiKey: string;\n host: string;\n organizationName: string | null;\n projectName: string | null;\n organizationId: string | number | null;\n projectId: string | number | null;\n headers: Record<string, string>;\n client: any;\n telemetryId: string;\n\n _validateApiKey(): any {\n if (!this.apiKey) {\n throw new Error('Mem0 API key is required');\n }\n if (typeof this.apiKey !== 'string') {\n throw new Error('Mem0 API key must be a string');\n }\n if (this.apiKey.trim() === '') {\n throw new Error('Mem0 API key cannot be empty');\n }\n }\n constructor(options: ClientOptions) {\n this.apiKey = options.apiKey;\n this.host = options.host || \"https://api.mem0.ai\";\n this.organizationName = options.organizationName || null;\n this.projectName = options.projectName || null;\n this.organizationId = options.organizationId || null;\n this.projectId = options.projectId || null;\n\n this.headers = {\n 'Authorization': `Token ${this.apiKey}`,\n 'Content-Type': 'application/json'\n };\n\n\n this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n\n this.telemetryId = crypto.createHash('md5').update(this.apiKey).digest('hex');\n\n captureClientEvent('init', this);\n\n this.add = this.wrapMethod('add', this.add);\n this.get = this.wrapMethod('get', this.get);\n this.getAll = this.wrapMethod('get_all', this.getAll);\n this.search = this.wrapMethod('search', this.search);\n this.delete = this.wrapMethod('delete', this.delete);\n this.deleteAll = this.wrapMethod('delete_all', this.deleteAll);\n this.history = this.wrapMethod('history', this.history);\n this.users = this.wrapMethod('users', this.users);\n this.deleteUser = this.wrapMethod('delete_user', this.deleteUser);\n this.deleteUsers = this.wrapMethod('delete_users', this.deleteUsers);\n this.batchUpdate = this.wrapMethod('batch_update', this.batchUpdate);\n this.batchDelete = this.wrapMethod('batch_delete', this.batchDelete);\n }\n\n wrapMethod(methodName: any, method: any) {\n return async function (...args: any) {\n // @ts-ignore\n await captureClientEvent(methodName, this);\n // @ts-ignore\n return method.apply(this, args);\n }.bind(this);\n}\n\n async _fetchWithErrorHandling(url: string, options: any): Promise<any> {\n const response = await fetch(url, options);\n if (!response.ok) {\n const errorData = await response.text();\n throw new APIError(`API request failed: ${errorData}`);\n }\n const jsonResponse = await response.json();\n return jsonResponse;\n }\n\n _preparePayload(messages: string | Array<{ role: string; content: string }>,\n options: MemoryOptions): object {\n const payload: any = {};\n if (typeof messages === 'string') {\n payload.messages = [{ role: 'user', content: messages }];\n } else if (Array.isArray(messages)) {\n payload.messages = messages;\n }\n return { ...payload, ...options };\n }\n\n _prepareParams(options: MemoryOptions): object {\n return Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null));\n }\n\n async add(messages: string | Array<{ role: string; content: string }>, options:MemoryOptions = {}): Promise<Array<Memory>> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n\n const payload = this._preparePayload(messages, options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async get(memoryId: string):Promise<Memory> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n headers: this.headers\n });\n }\n\n getAll(options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, page, page_size, ...otherOptions } = options!;\n if(this.organizationName != null && this.projectName != null){\n otherOptions.org_name = this.organizationName;\n otherOptions.project_name = this.projectName;\n }\n\n let appendedParams = \"\";\n let paginated_response = false;\n\n if(page && page_size){\n appendedParams += `page=${page}&page_size=${page_size}`\n paginated_response = true;\n }\n\n if(this.organizationId != null && this.projectId != null){\n otherOptions.org_id = this.organizationId;\n otherOptions.project_id = this.projectId;\n\n if (otherOptions.org_name) delete otherOptions.org_name;\n if(otherOptions.project_name) delete otherOptions.project_name;\n }\n\n if (api_version === 'v2') {\n let url = paginated_response ? `${this.host}/v2/memories/?${appendedParams}` : `${this.host}/v2/memories/`;\n return this._fetchWithErrorHandling(url, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(otherOptions)\n });\n } else {\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(otherOptions));\n const url = paginated_response ? `${this.host}/v1/memories/?${params}&${appendedParams}` : `${this.host}/v1/memories/?${params}`;\n return this._fetchWithErrorHandling(url, {\n headers: this.headers\n });\n }\n }\n\n async search(query: string, options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, ...otherOptions } = options!;\n const payload = { query, ...otherOptions };\n if(this.organizationName != null && this.projectName != null){\n payload.org_name = this.organizationName;\n payload.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n payload.org_id = this.organizationId;\n payload.project_id = this.projectId;\n\n if (payload.org_name) delete payload.org_name;\n if(payload.project_name) delete payload.project_name;\n }\n const endpoint = api_version === 'v2' ? '/v2/memories/search/' : '/v1/memories/search/';\n const response = await this._fetchWithErrorHandling(`${this.host}${endpoint}`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async delete(memoryId: string): Promise<{ message: string }> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n }\n\n async deleteAll(options: MemoryOptions = {}): Promise<{ message: string }> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(options));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/?${params}`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async history(memoryId: string): Promise<Array<MemoryHistory>> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/history/`, {\n headers: this.headers\n });\n return response;\n }\n\n async users(): Promise<AllUsers>{\n const options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/?${params}`, {\n headers: this.headers\n });\n return response;\n }\n\n async deleteUser(entityId: string, entity: { type: string } = { type: 'user' }): Promise<{ message: string }> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/${entity.type}/${entityId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async deleteUsers(): Promise<{ message: string }> {\n const entities = await this.users();\n \n for (const entity of entities.results) {\n let options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n \n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n \n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n await this.client.delete(`/v1/entities/${entity.type}/${entity.id}/`, { params: options });\n }\n return { message: \"All users, agents, and sessions deleted.\" };\n }\n\n async batchUpdate(memories: Array<MemoryUpdateBody>): Promise<string> {\n const memoriesBody = memories.map(memory => ({\n memory_id: memory.memoryId,\n text: memory.text\n }));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {\n method: 'PUT',\n headers: this.headers,\n body: JSON.stringify({memories: memoriesBody})\n });\n return response;\n }\n\n async batchDelete(memories: Array<string>): Promise<string> {\n const memoriesBody = memories.map(memory => ({\n memory_id: memory\n }));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {\n method: 'DELETE',\n headers: this.headers,\n body: JSON.stringify({memories: memoriesBody})\n });\n return response;\n }\n\n}\n\nexport {MemoryClient};","// @ts-nocheck\nimport { PostHog } from \"posthog-node\";\nimport os from \"os\";\nimport path from \"path\";\n\nlet version = \"1.0.20\";\n\nconst MEM0_TELEMETRY = process.env.MEM0_TELEMETRY !== \"false\";\n\nclass AnonymousTelemetry {\n constructor(projectApiKey, host) {\n this.client = new PostHog(projectApiKey, { host, flushAt: 1 });\n }\n async captureEvent(distinctId, eventName, properties = {}) {\n const eventProperties = {\n client_source: \"nodejs\",\n client_version: getVersion(),\n node_version: process.version,\n os: process.platform,\n os_version: os.release(),\n os_arch: os.arch(),\n ...properties,\n };\n try {\n this.client.capture({\n distinctId: distinctId,\n event: eventName,\n properties: eventProperties,\n });\n } catch (error) {\n console.error(\"Error capturing event:\", error);\n }\n }\n async shutdown() {\n return this.client.shutdown();\n }\n}\nfunction getVersion() {\n return version;\n}\nconst telemetry = new AnonymousTelemetry(\n \"phc_hgJkUVJFYtmaJqrvf6CYN67TIQ8yhXAkWzUn9AMU4yX\",\n \"https://us.i.posthog.com\"\n);\nasync function captureClientEvent(eventName, instance, additionalData = {}) {\n const eventData = {\n function: `${instance.constructor.name}`,\n ...additionalData,\n };\n await telemetry.captureEvent(\n instance.telemetryId,\n `client.${eventName}`,\n eventData\n );\n}\nexport { telemetry, captureClientEvent };","export interface MemoryOptions {\n user_id?: string;\n agent_id?: string;\n app_id?: string;\n metadata?: Record<string, any>;\n filters?: Record<string, any>;\n org_name?: string | null; // Deprecated\n project_name?: string | null; // Deprecated\n org_id?: string | number | null;\n project_id?: string | number | null;\n infer?: boolean;\n page?: number;\n page_size?: number;\n includes?: string;\n excludes?: string;\n}\n\nexport enum API_VERSION {\n V1 = \"v1\",\n V2 = \"v2\",\n}\n\nexport interface Messages {\n role: string;\n content: string;\n}\n\nexport interface MemoryHistory {\n id: string;\n memory_id: string;\n input: Array<Messages>;\n old_memory: string | null;\n new_memory: string | null;\n user_id: string;\n categories: Array<string>;\n event: Event | string;\n created_at: Date;\n updated_at: Date;\n}\n\nexport interface SearchOptions extends MemoryOptions {\n api_version?: API_VERSION | string;\n limit?: number;\n}\n\nenum Event {\n ADD = \"ADD\",\n UPDATE = \"UPDATE\",\n DELETE = \"DELETE\",\n NOOP = \"NOOP\",\n}\n\nexport interface MemoryData {\n memory: string;\n}\n\nexport interface Memory {\n id: string;\n messages?: Array<Messages>;\n event?: Event | string;\n data?: MemoryData | null;\n memory?: string;\n user_id?: string;\n hash?: string;\n categories?: Array<string>;\n created_at?: Date;\n updated_at?: Date;\n memory_type?: string;\n score?: number;\n metadata?: any | null;\n}\n\nexport interface MemoryUpdateBody {\n memoryId: string;\n text: string;\n}\n\nexport interface User {\n id: string;\n name: string;\n created_at: Date;\n updated_at: Date;\n total_memories: number;\n owner: string;\n type: string;\n}\n\nexport interface AllUsers {\n count: number;\n results: Array<User>;\n next: any;\n previous: any;\n}\n"],"mappings":"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","names":["os","axios","crypto","API_VERSION"]}
|
package/dist/index.mjs
CHANGED
|
@@ -102,6 +102,8 @@ var MemoryClient = class {
|
|
|
102
102
|
this.users = this.wrapMethod("users", this.users);
|
|
103
103
|
this.deleteUser = this.wrapMethod("delete_user", this.deleteUser);
|
|
104
104
|
this.deleteUsers = this.wrapMethod("delete_users", this.deleteUsers);
|
|
105
|
+
this.batchUpdate = this.wrapMethod("batch_update", this.batchUpdate);
|
|
106
|
+
this.batchDelete = this.wrapMethod("batch_delete", this.batchDelete);
|
|
105
107
|
}
|
|
106
108
|
wrapMethod(methodName, method) {
|
|
107
109
|
return async function(...args) {
|
|
@@ -281,6 +283,29 @@ var MemoryClient = class {
|
|
|
281
283
|
}
|
|
282
284
|
return { message: "All users, agents, and sessions deleted." };
|
|
283
285
|
}
|
|
286
|
+
async batchUpdate(memories) {
|
|
287
|
+
const memoriesBody = memories.map((memory) => ({
|
|
288
|
+
memory_id: memory.memoryId,
|
|
289
|
+
text: memory.text
|
|
290
|
+
}));
|
|
291
|
+
const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {
|
|
292
|
+
method: "PUT",
|
|
293
|
+
headers: this.headers,
|
|
294
|
+
body: JSON.stringify({ memories: memoriesBody })
|
|
295
|
+
});
|
|
296
|
+
return response;
|
|
297
|
+
}
|
|
298
|
+
async batchDelete(memories) {
|
|
299
|
+
const memoriesBody = memories.map((memory) => ({
|
|
300
|
+
memory_id: memory
|
|
301
|
+
}));
|
|
302
|
+
const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {
|
|
303
|
+
method: "DELETE",
|
|
304
|
+
headers: this.headers,
|
|
305
|
+
body: JSON.stringify({ memories: memoriesBody })
|
|
306
|
+
});
|
|
307
|
+
return response;
|
|
308
|
+
}
|
|
284
309
|
};
|
|
285
310
|
|
|
286
311
|
// src/mem0.types.ts
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mem0.ts","../src/telemetry.ts","../src/mem0.types.ts","../src/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { AllUsers, Memory, MemoryHistory, MemoryOptions, SearchOptions } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\nimport util from \"util\";\n\nclass APIError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'APIError';\n }\n}\n\ninterface ClientOptions{\n apiKey: string;\n host?: string;\n organizationName?: string;\n projectName?: string;\n organizationId?: string;\n projectId?: string;\n}\n\nexport default class MemoryClient {\n apiKey: string;\n host: string;\n organizationName: string | null;\n projectName: string | null;\n organizationId: string | number | null;\n projectId: string | number | null;\n headers: Record<string, string>;\n client: any;\n telemetryId: string;\n\n _validateApiKey(): any {\n if (!this.apiKey) {\n throw new Error('Mem0 API key is required');\n }\n if (typeof this.apiKey !== 'string') {\n throw new Error('Mem0 API key must be a string');\n }\n if (this.apiKey.trim() === '') {\n throw new Error('Mem0 API key cannot be empty');\n }\n }\n constructor(options: ClientOptions) {\n this.apiKey = options.apiKey;\n this.host = options.host || \"https://api.mem0.ai\";\n this.organizationName = options.organizationName || null;\n this.projectName = options.projectName || null;\n this.organizationId = options.organizationId || null;\n this.projectId = options.projectId || null;\n\n this.headers = {\n 'Authorization': `Token ${this.apiKey}`,\n 'Content-Type': 'application/json'\n };\n\n\n this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n\n this.telemetryId = crypto.createHash('md5').update(this.apiKey).digest('hex');\n\n captureClientEvent('init', this);\n\n this.add = this.wrapMethod('add', this.add);\n this.get = this.wrapMethod('get', this.get);\n this.getAll = this.wrapMethod('get_all', this.getAll);\n this.search = this.wrapMethod('search', this.search);\n this.delete = this.wrapMethod('delete', this.delete);\n this.deleteAll = this.wrapMethod('delete_all', this.deleteAll);\n this.history = this.wrapMethod('history', this.history);\n this.users = this.wrapMethod('users', this.users);\n this.deleteUser = this.wrapMethod('delete_user', this.deleteUser);\n this.deleteUsers = this.wrapMethod('delete_users', this.deleteUsers);\n }\n\n wrapMethod(methodName: any, method: any) {\n return async function (...args: any) {\n // @ts-ignore\n await captureClientEvent(methodName, this);\n // @ts-ignore\n return method.apply(this, args);\n }.bind(this);\n}\n\n async _fetchWithErrorHandling(url: string, options: any): Promise<any> {\n const response = await fetch(url, options);\n if (!response.ok) {\n const errorData = await response.text();\n throw new APIError(`API request failed: ${errorData}`);\n }\n const jsonResponse = await response.json();\n return jsonResponse;\n }\n\n _preparePayload(messages: string | Array<{ role: string; content: string }>,\n options: MemoryOptions): object {\n const payload: any = {};\n if (typeof messages === 'string') {\n payload.messages = [{ role: 'user', content: messages }];\n } else if (Array.isArray(messages)) {\n payload.messages = messages;\n }\n return { ...payload, ...options };\n }\n\n _prepareParams(options: MemoryOptions): object {\n return Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null));\n }\n\n async add(messages: string | Array<{ role: string; content: string }>, options:MemoryOptions = {}): Promise<Array<Memory>> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n\n const payload = this._preparePayload(messages, options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async get(memoryId: string):Promise<Memory> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n headers: this.headers\n });\n }\n\n getAll(options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, page, page_size, ...otherOptions } = options!;\n if(this.organizationName != null && this.projectName != null){\n otherOptions.org_name = this.organizationName;\n otherOptions.project_name = this.projectName;\n }\n\n let appendedParams = \"\";\n let paginated_response = false;\n\n if(page && page_size){\n appendedParams += `page=${page}&page_size=${page_size}`\n paginated_response = true;\n }\n\n if(this.organizationId != null && this.projectId != null){\n otherOptions.org_id = this.organizationId;\n otherOptions.project_id = this.projectId;\n\n if (otherOptions.org_name) delete otherOptions.org_name;\n if(otherOptions.project_name) delete otherOptions.project_name;\n }\n\n if (api_version === 'v2') {\n let url = paginated_response ? `${this.host}/v2/memories/?${appendedParams}` : `${this.host}/v2/memories/`;\n return this._fetchWithErrorHandling(url, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(otherOptions)\n });\n } else {\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(otherOptions));\n const url = paginated_response ? `${this.host}/v1/memories/?${params}&${appendedParams}` : `${this.host}/v1/memories/?${params}`;\n return this._fetchWithErrorHandling(url, {\n headers: this.headers\n });\n }\n }\n\n async search(query: string, options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, ...otherOptions } = options!;\n const payload = { query, ...otherOptions };\n if(this.organizationName != null && this.projectName != null){\n payload.org_name = this.organizationName;\n payload.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n payload.org_id = this.organizationId;\n payload.project_id = this.projectId;\n\n if (payload.org_name) delete payload.org_name;\n if(payload.project_name) delete payload.project_name;\n }\n const endpoint = api_version === 'v2' ? '/v2/memories/search/' : '/v1/memories/search/';\n const response = await this._fetchWithErrorHandling(`${this.host}${endpoint}`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async delete(memoryId: string): Promise<{ message: string }> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n }\n\n async deleteAll(options: MemoryOptions = {}): Promise<{ message: string }> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(options));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/?${params}`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async history(memoryId: string): Promise<Array<MemoryHistory>> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/history/`, {\n headers: this.headers\n });\n return response;\n }\n\n async users(): Promise<AllUsers>{\n const options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/?${params}`, {\n headers: this.headers\n });\n return response;\n }\n\n async deleteUser(entityId: string, entity: { type: string } = { type: 'user' }): Promise<{ message: string }> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/${entity.type}/${entityId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async deleteUsers(): Promise<{ message: string }> {\n const entities = await this.users();\n \n for (const entity of entities.results) {\n let options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n \n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n \n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n await this.client.delete(`/v1/entities/${entity.type}/${entity.id}/`, { params: options });\n }\n return { message: \"All users, agents, and sessions deleted.\" };\n }\n\n}\n\nexport {MemoryClient};","// @ts-nocheck\nimport { PostHog } from \"posthog-node\";\nimport os from \"os\";\nimport path from \"path\";\n\nlet version = \"1.0.20\";\n\nconst MEM0_TELEMETRY = process.env.MEM0_TELEMETRY !== \"false\";\n\nclass AnonymousTelemetry {\n constructor(projectApiKey, host) {\n this.client = new PostHog(projectApiKey, { host, flushAt: 1 });\n }\n async captureEvent(distinctId, eventName, properties = {}) {\n const eventProperties = {\n client_source: \"nodejs\",\n client_version: getVersion(),\n node_version: process.version,\n os: process.platform,\n os_version: os.release(),\n os_arch: os.arch(),\n ...properties,\n };\n try {\n this.client.capture({\n distinctId: distinctId,\n event: eventName,\n properties: eventProperties,\n });\n } catch (error) {\n console.error(\"Error capturing event:\", error);\n }\n }\n async shutdown() {\n return this.client.shutdown();\n }\n}\nfunction getVersion() {\n return version;\n}\nconst telemetry = new AnonymousTelemetry(\n \"phc_hgJkUVJFYtmaJqrvf6CYN67TIQ8yhXAkWzUn9AMU4yX\",\n \"https://us.i.posthog.com\"\n);\nasync function captureClientEvent(eventName, instance, additionalData = {}) {\n const eventData = {\n function: `${instance.constructor.name}`,\n ...additionalData,\n };\n await telemetry.captureEvent(\n instance.telemetryId,\n `client.${eventName}`,\n eventData\n );\n}\nexport { telemetry, captureClientEvent };","export interface MemoryOptions {\n user_id?: string;\n agent_id?: string;\n app_id?: string;\n metadata?: Record<string, any>;\n filters?: Record<string, any>;\n org_name?: string | null; // Deprecated\n project_name?: string | null; // Deprecated\n org_id?: string | number | null;\n project_id?: string | number | null;\n infer?: boolean;\n page?: number;\n page_size?: number;\n}\n\nexport enum API_VERSION {\n V1 = \"v1\",\n V2 = \"v2\",\n}\n\nexport interface Messages {\n role: string;\n content: string;\n}\n\nexport interface MemoryHistory {\n id: string;\n memory_id: string;\n input: Array<Messages>;\n old_memory: string | null;\n new_memory: string | null;\n user_id: string;\n categories: Array<string>;\n event: Event | string;\n created_at: Date;\n updated_at: Date;\n}\n\nexport interface SearchOptions extends MemoryOptions {\n api_version?: API_VERSION | string;\n limit?: number;\n}\n\nenum Event {\n ADD = \"ADD\",\n UPDATE = \"UPDATE\",\n DELETE = \"DELETE\",\n NOOP = \"NOOP\",\n}\n\nexport interface MemoryData {\n memory: string;\n}\n\nexport interface Memory {\n id: string;\n messages?: Array<Messages>;\n event?: Event | string;\n data?: MemoryData | null;\n memory?: string;\n user_id?: string;\n hash?: string;\n categories?: Array<string>;\n created_at?: Date;\n updated_at?: Date;\n memory_type?: string;\n score?: number;\n metadata?: any | null;\n}\n\nexport interface User {\n id: string;\n name: string;\n created_at: Date;\n updated_at: Date;\n total_memories: number;\n owner: string;\n type: string;\n}\n\nexport interface AllUsers {\n count: number;\n results: Array<User>;\n next: any;\n previous: any;\n}\n","import {MemoryClient} from \"./mem0\";\n\nexport { MemoryClient } from './mem0';\nexport * from './mem0.types';\nexport default MemoryClient;"],"mappings":"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","names":["API_VERSION"]}
|
|
1
|
+
{"version":3,"sources":["../src/mem0.ts","../src/telemetry.ts","../src/mem0.types.ts","../src/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { AllUsers, Memory, MemoryHistory, MemoryOptions, MemoryUpdateBody, SearchOptions } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\nimport util from \"util\";\n\nclass APIError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'APIError';\n }\n}\n\ninterface ClientOptions{\n apiKey: string;\n host?: string;\n organizationName?: string;\n projectName?: string;\n organizationId?: string;\n projectId?: string;\n}\n\nexport default class MemoryClient {\n apiKey: string;\n host: string;\n organizationName: string | null;\n projectName: string | null;\n organizationId: string | number | null;\n projectId: string | number | null;\n headers: Record<string, string>;\n client: any;\n telemetryId: string;\n\n _validateApiKey(): any {\n if (!this.apiKey) {\n throw new Error('Mem0 API key is required');\n }\n if (typeof this.apiKey !== 'string') {\n throw new Error('Mem0 API key must be a string');\n }\n if (this.apiKey.trim() === '') {\n throw new Error('Mem0 API key cannot be empty');\n }\n }\n constructor(options: ClientOptions) {\n this.apiKey = options.apiKey;\n this.host = options.host || \"https://api.mem0.ai\";\n this.organizationName = options.organizationName || null;\n this.projectName = options.projectName || null;\n this.organizationId = options.organizationId || null;\n this.projectId = options.projectId || null;\n\n this.headers = {\n 'Authorization': `Token ${this.apiKey}`,\n 'Content-Type': 'application/json'\n };\n\n\n this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n\n this.telemetryId = crypto.createHash('md5').update(this.apiKey).digest('hex');\n\n captureClientEvent('init', this);\n\n this.add = this.wrapMethod('add', this.add);\n this.get = this.wrapMethod('get', this.get);\n this.getAll = this.wrapMethod('get_all', this.getAll);\n this.search = this.wrapMethod('search', this.search);\n this.delete = this.wrapMethod('delete', this.delete);\n this.deleteAll = this.wrapMethod('delete_all', this.deleteAll);\n this.history = this.wrapMethod('history', this.history);\n this.users = this.wrapMethod('users', this.users);\n this.deleteUser = this.wrapMethod('delete_user', this.deleteUser);\n this.deleteUsers = this.wrapMethod('delete_users', this.deleteUsers);\n this.batchUpdate = this.wrapMethod('batch_update', this.batchUpdate);\n this.batchDelete = this.wrapMethod('batch_delete', this.batchDelete);\n }\n\n wrapMethod(methodName: any, method: any) {\n return async function (...args: any) {\n // @ts-ignore\n await captureClientEvent(methodName, this);\n // @ts-ignore\n return method.apply(this, args);\n }.bind(this);\n}\n\n async _fetchWithErrorHandling(url: string, options: any): Promise<any> {\n const response = await fetch(url, options);\n if (!response.ok) {\n const errorData = await response.text();\n throw new APIError(`API request failed: ${errorData}`);\n }\n const jsonResponse = await response.json();\n return jsonResponse;\n }\n\n _preparePayload(messages: string | Array<{ role: string; content: string }>,\n options: MemoryOptions): object {\n const payload: any = {};\n if (typeof messages === 'string') {\n payload.messages = [{ role: 'user', content: messages }];\n } else if (Array.isArray(messages)) {\n payload.messages = messages;\n }\n return { ...payload, ...options };\n }\n\n _prepareParams(options: MemoryOptions): object {\n return Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null));\n }\n\n async add(messages: string | Array<{ role: string; content: string }>, options:MemoryOptions = {}): Promise<Array<Memory>> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n\n const payload = this._preparePayload(messages, options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async get(memoryId: string):Promise<Memory> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n headers: this.headers\n });\n }\n\n getAll(options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, page, page_size, ...otherOptions } = options!;\n if(this.organizationName != null && this.projectName != null){\n otherOptions.org_name = this.organizationName;\n otherOptions.project_name = this.projectName;\n }\n\n let appendedParams = \"\";\n let paginated_response = false;\n\n if(page && page_size){\n appendedParams += `page=${page}&page_size=${page_size}`\n paginated_response = true;\n }\n\n if(this.organizationId != null && this.projectId != null){\n otherOptions.org_id = this.organizationId;\n otherOptions.project_id = this.projectId;\n\n if (otherOptions.org_name) delete otherOptions.org_name;\n if(otherOptions.project_name) delete otherOptions.project_name;\n }\n\n if (api_version === 'v2') {\n let url = paginated_response ? `${this.host}/v2/memories/?${appendedParams}` : `${this.host}/v2/memories/`;\n return this._fetchWithErrorHandling(url, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(otherOptions)\n });\n } else {\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(otherOptions));\n const url = paginated_response ? `${this.host}/v1/memories/?${params}&${appendedParams}` : `${this.host}/v1/memories/?${params}`;\n return this._fetchWithErrorHandling(url, {\n headers: this.headers\n });\n }\n }\n\n async search(query: string, options?: SearchOptions): Promise<Array<Memory>> {\n const { api_version, ...otherOptions } = options!;\n const payload = { query, ...otherOptions };\n if(this.organizationName != null && this.projectName != null){\n payload.org_name = this.organizationName;\n payload.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n payload.org_id = this.organizationId;\n payload.project_id = this.projectId;\n\n if (payload.org_name) delete payload.org_name;\n if(payload.project_name) delete payload.project_name;\n }\n const endpoint = api_version === 'v2' ? '/v2/memories/search/' : '/v1/memories/search/';\n const response = await this._fetchWithErrorHandling(`${this.host}${endpoint}`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(payload)\n });\n return response;\n }\n\n async delete(memoryId: string): Promise<{ message: string }> {\n return this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n }\n\n async deleteAll(options: MemoryOptions = {}): Promise<{ message: string }> {\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(this._prepareParams(options));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/?${params}`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async history(memoryId: string): Promise<Array<MemoryHistory>> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/memories/${memoryId}/history/`, {\n headers: this.headers\n });\n return response;\n }\n\n async users(): Promise<AllUsers>{\n const options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n\n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n\n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n // @ts-ignore\n const params = new URLSearchParams(options);\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/?${params}`, {\n headers: this.headers\n });\n return response;\n }\n\n async deleteUser(entityId: string, entity: { type: string } = { type: 'user' }): Promise<{ message: string }> {\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/entities/${entity.type}/${entityId}/`, {\n method: 'DELETE',\n headers: this.headers\n });\n return response;\n }\n\n async deleteUsers(): Promise<{ message: string }> {\n const entities = await this.users();\n \n for (const entity of entities.results) {\n let options: MemoryOptions = {};\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\n // console.warn(\"organizationName and projectName is deprecated. Please use organizationId and projectId instead.\")\n }\n \n if(this.organizationId != null && this.projectId != null){\n options.org_id = this.organizationId;\n options.project_id = this.projectId;\n \n if (options.org_name) delete options.org_name;\n if(options.project_name) delete options.project_name;\n }\n await this.client.delete(`/v1/entities/${entity.type}/${entity.id}/`, { params: options });\n }\n return { message: \"All users, agents, and sessions deleted.\" };\n }\n\n async batchUpdate(memories: Array<MemoryUpdateBody>): Promise<string> {\n const memoriesBody = memories.map(memory => ({\n memory_id: memory.memoryId,\n text: memory.text\n }));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {\n method: 'PUT',\n headers: this.headers,\n body: JSON.stringify({memories: memoriesBody})\n });\n return response;\n }\n\n async batchDelete(memories: Array<string>): Promise<string> {\n const memoriesBody = memories.map(memory => ({\n memory_id: memory\n }));\n const response = await this._fetchWithErrorHandling(`${this.host}/v1/batch/`, {\n method: 'DELETE',\n headers: this.headers,\n body: JSON.stringify({memories: memoriesBody})\n });\n return response;\n }\n\n}\n\nexport {MemoryClient};","// @ts-nocheck\nimport { PostHog } from \"posthog-node\";\nimport os from \"os\";\nimport path from \"path\";\n\nlet version = \"1.0.20\";\n\nconst MEM0_TELEMETRY = process.env.MEM0_TELEMETRY !== \"false\";\n\nclass AnonymousTelemetry {\n constructor(projectApiKey, host) {\n this.client = new PostHog(projectApiKey, { host, flushAt: 1 });\n }\n async captureEvent(distinctId, eventName, properties = {}) {\n const eventProperties = {\n client_source: \"nodejs\",\n client_version: getVersion(),\n node_version: process.version,\n os: process.platform,\n os_version: os.release(),\n os_arch: os.arch(),\n ...properties,\n };\n try {\n this.client.capture({\n distinctId: distinctId,\n event: eventName,\n properties: eventProperties,\n });\n } catch (error) {\n console.error(\"Error capturing event:\", error);\n }\n }\n async shutdown() {\n return this.client.shutdown();\n }\n}\nfunction getVersion() {\n return version;\n}\nconst telemetry = new AnonymousTelemetry(\n \"phc_hgJkUVJFYtmaJqrvf6CYN67TIQ8yhXAkWzUn9AMU4yX\",\n \"https://us.i.posthog.com\"\n);\nasync function captureClientEvent(eventName, instance, additionalData = {}) {\n const eventData = {\n function: `${instance.constructor.name}`,\n ...additionalData,\n };\n await telemetry.captureEvent(\n instance.telemetryId,\n `client.${eventName}`,\n eventData\n );\n}\nexport { telemetry, captureClientEvent };","export interface MemoryOptions {\n user_id?: string;\n agent_id?: string;\n app_id?: string;\n metadata?: Record<string, any>;\n filters?: Record<string, any>;\n org_name?: string | null; // Deprecated\n project_name?: string | null; // Deprecated\n org_id?: string | number | null;\n project_id?: string | number | null;\n infer?: boolean;\n page?: number;\n page_size?: number;\n includes?: string;\n excludes?: string;\n}\n\nexport enum API_VERSION {\n V1 = \"v1\",\n V2 = \"v2\",\n}\n\nexport interface Messages {\n role: string;\n content: string;\n}\n\nexport interface MemoryHistory {\n id: string;\n memory_id: string;\n input: Array<Messages>;\n old_memory: string | null;\n new_memory: string | null;\n user_id: string;\n categories: Array<string>;\n event: Event | string;\n created_at: Date;\n updated_at: Date;\n}\n\nexport interface SearchOptions extends MemoryOptions {\n api_version?: API_VERSION | string;\n limit?: number;\n}\n\nenum Event {\n ADD = \"ADD\",\n UPDATE = \"UPDATE\",\n DELETE = \"DELETE\",\n NOOP = \"NOOP\",\n}\n\nexport interface MemoryData {\n memory: string;\n}\n\nexport interface Memory {\n id: string;\n messages?: Array<Messages>;\n event?: Event | string;\n data?: MemoryData | null;\n memory?: string;\n user_id?: string;\n hash?: string;\n categories?: Array<string>;\n created_at?: Date;\n updated_at?: Date;\n memory_type?: string;\n score?: number;\n metadata?: any | null;\n}\n\nexport interface MemoryUpdateBody {\n memoryId: string;\n text: string;\n}\n\nexport interface User {\n id: string;\n name: string;\n created_at: Date;\n updated_at: Date;\n total_memories: number;\n owner: string;\n type: string;\n}\n\nexport interface AllUsers {\n count: number;\n results: Array<User>;\n next: any;\n previous: any;\n}\n","import {MemoryClient} from \"./mem0\";\n\nexport { MemoryClient } from './mem0';\nexport * from './mem0.types';\nexport default MemoryClient;"],"mappings":"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","names":["API_VERSION"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mem0ai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.30",
|
|
4
4
|
"description": "The Memory Layer For Your AI Apps",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"axios": "^1.7.7",
|
|
37
37
|
"crypto": "^1.0.1",
|
|
38
38
|
"fix-tsup-cjs": "^1.2.0",
|
|
39
|
+
"mem0ai": "^1.0.29",
|
|
39
40
|
"posthog-node": "^4.2.1",
|
|
40
41
|
"ts-node": "^10.9.2"
|
|
41
42
|
},
|