@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.
- package/README.md +858 -858
- package/dist/agentdb-backend.d.ts +19 -0
- package/dist/agentdb-backend.d.ts.map +1 -1
- package/dist/agentdb-backend.js +50 -29
- package/dist/agentdb-backend.js.map +1 -1
- package/dist/agentdb-retrieval-guard.d.ts +76 -0
- package/dist/agentdb-retrieval-guard.d.ts.map +1 -0
- package/dist/agentdb-retrieval-guard.js +77 -0
- package/dist/agentdb-retrieval-guard.js.map +1 -0
- package/dist/agentdb-retrieval-guard.test.d.ts +12 -0
- package/dist/agentdb-retrieval-guard.test.d.ts.map +1 -0
- package/dist/agentdb-retrieval-guard.test.js +129 -0
- package/dist/agentdb-retrieval-guard.test.js.map +1 -0
- package/dist/auto-memory-bridge.test.js +46 -46
- package/dist/controller-registry.d.ts +38 -3
- package/dist/controller-registry.d.ts.map +1 -1
- package/dist/controller-registry.js +85 -46
- package/dist/controller-registry.js.map +1 -1
- package/dist/controller-registry.test.js +14 -0
- package/dist/controller-registry.test.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/migration.d.ts +19 -4
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +99 -24
- package/dist/migration.js.map +1 -1
- package/dist/migration.test.d.ts +11 -0
- package/dist/migration.test.d.ts.map +1 -0
- package/dist/migration.test.js +141 -0
- package/dist/migration.test.js.map +1 -0
- package/dist/smart-retrieval.test.js +3 -0
- package/dist/smart-retrieval.test.js.map +1 -1
- package/dist/sqlite-backend.js +79 -79
- package/dist/sqljs-backend.js +36 -36
- package/dist/tiered-memory.d.ts +171 -0
- package/dist/tiered-memory.d.ts.map +1 -0
- package/dist/tiered-memory.js +350 -0
- package/dist/tiered-memory.js.map +1 -0
- package/dist/tiered-memory.test.d.ts +9 -0
- package/dist/tiered-memory.test.d.ts.map +1 -0
- package/dist/tiered-memory.test.js +220 -0
- package/dist/tiered-memory.test.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- 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
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
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":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,cAAc,EAId,kBAAkB,EAClB,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
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
|
|
627
|
-
//
|
|
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.
|
|
671
|
+
return this.tieredMemoryFallback('agentdb-unavailable');
|
|
630
672
|
try {
|
|
631
673
|
const agentdbModule = await import('agentdb');
|
|
632
674
|
const HM = agentdbModule.HierarchicalMemory;
|
|
633
|
-
if (
|
|
634
|
-
return this.
|
|
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
|
-
|
|
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
|
-
*
|
|
995
|
-
*
|
|
996
|
-
*
|
|
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
|
|
1000
|
-
const
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
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'));
|