@amaster.ai/pi-memory-mem0 0.1.2-beta.58 → 0.1.2-beta.59

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 CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  ![pi-memory-mem0 preview](https://raw.githubusercontent.com/TGYD-helige/pi/master/packages/pi-memory-mem0/preview.png)
4
4
 
5
- Passive semantic memory extension powered by [Mem0](https://mem0.ai), with Platform, embedded, and self-hosted modes.
5
+ Semantic memory extension powered by [Mem0](https://mem0.ai), with Platform, embedded, and self-hosted backends and three memory modes (hybrid, active, passive).
6
6
 
7
7
  ## How It Works
8
8
 
9
- After each conversation turn, the user + assistant messages are automatically sent to Mem0 for fact extraction and storage. When you send a prompt, a semantic search is prefetched in the background and relevant memories are recalled before the agent starts — **zero effort required**.
9
+ **Passive side**: after each conversation turn, the user + assistant messages are automatically sent to Mem0 for fact extraction and storage. When you send a prompt, a semantic search is prefetched in the background and relevant memories are recalled before the agent starts — **zero effort required**.
10
+
11
+ **Active side**: the agent gets a `mem0_memory` tool (`search` / `add` / `get_all` / `delete`) so it can look up and manage memories on its own initiative — same idea as the official `@mem0/pi-agent-plugin`, but backed by this package's provider abstraction, so it works with Platform, embedded, **and** self-hosted Mem0.
10
12
 
11
13
  Safety boundaries:
12
14
 
@@ -17,12 +19,31 @@ Safety boundaries:
17
19
 
18
20
  ## Modes
19
21
 
22
+ ### Backend Modes
23
+
20
24
  | Mode | Vector Store | Persistence | Dependencies | Use Case |
21
25
  |------|-------------|-------------|--------------|----------|
22
26
  | `platform` | Mem0 Cloud | Cloud-managed | `MEM0_API_KEY` | Quick start, multi-device sync |
23
27
  | `embedded` | Mem0 OSS vector store | Vector-store managed | LLM + Embedding API | Data privacy, no Mem0 Cloud |
24
28
  | `self-hosted` | Mem0 OSS REST server | Server-managed | Server URL, optional API key | Shared infrastructure |
25
29
 
30
+ ### Memory Modes
31
+
32
+ | `memoryMode` | Auto capture + recall | `mem0_memory` tool | Use Case |
33
+ |--------------|----------------------|--------------------|----------|
34
+ | `hybrid` (default) | ✅ | ✅ | Best recall: automatic context plus agent-driven lookup |
35
+ | `active` | ❌ | ✅ | No background traffic; the agent decides every read/write |
36
+ | `passive` | ✅ | ❌ | Zero tool surface; fully automatic memory |
37
+
38
+ ```json
39
+ {
40
+ "pi-memory-mem0": {
41
+ "mode": "embedded",
42
+ "memoryMode": "hybrid"
43
+ }
44
+ }
45
+ ```
46
+
26
47
  ## Architecture (Embedded Mode)
27
48
 
28
49
  ```
@@ -165,6 +186,7 @@ The configured vector store always owns persistence. To request an intentionally
165
186
  | Field | Type | Default | Description |
166
187
  |-------|------|---------|-------------|
167
188
  | `mode` | `"platform"` \| `"embedded"` \| `"self-hosted"` | `"platform"` | Operating mode |
189
+ | `memoryMode` | `"hybrid"` \| `"active"` \| `"passive"` | `"hybrid"` | Memory behavior: tool + automation, tool only, or automation only |
168
190
  | `apiKey` | string | — | Platform or self-hosted API key. Supports `${MEM0_API_KEY}` |
169
191
  | `baseUrl` | string | `https://api.mem0.ai` | Platform override; required for self-hosted mode |
170
192
  | `requestTimeoutMs` | number | `30000` | Self-hosted request timeout |
@@ -222,22 +244,39 @@ The default Embedded configuration depends on `better-sqlite3` (native addon, tr
222
244
 
223
245
  If `better-sqlite3` fails to load (for example, because of a Node ABI mismatch), the default `memory` vector store cannot start. An external vector store can still be used with history disabled or configured to a working provider.
224
246
 
247
+ ## Tools
248
+
249
+ When `memoryMode` is `hybrid` or `active`, the agent gets one action-dispatched tool:
250
+
251
+ ```
252
+ mem0_memory(action="search", query="...") # Semantic search over memories
253
+ mem0_memory(action="add", content="...") # Store a durable fact
254
+ mem0_memory(action="get_all") # List every stored memory
255
+ mem0_memory(action="delete", memory_id="...") # Remove a memory by id
256
+ ```
257
+
258
+ Stored content is credential-redacted first; results are returned with the same
259
+ `[UNTRUSTED MEMORY DATA]` wrapping as passive recall, including the memory ids
260
+ needed for `delete`.
261
+
225
262
  ## Commands
226
263
 
227
264
  ```
228
265
  /mem0 status # Show current status
229
266
  /mem0 search <query> # Semantic search
230
267
  /mem0 profile # List all memories
268
+ /mem0 add <text> # Store a memory manually
269
+ /mem0 delete <id> # Remove a memory by id
231
270
  ```
232
271
 
233
272
  ## Relationship with pi-memory
234
273
 
235
274
  `pi-memory-mem0` and `pi-memory` run **independently in parallel** as separate extensions:
236
275
 
237
- - `pi-memory`: Active memory — the agent explicitly manages memories via tools, local `.md` files, hard char limits
238
- - `pi-memory-mem0`: Passive memory — automatic extraction/storage and semantic recall, no capacity limits
276
+ - `pi-memory`: Curated memory — the agent explicitly manages memories via the `memory_add` / `memory_replace` / `memory_remove` / `memory_read` tools, local `.md` files, hard char limits
277
+ - `pi-memory-mem0`: Semantic memory — automatic extraction/storage and semantic recall (passive), plus the `mem0_memory` tool for agent-driven semantic lookup (active); no capacity limits
239
278
 
240
- They do not interfere with each other. `pi-memory-mem0` injects recalled text as a
279
+ They do not interfere with each other, and their tool names do not collide. `pi-memory-mem0` injects recalled text as a
241
280
  custom user-channel message (never the system prompt); `pi-memory` injects its own
242
281
  context separately.
243
282
 
package/dist/index.d.ts CHANGED
@@ -1,15 +1,23 @@
1
1
  /**
2
- * pi-memory-mem0 — Passive semantic memory extension powered by Mem0.
2
+ * pi-memory-mem0 — Semantic memory extension powered by Mem0.
3
3
  *
4
- * Modes:
4
+ * Backend modes:
5
5
  * - **platform**: Uses Mem0 Cloud API (needs MEM0_API_KEY)
6
6
  * - **embedded**: Runs Mem0 OSS in-process
7
7
  * - **self-hosted**: Calls a remote Mem0 OSS REST server
8
8
  *
9
- * After each conversation turn, user + assistant messages are sent to Mem0
10
- * for fact extraction and storage (credentials are redacted first). Recalled
11
- * memories are injected as a custom message (delivered to the model on the
12
- * user channel, never the system prompt) and wrapped as untrusted data.
9
+ * Memory modes (config "memoryMode"):
10
+ * - **passive**: automatic capture + recall injection only
11
+ * - **active**: LLM-callable mem0_memory tool only
12
+ * - **hybrid** (default): both
13
+ *
14
+ * Passive side: after each conversation turn, user + assistant messages are
15
+ * sent to Mem0 for fact extraction and storage (credentials are redacted
16
+ * first). Recalled memories are injected as a custom message (delivered to
17
+ * the model on the user channel, never the system prompt) and wrapped as
18
+ * untrusted data. Active side: the mem0_memory tool lets the agent search,
19
+ * add, list, and delete memories on its own initiative, under the same
20
+ * redaction and untrusted-data boundaries.
13
21
  *
14
22
  * Configuration via settings.json key "pi-memory-mem0".
15
23
  * Supports ${ENV_VAR:-fallback} in user and agent settings.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AA4BpE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAqL5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAkCpE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAoP5D"}
package/dist/index.js CHANGED
@@ -1,15 +1,23 @@
1
1
  /**
2
- * pi-memory-mem0 — Passive semantic memory extension powered by Mem0.
2
+ * pi-memory-mem0 — Semantic memory extension powered by Mem0.
3
3
  *
4
- * Modes:
4
+ * Backend modes:
5
5
  * - **platform**: Uses Mem0 Cloud API (needs MEM0_API_KEY)
6
6
  * - **embedded**: Runs Mem0 OSS in-process
7
7
  * - **self-hosted**: Calls a remote Mem0 OSS REST server
8
8
  *
9
- * After each conversation turn, user + assistant messages are sent to Mem0
10
- * for fact extraction and storage (credentials are redacted first). Recalled
11
- * memories are injected as a custom message (delivered to the model on the
12
- * user channel, never the system prompt) and wrapped as untrusted data.
9
+ * Memory modes (config "memoryMode"):
10
+ * - **passive**: automatic capture + recall injection only
11
+ * - **active**: LLM-callable mem0_memory tool only
12
+ * - **hybrid** (default): both
13
+ *
14
+ * Passive side: after each conversation turn, user + assistant messages are
15
+ * sent to Mem0 for fact extraction and storage (credentials are redacted
16
+ * first). Recalled memories are injected as a custom message (delivered to
17
+ * the model on the user channel, never the system prompt) and wrapped as
18
+ * untrusted data. Active side: the mem0_memory tool lets the agent search,
19
+ * add, list, and delete memories on its own initiative, under the same
20
+ * redaction and untrusted-data boundaries.
13
21
  *
14
22
  * Configuration via settings.json key "pi-memory-mem0".
15
23
  * Supports ${ENV_VAR:-fallback} in user and agent settings.
@@ -18,7 +26,8 @@
18
26
  import { isProjectTrusted, loadPiSettings } from '@amaster.ai/pi-shared/settings';
19
27
  import { Prefetch } from './prefetch.js';
20
28
  import { formatRecalledMemory, redactMemoryText, scopeMemoryUserId } from './privacy.js';
21
- import { createMem0Provider, normalizeMem0Mode } from './provider.js';
29
+ import { createMem0Provider, normalizeMem0Mode, normalizeMemoryMode, } from './provider.js';
30
+ import { createMem0MemoryTool } from './tools.js';
22
31
  const SETTINGS_KEY = 'pi-memory-mem0';
23
32
  const STATUS_KEY = 'mem0';
24
33
  function loadConfig(cwd, projectTrusted = false) {
@@ -48,20 +57,30 @@ export default function mem0Extension(pi) {
48
57
  let prefetch;
49
58
  let userId = '';
50
59
  let activeMode = '';
60
+ let activeMemoryMode = '';
61
+ let activeToolEnabled = false;
51
62
  let lastUserText = '';
52
63
  let pendingWrite = Promise.resolve();
64
+ let sessionEpoch = 0;
53
65
  pi.on('session_start', async (_event, ctx) => {
66
+ // A newer session_start (or shutdown) can run while this handler is still
67
+ // awaiting provider init (embedded init takes seconds). The epoch check
68
+ // after the await keeps the superseded handler from clobbering the live
69
+ // session's provider, prefetch, and tool-enablement state.
70
+ const epoch = ++sessionEpoch;
54
71
  provider = undefined;
55
72
  prefetch = undefined;
73
+ activeToolEnabled = false;
56
74
  const config = loadConfig(ctx.cwd, isProjectTrusted(ctx));
57
75
  try {
58
76
  const mode = normalizeMem0Mode(config.mode);
77
+ const memoryMode = normalizeMemoryMode(config.memoryMode);
59
78
  if (mode === 'platform' && !config.apiKey?.trim()) {
60
79
  ctx.ui.setStatus(STATUS_KEY, 'mem0: disabled (no API key)');
61
80
  return;
62
81
  }
63
82
  const resolvedUserId = resolveUserId(config.userId, config.userIdScope);
64
- provider = await createMem0Provider({
83
+ const newProvider = await createMem0Provider({
65
84
  config,
66
85
  resolveProvider: async (providerName) => {
67
86
  const registry = ctx.modelRegistry;
@@ -84,16 +103,36 @@ export default function mem0Extension(pi) {
84
103
  return result;
85
104
  },
86
105
  });
106
+ if (epoch !== sessionEpoch)
107
+ return;
108
+ provider = newProvider;
87
109
  userId = scopeMemoryUserId(resolvedUserId, ctx.cwd, config.userIdScope);
88
110
  activeMode = mode;
89
- prefetch = new Prefetch(provider, userId, { topK: config.topK ?? 5 });
111
+ activeMemoryMode = memoryMode;
112
+ if (memoryMode !== 'active') {
113
+ prefetch = new Prefetch(provider, userId, { topK: config.topK ?? 5 });
114
+ }
115
+ if (memoryMode !== 'passive') {
116
+ activeToolEnabled = true;
117
+ pi.registerTool(createMem0MemoryTool({
118
+ getProvider: () => provider,
119
+ getUserId: () => userId,
120
+ isEnabled: () => activeToolEnabled,
121
+ topK: config.topK ?? 5,
122
+ }));
123
+ }
90
124
  }
91
125
  catch (err) {
126
+ if (epoch !== sessionEpoch)
127
+ return;
128
+ provider = undefined;
129
+ prefetch = undefined;
130
+ activeToolEnabled = false;
92
131
  ctx.ui.setStatus(STATUS_KEY, 'mem0: init failed');
93
132
  ctx.ui.notify(`Mem0 init failed: ${err instanceof Error ? err.message : String(err)}`, 'error');
94
133
  return;
95
134
  }
96
- ctx.ui.setStatus(STATUS_KEY, `mem0: ${activeMode}`);
135
+ ctx.ui.setStatus(STATUS_KEY, `mem0: ${activeMode}/${activeMemoryMode}`);
97
136
  });
98
137
  pi.on('input', async (event) => {
99
138
  if (!prefetch)
@@ -105,7 +144,7 @@ export default function mem0Extension(pi) {
105
144
  }
106
145
  });
107
146
  pi.on('turn_end', async (event) => {
108
- if (!provider || !lastUserText)
147
+ if (!provider || !prefetch || !lastUserText)
109
148
  return;
110
149
  const msg = event.message;
111
150
  const text = extractText(msg);
@@ -148,14 +187,16 @@ export default function mem0Extension(pi) {
148
187
  };
149
188
  });
150
189
  pi.on('session_shutdown', async () => {
190
+ sessionEpoch++;
151
191
  await pendingWrite;
152
192
  provider = undefined;
153
193
  prefetch = undefined;
194
+ activeToolEnabled = false;
154
195
  lastUserText = '';
155
196
  pendingWrite = Promise.resolve();
156
197
  });
157
198
  pi.registerCommand('mem0', {
158
- description: 'Mem0 memory commands. Subcommands: status, search <query>, profile.',
199
+ description: 'Mem0 memory commands. Subcommands: status, search <query>, profile, add <text>, delete <id>.',
159
200
  handler: async (args, ctx) => {
160
201
  if (!provider) {
161
202
  ctx.ui.notify('Mem0 is not active.', 'warning');
@@ -166,7 +207,7 @@ export default function mem0Extension(pi) {
166
207
  const rest = parts.slice(1).join(' ').trim();
167
208
  switch (subcommand) {
168
209
  case 'status': {
169
- ctx.ui.notify(`Mem0: active (mode: ${activeMode})`, 'info');
210
+ ctx.ui.notify(`Mem0: active (mode: ${activeMode}/${activeMemoryMode})`, 'info');
170
211
  break;
171
212
  }
172
213
  case 'search': {
@@ -202,8 +243,36 @@ export default function mem0Extension(pi) {
202
243
  }
203
244
  break;
204
245
  }
246
+ case 'add': {
247
+ if (!rest) {
248
+ ctx.ui.notify('Usage: /mem0 add <text>', 'warning');
249
+ break;
250
+ }
251
+ const result = await provider.add([{ role: 'user', content: redactMemoryText(rest) }], {
252
+ userId,
253
+ ...(ctx.signal ? { signal: ctx.signal } : {}),
254
+ });
255
+ const created = result?.results ?? [];
256
+ if (created.length === 0) {
257
+ ctx.ui.notify('No memory was extracted from the provided text.', 'info');
258
+ }
259
+ else {
260
+ const lines = created.map((m, i) => `${i + 1}. ${formatRecalledMemory(m.memory)}`);
261
+ ctx.ui.notify(`Mem0 saved ${created.length}:\n${lines.join('\n')}`, 'info');
262
+ }
263
+ break;
264
+ }
265
+ case 'delete': {
266
+ if (!rest) {
267
+ ctx.ui.notify('Usage: /mem0 delete <memory-id>', 'warning');
268
+ break;
269
+ }
270
+ await provider.delete(rest, ctx.signal ? { signal: ctx.signal } : {});
271
+ ctx.ui.notify(`Deleted memory ${rest}.`, 'info');
272
+ break;
273
+ }
205
274
  default:
206
- ctx.ui.notify('Unknown subcommand. Available: status, search, profile.', 'warning');
275
+ ctx.ui.notify('Unknown subcommand. Available: status, search, profile, add, delete.', 'warning');
207
276
  }
208
277
  },
209
278
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * configures it with a file under Pi home by default and lets mem0 own persistence
11
11
  * directly.
12
12
  */
13
- import type { AddResult, Mem0ExtensionConfig, Mem0Mode, MemoryItem } from './types.js';
13
+ import type { AddResult, Mem0ExtensionConfig, Mem0MemoryMode, Mem0Mode, MemoryItem } from './types.js';
14
14
  export interface Mem0Provider {
15
15
  add(messages: Array<{
16
16
  role: string;
@@ -35,6 +35,7 @@ export interface Mem0Provider {
35
35
  }): Promise<void>;
36
36
  }
37
37
  export declare function normalizeMem0Mode(mode: unknown): Mem0Mode;
38
+ export declare function normalizeMemoryMode(memoryMode: unknown): Mem0MemoryMode;
38
39
  /**
39
40
  * Format an observedAt value as YYYY-MM-DD for mem0's Observation Date field.
40
41
  * mem0's extraction prompt grounds relative times ("yesterday", "last week")
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMvF,MAAM,WAAW,YAAY;IAC3B,GAAG,CACD,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1F,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE7B,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC5D,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEzB,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAKzD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI/E;AAyRD,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5E,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,2FAA2F;AAC3F,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtF;AA4QD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wGAAwG;IACxG,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6B3F"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,YAAY;IAC3B,GAAG,CACD,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1F,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE7B,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC5D,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEzB,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAKzD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,OAAO,GAAG,cAAc,CAMvE;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI/E;AAyRD,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5E,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,2FAA2F;AAC3F,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtF;AA4QD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wGAAwG;IACxG,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6B3F"}
package/dist/provider.js CHANGED
@@ -23,6 +23,14 @@ export function normalizeMem0Mode(mode) {
23
23
  return mode;
24
24
  throw new Error(`Unsupported Mem0 mode: ${String(mode)}`);
25
25
  }
26
+ export function normalizeMemoryMode(memoryMode) {
27
+ if (memoryMode === undefined || memoryMode === null)
28
+ return 'hybrid';
29
+ if (memoryMode === 'hybrid' || memoryMode === 'active' || memoryMode === 'passive') {
30
+ return memoryMode;
31
+ }
32
+ throw new Error(`Unsupported memory mode: ${String(memoryMode)}`);
33
+ }
26
34
  // ---------------------------------------------------------------------------
27
35
  // Normalizers
28
36
  // ---------------------------------------------------------------------------
@@ -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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"}
@@ -0,0 +1,31 @@
1
+ /**
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.
9
+ */
10
+ import type { ToolDefinition } from '@earendil-works/pi-coding-agent';
11
+ import type { Mem0Provider } from './provider.js';
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
+ /**
22
+ * The runtime keeps tool registrations for the life of the extension — a
23
+ * tool registered in a hybrid/active session is still callable after a
24
+ * later session switches to passive. This gate makes the stale registration
25
+ * report itself disabled instead of acting on the passive session.
26
+ */
27
+ isEnabled: () => boolean;
28
+ topK?: number;
29
+ }
30
+ export declare function createMem0MemoryTool(opts: Mem0MemoryToolOptions): ToolDefinition;
31
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
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;;;;;OAKG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqCD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CA2FhF"}
package/dist/tools.js ADDED
@@ -0,0 +1,118 @@
1
+ /**
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.
9
+ */
10
+ import { StringEnum } from '@earendil-works/pi-ai';
11
+ import { truncateHead, truncateLine } from '@earendil-works/pi-coding-agent';
12
+ import { Type } from 'typebox';
13
+ import { formatRecalledMemory, redactMemoryText } from './privacy.js';
14
+ /** Tool results land in model context — keep the block small. */
15
+ const MAX_ENTRY_CHARS = 1_000;
16
+ const MAX_BLOCK_BYTES = 16 * 1024;
17
+ const MAX_BLOCK_LINES = 200;
18
+ function textResult(text) {
19
+ return { content: [{ type: 'text', text }], details: undefined };
20
+ }
21
+ function errorResult(text) {
22
+ return { isError: true, content: [{ type: 'text', text }], details: undefined };
23
+ }
24
+ function formatEntry(entry) {
25
+ const text = truncateLine(entry.memory.trim(), MAX_ENTRY_CHARS).text;
26
+ return `- ${entry.id}: ${formatRecalledMemory(text)}`;
27
+ }
28
+ function formatBlock(title, entries) {
29
+ const lines = entries.filter((e) => e.memory?.trim()).map(formatEntry);
30
+ if (lines.length === 0)
31
+ return textResult('No memories found.');
32
+ return textResult(truncateHead(`${title}\n${lines.join('\n')}`, {
33
+ maxBytes: MAX_BLOCK_BYTES,
34
+ maxLines: MAX_BLOCK_LINES,
35
+ }).content);
36
+ }
37
+ export function createMem0MemoryTool(opts) {
38
+ const topK = opts.topK ?? 5;
39
+ return {
40
+ name: 'mem0_memory',
41
+ label: 'Mem0 Memory',
42
+ description: 'Read and manage long-term semantic memories about the user and their projects. ' +
43
+ 'Memories are facts extracted from past conversations, stored in Mem0.\n\n' +
44
+ 'Actions:\n' +
45
+ '- search: semantic search over memories (requires query)\n' +
46
+ '- add: store a durable fact (requires content)\n' +
47
+ '- get_all: list every stored memory\n' +
48
+ '- delete: remove a memory by id (requires memory_id, taken from search/get_all results)',
49
+ promptSnippet: 'Search and manage long-term semantic memories (Mem0).',
50
+ promptGuidelines: [
51
+ 'Search mem0_memory BEFORE answering when the request could depend on the user’s past work, preferences, or prior decisions.',
52
+ 'Save durable facts proactively — user preferences, corrections, environment facts. Do not save task progress or temporary session state.',
53
+ ],
54
+ parameters: Type.Object({
55
+ action: StringEnum(['search', 'add', 'get_all', 'delete'], {
56
+ description: 'The memory operation to perform.',
57
+ }),
58
+ query: Type.Optional(Type.String({ description: 'Search query. Required for search.' })),
59
+ content: Type.Optional(Type.String({ description: 'Memory content to store. Required for add.' })),
60
+ memory_id: Type.Optional(Type.String({ description: 'Memory id to remove. Required for delete.' })),
61
+ }),
62
+ async execute(_toolCallId, params, signal, _onUpdate, _ctx) {
63
+ const action = String(params.action ?? '');
64
+ const signalOpts = signal ? { signal } : {};
65
+ if (!opts.isEnabled()) {
66
+ return errorResult('mem0_memory is disabled in this session.');
67
+ }
68
+ const provider = opts.getProvider();
69
+ if (!provider)
70
+ return errorResult('Mem0 is not active.');
71
+ const userId = opts.getUserId();
72
+ try {
73
+ switch (action) {
74
+ case 'search': {
75
+ const query = redactMemoryText(String(params.query ?? '').trim());
76
+ if (!query)
77
+ return errorResult('query is required for the search action.');
78
+ const results = await provider.search(query, { userId, topK, ...signalOpts });
79
+ return formatBlock(`## Memories matching "${query}"`, results);
80
+ }
81
+ case 'add': {
82
+ const content = redactMemoryText(String(params.content ?? '').trim());
83
+ if (!content)
84
+ return errorResult('content is required for the add action.');
85
+ const result = await provider.add([{ role: 'user', content }], {
86
+ userId,
87
+ ...signalOpts,
88
+ });
89
+ const created = result?.results ?? [];
90
+ if (created.length === 0) {
91
+ return textResult('No memory was extracted from the provided content.');
92
+ }
93
+ return formatBlock(`Saved ${created.length} memories:`, created);
94
+ }
95
+ case 'get_all': {
96
+ const results = await provider.getAll({ userId, ...signalOpts });
97
+ return formatBlock(`## All memories (${results.length})`, results);
98
+ }
99
+ case 'delete': {
100
+ const memoryId = String(params.memory_id ?? '').trim();
101
+ if (!memoryId)
102
+ return errorResult('memory_id is required for the delete action.');
103
+ await provider.delete(memoryId, signalOpts);
104
+ return textResult(`Deleted memory ${memoryId}.`);
105
+ }
106
+ default:
107
+ return errorResult(`Unknown action "${action}". Available: search, add, get_all, delete.`);
108
+ }
109
+ }
110
+ catch (err) {
111
+ const message = err instanceof Error ? err.message : String(err);
112
+ console.error(`[pi-memory-mem0] mem0_memory ${action} failed: ${message}`);
113
+ return errorResult(`mem0_memory ${action} failed: ${message}`);
114
+ }
115
+ },
116
+ };
117
+ }
118
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2,10 +2,17 @@
2
2
  * Configuration types for pi-memory-mem0.
3
3
  */
4
4
  export type Mem0Mode = 'platform' | 'embedded' | 'self-hosted';
5
+ export type Mem0MemoryMode = 'hybrid' | 'active' | 'passive';
5
6
  export type MemoryUserIdScope = 'project' | 'exact';
6
7
  export interface Mem0ExtensionConfig {
7
8
  /** Mem0 Cloud, in-process OSS, or a remote OSS server. Default: "platform". */
8
9
  mode?: Mem0Mode;
10
+ /**
11
+ * Memory behavior: "passive" = automatic capture + recall injection only,
12
+ * "active" = LLM-callable mem0_memory tool only, "hybrid" = both.
13
+ * Default: "hybrid".
14
+ */
15
+ memoryMode?: Mem0MemoryMode;
9
16
  /** Mem0 API key. Supports ${MEM0_API_KEY}. */
10
17
  apiKey?: string;
11
18
  /** Platform override or required self-hosted OSS server URL. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAGhB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAClE,GAAG,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAC7D,WAAW,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QACrE,wFAAwF;QACxF,YAAY,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QACtE,oFAAoF;QACpF,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IAGF,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAClE,GAAG,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAC7D,WAAW,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QACrE,wFAAwF;QACxF,YAAY,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QACtE,oFAAoF;QACpF,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IAGF,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@amaster.ai/pi-memory-mem0",
3
- "version": "0.1.2-beta.58",
4
- "description": "Passive Mem0 semantic memory for pi — automatic capture, semantic recall. Platform, embedded, or self-hosted.",
3
+ "version": "0.1.2-beta.59",
4
+ "description": "Mem0 semantic memory for pi — automatic capture, semantic recall, and an agent-callable memory tool. Platform, embedded, or self-hosted.",
5
5
  "keywords": [
6
6
  "pi-package",
7
7
  "pi",
@@ -54,13 +54,17 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "mem0ai": "3.0.7",
57
- "@amaster.ai/pi-shared": "0.1.2-beta.58"
57
+ "@amaster.ai/pi-shared": "0.1.2-beta.59"
58
58
  },
59
59
  "peerDependencies": {
60
+ "@earendil-works/pi-ai": ">=0.80.10",
60
61
  "@earendil-works/pi-coding-agent": ">=0.79.1",
61
62
  "typebox": "*"
62
63
  },
63
64
  "peerDependenciesMeta": {
65
+ "@earendil-works/pi-ai": {
66
+ "optional": true
67
+ },
64
68
  "@earendil-works/pi-coding-agent": {
65
69
  "optional": true
66
70
  },
@@ -69,6 +73,7 @@
69
73
  }
70
74
  },
71
75
  "devDependencies": {
76
+ "@earendil-works/pi-ai": "0.80.10",
72
77
  "@earendil-works/pi-coding-agent": "0.80.10",
73
78
  "typebox": "*",
74
79
  "vitest": "^4.0.0"