agentdb 3.0.0-alpha.7 → 3.0.0-alpha.9

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 (100) hide show
  1. package/README.md +214 -1204
  2. package/dist/agentdb.browser.js +1 -1
  3. package/dist/agentdb.browser.min.js +1 -1
  4. package/dist/backends/VectorBackend.d.ts +120 -0
  5. package/dist/backends/VectorBackend.js +14 -0
  6. package/dist/backends/VectorBackend.js.map +1 -0
  7. package/dist/optimizations/RVFOptimizer.d.ts +225 -0
  8. package/dist/optimizations/RVFOptimizer.js +541 -0
  9. package/dist/optimizations/RVFOptimizer.js.map +1 -0
  10. package/dist/src/backends/factory.d.ts +1 -0
  11. package/dist/src/backends/factory.d.ts.map +1 -1
  12. package/dist/src/backends/factory.js +40 -7
  13. package/dist/src/backends/factory.js.map +1 -1
  14. package/dist/src/backends/index.cjs +6 -0
  15. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +40 -22
  16. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  17. package/dist/src/backends/ruvector/RuVectorBackend.js +228 -81
  18. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  19. package/dist/src/consensus/RaftConsensus.d.ts +220 -0
  20. package/dist/src/consensus/RaftConsensus.d.ts.map +1 -0
  21. package/dist/src/consensus/RaftConsensus.js +762 -0
  22. package/dist/src/consensus/RaftConsensus.js.map +1 -0
  23. package/dist/src/controllers/AttentionService.d.ts +80 -1
  24. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  25. package/dist/src/controllers/AttentionService.js +344 -13
  26. package/dist/src/controllers/AttentionService.js.map +1 -1
  27. package/dist/src/controllers/HierarchicalMemory.d.ts +197 -0
  28. package/dist/src/controllers/HierarchicalMemory.d.ts.map +1 -0
  29. package/dist/src/controllers/HierarchicalMemory.js +519 -0
  30. package/dist/src/controllers/HierarchicalMemory.js.map +1 -0
  31. package/dist/src/controllers/LearningSystem.d.ts +17 -0
  32. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  33. package/dist/src/controllers/LearningSystem.js +131 -0
  34. package/dist/src/controllers/LearningSystem.js.map +1 -1
  35. package/dist/src/controllers/MemoryConsolidation.d.ts +142 -0
  36. package/dist/src/controllers/MemoryConsolidation.d.ts.map +1 -0
  37. package/dist/src/controllers/MemoryConsolidation.js +479 -0
  38. package/dist/src/controllers/MemoryConsolidation.js.map +1 -0
  39. package/dist/src/controllers/QUICConnection.d.ts +122 -0
  40. package/dist/src/controllers/QUICConnection.d.ts.map +1 -0
  41. package/dist/src/controllers/QUICConnection.js +329 -0
  42. package/dist/src/controllers/QUICConnection.js.map +1 -0
  43. package/dist/src/controllers/QUICConnectionPool.d.ts +83 -0
  44. package/dist/src/controllers/QUICConnectionPool.d.ts.map +1 -0
  45. package/dist/src/controllers/QUICConnectionPool.js +256 -0
  46. package/dist/src/controllers/QUICConnectionPool.js.map +1 -0
  47. package/dist/src/controllers/QUICStreamManager.d.ts +114 -0
  48. package/dist/src/controllers/QUICStreamManager.d.ts.map +1 -0
  49. package/dist/src/controllers/QUICStreamManager.js +267 -0
  50. package/dist/src/controllers/QUICStreamManager.js.map +1 -0
  51. package/dist/src/controllers/StreamingEmbeddingService.d.ts +82 -0
  52. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +1 -0
  53. package/dist/src/controllers/StreamingEmbeddingService.js +243 -0
  54. package/dist/src/controllers/StreamingEmbeddingService.js.map +1 -0
  55. package/dist/src/controllers/WASMVectorSearch.d.ts +30 -0
  56. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  57. package/dist/src/controllers/WASMVectorSearch.js +70 -0
  58. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  59. package/dist/src/controllers/index.cjs +6 -0
  60. package/dist/src/controllers/index.d.ts +10 -0
  61. package/dist/src/controllers/index.d.ts.map +1 -1
  62. package/dist/src/controllers/index.js +6 -0
  63. package/dist/src/controllers/index.js.map +1 -1
  64. package/dist/src/core/AgentDB.d.ts.map +1 -1
  65. package/dist/src/core/AgentDB.js +1 -0
  66. package/dist/src/core/AgentDB.js.map +1 -1
  67. package/dist/src/index.cjs +6 -0
  68. package/dist/src/index.d.ts +4 -0
  69. package/dist/src/index.d.ts.map +1 -1
  70. package/dist/src/index.js +2 -0
  71. package/dist/src/index.js.map +1 -1
  72. package/dist/src/optimizations/RVFOptimizer.d.ts +226 -0
  73. package/dist/src/optimizations/RVFOptimizer.d.ts.map +1 -0
  74. package/dist/src/optimizations/RVFOptimizer.js +541 -0
  75. package/dist/src/optimizations/RVFOptimizer.js.map +1 -0
  76. package/dist/src/optimizations/index.d.ts +2 -0
  77. package/dist/src/optimizations/index.d.ts.map +1 -1
  78. package/dist/src/optimizations/index.js +1 -0
  79. package/dist/src/optimizations/index.js.map +1 -1
  80. package/dist/src/security/MutationGuard.d.ts.map +1 -1
  81. package/dist/src/security/MutationGuard.js +24 -39
  82. package/dist/src/security/MutationGuard.js.map +1 -1
  83. package/dist/src/security/index.cjs +6 -0
  84. package/dist/src/services/GNNService.d.ts +172 -0
  85. package/dist/src/services/GNNService.d.ts.map +1 -0
  86. package/dist/src/services/GNNService.js +612 -0
  87. package/dist/src/services/GNNService.js.map +1 -0
  88. package/dist/src/services/GraphTransformerService.d.ts +1 -0
  89. package/dist/src/services/GraphTransformerService.d.ts.map +1 -1
  90. package/dist/src/services/GraphTransformerService.js +41 -3
  91. package/dist/src/services/GraphTransformerService.js.map +1 -1
  92. package/dist/src/services/SemanticRouter.d.ts +7 -2
  93. package/dist/src/services/SemanticRouter.d.ts.map +1 -1
  94. package/dist/src/services/SemanticRouter.js +13 -2
  95. package/dist/src/services/SemanticRouter.js.map +1 -1
  96. package/dist/src/services/SonaTrajectoryService.d.ts +126 -2
  97. package/dist/src/services/SonaTrajectoryService.d.ts.map +1 -1
  98. package/dist/src/services/SonaTrajectoryService.js +311 -3
  99. package/dist/src/services/SonaTrajectoryService.js.map +1 -1
  100. package/package.json +22 -16
@@ -0,0 +1,519 @@
1
+ /**
2
+ * HierarchicalMemory - 3-Tier Human-like Memory System
3
+ *
4
+ * Implements a biologically-inspired memory hierarchy with:
5
+ * - Working Memory: Active context (fast access, 1MB limit)
6
+ * - Episodic Memory: Recent experiences (hours-days)
7
+ * - Semantic Memory: Long-term knowledge (consolidated)
8
+ *
9
+ * Based on:
10
+ * - Atkinson-Shiffrin Multi-Store Model (1968)
11
+ * - Tulving's Episodic/Semantic Distinction (1972)
12
+ * - Baddeley's Working Memory Model (2000)
13
+ *
14
+ * Features:
15
+ * - Automatic tier promotion based on access frequency and importance
16
+ * - Forgetting curves (Ebbinghaus decay: R = e^(-t/S))
17
+ * - Spaced repetition for consolidation
18
+ * - Context-dependent recall
19
+ * - Memory replay for reinforcement
20
+ *
21
+ * ADR-066 Phase P2-3
22
+ */
23
+ import { cosineSimilarity } from '../utils/vector-math.js';
24
+ export class HierarchicalMemory {
25
+ db;
26
+ embedder;
27
+ vectorBackend;
28
+ graphBackend;
29
+ config;
30
+ // In-memory caches for fast access
31
+ workingMemoryCache = new Map();
32
+ episodicMemoryIndex = new Map();
33
+ // Stats tracking
34
+ stats = {
35
+ totalAccesses: 0,
36
+ promotions: 0,
37
+ consolidations: 0,
38
+ forgotten: 0,
39
+ };
40
+ constructor(db, embedder, vectorBackend, graphBackend, config) {
41
+ this.db = db;
42
+ this.embedder = embedder;
43
+ this.vectorBackend = vectorBackend;
44
+ this.graphBackend = graphBackend;
45
+ this.config = {
46
+ workingMemoryLimit: 1024 * 1024, // 1MB
47
+ episodicWindow: 7 * 24 * 60 * 60 * 1000, // 7 days
48
+ forgetting: {
49
+ decayRate: 0.3,
50
+ minRetention: 0.1,
51
+ importanceMultiplier: 2.0,
52
+ rehearsalBoost: 1.5,
53
+ },
54
+ consolidation: {
55
+ minAccessCount: 3,
56
+ minImportance: 0.6,
57
+ minAge: 24 * 60 * 60 * 1000, // 24 hours
58
+ maxEpisodicSize: 1000,
59
+ },
60
+ autoConsolidate: true,
61
+ ...config,
62
+ };
63
+ this.initializeDatabase();
64
+ }
65
+ /**
66
+ * Initialize database tables for hierarchical memory
67
+ */
68
+ initializeDatabase() {
69
+ this.db.exec(`
70
+ CREATE TABLE IF NOT EXISTS hierarchical_memory (
71
+ id TEXT PRIMARY KEY,
72
+ tier TEXT NOT NULL,
73
+ content TEXT NOT NULL,
74
+ importance REAL NOT NULL,
75
+ access_count INTEGER DEFAULT 0,
76
+ created_at INTEGER NOT NULL,
77
+ last_accessed_at INTEGER NOT NULL,
78
+ last_rehearsed_at INTEGER,
79
+ consolidated_at INTEGER,
80
+ tags TEXT,
81
+ context TEXT,
82
+ metadata TEXT
83
+ );
84
+
85
+ CREATE INDEX IF NOT EXISTS idx_hierarchical_tier ON hierarchical_memory(tier);
86
+ CREATE INDEX IF NOT EXISTS idx_hierarchical_importance ON hierarchical_memory(importance);
87
+ CREATE INDEX IF NOT EXISTS idx_hierarchical_access ON hierarchical_memory(access_count);
88
+ CREATE INDEX IF NOT EXISTS idx_hierarchical_created ON hierarchical_memory(created_at);
89
+ `);
90
+ }
91
+ /**
92
+ * Store a new memory item
93
+ */
94
+ async store(content, importance = 0.5, tier = 'working', options) {
95
+ const id = `mem-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
96
+ const now = Date.now();
97
+ // Generate embedding
98
+ const embedding = await this.embedder.embed(content);
99
+ const item = {
100
+ id,
101
+ tier,
102
+ content,
103
+ embedding,
104
+ importance,
105
+ accessCount: 0,
106
+ createdAt: now,
107
+ lastAccessedAt: now,
108
+ tags: options?.tags,
109
+ context: options?.context,
110
+ metadata: options?.metadata,
111
+ };
112
+ // Store in database
113
+ const stmt = this.db.prepare(`
114
+ INSERT INTO hierarchical_memory (
115
+ id, tier, content, importance, access_count,
116
+ created_at, last_accessed_at, tags, context, metadata
117
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
118
+ `);
119
+ stmt.run(id, tier, content, importance, 0, now, now, options?.tags ? JSON.stringify(options.tags) : null, options?.context ? JSON.stringify(options.context) : null, options?.metadata ? JSON.stringify(options.metadata) : null);
120
+ // Add to vector backend if available
121
+ if (this.vectorBackend) {
122
+ this.vectorBackend.insert(id, embedding, {
123
+ tier,
124
+ importance,
125
+ createdAt: now,
126
+ ...options?.metadata,
127
+ });
128
+ }
129
+ // Cache in appropriate tier
130
+ if (tier === 'working') {
131
+ this.workingMemoryCache.set(id, item);
132
+ await this.enforceWorkingMemoryLimit();
133
+ }
134
+ else if (tier === 'episodic') {
135
+ this.episodicMemoryIndex.set(id, item);
136
+ }
137
+ // Trigger auto-consolidation if needed
138
+ if (this.config.autoConsolidate) {
139
+ await this.checkConsolidation();
140
+ }
141
+ return id;
142
+ }
143
+ /**
144
+ * Retrieve memories matching the query
145
+ */
146
+ async recall(query) {
147
+ this.stats.totalAccesses++;
148
+ // Generate embedding if not provided
149
+ const queryEmbedding = query.queryEmbedding || await this.embedder.embed(query.query);
150
+ // Determine which tiers to search
151
+ const tiers = Array.isArray(query.tier)
152
+ ? query.tier
153
+ : query.tier
154
+ ? [query.tier]
155
+ : ['working', 'episodic', 'semantic'];
156
+ const k = query.k || 10;
157
+ const threshold = query.threshold || 0.5;
158
+ let results = [];
159
+ // Search vector backend if available (faster)
160
+ if (this.vectorBackend) {
161
+ const searchResults = [];
162
+ for (const tier of tiers) {
163
+ const tierResults = await this.vectorBackend.search(queryEmbedding, k, {
164
+ threshold,
165
+ filter: { tier },
166
+ });
167
+ searchResults.push(...tierResults);
168
+ }
169
+ // Convert to MemoryItems
170
+ results = await Promise.all(searchResults.map(async (result) => {
171
+ const item = await this.getMemoryById(result.id);
172
+ if (item) {
173
+ item.metadata = { ...item.metadata, similarity: result.similarity };
174
+ }
175
+ return item;
176
+ })).then(items => items.filter((item) => item !== null));
177
+ }
178
+ else {
179
+ // Fallback: manual search
180
+ results = await this.manualSearch(queryEmbedding, ['working', 'episodic', 'semantic'], k, threshold);
181
+ }
182
+ // Apply forgetting curve if not including decayed
183
+ if (!query.includeDecayed) {
184
+ results = results.filter(item => this.calculateRetention(item) >= this.config.forgetting.minRetention);
185
+ }
186
+ // Context-dependent recall
187
+ if (query.context) {
188
+ results = this.applyContextFilter(results, query.context);
189
+ }
190
+ // Update access tracking and promote if needed
191
+ await this.updateAccessTracking(results.map(r => r.id));
192
+ return results.slice(0, k);
193
+ }
194
+ /**
195
+ * Promote memory to higher tier based on importance and access
196
+ */
197
+ async promote(memoryId) {
198
+ const item = await this.getMemoryById(memoryId);
199
+ if (!item)
200
+ return false;
201
+ let newTier = null;
202
+ // Working → Episodic: After multiple accesses
203
+ if (item.tier === 'working' && item.accessCount >= 2) {
204
+ newTier = 'episodic';
205
+ }
206
+ // Episodic → Semantic: Based on consolidation criteria
207
+ if (item.tier === 'episodic') {
208
+ const age = Date.now() - item.createdAt;
209
+ if (item.accessCount >= this.config.consolidation.minAccessCount &&
210
+ item.importance >= this.config.consolidation.minImportance &&
211
+ age >= this.config.consolidation.minAge) {
212
+ newTier = 'semantic';
213
+ }
214
+ }
215
+ if (newTier) {
216
+ await this.updateTier(memoryId, newTier);
217
+ this.stats.promotions++;
218
+ return true;
219
+ }
220
+ return false;
221
+ }
222
+ /**
223
+ * Rehearse a memory to strengthen retention
224
+ */
225
+ async rehearse(memoryId) {
226
+ const now = Date.now();
227
+ const stmt = this.db.prepare(`
228
+ UPDATE hierarchical_memory
229
+ SET last_rehearsed_at = ?, access_count = access_count + 1
230
+ WHERE id = ?
231
+ `);
232
+ stmt.run(now, memoryId);
233
+ // Update cache
234
+ const item = this.workingMemoryCache.get(memoryId) || this.episodicMemoryIndex.get(memoryId);
235
+ if (item) {
236
+ item.lastRehearsedAt = now;
237
+ item.accessCount++;
238
+ }
239
+ }
240
+ /**
241
+ * Calculate retention score using Ebbinghaus forgetting curve
242
+ * R(t) = e^(-t/S)
243
+ * Where S = base_strength * importance_multiplier * rehearsal_boost
244
+ */
245
+ calculateRetention(item) {
246
+ const now = Date.now();
247
+ const timeSinceCreation = (now - item.createdAt) / (24 * 60 * 60 * 1000); // days
248
+ const timeSinceRehearsal = item.lastRehearsedAt
249
+ ? (now - item.lastRehearsedAt) / (24 * 60 * 60 * 1000)
250
+ : timeSinceCreation;
251
+ // Calculate strength (inverse of decay rate)
252
+ const baseStrength = 1 / this.config.forgetting.decayRate;
253
+ const importanceBoost = 1 + (item.importance * this.config.forgetting.importanceMultiplier);
254
+ const rehearsalBoost = item.lastRehearsedAt ? this.config.forgetting.rehearsalBoost : 1.0;
255
+ const strength = baseStrength * importanceBoost * rehearsalBoost;
256
+ // Ebbinghaus formula
257
+ const retention = Math.exp(-timeSinceRehearsal / strength);
258
+ return Math.max(retention, this.config.forgetting.minRetention);
259
+ }
260
+ /**
261
+ * Get memory statistics
262
+ */
263
+ async getStats() {
264
+ const workingStats = this.db.prepare(`
265
+ SELECT
266
+ COUNT(*) as count,
267
+ AVG(importance) as avgImportance,
268
+ AVG(access_count) as avgAccessCount,
269
+ SUM(LENGTH(content)) as sizeBytes
270
+ FROM hierarchical_memory WHERE tier = 'working'
271
+ `).get();
272
+ const episodicStats = this.db.prepare(`
273
+ SELECT
274
+ COUNT(*) as count,
275
+ AVG(importance) as avgImportance,
276
+ AVG(? - created_at) as avgAge,
277
+ SUM(LENGTH(content)) as sizeBytes
278
+ FROM hierarchical_memory WHERE tier = 'episodic'
279
+ `).get(Date.now());
280
+ const semanticStats = this.db.prepare(`
281
+ SELECT
282
+ COUNT(*) as count,
283
+ AVG(importance) as avgImportance,
284
+ COUNT(CASE WHEN consolidated_at IS NOT NULL THEN 1 END) as consolidated,
285
+ SUM(LENGTH(content)) as sizeBytes
286
+ FROM hierarchical_memory WHERE tier = 'semantic'
287
+ `).get();
288
+ const totalMemories = workingStats.count + episodicStats.count + semanticStats.count;
289
+ const promotionRate = totalMemories > 0 ? this.stats.promotions / totalMemories : 0;
290
+ return {
291
+ working: {
292
+ count: workingStats.count || 0,
293
+ sizeBytes: workingStats.sizeBytes || 0,
294
+ avgImportance: workingStats.avgImportance || 0,
295
+ avgAccessCount: workingStats.avgAccessCount || 0,
296
+ },
297
+ episodic: {
298
+ count: episodicStats.count || 0,
299
+ sizeBytes: episodicStats.sizeBytes || 0,
300
+ avgImportance: episodicStats.avgImportance || 0,
301
+ avgAge: episodicStats.avgAge || 0,
302
+ },
303
+ semantic: {
304
+ count: semanticStats.count || 0,
305
+ sizeBytes: semanticStats.sizeBytes || 0,
306
+ avgImportance: semanticStats.avgImportance || 0,
307
+ consolidationRate: semanticStats.count > 0
308
+ ? (semanticStats.consolidated || 0) / semanticStats.count
309
+ : 0,
310
+ },
311
+ totalMemories,
312
+ forgottenCount: this.stats.forgotten,
313
+ promotionRate,
314
+ };
315
+ }
316
+ /**
317
+ * Enforce working memory size limit by evicting least important items
318
+ */
319
+ async enforceWorkingMemoryLimit() {
320
+ const currentSize = this.calculateWorkingMemorySize();
321
+ if (currentSize > this.config.workingMemoryLimit) {
322
+ // Get working memories sorted by importance * retention
323
+ const memories = Array.from(this.workingMemoryCache.values())
324
+ .map(item => ({
325
+ ...item,
326
+ score: item.importance * this.calculateRetention(item),
327
+ }))
328
+ .sort((a, b) => a.score - b.score);
329
+ // Evict until under limit
330
+ let freedSize = 0;
331
+ for (const memory of memories) {
332
+ if (currentSize - freedSize <= this.config.workingMemoryLimit)
333
+ break;
334
+ // Promote to episodic or forget
335
+ if (memory.score > 0.3) {
336
+ await this.updateTier(memory.id, 'episodic');
337
+ }
338
+ else {
339
+ await this.forget(memory.id);
340
+ }
341
+ freedSize += new TextEncoder().encode(memory.content).length;
342
+ this.workingMemoryCache.delete(memory.id);
343
+ }
344
+ }
345
+ }
346
+ /**
347
+ * Calculate current working memory size in bytes
348
+ */
349
+ calculateWorkingMemorySize() {
350
+ let size = 0;
351
+ for (const item of this.workingMemoryCache.values()) {
352
+ size += new TextEncoder().encode(item.content).length;
353
+ }
354
+ return size;
355
+ }
356
+ /**
357
+ * Update memory tier
358
+ */
359
+ async updateTier(memoryId, newTier) {
360
+ const now = Date.now();
361
+ const stmt = this.db.prepare(`
362
+ UPDATE hierarchical_memory
363
+ SET tier = ?, consolidated_at = ?
364
+ WHERE id = ?
365
+ `);
366
+ stmt.run(newTier, newTier === 'semantic' ? now : null, memoryId);
367
+ // Update caches
368
+ const item = this.workingMemoryCache.get(memoryId) || this.episodicMemoryIndex.get(memoryId);
369
+ if (item) {
370
+ item.tier = newTier;
371
+ if (newTier === 'semantic') {
372
+ item.consolidatedAt = now;
373
+ }
374
+ // Move between caches
375
+ this.workingMemoryCache.delete(memoryId);
376
+ this.episodicMemoryIndex.delete(memoryId);
377
+ if (newTier === 'working') {
378
+ this.workingMemoryCache.set(memoryId, item);
379
+ }
380
+ else if (newTier === 'episodic') {
381
+ this.episodicMemoryIndex.set(memoryId, item);
382
+ }
383
+ }
384
+ // Update vector backend metadata
385
+ if (this.vectorBackend && item?.embedding) {
386
+ this.vectorBackend.insert(memoryId, item.embedding, {
387
+ tier: newTier,
388
+ consolidated: newTier === 'semantic',
389
+ });
390
+ }
391
+ }
392
+ /**
393
+ * Forget (delete) a memory
394
+ */
395
+ async forget(memoryId) {
396
+ this.db.prepare('DELETE FROM hierarchical_memory WHERE id = ?').run(memoryId);
397
+ this.workingMemoryCache.delete(memoryId);
398
+ this.episodicMemoryIndex.delete(memoryId);
399
+ this.stats.forgotten++;
400
+ // Remove from vector backend
401
+ if (this.vectorBackend) {
402
+ this.vectorBackend.remove(memoryId);
403
+ }
404
+ }
405
+ /**
406
+ * Get memory item by ID
407
+ */
408
+ async getMemoryById(id) {
409
+ // Check caches first
410
+ const cached = this.workingMemoryCache.get(id) || this.episodicMemoryIndex.get(id);
411
+ if (cached)
412
+ return cached;
413
+ // Fetch from database
414
+ const row = this.db.prepare(`
415
+ SELECT * FROM hierarchical_memory WHERE id = ?
416
+ `).get(id);
417
+ if (!row)
418
+ return null;
419
+ const item = {
420
+ id: row.id,
421
+ tier: row.tier,
422
+ content: row.content,
423
+ importance: row.importance,
424
+ accessCount: row.access_count,
425
+ createdAt: row.created_at,
426
+ lastAccessedAt: row.last_accessed_at,
427
+ lastRehearsedAt: row.last_rehearsed_at,
428
+ consolidatedAt: row.consolidated_at,
429
+ tags: row.tags ? JSON.parse(row.tags) : undefined,
430
+ context: row.context ? JSON.parse(row.context) : undefined,
431
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
432
+ };
433
+ return item;
434
+ }
435
+ /**
436
+ * Manual search without vector backend
437
+ */
438
+ async manualSearch(queryEmbedding, tiers, k, threshold) {
439
+ const tierFilter = tiers.map(t => `'${t}'`).join(',');
440
+ const rows = this.db.prepare(`
441
+ SELECT * FROM hierarchical_memory
442
+ WHERE tier IN (${tierFilter})
443
+ ORDER BY importance DESC
444
+ LIMIT ?
445
+ `).all(k * 2); // Get more to account for filtering
446
+ const results = [];
447
+ for (const row of rows) {
448
+ const embedding = await this.embedder.embed(row.content);
449
+ const similarity = cosineSimilarity(queryEmbedding, embedding);
450
+ if (similarity >= threshold) {
451
+ results.push({
452
+ id: row.id,
453
+ tier: row.tier,
454
+ content: row.content,
455
+ embedding,
456
+ importance: row.importance,
457
+ accessCount: row.access_count,
458
+ createdAt: row.created_at,
459
+ lastAccessedAt: row.last_accessed_at,
460
+ lastRehearsedAt: row.last_rehearsed_at,
461
+ consolidatedAt: row.consolidated_at,
462
+ tags: row.tags ? JSON.parse(row.tags) : undefined,
463
+ context: row.context ? JSON.parse(row.context) : undefined,
464
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
465
+ similarity,
466
+ });
467
+ }
468
+ }
469
+ return results.sort((a, b) => b.similarity - a.similarity).slice(0, k);
470
+ }
471
+ /**
472
+ * Apply context filter to results
473
+ */
474
+ applyContextFilter(results, context) {
475
+ return results.filter(item => {
476
+ if (!item.context)
477
+ return false;
478
+ // Check if at least 50% of context keys match
479
+ const keys = Object.keys(context);
480
+ const matches = keys.filter(key => item.context[key] === context[key]).length;
481
+ return matches / keys.length >= 0.5;
482
+ });
483
+ }
484
+ /**
485
+ * Update access tracking for retrieved memories
486
+ */
487
+ async updateAccessTracking(ids) {
488
+ if (ids.length === 0)
489
+ return;
490
+ const now = Date.now();
491
+ const placeholders = ids.map(() => '?').join(',');
492
+ this.db.prepare(`
493
+ UPDATE hierarchical_memory
494
+ SET access_count = access_count + 1, last_accessed_at = ?
495
+ WHERE id IN (${placeholders})
496
+ `).run(now, ...ids);
497
+ // Update caches
498
+ for (const id of ids) {
499
+ const item = this.workingMemoryCache.get(id) || this.episodicMemoryIndex.get(id);
500
+ if (item) {
501
+ item.accessCount++;
502
+ item.lastAccessedAt = now;
503
+ // Check for promotion
504
+ await this.promote(id);
505
+ }
506
+ }
507
+ }
508
+ /**
509
+ * Check if consolidation is needed and trigger if necessary
510
+ */
511
+ async checkConsolidation() {
512
+ const episodicCount = this.episodicMemoryIndex.size;
513
+ if (episodicCount >= this.config.consolidation.maxEpisodicSize) {
514
+ // Trigger consolidation (will be handled by MemoryConsolidation service)
515
+ console.log(`⚠️ Episodic memory full (${episodicCount} items). Consolidation recommended.`);
516
+ }
517
+ }
518
+ }
519
+ //# sourceMappingURL=HierarchicalMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchicalMemory.js","sourceRoot":"","sources":["../../../src/controllers/HierarchicalMemory.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,20 @@ export declare class LearningSystem {
67
67
  private db;
68
68
  private embedder;
69
69
  private activeSessions;
70
+ private gnnLearning;
71
+ private sonaService;
72
+ private gnnService;
73
+ private gnnEnabled;
74
+ private sonaEnabled;
70
75
  constructor(db: Database, embedder: EmbeddingService);
76
+ /**
77
+ * Initialize RuVector GNN and Sona enhancements
78
+ */
79
+ private initializeRuVectorEnhancements;
80
+ /**
81
+ * Get engine types for all RuVector integrations
82
+ */
83
+ getEngineTypes(): Record<string, string>;
71
84
  /**
72
85
  * Initialize database schema for learning system
73
86
  */
@@ -86,6 +99,8 @@ export declare class LearningSystem {
86
99
  predict(sessionId: string, state: string): Promise<ActionPrediction>;
87
100
  /**
88
101
  * Submit feedback for learning
102
+ *
103
+ * Phase 2 Enhancement: Records to Sona for RL trajectory learning
89
104
  */
90
105
  submitFeedback(feedback: ActionFeedback): Promise<void>;
91
106
  /**
@@ -106,6 +121,8 @@ export declare class LearningSystem {
106
121
  private getLatestPolicy;
107
122
  /**
108
123
  * Calculate action scores based on algorithm
124
+ *
125
+ * Phase 2 Enhancement: Uses GNN for embedding refinement and Sona for predictions
109
126
  */
110
127
  private calculateActionScores;
111
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LearningSystem.d.ts","sourceRoot":"","sources":["../../../src/controllers/LearningSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LearningSystem.d.ts","sourceRoot":"","sources":["../../../src/controllers/LearningSystem.ts"],"names":[],"mappings":"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"}