@amaster.ai/pi-memory-mem0 0.1.8 → 0.1.10
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/README.md +94 -35
- package/dist/dedup.d.ts +8 -2
- package/dist/dedup.d.ts.map +1 -1
- package/dist/dedup.js +92 -27
- package/dist/dedup.js.map +1 -1
- package/dist/index.d.ts +17 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +247 -25
- package/dist/index.js.map +1 -1
- package/dist/prefetch.d.ts +21 -0
- package/dist/prefetch.d.ts.map +1 -0
- package/dist/prefetch.js +64 -0
- package/dist/prefetch.js.map +1 -0
- package/dist/privacy.d.ts +2 -1
- package/dist/privacy.d.ts.map +1 -1
- package/dist/privacy.js +3 -1
- package/dist/privacy.js.map +1 -1
- package/dist/provider.d.ts +28 -17
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +288 -50
- package/dist/provider.js.map +1 -1
- package/dist/tools.d.ts +27 -10
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +101 -89
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +19 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -3
package/dist/provider.js
CHANGED
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Mem0 provider abstraction
|
|
2
|
+
* Mem0 provider abstraction for Platform, embedded, and self-hosted REST modes.
|
|
3
3
|
*
|
|
4
4
|
* Uses the `mem0ai` npm SDK which handles:
|
|
5
5
|
* - Platform mode: REST API calls to api.mem0.ai
|
|
6
|
-
* -
|
|
6
|
+
* - Embedded mode: vector storage + LLM extraction via configured providers
|
|
7
|
+
* - Self-hosted mode: direct HTTP calls to a separately deployed Mem0 server
|
|
7
8
|
*
|
|
8
|
-
* The mem0
|
|
9
|
+
* The embedded mem0 `memory` vector store is itself SQLite-backed. This extension
|
|
9
10
|
* configures it with a file under Pi home by default and lets mem0 own persistence
|
|
10
11
|
* directly.
|
|
11
12
|
*/
|
|
13
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
12
14
|
import { createRequire } from 'node:module';
|
|
13
15
|
import { join } from 'node:path';
|
|
14
16
|
import { resolveHome } from '@amaster.ai/pi-shared/settings';
|
|
17
|
+
const DEDUP_PAGE_SIZE = 200;
|
|
18
|
+
const MAX_DEDUP_ITEMS_PER_SCOPE = 10_000;
|
|
19
|
+
const MAX_DEDUP_PAGES = MAX_DEDUP_ITEMS_PER_SCOPE / DEDUP_PAGE_SIZE;
|
|
20
|
+
const SELF_HOSTED_DEDUP_LIMIT = 1000;
|
|
21
|
+
export function normalizeMem0Mode(mode) {
|
|
22
|
+
if (mode === undefined || mode === null)
|
|
23
|
+
return 'platform';
|
|
24
|
+
if (mode === 'open-source')
|
|
25
|
+
return 'embedded';
|
|
26
|
+
if (mode === 'platform' || mode === 'embedded' || mode === 'self-hosted')
|
|
27
|
+
return mode;
|
|
28
|
+
throw new Error(`Unsupported Mem0 mode: ${String(mode)}`);
|
|
29
|
+
}
|
|
30
|
+
export function normalizeMemoryMode(memoryMode) {
|
|
31
|
+
if (memoryMode === undefined || memoryMode === null)
|
|
32
|
+
return 'hybrid';
|
|
33
|
+
if (memoryMode === 'hybrid' || memoryMode === 'active' || memoryMode === 'passive') {
|
|
34
|
+
return memoryMode;
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`Unsupported memory mode: ${String(memoryMode)}`);
|
|
37
|
+
}
|
|
15
38
|
// ---------------------------------------------------------------------------
|
|
16
39
|
// Normalizers
|
|
17
40
|
// ---------------------------------------------------------------------------
|
|
@@ -60,14 +83,37 @@ function normalizeResults(raw) {
|
|
|
60
83
|
}
|
|
61
84
|
return [];
|
|
62
85
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
86
|
+
function cancellationReason(signal) {
|
|
87
|
+
return signal.reason instanceof Error ? signal.reason : new Error('Mem0 request cancelled.');
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Stop awaiting SDK promises promptly when Pi cancels the tool call. Platform
|
|
91
|
+
* and direct REST requests also propagate the signal to fetch; the embedded
|
|
92
|
+
* SDK has no AbortSignal hook, so only the caller's wait can be cancelled.
|
|
93
|
+
*/
|
|
94
|
+
function waitWithCancellation(promise, signal) {
|
|
95
|
+
if (!signal)
|
|
96
|
+
return promise;
|
|
97
|
+
if (signal.aborted)
|
|
98
|
+
return Promise.reject(cancellationReason(signal));
|
|
99
|
+
return new Promise((resolve, reject) => {
|
|
100
|
+
const onAbort = () => reject(cancellationReason(signal));
|
|
101
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
102
|
+
promise.then((value) => {
|
|
103
|
+
signal.removeEventListener('abort', onAbort);
|
|
104
|
+
resolve(value);
|
|
105
|
+
}, (error) => {
|
|
106
|
+
signal.removeEventListener('abort', onAbort);
|
|
107
|
+
reject(error);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
66
111
|
class PlatformProvider {
|
|
67
112
|
apiKey;
|
|
68
113
|
baseUrl;
|
|
69
114
|
client;
|
|
70
115
|
initPromise = null;
|
|
116
|
+
requestSignal = new AsyncLocalStorage();
|
|
71
117
|
constructor(apiKey, baseUrl) {
|
|
72
118
|
this.apiKey = apiKey;
|
|
73
119
|
this.baseUrl = baseUrl;
|
|
@@ -85,11 +131,26 @@ class PlatformProvider {
|
|
|
85
131
|
const opts = { apiKey: this.apiKey };
|
|
86
132
|
if (this.baseUrl)
|
|
87
133
|
opts.host = this.baseUrl;
|
|
88
|
-
|
|
134
|
+
// mem0ai does not expose RequestInit on its public methods, but its fetch
|
|
135
|
+
// helper is intentionally an instance method. Add the per-call signal at
|
|
136
|
+
// that boundary; AsyncLocalStorage keeps concurrent requests isolated.
|
|
137
|
+
const client = new MemoryClient(opts);
|
|
138
|
+
const originalFetch = client._fetchWithErrorHandling.bind(client);
|
|
139
|
+
client._fetchWithErrorHandling = (url, init = {}) => {
|
|
140
|
+
const signal = this.requestSignal.getStore();
|
|
141
|
+
return originalFetch(url, signal ? { ...init, signal } : init);
|
|
142
|
+
};
|
|
143
|
+
this.client = client;
|
|
144
|
+
}
|
|
145
|
+
runWithSignal(signal, operation) {
|
|
146
|
+
return signal ? this.requestSignal.run(signal, operation) : operation();
|
|
89
147
|
}
|
|
90
148
|
async add(messages, opts) {
|
|
91
|
-
await this.ensureClient();
|
|
92
|
-
const addOpts = {
|
|
149
|
+
await waitWithCancellation(this.ensureClient(), opts.signal);
|
|
150
|
+
const addOpts = {
|
|
151
|
+
userId: opts.userId,
|
|
152
|
+
...(opts.agentId ? { agentId: opts.agentId } : {}),
|
|
153
|
+
};
|
|
93
154
|
if (opts.infer === false)
|
|
94
155
|
addOpts.infer = false;
|
|
95
156
|
// Platform mem0 exposes a `timestamp` field on add(); pass observedAt
|
|
@@ -100,33 +161,177 @@ class PlatformProvider {
|
|
|
100
161
|
if (!Number.isNaN(d.getTime()))
|
|
101
162
|
addOpts.timestamp = d.toISOString();
|
|
102
163
|
}
|
|
103
|
-
|
|
104
|
-
const result = await this.client.add(messages, addOpts);
|
|
164
|
+
const result = await waitWithCancellation(this.runWithSignal(opts.signal, () => this.client.add(messages, addOpts)), opts.signal);
|
|
105
165
|
return result;
|
|
106
166
|
}
|
|
107
167
|
async search(query, opts) {
|
|
108
|
-
await this.ensureClient();
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
168
|
+
await waitWithCancellation(this.ensureClient(), opts.signal);
|
|
169
|
+
const filters = opts.agentId
|
|
170
|
+
? { OR: [{ user_id: opts.userId }, { agent_id: opts.agentId }] }
|
|
171
|
+
: { user_id: opts.userId };
|
|
172
|
+
const searchOpts = { filters };
|
|
112
173
|
if (opts.topK)
|
|
113
174
|
searchOpts.topK = opts.topK;
|
|
114
|
-
|
|
115
|
-
const results = await this.client.search(query, searchOpts);
|
|
175
|
+
const results = await waitWithCancellation(this.runWithSignal(opts.signal, () => this.client.search(query, searchOpts)), opts.signal);
|
|
116
176
|
return normalizeResults(results);
|
|
117
177
|
}
|
|
118
178
|
async getAll(opts) {
|
|
119
|
-
await this.ensureClient();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
179
|
+
await waitWithCancellation(this.ensureClient(), opts.signal);
|
|
180
|
+
const filters = opts.agentId
|
|
181
|
+
? { OR: [{ user_id: opts.userId }, { agent_id: opts.agentId }] }
|
|
182
|
+
: { user_id: opts.userId };
|
|
183
|
+
const results = await waitWithCancellation(this.runWithSignal(opts.signal, () => this.client.getAll({
|
|
184
|
+
filters,
|
|
185
|
+
})), opts.signal);
|
|
124
186
|
return normalizeResults(results);
|
|
125
187
|
}
|
|
126
|
-
async
|
|
127
|
-
await this.
|
|
128
|
-
|
|
129
|
-
|
|
188
|
+
async getDedupGroups(opts) {
|
|
189
|
+
const groups = [await this.getAllPages({ user_id: opts.userId }, opts.signal)];
|
|
190
|
+
if (opts.agentId) {
|
|
191
|
+
groups.push(await this.getAllPages({ agent_id: opts.agentId }, opts.signal));
|
|
192
|
+
}
|
|
193
|
+
return groups;
|
|
194
|
+
}
|
|
195
|
+
async getAllPages(filters, signal) {
|
|
196
|
+
await waitWithCancellation(this.ensureClient(), signal);
|
|
197
|
+
const memories = [];
|
|
198
|
+
let expectedCount;
|
|
199
|
+
for (let page = 1;; page++) {
|
|
200
|
+
const result = await waitWithCancellation(this.runWithSignal(signal, () => this.client.getAll({ filters, page, pageSize: DEDUP_PAGE_SIZE })), signal);
|
|
201
|
+
const count = result && typeof result === 'object' && 'count' in result ? result.count : null;
|
|
202
|
+
if (typeof count !== 'number' || !Number.isInteger(count) || count < 0) {
|
|
203
|
+
throw new Error('Mem0 dedup pagination returned an invalid count.');
|
|
204
|
+
}
|
|
205
|
+
if (count > MAX_DEDUP_ITEMS_PER_SCOPE) {
|
|
206
|
+
throw new Error(`Mem0 dedup scope exceeds ${MAX_DEDUP_ITEMS_PER_SCOPE} memories.`);
|
|
207
|
+
}
|
|
208
|
+
if (expectedCount !== undefined && count !== expectedCount) {
|
|
209
|
+
throw new Error('Mem0 dedup pagination count changed between pages.');
|
|
210
|
+
}
|
|
211
|
+
expectedCount = count;
|
|
212
|
+
const pageMemories = normalizeResults(result);
|
|
213
|
+
memories.push(...pageMemories);
|
|
214
|
+
if (memories.length > MAX_DEDUP_ITEMS_PER_SCOPE) {
|
|
215
|
+
throw new Error(`Mem0 dedup scope exceeds ${MAX_DEDUP_ITEMS_PER_SCOPE} memories.`);
|
|
216
|
+
}
|
|
217
|
+
const hasNext = Boolean(result && typeof result === 'object' && 'next' in result && result.next);
|
|
218
|
+
if (!hasNext) {
|
|
219
|
+
if (expectedCount !== undefined && memories.length !== expectedCount) {
|
|
220
|
+
throw new Error('Mem0 dedup pagination count does not match the returned memories.');
|
|
221
|
+
}
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
if (pageMemories.length === 0) {
|
|
225
|
+
throw new Error('Mem0 dedup pagination returned an empty page with a next link.');
|
|
226
|
+
}
|
|
227
|
+
if (page >= MAX_DEDUP_PAGES) {
|
|
228
|
+
throw new Error(`Mem0 dedup pagination exceeds ${MAX_DEDUP_PAGES} pages.`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return memories;
|
|
232
|
+
}
|
|
233
|
+
async delete(memoryId, opts) {
|
|
234
|
+
await waitWithCancellation(this.ensureClient(), opts?.signal);
|
|
235
|
+
await waitWithCancellation(this.runWithSignal(opts?.signal, () => this.client.delete(memoryId)), opts?.signal);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Self-Hosted Provider
|
|
239
|
+
// ---------------------------------------------------------------------------
|
|
240
|
+
class SelfHostedProvider {
|
|
241
|
+
apiKey;
|
|
242
|
+
requestTimeoutMs;
|
|
243
|
+
baseUrl;
|
|
244
|
+
constructor(baseUrl, apiKey, requestTimeoutMs = 30_000) {
|
|
245
|
+
this.apiKey = apiKey;
|
|
246
|
+
this.requestTimeoutMs = requestTimeoutMs;
|
|
247
|
+
if (!Number.isFinite(requestTimeoutMs) || requestTimeoutMs <= 0) {
|
|
248
|
+
throw new Error('Self-hosted requestTimeoutMs must be a positive number.');
|
|
249
|
+
}
|
|
250
|
+
const url = new URL(baseUrl);
|
|
251
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
252
|
+
throw new Error('Self-hosted mode requires an HTTP(S) baseUrl.');
|
|
253
|
+
}
|
|
254
|
+
this.baseUrl = url.toString().replace(/\/$/, '');
|
|
255
|
+
}
|
|
256
|
+
async request(path, init, callerSignal) {
|
|
257
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
258
|
+
if (this.apiKey)
|
|
259
|
+
headers['X-API-Key'] = this.apiKey;
|
|
260
|
+
const timeoutSignal = AbortSignal.timeout(this.requestTimeoutMs);
|
|
261
|
+
const signal = callerSignal ? AbortSignal.any([callerSignal, timeoutSignal]) : timeoutSignal;
|
|
262
|
+
let response;
|
|
263
|
+
try {
|
|
264
|
+
response = await fetch(`${this.baseUrl}${path}`, { ...init, headers, signal });
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
if (callerSignal?.aborted) {
|
|
268
|
+
throw callerSignal.reason instanceof Error
|
|
269
|
+
? callerSignal.reason
|
|
270
|
+
: new Error('Mem0 request cancelled.');
|
|
271
|
+
}
|
|
272
|
+
if (timeoutSignal.aborted)
|
|
273
|
+
throw new Error('Mem0 request timed out.');
|
|
274
|
+
throw new Error('Mem0 request failed.');
|
|
275
|
+
}
|
|
276
|
+
if (!response.ok)
|
|
277
|
+
throw new Error(`Mem0 request failed (${response.status}).`);
|
|
278
|
+
try {
|
|
279
|
+
return await response.json();
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
if (callerSignal?.aborted)
|
|
283
|
+
throw cancellationReason(callerSignal);
|
|
284
|
+
if (timeoutSignal.aborted)
|
|
285
|
+
throw new Error('Mem0 request timed out.');
|
|
286
|
+
throw new Error('Mem0 returned an invalid response.');
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
async add(messages, opts) {
|
|
290
|
+
return (await this.request('/memories', {
|
|
291
|
+
method: 'POST',
|
|
292
|
+
body: JSON.stringify({
|
|
293
|
+
messages,
|
|
294
|
+
user_id: opts.userId,
|
|
295
|
+
...(opts.agentId ? { agent_id: opts.agentId } : {}),
|
|
296
|
+
...(opts.infer === undefined ? {} : { infer: opts.infer }),
|
|
297
|
+
}),
|
|
298
|
+
}, opts.signal));
|
|
299
|
+
}
|
|
300
|
+
async search(query, opts) {
|
|
301
|
+
const result = await this.request('/search', {
|
|
302
|
+
method: 'POST',
|
|
303
|
+
body: JSON.stringify({
|
|
304
|
+
query,
|
|
305
|
+
filters: {
|
|
306
|
+
user_id: opts.userId,
|
|
307
|
+
...(opts.agentId ? { agent_id: opts.agentId } : {}),
|
|
308
|
+
},
|
|
309
|
+
...(opts.topK === undefined ? {} : { top_k: opts.topK }),
|
|
310
|
+
}),
|
|
311
|
+
}, opts.signal);
|
|
312
|
+
return normalizeResults(result);
|
|
313
|
+
}
|
|
314
|
+
async getAll(opts) {
|
|
315
|
+
const params = new URLSearchParams({ user_id: opts.userId });
|
|
316
|
+
if (opts.agentId)
|
|
317
|
+
params.set('agent_id', opts.agentId);
|
|
318
|
+
const result = await this.request(`/memories?${params}`, { method: 'GET' }, opts.signal);
|
|
319
|
+
return normalizeResults(result);
|
|
320
|
+
}
|
|
321
|
+
async getDedupGroups(opts) {
|
|
322
|
+
const params = new URLSearchParams({ user_id: opts.userId });
|
|
323
|
+
if (opts.agentId)
|
|
324
|
+
params.set('agent_id', opts.agentId);
|
|
325
|
+
params.set('top_k', String(SELF_HOSTED_DEDUP_LIMIT));
|
|
326
|
+
const result = await this.request(`/memories?${params}`, { method: 'GET' }, opts.signal);
|
|
327
|
+
const memories = normalizeResults(result);
|
|
328
|
+
if (memories.length >= SELF_HOSTED_DEDUP_LIMIT) {
|
|
329
|
+
throw new Error(`Mem0 self-hosted dedup scope may exceed ${SELF_HOSTED_DEDUP_LIMIT - 1} memories.`);
|
|
330
|
+
}
|
|
331
|
+
return [memories];
|
|
332
|
+
}
|
|
333
|
+
async delete(memoryId, opts) {
|
|
334
|
+
await this.request(`/memories/${encodeURIComponent(memoryId)}`, { method: 'DELETE' }, opts?.signal);
|
|
130
335
|
}
|
|
131
336
|
}
|
|
132
337
|
/**
|
|
@@ -312,8 +517,11 @@ class OSSProvider {
|
|
|
312
517
|
await mem.getAll({ filters: { user_id: '__warmup__' } });
|
|
313
518
|
}
|
|
314
519
|
async add(messages, opts) {
|
|
315
|
-
await this.ensureMemory();
|
|
316
|
-
const addOpts = {
|
|
520
|
+
await waitWithCancellation(this.ensureMemory(), opts.signal);
|
|
521
|
+
const addOpts = {
|
|
522
|
+
userId: opts.userId,
|
|
523
|
+
...(opts.agentId ? { agentId: opts.agentId } : {}),
|
|
524
|
+
};
|
|
317
525
|
if (opts.infer === false)
|
|
318
526
|
addOpts.infer = false;
|
|
319
527
|
// Serialize add() when observedAt is used. mem0 never exposes the
|
|
@@ -326,11 +534,12 @@ class OSSProvider {
|
|
|
326
534
|
this.addMutex = new Promise((res) => {
|
|
327
535
|
release = res;
|
|
328
536
|
});
|
|
537
|
+
let operation;
|
|
538
|
+
let restoreLlm;
|
|
329
539
|
try {
|
|
330
|
-
await gate;
|
|
540
|
+
await waitWithCancellation(gate, opts.signal);
|
|
331
541
|
// biome-ignore lint/suspicious/noExplicitAny: mem0ai/oss lacks type definitions
|
|
332
542
|
const mem = this.memory;
|
|
333
|
-
let restoreLlm;
|
|
334
543
|
if (opts.observedAt) {
|
|
335
544
|
const dateStr = formatObservedAt(opts.observedAt);
|
|
336
545
|
const llm = mem.llm;
|
|
@@ -345,53 +554,82 @@ class OSSProvider {
|
|
|
345
554
|
llm.generateResponse = originalGenerate;
|
|
346
555
|
};
|
|
347
556
|
}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
}
|
|
352
|
-
finally {
|
|
353
|
-
restoreLlm?.();
|
|
354
|
-
}
|
|
557
|
+
operation = Promise.resolve(mem.add(messages, addOpts)).finally(() => restoreLlm?.());
|
|
558
|
+
void operation.then(() => release(undefined), () => release(undefined));
|
|
559
|
+
return await waitWithCancellation(operation, opts.signal);
|
|
355
560
|
}
|
|
356
561
|
finally {
|
|
357
|
-
|
|
562
|
+
if (!operation) {
|
|
563
|
+
restoreLlm?.();
|
|
564
|
+
void gate.then(() => release(undefined), () => release(undefined));
|
|
565
|
+
}
|
|
358
566
|
}
|
|
359
567
|
}
|
|
360
568
|
async search(query, opts) {
|
|
361
|
-
await this.ensureMemory();
|
|
569
|
+
await waitWithCancellation(this.ensureMemory(), opts.signal);
|
|
362
570
|
const searchOpts = {
|
|
363
|
-
filters: {
|
|
571
|
+
filters: {
|
|
572
|
+
user_id: opts.userId,
|
|
573
|
+
...(opts.agentId ? { agent_id: opts.agentId } : {}),
|
|
574
|
+
},
|
|
364
575
|
};
|
|
365
576
|
if (opts.topK)
|
|
366
577
|
searchOpts.topK = opts.topK;
|
|
578
|
+
const results = await waitWithCancellation(
|
|
367
579
|
// biome-ignore lint/suspicious/noExplicitAny: mem0ai/oss lacks type definitions
|
|
368
|
-
|
|
580
|
+
this.memory.search(query, searchOpts), opts.signal);
|
|
369
581
|
return normalizeResults(results);
|
|
370
582
|
}
|
|
371
583
|
async getAll(opts) {
|
|
372
|
-
await this.ensureMemory();
|
|
584
|
+
await waitWithCancellation(this.ensureMemory(), opts.signal);
|
|
585
|
+
const results = await waitWithCancellation(
|
|
373
586
|
// biome-ignore lint/suspicious/noExplicitAny: mem0ai/oss lacks type definitions
|
|
374
|
-
|
|
375
|
-
filters: {
|
|
376
|
-
|
|
587
|
+
this.memory.getAll({
|
|
588
|
+
filters: {
|
|
589
|
+
user_id: opts.userId,
|
|
590
|
+
...(opts.agentId ? { agent_id: opts.agentId } : {}),
|
|
591
|
+
},
|
|
592
|
+
}), opts.signal);
|
|
377
593
|
return normalizeResults(results);
|
|
378
594
|
}
|
|
379
|
-
async
|
|
380
|
-
await this.ensureMemory();
|
|
595
|
+
async getDedupGroups(opts) {
|
|
596
|
+
await waitWithCancellation(this.ensureMemory(), opts.signal);
|
|
597
|
+
const results = await waitWithCancellation(
|
|
381
598
|
// biome-ignore lint/suspicious/noExplicitAny: mem0ai/oss lacks type definitions
|
|
382
|
-
|
|
599
|
+
this.memory.getAll({
|
|
600
|
+
filters: {
|
|
601
|
+
user_id: opts.userId,
|
|
602
|
+
...(opts.agentId ? { agent_id: opts.agentId } : {}),
|
|
603
|
+
},
|
|
604
|
+
topK: MAX_DEDUP_ITEMS_PER_SCOPE + 1,
|
|
605
|
+
}), opts.signal);
|
|
606
|
+
const memories = normalizeResults(results);
|
|
607
|
+
if (memories.length > MAX_DEDUP_ITEMS_PER_SCOPE) {
|
|
608
|
+
throw new Error(`Mem0 dedup scope exceeds ${MAX_DEDUP_ITEMS_PER_SCOPE} memories.`);
|
|
609
|
+
}
|
|
610
|
+
return [memories];
|
|
611
|
+
}
|
|
612
|
+
async delete(memoryId, opts) {
|
|
613
|
+
await waitWithCancellation(this.ensureMemory(), opts?.signal);
|
|
614
|
+
// biome-ignore lint/suspicious/noExplicitAny: mem0ai/oss lacks type definitions
|
|
615
|
+
await waitWithCancellation(this.memory.delete(memoryId), opts?.signal);
|
|
383
616
|
}
|
|
384
617
|
}
|
|
385
618
|
export async function createMem0Provider(opts) {
|
|
386
619
|
const { config, resolveKey, resolveProvider } = opts;
|
|
387
|
-
const mode = config.mode
|
|
388
|
-
if (mode === '
|
|
620
|
+
const mode = normalizeMem0Mode(config.mode);
|
|
621
|
+
if (mode === 'embedded') {
|
|
389
622
|
const useRegistry = config.useRegistryKeys !== false;
|
|
390
623
|
const provider = new OSSProvider(config.oss, useRegistry ? resolveKey : undefined, useRegistry ? resolveProvider : undefined);
|
|
391
624
|
// biome-ignore lint/suspicious/noExplicitAny: mem0ai/oss lacks type definitions
|
|
392
625
|
await provider.ensureMemory();
|
|
393
626
|
return provider;
|
|
394
627
|
}
|
|
628
|
+
if (mode === 'self-hosted') {
|
|
629
|
+
if (!config.baseUrl?.trim())
|
|
630
|
+
throw new Error('Self-hosted mode requires baseUrl.');
|
|
631
|
+
return new SelfHostedProvider(config.baseUrl.trim(), config.apiKey?.trim() || undefined, config.requestTimeoutMs);
|
|
632
|
+
}
|
|
395
633
|
if (!config.apiKey?.trim()) {
|
|
396
634
|
throw new Error('Platform mode requires apiKey.');
|
|
397
635
|
}
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Active memory tool — the LLM-callable interface over the Mem0 provider.
|
|
3
|
+
*
|
|
4
|
+
* Borrowed from the official @mem0/pi-agent-plugin design (a single
|
|
5
|
+
* action-dispatched tool), but built on this package's Mem0Provider so it
|
|
6
|
+
* works with platform, embedded, and self-hosted backends, and keeps the
|
|
7
|
+
* package's security boundaries: credentials are redacted before storage,
|
|
8
|
+
* and memory text returned to the model is wrapped as untrusted data.
|
|
3
9
|
*/
|
|
4
|
-
import {
|
|
10
|
+
import type { ToolDefinition } from '@earendil-works/pi-coding-agent';
|
|
5
11
|
import type { Mem0Provider } from './provider.js';
|
|
6
|
-
export interface
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
export interface Mem0MemoryToolOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Resolved at execute time, not registration time: the tool is registered
|
|
15
|
+
* once per session_start, and a later session may switch memoryMode or tear
|
|
16
|
+
* the provider down. Reading through the accessor keeps the lingering tool
|
|
17
|
+
* registration from acting on a stale session's provider.
|
|
18
|
+
*/
|
|
19
|
+
getProvider: () => Mem0Provider | undefined;
|
|
20
|
+
getUserId: () => string;
|
|
21
|
+
getAgentId: () => string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* The runtime keeps tool registrations for the life of the extension — a
|
|
24
|
+
* tool registered in a hybrid/active session is still callable after a
|
|
25
|
+
* later session switches to passive. This gate makes the stale registration
|
|
26
|
+
* report itself disabled instead of acting on the passive session.
|
|
27
|
+
*/
|
|
28
|
+
isEnabled: () => boolean;
|
|
29
|
+
topK?: number;
|
|
13
30
|
}
|
|
14
|
-
export declare function
|
|
31
|
+
export declare function createMem0MemoryTool(opts: Mem0MemoryToolOptions): ToolDefinition;
|
|
15
32
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqCD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CA6FhF"}
|