@claude-flow/memory 3.0.0-alpha.20 → 3.0.0-alpha.22

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.
Files changed (48) hide show
  1. package/README.md +858 -858
  2. package/dist/agentdb-backend.d.ts +19 -0
  3. package/dist/agentdb-backend.d.ts.map +1 -1
  4. package/dist/agentdb-backend.js +50 -29
  5. package/dist/agentdb-backend.js.map +1 -1
  6. package/dist/agentdb-retrieval-guard.d.ts +76 -0
  7. package/dist/agentdb-retrieval-guard.d.ts.map +1 -0
  8. package/dist/agentdb-retrieval-guard.js +77 -0
  9. package/dist/agentdb-retrieval-guard.js.map +1 -0
  10. package/dist/agentdb-retrieval-guard.test.d.ts +12 -0
  11. package/dist/agentdb-retrieval-guard.test.d.ts.map +1 -0
  12. package/dist/agentdb-retrieval-guard.test.js +129 -0
  13. package/dist/agentdb-retrieval-guard.test.js.map +1 -0
  14. package/dist/auto-memory-bridge.test.js +46 -46
  15. package/dist/controller-registry.d.ts +38 -3
  16. package/dist/controller-registry.d.ts.map +1 -1
  17. package/dist/controller-registry.js +85 -46
  18. package/dist/controller-registry.js.map +1 -1
  19. package/dist/controller-registry.test.js +14 -0
  20. package/dist/controller-registry.test.js.map +1 -1
  21. package/dist/index.d.ts +5 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/migration.d.ts +19 -4
  26. package/dist/migration.d.ts.map +1 -1
  27. package/dist/migration.js +99 -24
  28. package/dist/migration.js.map +1 -1
  29. package/dist/migration.test.d.ts +11 -0
  30. package/dist/migration.test.d.ts.map +1 -0
  31. package/dist/migration.test.js +141 -0
  32. package/dist/migration.test.js.map +1 -0
  33. package/dist/smart-retrieval.test.js +3 -0
  34. package/dist/smart-retrieval.test.js.map +1 -1
  35. package/dist/sqlite-backend.js +79 -79
  36. package/dist/sqljs-backend.js +36 -36
  37. package/dist/tiered-memory.d.ts +171 -0
  38. package/dist/tiered-memory.d.ts.map +1 -0
  39. package/dist/tiered-memory.js +350 -0
  40. package/dist/tiered-memory.js.map +1 -0
  41. package/dist/tiered-memory.test.d.ts +9 -0
  42. package/dist/tiered-memory.test.d.ts.map +1 -0
  43. package/dist/tiered-memory.test.js +220 -0
  44. package/dist/tiered-memory.test.js.map +1 -0
  45. package/dist/types.d.ts +17 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/types.js.map +1 -1
  48. package/package.json +49 -48
@@ -111,14 +111,14 @@ describe('findGitRoot', () => {
111
111
  });
112
112
  describe('parseMarkdownEntries', () => {
113
113
  it('should parse markdown with ## headings into entries', () => {
114
- const content = `# Main Title
115
-
116
- ## Section One
117
- Content of section one.
118
- More content here.
119
-
120
- ## Section Two
121
- Content of section two.
114
+ const content = `# Main Title
115
+
116
+ ## Section One
117
+ Content of section one.
118
+ More content here.
119
+
120
+ ## Section Two
121
+ Content of section two.
122
122
  `;
123
123
  const entries = parseMarkdownEntries(content);
124
124
  expect(entries).toHaveLength(2);
@@ -139,16 +139,16 @@ Content of section two.
139
139
  it('should parse YAML frontmatter + body as a single entry (issue #2283)', () => {
140
140
  // Claude Code's auto-memory format: YAML frontmatter + free-text body,
141
141
  // no ## sub-headings. Pre-fix this returned [] silently.
142
- const content = `---
143
- name: GitHub identity for RX Platform
144
- description: Phil uses PrimitiveOne / one@primitive1.com for...
145
- type: user
146
- originSessionId: 753b313d-3414-abcd
147
- ---
148
- For the RX Platform / RX_ERP project specifically:
149
-
150
- - **GitHub login**: \`PrimitiveOne\`
151
- - **GitHub email**: \`one@primitive1.com\`
142
+ const content = `---
143
+ name: GitHub identity for RX Platform
144
+ description: Phil uses PrimitiveOne / one@primitive1.com for...
145
+ type: user
146
+ originSessionId: 753b313d-3414-abcd
147
+ ---
148
+ For the RX Platform / RX_ERP project specifically:
149
+
150
+ - **GitHub login**: \`PrimitiveOne\`
151
+ - **GitHub email**: \`one@primitive1.com\`
152
152
  `;
153
153
  const entries = parseMarkdownEntries(content);
154
154
  expect(entries).toHaveLength(1);
@@ -160,12 +160,12 @@ For the RX Platform / RX_ERP project specifically:
160
160
  expect(entries[0].metadata.originSessionId).toBe('753b313d-3414-abcd');
161
161
  });
162
162
  it('should prefer ## headings over frontmatter fallback when both present', () => {
163
- const content = `---
164
- name: Should be ignored when ## headings exist
165
- type: user
166
- ---
167
- ## Real Section
168
- Section content
163
+ const content = `---
164
+ name: Should be ignored when ## headings exist
165
+ type: user
166
+ ---
167
+ ## Real Section
168
+ Section content
169
169
  `;
170
170
  const entries = parseMarkdownEntries(content);
171
171
  expect(entries).toHaveLength(1);
@@ -176,18 +176,18 @@ Section content
176
176
  expect(parseMarkdownEntries('')).toHaveLength(0);
177
177
  });
178
178
  it('should return empty array when frontmatter has no body', () => {
179
- const content = `---
180
- name: Frontmatter only
181
- ---
179
+ const content = `---
180
+ name: Frontmatter only
181
+ ---
182
182
  `;
183
183
  const entries = parseMarkdownEntries(content);
184
184
  expect(entries).toHaveLength(0);
185
185
  });
186
186
  it('should handle multiple lines under a heading', () => {
187
- const content = `## Heading
188
- Line 1
189
- Line 2
190
- Line 3
187
+ const content = `## Heading
188
+ Line 1
189
+ Line 2
190
+ Line 3
191
191
  `;
192
192
  const entries = parseMarkdownEntries(content);
193
193
  expect(entries).toHaveLength(1);
@@ -202,12 +202,12 @@ Line 3
202
202
  });
203
203
  describe('extractSummaries', () => {
204
204
  it('should extract bullet points from content', () => {
205
- const content = `# Topic
206
-
207
- - First summary
208
- - Second summary
209
- - See \`details.md\` for more
210
- Some other text
205
+ const content = `# Topic
206
+
207
+ - First summary
208
+ - Second summary
209
+ - See \`details.md\` for more
210
+ Some other text
211
211
  `;
212
212
  const summaries = extractSummaries(content);
213
213
  expect(summaries).toHaveLength(2);
@@ -473,11 +473,11 @@ describe('AutoMemoryBridge', () => {
473
473
  });
474
474
  describe('importFromAutoMemory', () => {
475
475
  it('should import entries from existing markdown files', async () => {
476
- const topicContent = `# Debugging Insights
477
-
478
- ## Known Issues
479
- - Always init HNSW before search
480
- - SQLite WASM needs sql.js
476
+ const topicContent = `# Debugging Insights
477
+
478
+ ## Known Issues
479
+ - Always init HNSW before search
480
+ - SQLite WASM needs sql.js
481
481
  `;
482
482
  fsSync.writeFileSync(path.join(testDir, 'debugging.md'), topicContent, 'utf-8');
483
483
  const result = await bridge.importFromAutoMemory();
@@ -487,10 +487,10 @@ describe('AutoMemoryBridge', () => {
487
487
  expect(backend.bulkInsert).toHaveBeenCalled();
488
488
  });
489
489
  it('should skip entries already in AgentDB', async () => {
490
- const topicContent = `# Test
491
-
492
- ## Existing
493
- Already in DB
490
+ const topicContent = `# Test
491
+
492
+ ## Existing
493
+ Already in DB
494
494
  `;
495
495
  fsSync.writeFileSync(path.join(testDir, 'test.md'), topicContent, 'utf-8');
496
496
  // Mock backend to return existing entry with matching content hash
@@ -140,6 +140,7 @@ export declare class ControllerRegistry extends EventEmitter {
140
140
  private config;
141
141
  private initialized;
142
142
  private initTimeMs;
143
+ private hierarchicalFallback;
143
144
  /**
144
145
  * Initialize all controllers in level-based order.
145
146
  *
@@ -197,6 +198,22 @@ export declare class ControllerRegistry extends EventEmitter {
197
198
  * Check whether a controller should be initialized based on config.
198
199
  */
199
200
  private isControllerEnabled;
201
+ /**
202
+ * Close any prior controller instance for `name` before it is replaced.
203
+ *
204
+ * #2432 fix — pre-fix, `controllers.set(name, ...)` silently orphaned the
205
+ * prior instance. For backends that allocate native / WASM resources
206
+ * (notably `SqlJsRvfBackend` which keeps an Emscripten MEMFS file ~11 MB
207
+ * per `new SQL.Database(buffer)` until `close()` runs), GC'ing the JS
208
+ * wrapper does NOT reclaim the underlying allocation. A long-running
209
+ * `mcp start` process that re-init'd controllers hundreds of times grew
210
+ * external memory by ~36 GB in production over 6 weeks.
211
+ *
212
+ * Best-effort close: catch and ignore errors — replacement must proceed
213
+ * even if the prior instance's close throws (it's already orphaned at
214
+ * this point either way).
215
+ */
216
+ private closePriorIfAny;
200
217
  /**
201
218
  * Initialize a single controller with error isolation.
202
219
  */
@@ -217,11 +234,29 @@ export declare class ControllerRegistry extends EventEmitter {
217
234
  */
218
235
  private createEmbeddingService;
219
236
  /**
220
- * Lightweight in-memory tiered store (fallback when HierarchicalMemory
221
- * cannot be initialized from agentdb).
222
- * Enforces per-tier size limits to prevent unbounded memory growth.
237
+ * Tiered store used when agentdb's HierarchicalMemory is unavailable.
238
+ *
239
+ * Since agentdb 3.0.0-alpha.17 dropped the `HierarchicalMemory` export
240
+ * entirely, this is the ONLY backing store for `agentdb_hierarchical-*`
241
+ * in practice — so it is handed AgentDB's SQLite connection and writes
242
+ * through to it. Without a connection it stays volatile and reports
243
+ * `isDurable() === false` so callers can refuse to claim success (#2887).
244
+ *
245
+ * Keeps the legacy duck-typed API — store(key, value, tier) /
246
+ * recall(query, topK) / getTierStats() — plus Zep/Graphiti-style temporal
247
+ * validity (validFrom / validUntil / supersededBy).
223
248
  */
224
249
  private createTieredMemoryStub;
250
+ /** Build the tiered fallback and record/emit why the native one was skipped. */
251
+ private tieredMemoryFallback;
252
+ /**
253
+ * Why `hierarchicalMemory` is served by the tiered fallback, and whether
254
+ * that fallback is durable. Null when the native controller is in use.
255
+ */
256
+ getHierarchicalFallback(): {
257
+ reason: string;
258
+ persistence: string;
259
+ } | null;
225
260
  /**
226
261
  * No-op consolidation stub (fallback when MemoryConsolidation
227
262
  * cannot be initialized from agentdb).
@@ -1 +1 @@
1
- {"version":3,"file":"controller-registry.d.ts","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-registry.d.ts","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { EventEmitter } from 'node:events';
13
13
  import { LearningBridge } from './learning-bridge.js';
14
14
  import { MemoryGraph } from './memory-graph.js';
15
15
  import { TieredCacheManager } from './cache-manager.js';
16
+ import { TieredMemoryStore } from './tiered-memory.js';
16
17
  // ===== Initialization Levels =====
17
18
  /**
18
19
  * Level-based initialization order per ADR-053.
@@ -72,6 +73,7 @@ export class ControllerRegistry extends EventEmitter {
72
73
  config = {};
73
74
  initialized = false;
74
75
  initTimeMs = 0;
76
+ hierarchicalFallback = null;
75
77
  /**
76
78
  * Initialize all controllers in level-based order.
77
79
  *
@@ -104,6 +106,8 @@ export class ControllerRegistry extends EventEmitter {
104
106
  const errorMsg = result.reason instanceof Error
105
107
  ? result.reason.message
106
108
  : String(result.reason);
109
+ // #2432 — close any prior instance before replacing.
110
+ await this.closePriorIfAny(name);
107
111
  this.controllers.set(name, {
108
112
  name,
109
113
  instance: null,
@@ -418,11 +422,46 @@ export class ControllerRegistry extends EventEmitter {
418
422
  return false;
419
423
  }
420
424
  }
425
+ /**
426
+ * Close any prior controller instance for `name` before it is replaced.
427
+ *
428
+ * #2432 fix — pre-fix, `controllers.set(name, ...)` silently orphaned the
429
+ * prior instance. For backends that allocate native / WASM resources
430
+ * (notably `SqlJsRvfBackend` which keeps an Emscripten MEMFS file ~11 MB
431
+ * per `new SQL.Database(buffer)` until `close()` runs), GC'ing the JS
432
+ * wrapper does NOT reclaim the underlying allocation. A long-running
433
+ * `mcp start` process that re-init'd controllers hundreds of times grew
434
+ * external memory by ~36 GB in production over 6 weeks.
435
+ *
436
+ * Best-effort close: catch and ignore errors — replacement must proceed
437
+ * even if the prior instance's close throws (it's already orphaned at
438
+ * this point either way).
439
+ */
440
+ async closePriorIfAny(name) {
441
+ const prior = this.controllers.get(name);
442
+ if (!prior?.instance)
443
+ return;
444
+ const inst = prior.instance;
445
+ try {
446
+ if (typeof inst.close === 'function') {
447
+ await inst.close();
448
+ }
449
+ else if (typeof inst.dispose === 'function') {
450
+ await inst.dispose();
451
+ }
452
+ }
453
+ catch {
454
+ // Best-effort — leak is preferable to crashing init on a replacement.
455
+ }
456
+ }
421
457
  /**
422
458
  * Initialize a single controller with error isolation.
423
459
  */
424
460
  async initController(name, level) {
425
461
  const startTime = performance.now();
462
+ // #2432 — close any prior instance before replacing the map entry,
463
+ // otherwise its native/WASM resources leak (e.g. sql.js MEMFS files).
464
+ await this.closePriorIfAny(name);
426
465
  try {
427
466
  const instance = await this.createController(name);
428
467
  const initTimeMs = performance.now() - startTime;
@@ -623,22 +662,27 @@ export class ControllerRegistry extends EventEmitter {
623
662
  }
624
663
  return null;
625
664
  case 'hierarchicalMemory': {
626
- // HierarchicalMemory exported from agentdb 3.0.0-alpha.10 (ADR-066 Phase P2-3)
627
- // Constructor: (db, embedder, vectorBackend?, graphBackend?, config?)
665
+ // HierarchicalMemory was exported by agentdb 3.0.0-alpha.10 (ADR-066
666
+ // Phase P2-3) and REMOVED again at alpha.17 — so the fallback below is
667
+ // the live path, not an edge case. Every fallback records why, because
668
+ // taking it silently is what made stores look successful while landing
669
+ // nowhere (#2887).
628
670
  if (!this.agentdb)
629
- return this.createTieredMemoryStub();
671
+ return this.tieredMemoryFallback('agentdb-unavailable');
630
672
  try {
631
673
  const agentdbModule = await import('agentdb');
632
674
  const HM = agentdbModule.HierarchicalMemory;
633
- if (!HM)
634
- return this.createTieredMemoryStub();
675
+ if (typeof HM !== 'function') {
676
+ return this.tieredMemoryFallback('agentdb-export-missing');
677
+ }
635
678
  const embedder = this.createEmbeddingService();
636
679
  const hm = new HM(this.agentdb.database, embedder);
637
680
  await hm.initializeDatabase();
638
681
  return hm;
639
682
  }
640
- catch {
641
- return this.createTieredMemoryStub();
683
+ catch (error) {
684
+ const msg = error instanceof Error ? error.message : String(error);
685
+ return this.tieredMemoryFallback(`agentdb-init-failed: ${msg.substring(0, 120)}`);
642
686
  }
643
687
  }
644
688
  case 'memoryConsolidation': {
@@ -991,47 +1035,42 @@ export class ControllerRegistry extends EventEmitter {
991
1035
  };
992
1036
  }
993
1037
  /**
994
- * Lightweight in-memory tiered store (fallback when HierarchicalMemory
995
- * cannot be initialized from agentdb).
996
- * Enforces per-tier size limits to prevent unbounded memory growth.
1038
+ * Tiered store used when agentdb's HierarchicalMemory is unavailable.
1039
+ *
1040
+ * Since agentdb 3.0.0-alpha.17 dropped the `HierarchicalMemory` export
1041
+ * entirely, this is the ONLY backing store for `agentdb_hierarchical-*`
1042
+ * in practice — so it is handed AgentDB's SQLite connection and writes
1043
+ * through to it. Without a connection it stays volatile and reports
1044
+ * `isDurable() === false` so callers can refuse to claim success (#2887).
1045
+ *
1046
+ * Keeps the legacy duck-typed API — store(key, value, tier) /
1047
+ * recall(query, topK) / getTierStats() — plus Zep/Graphiti-style temporal
1048
+ * validity (validFrom / validUntil / supersededBy).
997
1049
  */
998
1050
  createTieredMemoryStub() {
999
- const MAX_PER_TIER = 5000;
1000
- const tiers = {
1001
- working: new Map(),
1002
- episodic: new Map(),
1003
- semantic: new Map(),
1004
- };
1005
- return {
1006
- store(key, value, tier = 'working') {
1007
- const t = tiers[tier] || tiers.working;
1008
- // Evict oldest if at capacity
1009
- if (t.size >= MAX_PER_TIER) {
1010
- const oldest = t.keys().next().value;
1011
- if (oldest !== undefined)
1012
- t.delete(oldest);
1013
- }
1014
- t.set(key, { value: value.substring(0, 100_000), ts: Date.now() });
1015
- },
1016
- recall(query, topK = 5) {
1017
- const safeTopK = Math.min(Math.max(1, topK), 100);
1018
- const q = query.toLowerCase().substring(0, 10_000);
1019
- const results = [];
1020
- for (const [tierName, map] of Object.entries(tiers)) {
1021
- for (const [key, entry] of map) {
1022
- if (key.toLowerCase().includes(q) || entry.value.toLowerCase().includes(q)) {
1023
- results.push({ key, value: entry.value, tier: tierName, ts: entry.ts });
1024
- if (results.length >= safeTopK * 3)
1025
- break; // Early exit for large stores
1026
- }
1027
- }
1028
- }
1029
- return results.sort((a, b) => b.ts - a.ts).slice(0, safeTopK);
1030
- },
1031
- getTierStats() {
1032
- return Object.fromEntries(Object.entries(tiers).map(([name, map]) => [name, map.size]));
1033
- },
1034
- };
1051
+ const db = this.agentdb?.database ?? null;
1052
+ const usable = db && typeof db.prepare === 'function' && typeof db.exec === 'function'
1053
+ ? db
1054
+ : null;
1055
+ return new TieredMemoryStore({ db: usable });
1056
+ }
1057
+ /** Build the tiered fallback and record/emit why the native one was skipped. */
1058
+ tieredMemoryFallback(reason) {
1059
+ const store = this.createTieredMemoryStub();
1060
+ this.hierarchicalFallback = { reason, persistence: store.getPersistence() };
1061
+ this.emit('controller:degraded', {
1062
+ name: 'hierarchicalMemory',
1063
+ reason,
1064
+ persistence: store.getPersistence(),
1065
+ });
1066
+ return store;
1067
+ }
1068
+ /**
1069
+ * Why `hierarchicalMemory` is served by the tiered fallback, and whether
1070
+ * that fallback is durable. Null when the native controller is in use.
1071
+ */
1072
+ getHierarchicalFallback() {
1073
+ return this.hierarchicalFallback;
1035
1074
  }
1036
1075
  /**
1037
1076
  * No-op consolidation stub (fallback when MemoryConsolidation
@@ -1 +1 @@
1
- {"version":3,"file":"controller-registry.js","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-registry.js","sourceRoot":"","sources":["../src/controller-registry.ts"],"names":[],"mappings":"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"}
@@ -605,6 +605,20 @@ describe('ControllerRegistry', () => {
605
605
  // AgentDB may or may not be available in test environment
606
606
  // Just verify the listener doesn't break anything
607
607
  });
608
+ it('should emit controller:degraded with the reason hierarchicalMemory fell back (#2887)', async () => {
609
+ const degraded = [];
610
+ registry.on('controller:degraded', (e) => degraded.push(e));
611
+ await registry.initialize({
612
+ backend: mockBackend,
613
+ controllers: { hierarchicalMemory: true },
614
+ });
615
+ // agentdb dropped its HierarchicalMemory export at 3.0.0-alpha.17, so the
616
+ // tiered fallback is the live path. Taking it must be announced, not silent.
617
+ const hmDegraded = degraded.find((e) => e.name === 'hierarchicalMemory');
618
+ expect(hmDegraded).toBeDefined();
619
+ expect(hmDegraded.reason).toBeTruthy();
620
+ expect(registry.getHierarchicalFallback()).toMatchObject({ reason: hmDegraded.reason });
621
+ });
608
622
  it('should emit all lifecycle events', async () => {
609
623
  const events = [];
610
624
  registry.on('initialized', () => events.push('initialized'));