mem0ai 1.0.33 → 1.0.34

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 CHANGED
@@ -111,6 +111,28 @@ interface PromptUpdatePayload {
111
111
  custom_categories?: custom_categories[];
112
112
  [key: string]: any;
113
113
  }
114
+ declare enum WebhookEvent {
115
+ MEMORY_ADDED = "memory_add",
116
+ MEMORY_UPDATED = "memory_update",
117
+ MEMORY_DELETED = "memory_delete"
118
+ }
119
+ interface Webhook {
120
+ webhook_id?: string;
121
+ name: string;
122
+ url: string;
123
+ project?: string;
124
+ created_at?: Date;
125
+ updated_at?: Date;
126
+ is_active?: boolean;
127
+ event_types?: WebhookEvent[];
128
+ }
129
+ interface WebhookPayload {
130
+ eventTypes: WebhookEvent[];
131
+ projectId: string;
132
+ webhookId: string;
133
+ name: string;
134
+ url: string;
135
+ }
114
136
 
115
137
  interface ClientOptions {
116
138
  apiKey: string;
@@ -167,6 +189,16 @@ declare class MemoryClient {
167
189
  batchDelete(memories: Array<string>): Promise<string>;
168
190
  getProject(options: ProjectOptions): Promise<ProjectResponse>;
169
191
  updateProject(prompts: PromptUpdatePayload): Promise<Record<string, any>>;
192
+ getWebhooks(data?: {
193
+ projectId?: string;
194
+ }): Promise<Array<Webhook>>;
195
+ createWebhook(webhook: WebhookPayload): Promise<Webhook>;
196
+ updateWebhook(webhook: WebhookPayload): Promise<{
197
+ message: string;
198
+ }>;
199
+ deleteWebhook(webhookId: string, projectId: string): Promise<{
200
+ message: string;
201
+ }>;
170
202
  }
171
203
 
172
- export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type MemoryUpdateBody, type Message, type Messages, type ProjectOptions, type ProjectResponse, type PromptUpdatePayload, type SearchOptions, type User, MemoryClient as default };
204
+ export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type MemoryUpdateBody, type Message, type Messages, type ProjectOptions, type ProjectResponse, type PromptUpdatePayload, type SearchOptions, type User, type Webhook, type WebhookPayload, MemoryClient as default };
package/dist/index.d.ts CHANGED
@@ -111,6 +111,28 @@ interface PromptUpdatePayload {
111
111
  custom_categories?: custom_categories[];
112
112
  [key: string]: any;
113
113
  }
114
+ declare enum WebhookEvent {
115
+ MEMORY_ADDED = "memory_add",
116
+ MEMORY_UPDATED = "memory_update",
117
+ MEMORY_DELETED = "memory_delete"
118
+ }
119
+ interface Webhook {
120
+ webhook_id?: string;
121
+ name: string;
122
+ url: string;
123
+ project?: string;
124
+ created_at?: Date;
125
+ updated_at?: Date;
126
+ is_active?: boolean;
127
+ event_types?: WebhookEvent[];
128
+ }
129
+ interface WebhookPayload {
130
+ eventTypes: WebhookEvent[];
131
+ projectId: string;
132
+ webhookId: string;
133
+ name: string;
134
+ url: string;
135
+ }
114
136
 
115
137
  interface ClientOptions {
116
138
  apiKey: string;
@@ -167,7 +189,17 @@ declare class MemoryClient {
167
189
  batchDelete(memories: Array<string>): Promise<string>;
168
190
  getProject(options: ProjectOptions): Promise<ProjectResponse>;
169
191
  updateProject(prompts: PromptUpdatePayload): Promise<Record<string, any>>;
192
+ getWebhooks(data?: {
193
+ projectId?: string;
194
+ }): Promise<Array<Webhook>>;
195
+ createWebhook(webhook: WebhookPayload): Promise<Webhook>;
196
+ updateWebhook(webhook: WebhookPayload): Promise<{
197
+ message: string;
198
+ }>;
199
+ deleteWebhook(webhookId: string, projectId: string): Promise<{
200
+ message: string;
201
+ }>;
170
202
  }
171
203
 
172
- export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type MemoryUpdateBody, type Message, type Messages, type ProjectOptions, type ProjectResponse, type PromptUpdatePayload, type SearchOptions, type User, MemoryClient as default };
204
+ export { API_VERSION, type AllUsers, type Memory, MemoryClient, type MemoryData, type MemoryHistory, type MemoryOptions, type MemoryUpdateBody, type Message, type Messages, type ProjectOptions, type ProjectResponse, type PromptUpdatePayload, type SearchOptions, type User, type Webhook, type WebhookPayload, MemoryClient as default };
173
205
  export = MemoryClient
package/dist/index.js CHANGED
@@ -159,6 +159,10 @@ var MemoryClient = class {
159
159
  "update_project",
160
160
  this.updateProject
161
161
  );
162
+ this.getWebhooks = this.wrapMethod("get_webhook", this.getWebhooks);
163
+ this.createWebhook = this.wrapMethod("create_webhook", this.createWebhook);
164
+ this.updateWebhook = this.wrapMethod("update_webhook", this.updateWebhook);
165
+ this.deleteWebhook = this.wrapMethod("delete_webhook", this.deleteWebhook);
162
166
  }
163
167
  wrapMethod(methodName, method) {
164
168
  return async function(...args) {
@@ -398,6 +402,42 @@ var MemoryClient = class {
398
402
  );
399
403
  return response;
400
404
  }
405
+ // WebHooks
406
+ async getWebhooks(data) {
407
+ const project_id = (data == null ? void 0 : data.projectId) || this.projectId;
408
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/`, {
409
+ headers: this.headers
410
+ });
411
+ return response;
412
+ }
413
+ async createWebhook(webhook) {
414
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${this.projectId}/webhook/`, {
415
+ method: "POST",
416
+ headers: this.headers,
417
+ body: JSON.stringify(webhook)
418
+ });
419
+ return response;
420
+ }
421
+ async updateWebhook(webhook) {
422
+ const project_id = webhook.projectId || this.projectId;
423
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhook.webhookId}/`, {
424
+ method: "PUT",
425
+ headers: this.headers,
426
+ body: JSON.stringify({
427
+ ...webhook,
428
+ projectId: project_id
429
+ })
430
+ });
431
+ return response;
432
+ }
433
+ async deleteWebhook(webhookId, projectId) {
434
+ const project_id = projectId || this.projectId;
435
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhookId}/`, {
436
+ method: "DELETE",
437
+ headers: this.headers
438
+ });
439
+ return response;
440
+ }
401
441
  };
402
442
 
403
443
  // 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, ProjectOptions, Memory, MemoryHistory, MemoryOptions, MemoryUpdateBody, ProjectResponse, PromptUpdatePayload, SearchOptions } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\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\n _validateOrgProject(): void {\n // Check for organizationName/projectName pair\n if ((this.organizationName === null && this.projectName !== null) || \n (this.organizationName !== null && this.projectName === null)) {\n console.warn('Warning: Both organizationName and projectName must be provided together when using either. This will be removedfrom the version 1.0.40. Note that organizationName/projectName are being deprecated in favor of organizationId/projectId.');\n }\n\n // Check for organizationId/projectId pair\n if ((this.organizationId === null && this.projectId !== null) || \n (this.organizationId !== null && this.projectId === null)) {\n console.warn('Warning: Both organizationId and projectId must be provided together when using either. This will be removedfrom the version 1.0.40.');\n }\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 this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n this._validateOrgProject();\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 this.getProject = this.wrapMethod(\n 'get_project', \n this.getProject\n );\n this.updateProject = this.wrapMethod(\n 'update_project', \n this.updateProject\n );\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\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 }\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 async getProject(options: ProjectOptions): Promise<ProjectResponse> {\n this._validateOrgProject();\n\n const { fields } = options;\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to access instructions or categories\");\n }\n\n const params = new URLSearchParams();\n fields?.forEach(field => params.append('fields', field));\n \n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/?${params.toString()}`,\n {\n headers: this.headers\n }\n );\n return response;\n }\n\n async updateProject(prompts: PromptUpdatePayload): Promise<Record<string, any>> {\n this._validateOrgProject();\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to update instructions or categories\");\n }\n\n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/`,\n {\n method: 'PATCH',\n headers: this.headers,\n body: JSON.stringify(prompts)\n }\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 run_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 enable_graph?: boolean;\n start_date?: string;\n end_date?: string;\n}\n\nexport interface ProjectOptions {\n fields?: 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 Message extends Messages {}\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 enable_graph?: boolean;\n threshold?: number;\n top_k?: number;\n only_metadata_based_search?: boolean;\n keyword_search?: boolean;\n fields?: string[];\n categories?: string[];\n rerank?: boolean;\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\nexport interface ProjectResponse {\n custom_instructions?: string;\n custom_categories?: string[];\n [key: string]: any;\n}\n\ninterface custom_categories {\n [key: string]: any;\n}\n\nexport interface PromptUpdatePayload {\n custom_instructions?: string;\n custom_categories?: custom_categories[];\n [key: string]: any;\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, ProjectOptions, Memory, MemoryHistory, MemoryOptions, MemoryUpdateBody, ProjectResponse, PromptUpdatePayload, SearchOptions, Webhook, WebhookPayload } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\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\n _validateOrgProject(): void {\n // Check for organizationName/projectName pair\n if ((this.organizationName === null && this.projectName !== null) || \n (this.organizationName !== null && this.projectName === null)) {\n console.warn('Warning: Both organizationName and projectName must be provided together when using either. This will be removedfrom the version 1.0.40. Note that organizationName/projectName are being deprecated in favor of organizationId/projectId.');\n }\n\n // Check for organizationId/projectId pair\n if ((this.organizationId === null && this.projectId !== null) || \n (this.organizationId !== null && this.projectId === null)) {\n console.warn('Warning: Both organizationId and projectId must be provided together when using either. This will be removedfrom the version 1.0.40.');\n }\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 this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n this._validateOrgProject();\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 this.getProject = this.wrapMethod(\n 'get_project', \n this.getProject\n );\n this.updateProject = this.wrapMethod(\n 'update_project', \n this.updateProject\n );\n this.getWebhooks = this.wrapMethod('get_webhook', this.getWebhooks);\n this.createWebhook = this.wrapMethod('create_webhook', this.createWebhook);\n this.updateWebhook = this.wrapMethod('update_webhook', this.updateWebhook);\n this.deleteWebhook = this.wrapMethod('delete_webhook', this.deleteWebhook);\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\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 }\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 async getProject(options: ProjectOptions): Promise<ProjectResponse> {\n this._validateOrgProject();\n\n const { fields } = options;\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to access instructions or categories\");\n }\n\n const params = new URLSearchParams();\n fields?.forEach(field => params.append('fields', field));\n \n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/?${params.toString()}`,\n {\n headers: this.headers\n }\n );\n return response;\n }\n\n async updateProject(prompts: PromptUpdatePayload): Promise<Record<string, any>> {\n this._validateOrgProject();\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to update instructions or categories\");\n }\n\n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/`,\n {\n method: 'PATCH',\n headers: this.headers,\n body: JSON.stringify(prompts)\n }\n );\n return response;\n }\n\n // WebHooks\n async getWebhooks(data?: {projectId?: string}): Promise<Array<Webhook>> {\n const project_id = data?.projectId || this.projectId;\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/`, {\n headers: this.headers\n });\n return response;\n }\n\n async createWebhook(webhook: WebhookPayload): Promise<Webhook> {\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${this.projectId}/webhook/`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(webhook)\n });\n return response;\n }\n\n async updateWebhook(webhook: WebhookPayload): Promise<{ message: string }> {\n const project_id = webhook.projectId || this.projectId;\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhook.webhookId}/`, {\n method: 'PUT',\n headers: this.headers,\n body: JSON.stringify({\n ...webhook,\n projectId: project_id\n })\n });\n return response;\n }\n\n async deleteWebhook(webhookId: string, projectId: string): Promise<{ message: string }> {\n const project_id = projectId || this.projectId;\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhookId}/`, {\n method: 'DELETE', \n headers: this.headers\n });\n return response;\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 run_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 enable_graph?: boolean;\n start_date?: string;\n end_date?: string;\n}\n\nexport interface ProjectOptions {\n fields?: 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 Message extends Messages {}\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 enable_graph?: boolean;\n threshold?: number;\n top_k?: number;\n only_metadata_based_search?: boolean;\n keyword_search?: boolean;\n fields?: string[];\n categories?: string[];\n rerank?: boolean;\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\nexport interface ProjectResponse {\n custom_instructions?: string;\n custom_categories?: string[];\n [key: string]: any;\n}\n\ninterface custom_categories {\n [key: string]: any;\n}\n\nexport interface PromptUpdatePayload {\n custom_instructions?: string;\n custom_categories?: custom_categories[];\n [key: string]: any;\n}\n\nenum WebhookEvent {\n MEMORY_ADDED = \"memory_add\",\n MEMORY_UPDATED = \"memory_update\",\n MEMORY_DELETED = \"memory_delete\",\n}\n\nexport interface Webhook {\n webhook_id?: string;\n name: string;\n url: string;\n project?: string;\n created_at?: Date;\n updated_at?: Date;\n is_active?: boolean;\n event_types?: WebhookEvent[];\n}\n\nexport interface WebhookPayload {\n eventTypes: WebhookEvent[];\n projectId: string;\n webhookId: string;\n name: string;\n url: string;\n}\n"],"mappings":"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","names":["os","axios","crypto","API_VERSION"]}
package/dist/index.mjs CHANGED
@@ -121,6 +121,10 @@ var MemoryClient = class {
121
121
  "update_project",
122
122
  this.updateProject
123
123
  );
124
+ this.getWebhooks = this.wrapMethod("get_webhook", this.getWebhooks);
125
+ this.createWebhook = this.wrapMethod("create_webhook", this.createWebhook);
126
+ this.updateWebhook = this.wrapMethod("update_webhook", this.updateWebhook);
127
+ this.deleteWebhook = this.wrapMethod("delete_webhook", this.deleteWebhook);
124
128
  }
125
129
  wrapMethod(methodName, method) {
126
130
  return async function(...args) {
@@ -360,6 +364,42 @@ var MemoryClient = class {
360
364
  );
361
365
  return response;
362
366
  }
367
+ // WebHooks
368
+ async getWebhooks(data) {
369
+ const project_id = (data == null ? void 0 : data.projectId) || this.projectId;
370
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/`, {
371
+ headers: this.headers
372
+ });
373
+ return response;
374
+ }
375
+ async createWebhook(webhook) {
376
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${this.projectId}/webhook/`, {
377
+ method: "POST",
378
+ headers: this.headers,
379
+ body: JSON.stringify(webhook)
380
+ });
381
+ return response;
382
+ }
383
+ async updateWebhook(webhook) {
384
+ const project_id = webhook.projectId || this.projectId;
385
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhook.webhookId}/`, {
386
+ method: "PUT",
387
+ headers: this.headers,
388
+ body: JSON.stringify({
389
+ ...webhook,
390
+ projectId: project_id
391
+ })
392
+ });
393
+ return response;
394
+ }
395
+ async deleteWebhook(webhookId, projectId) {
396
+ const project_id = projectId || this.projectId;
397
+ const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhookId}/`, {
398
+ method: "DELETE",
399
+ headers: this.headers
400
+ });
401
+ return response;
402
+ }
363
403
  };
364
404
 
365
405
  // src/mem0.types.ts
@@ -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, ProjectOptions, Memory, MemoryHistory, MemoryOptions, MemoryUpdateBody, ProjectResponse, PromptUpdatePayload, SearchOptions } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\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\n _validateOrgProject(): void {\n // Check for organizationName/projectName pair\n if ((this.organizationName === null && this.projectName !== null) || \n (this.organizationName !== null && this.projectName === null)) {\n console.warn('Warning: Both organizationName and projectName must be provided together when using either. This will be removedfrom the version 1.0.40. Note that organizationName/projectName are being deprecated in favor of organizationId/projectId.');\n }\n\n // Check for organizationId/projectId pair\n if ((this.organizationId === null && this.projectId !== null) || \n (this.organizationId !== null && this.projectId === null)) {\n console.warn('Warning: Both organizationId and projectId must be provided together when using either. This will be removedfrom the version 1.0.40.');\n }\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 this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n this._validateOrgProject();\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 this.getProject = this.wrapMethod(\n 'get_project', \n this.getProject\n );\n this.updateProject = this.wrapMethod(\n 'update_project', \n this.updateProject\n );\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\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 }\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 async getProject(options: ProjectOptions): Promise<ProjectResponse> {\n this._validateOrgProject();\n\n const { fields } = options;\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to access instructions or categories\");\n }\n\n const params = new URLSearchParams();\n fields?.forEach(field => params.append('fields', field));\n \n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/?${params.toString()}`,\n {\n headers: this.headers\n }\n );\n return response;\n }\n\n async updateProject(prompts: PromptUpdatePayload): Promise<Record<string, any>> {\n this._validateOrgProject();\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to update instructions or categories\");\n }\n\n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/`,\n {\n method: 'PATCH',\n headers: this.headers,\n body: JSON.stringify(prompts)\n }\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 run_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 enable_graph?: boolean;\n start_date?: string;\n end_date?: string;\n}\n\nexport interface ProjectOptions {\n fields?: 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 Message extends Messages {}\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 enable_graph?: boolean;\n threshold?: number;\n top_k?: number;\n only_metadata_based_search?: boolean;\n keyword_search?: boolean;\n fields?: string[];\n categories?: string[];\n rerank?: boolean;\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\nexport interface ProjectResponse {\n custom_instructions?: string;\n custom_categories?: string[];\n [key: string]: any;\n}\n\ninterface custom_categories {\n [key: string]: any;\n}\n\nexport interface PromptUpdatePayload {\n custom_instructions?: string;\n custom_categories?: custom_categories[];\n [key: string]: any;\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, ProjectOptions, Memory, MemoryHistory, MemoryOptions, MemoryUpdateBody, ProjectResponse, PromptUpdatePayload, SearchOptions, Webhook, WebhookPayload } from './mem0.types';\nimport { captureClientEvent } from './telemetry';\nimport crypto from 'crypto';\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\n _validateOrgProject(): void {\n // Check for organizationName/projectName pair\n if ((this.organizationName === null && this.projectName !== null) || \n (this.organizationName !== null && this.projectName === null)) {\n console.warn('Warning: Both organizationName and projectName must be provided together when using either. This will be removedfrom the version 1.0.40. Note that organizationName/projectName are being deprecated in favor of organizationId/projectId.');\n }\n\n // Check for organizationId/projectId pair\n if ((this.organizationId === null && this.projectId !== null) || \n (this.organizationId !== null && this.projectId === null)) {\n console.warn('Warning: Both organizationId and projectId must be provided together when using either. This will be removedfrom the version 1.0.40.');\n }\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 this.client = axios.create({\n baseURL: this.host,\n headers: { Authorization: `Token ${this.apiKey}` },\n timeout: 60000,\n });\n\n this._validateApiKey();\n this._validateOrgProject();\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 this.getProject = this.wrapMethod(\n 'get_project', \n this.getProject\n );\n this.updateProject = this.wrapMethod(\n 'update_project', \n this.updateProject\n );\n this.getWebhooks = this.wrapMethod('get_webhook', this.getWebhooks);\n this.createWebhook = this.wrapMethod('create_webhook', this.createWebhook);\n this.updateWebhook = this.wrapMethod('update_webhook', this.updateWebhook);\n this.deleteWebhook = this.wrapMethod('delete_webhook', this.deleteWebhook);\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\n if(this.organizationName != null && this.projectName != null){\n options.org_name = this.organizationName;\n options.project_name = this.projectName;\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 this._validateOrgProject();\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 }\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 this._validateOrgProject();\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 }\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 async getProject(options: ProjectOptions): Promise<ProjectResponse> {\n this._validateOrgProject();\n\n const { fields } = options;\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to access instructions or categories\");\n }\n\n const params = new URLSearchParams();\n fields?.forEach(field => params.append('fields', field));\n \n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/?${params.toString()}`,\n {\n headers: this.headers\n }\n );\n return response;\n }\n\n async updateProject(prompts: PromptUpdatePayload): Promise<Record<string, any>> {\n this._validateOrgProject();\n \n if (!(this.organizationId && this.projectId)) {\n throw new Error(\"organizationId and projectId must be set to update instructions or categories\");\n }\n\n const response = await this._fetchWithErrorHandling(\n `${this.host}/api/v1/orgs/organizations/${this.organizationId}/projects/${this.projectId}/`,\n {\n method: 'PATCH',\n headers: this.headers,\n body: JSON.stringify(prompts)\n }\n );\n return response;\n }\n\n // WebHooks\n async getWebhooks(data?: {projectId?: string}): Promise<Array<Webhook>> {\n const project_id = data?.projectId || this.projectId;\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/`, {\n headers: this.headers\n });\n return response;\n }\n\n async createWebhook(webhook: WebhookPayload): Promise<Webhook> {\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${this.projectId}/webhook/`, {\n method: 'POST',\n headers: this.headers,\n body: JSON.stringify(webhook)\n });\n return response;\n }\n\n async updateWebhook(webhook: WebhookPayload): Promise<{ message: string }> {\n const project_id = webhook.projectId || this.projectId;\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhook.webhookId}/`, {\n method: 'PUT',\n headers: this.headers,\n body: JSON.stringify({\n ...webhook,\n projectId: project_id\n })\n });\n return response;\n }\n\n async deleteWebhook(webhookId: string, projectId: string): Promise<{ message: string }> {\n const project_id = projectId || this.projectId;\n const response = await this._fetchWithErrorHandling(`${this.host}/api/v1/webhooks/${project_id}/webhook/${webhookId}/`, {\n method: 'DELETE', \n headers: this.headers\n });\n return response;\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 run_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 enable_graph?: boolean;\n start_date?: string;\n end_date?: string;\n}\n\nexport interface ProjectOptions {\n fields?: 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 Message extends Messages {}\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 enable_graph?: boolean;\n threshold?: number;\n top_k?: number;\n only_metadata_based_search?: boolean;\n keyword_search?: boolean;\n fields?: string[];\n categories?: string[];\n rerank?: boolean;\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\nexport interface ProjectResponse {\n custom_instructions?: string;\n custom_categories?: string[];\n [key: string]: any;\n}\n\ninterface custom_categories {\n [key: string]: any;\n}\n\nexport interface PromptUpdatePayload {\n custom_instructions?: string;\n custom_categories?: custom_categories[];\n [key: string]: any;\n}\n\nenum WebhookEvent {\n MEMORY_ADDED = \"memory_add\",\n MEMORY_UPDATED = \"memory_update\",\n MEMORY_DELETED = \"memory_delete\",\n}\n\nexport interface Webhook {\n webhook_id?: string;\n name: string;\n url: string;\n project?: string;\n created_at?: Date;\n updated_at?: Date;\n is_active?: boolean;\n event_types?: WebhookEvent[];\n}\n\nexport interface WebhookPayload {\n eventTypes: WebhookEvent[];\n projectId: string;\n webhookId: string;\n name: string;\n url: string;\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.33",
3
+ "version": "1.0.34",
4
4
  "description": "The Memory Layer For Your AI Apps",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -36,7 +36,6 @@
36
36
  "axios": "^1.7.7",
37
37
  "crypto": "^1.0.1",
38
38
  "fix-tsup-cjs": "^1.2.0",
39
- "mem0ai": "^1.0.32",
40
39
  "posthog-node": "^4.2.1",
41
40
  "ts-node": "^10.9.2"
42
41
  },