vesper-memory 0.3.2 → 0.5.0

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 (69) hide show
  1. package/.env.example +8 -4
  2. package/CHANGELOG.md +129 -3
  3. package/LICENSE +59 -0
  4. package/README.md +422 -24
  5. package/config/migrations/001_add_skill_summary.sql +75 -0
  6. package/config/migrations/001_rollback_skill_summary.sql +60 -0
  7. package/config/sqlite-schema.sql +68 -4
  8. package/dist/benchmark/types.d.ts +4 -4
  9. package/dist/cli.js +204 -10
  10. package/dist/cli.js.map +1 -1
  11. package/dist/consolidation/pipeline.d.ts +6 -1
  12. package/dist/consolidation/pipeline.d.ts.map +1 -1
  13. package/dist/consolidation/pipeline.js +53 -35
  14. package/dist/consolidation/pipeline.js.map +1 -1
  15. package/dist/memory-layers/semantic-memory.d.ts +9 -19
  16. package/dist/memory-layers/semantic-memory.d.ts.map +1 -1
  17. package/dist/memory-layers/semantic-memory.js +31 -54
  18. package/dist/memory-layers/semantic-memory.js.map +1 -1
  19. package/dist/memory-layers/skill-lazy-loading.d.ts +160 -0
  20. package/dist/memory-layers/skill-lazy-loading.d.ts.map +1 -0
  21. package/dist/memory-layers/skill-lazy-loading.js +247 -0
  22. package/dist/memory-layers/skill-lazy-loading.js.map +1 -0
  23. package/dist/memory-layers/skill-library.d.ts +133 -4
  24. package/dist/memory-layers/skill-library.d.ts.map +1 -1
  25. package/dist/memory-layers/skill-library.js +427 -8
  26. package/dist/memory-layers/skill-library.js.map +1 -1
  27. package/dist/memory-layers/working-memory.d.ts +35 -14
  28. package/dist/memory-layers/working-memory.d.ts.map +1 -1
  29. package/dist/memory-layers/working-memory.js +114 -36
  30. package/dist/memory-layers/working-memory.js.map +1 -1
  31. package/dist/retrieval/hybrid-search.d.ts +2 -2
  32. package/dist/retrieval/hybrid-search.d.ts.map +1 -1
  33. package/dist/retrieval/hybrid-search.js +4 -3
  34. package/dist/retrieval/hybrid-search.js.map +1 -1
  35. package/dist/router/smart-router.d.ts +25 -0
  36. package/dist/router/smart-router.d.ts.map +1 -1
  37. package/dist/router/smart-router.js +90 -10
  38. package/dist/router/smart-router.js.map +1 -1
  39. package/dist/scheduler/consolidation-scheduler.d.ts +129 -0
  40. package/dist/scheduler/consolidation-scheduler.d.ts.map +1 -0
  41. package/dist/scheduler/consolidation-scheduler.js +179 -0
  42. package/dist/scheduler/consolidation-scheduler.js.map +1 -0
  43. package/dist/scheduler/index.d.ts +7 -0
  44. package/dist/scheduler/index.d.ts.map +1 -0
  45. package/dist/scheduler/index.js +7 -0
  46. package/dist/scheduler/index.js.map +1 -0
  47. package/dist/server-wrapper.js +0 -0
  48. package/dist/server.js +892 -30
  49. package/dist/server.js.map +1 -1
  50. package/dist/synthesis/conflict-detector.d.ts +4 -6
  51. package/dist/synthesis/conflict-detector.d.ts.map +1 -1
  52. package/dist/synthesis/conflict-detector.js +19 -21
  53. package/dist/synthesis/conflict-detector.js.map +1 -1
  54. package/dist/utils/paths.d.ts +72 -0
  55. package/dist/utils/paths.d.ts.map +1 -0
  56. package/dist/utils/paths.js +160 -0
  57. package/dist/utils/paths.js.map +1 -0
  58. package/dist/utils/validation.d.ts +123 -1
  59. package/dist/utils/validation.d.ts.map +1 -1
  60. package/dist/utils/validation.js +146 -7
  61. package/dist/utils/validation.js.map +1 -1
  62. package/docker-compose.yml +11 -13
  63. package/embedding-service/README.md +8 -0
  64. package/package.json +6 -3
  65. package/scripts/FRESH_INSTALL.md +1 -1
  66. package/scripts/ensure-infrastructure.sh +86 -15
  67. package/scripts/health-check.sh +2 -1
  68. package/scripts/stop-infrastructure.sh +23 -0
  69. package/scripts/test-mcp-server.sh +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/consolidation/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,EAAE,CAAoB;gBAG5B,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAQvB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC;IA8DhD;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA+CvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,YAAY;CAcrB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/consolidation/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,EAAE,CAAoB;gBAG5B,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAQvB;;;OAGG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoElE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiDvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBrB"}
@@ -17,8 +17,9 @@ export class ConsolidationPipeline {
17
17
  }
18
18
  /**
19
19
  * Run full consolidation cycle
20
+ * If namespace is omitted, consolidates all namespaces.
20
21
  */
21
- async consolidate() {
22
+ async consolidate(namespace) {
22
23
  const startTime = Date.now();
23
24
  console.error('[CONSOLIDATION] Starting consolidation cycle...');
24
25
  const stats = {
@@ -31,29 +32,34 @@ export class ConsolidationPipeline {
31
32
  duration: 0,
32
33
  };
33
34
  try {
34
- // Step 1: Extract from working memory
35
- const recentMemories = await this.workingMemory.getRecent(100);
36
- stats.memoriesProcessed = recentMemories.length;
37
- for (const memory of recentMemories) {
38
- // Extract entities and relationships
39
- const extracted = this.extractKnowledge(memory);
40
- for (const entity of extracted.entities) {
41
- this.semanticMemory.upsertEntity(entity);
42
- stats.entitiesExtracted++;
43
- }
44
- for (const rel of extracted.relationships) {
45
- this.semanticMemory.upsertRelationship(rel);
46
- stats.relationshipsCreated++;
35
+ // Determine namespaces to consolidate
36
+ const namespacesToProcess = namespace
37
+ ? [namespace]
38
+ : this.getDistinctNamespaces();
39
+ for (const ns of namespacesToProcess) {
40
+ // Step 1: Extract from working memory
41
+ const recentMemories = await this.workingMemory.getRecent(100, ns);
42
+ stats.memoriesProcessed += recentMemories.length;
43
+ for (const memory of recentMemories) {
44
+ const extracted = this.extractKnowledge(memory);
45
+ for (const entity of extracted.entities) {
46
+ this.semanticMemory.upsertEntity(entity, ns);
47
+ stats.entitiesExtracted++;
48
+ }
49
+ for (const rel of extracted.relationships) {
50
+ this.semanticMemory.upsertRelationship(rel, ns);
51
+ stats.relationshipsCreated++;
52
+ }
47
53
  }
54
+ // Step 2: Apply temporal decay
55
+ this.semanticMemory.applyTemporalDecay(ns);
56
+ // Step 3: Detect conflicts
57
+ stats.conflictsDetected += this.detectConflicts(ns);
58
+ // Step 4: Prune low-value memories
59
+ stats.memoriesPruned += this.pruneMemories(ns);
60
+ // Step 5: Extract skills (simplified)
61
+ stats.skillsExtracted += this.extractSkills(recentMemories, ns);
48
62
  }
49
- // Step 2: Apply temporal decay
50
- this.semanticMemory.applyTemporalDecay();
51
- // Step 3: Detect conflicts
52
- stats.conflictsDetected = this.detectConflicts();
53
- // Step 4: Prune low-value memories
54
- stats.memoriesPruned = this.pruneMemories();
55
- // Step 5: Extract skills (simplified)
56
- stats.skillsExtracted = this.extractSkills(recentMemories);
57
63
  // Step 6: Create backup
58
64
  this.createBackup();
59
65
  stats.duration = Date.now() - startTime;
@@ -102,10 +108,19 @@ export class ConsolidationPipeline {
102
108
  }
103
109
  return { entities, relationships };
104
110
  }
111
+ /**
112
+ * Get distinct namespaces from memories table
113
+ */
114
+ getDistinctNamespaces() {
115
+ const rows = this.db.prepare("SELECT DISTINCT namespace FROM memories WHERE namespace IS NOT NULL").all();
116
+ if (rows.length === 0)
117
+ return ['default'];
118
+ return rows.map(r => r.namespace);
119
+ }
105
120
  /**
106
121
  * Detect simple conflicts (temporal impossibilities, contradictions)
107
122
  */
108
- detectConflicts() {
123
+ detectConflicts(namespace = 'default') {
109
124
  let detected = 0;
110
125
  // Temporal conflicts: same property, overlapping time ranges, different values
111
126
  const conflicts = this.db.prepare(`
@@ -116,16 +131,17 @@ export class ConsolidationPipeline {
116
131
  AND f1.value != f2.value
117
132
  AND f1.valid_until IS NULL
118
133
  AND f2.valid_until IS NULL
119
- `).all();
134
+ AND f1.namespace = ? AND f2.namespace = ?
135
+ `).all(namespace, namespace);
120
136
  for (const conflict of conflicts) {
121
137
  // Check if already flagged
122
138
  const existing = this.db.prepare('SELECT * FROM conflicts WHERE fact_id_1 = ? AND fact_id_2 = ?').get(conflict.id1, conflict.id2);
123
139
  if (!existing) {
124
140
  const conflictId = 'conflict_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
125
141
  this.db.prepare(`
126
- INSERT INTO conflicts (id, fact_id_1, fact_id_2, conflict_type, description, severity, resolution_status)
127
- VALUES (?, ?, ?, ?, ?, ?, ?)
128
- `).run(conflictId, conflict.id1, conflict.id2, 'contradiction', `Conflicting values for ${conflict.property}: "${conflict.val1}" vs "${conflict.val2}"`, 'medium', 'flagged');
142
+ INSERT INTO conflicts (id, fact_id_1, fact_id_2, conflict_type, description, severity, resolution_status, namespace)
143
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
144
+ `).run(conflictId, conflict.id1, conflict.id2, 'contradiction', `Conflicting values for ${conflict.property}: "${conflict.val1}" vs "${conflict.val2}"`, 'medium', 'flagged', namespace);
129
145
  // Lower confidence on both facts
130
146
  this.db.prepare('UPDATE facts SET confidence = 0.5 WHERE id = ?').run(conflict.id1);
131
147
  this.db.prepare('UPDATE facts SET confidence = 0.5 WHERE id = ?').run(conflict.id2);
@@ -137,7 +153,7 @@ export class ConsolidationPipeline {
137
153
  /**
138
154
  * Prune low-value memories
139
155
  */
140
- pruneMemories() {
156
+ pruneMemories(namespace = 'default') {
141
157
  // Find relationships to prune (weak relationships with low-access entities)
142
158
  const toPrune = this.db.prepare(`
143
159
  SELECT r.id
@@ -147,7 +163,8 @@ export class ConsolidationPipeline {
147
163
  WHERE r.strength < 0.05
148
164
  AND source.access_count < 3
149
165
  AND target.access_count < 3
150
- `).all();
166
+ AND r.namespace = ?
167
+ `).all(namespace);
151
168
  // Delete them
152
169
  let deleted = 0;
153
170
  for (const row of toPrune) {
@@ -159,20 +176,20 @@ export class ConsolidationPipeline {
159
176
  /**
160
177
  * Extract skills from positive interactions
161
178
  */
162
- extractSkills(memories) {
179
+ extractSkills(memories, namespace = 'default') {
163
180
  let extracted = 0;
164
181
  for (const memory of memories) {
165
182
  // Look for repeated patterns
166
183
  if (memory.topics && memory.topics.includes('analysis')) {
167
184
  // Check if skill already exists
168
- const existing = this.skillLibrary.search('data analysis', 1);
185
+ const existing = this.skillLibrary.search('data analysis', 1, namespace);
169
186
  if (existing.length === 0) {
170
187
  this.skillLibrary.addSkill({
171
188
  name: 'Data Analysis',
172
189
  description: 'Analyze datasets and provide insights',
173
190
  category: 'analysis',
174
191
  triggers: ['analyze', 'data', 'insights'],
175
- });
192
+ }, namespace);
176
193
  extracted++;
177
194
  }
178
195
  }
@@ -184,10 +201,11 @@ export class ConsolidationPipeline {
184
201
  */
185
202
  createBackup() {
186
203
  const backupId = 'backup_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
204
+ const now = new Date().toISOString();
187
205
  this.db.prepare(`
188
- INSERT INTO backup_metadata (id, backup_type, backup_path, created_at, expires_at)
189
- VALUES (?, ?, ?, ?, ?)
190
- `).run(backupId, 'consolidation', './backups/' + backupId + '.db', new Date().toISOString(), new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString());
206
+ INSERT INTO backup_metadata (id, backup_timestamp, backup_type, status, backup_path, created_at, expires_at)
207
+ VALUES (?, ?, ?, ?, ?, ?, ?)
208
+ `).run(backupId, now, 'consolidation', 'completed', './backups/' + backupId + '.db', now, new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString());
191
209
  }
192
210
  }
193
211
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/consolidation/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,MAAM,OAAO,qBAAqB;IACxB,aAAa,CAAqB;IAClC,cAAc,CAAsB;IACpC,YAAY,CAAe;IAC3B,EAAE,CAAoB;IAE9B,YACE,aAAiC,EACjC,cAAmC,EACnC,YAA0B,EAC1B,EAAqB;QAErB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAuB;YAChC,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,iBAAiB,EAAE,CAAC;YACpB,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,CAAC;SACZ,CAAC;QAEF,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/D,KAAK,CAAC,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC;YAEhD,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,qCAAqC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAEhD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACxC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACzC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;oBAC1C,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC5C,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;YAEzC,2BAA2B;YAC3B,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAEjD,mCAAmC;YACnC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAE5C,sCAAsC;YACtC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE3D,wBAAwB;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,iBAAiB,gBAAgB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChH,OAAO,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,iBAAiB,cAAc,KAAK,CAAC,oBAAoB,gBAAgB,CAAC,CAAC;YAC5H,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,iBAAiB,sBAAsB,KAAK,CAAC,cAAc,WAAW,CAAC,CAAC;YAExH,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,MAAW;QAIlC,MAAM,QAAQ,GAAuG,EAAE,CAAC;QACxH,MAAM,aAAa,GAAU,EAAE,CAAC;QAEhC,0CAA0C;QAC1C,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAkB;oBACxB,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAG;YACnB,gBAAgB;YAChB,cAAc;YACd,qBAAqB;SACtB,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,IAAI,EAAE,YAAqB;oBAC3B,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,+EAA+E;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQjC,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC9B,+DAA+D,CAChE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE5F,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;SAGf,CAAC,CAAC,GAAG,CACJ,UAAU,EACV,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,GAAG,EACZ,eAAe,EACf,0BAA0B,QAAQ,CAAC,QAAQ,MAAM,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,GAAG,EACvF,QAAQ,EACR,SAAS,CACV,CAAC;gBAEF,iCAAiC;gBACjC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAEpF,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,4EAA4E;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQ/B,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,cAAc;QACd,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAe;QACnC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,6BAA6B;YAC7B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBAE9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;wBACzB,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,uCAAuC;wBACpD,QAAQ,EAAE,UAAU;wBACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;qBAC1C,CAAC,CAAC;oBACH,SAAS,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CACJ,QAAQ,EACR,eAAe,EACf,YAAY,GAAG,QAAQ,GAAG,KAAK,EAC/B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAC7D,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/consolidation/pipeline.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Semantic Memory Layer - v3.0 Implementation
3
3
  *
4
4
  * SQLite knowledge graph with HippoRAG Personalized PageRank.
5
+ * v0.5.0: Added namespace parameter for multi-agent isolation.
5
6
  */
6
7
  import Database from 'better-sqlite3';
7
8
  export interface Entity {
@@ -48,29 +49,18 @@ export declare class SemanticMemoryLayer {
48
49
  upsertEntity(entity: Partial<Entity> & {
49
50
  name: string;
50
51
  type: string;
51
- }): Entity;
52
- getEntity(name: string): any | null;
52
+ }, namespace?: string): Entity;
53
+ getEntity(name: string, namespace?: string): any | null;
53
54
  upsertRelationship(rel: {
54
55
  sourceId: string;
55
56
  targetId: string;
56
57
  relationType: string;
57
58
  strength?: number;
58
- }): void;
59
- personalizedPageRank(entityId: string, depth?: number): any[];
60
- /**
61
- * Enhanced Personalized PageRank with fact retrieval for multi-hop reasoning.
62
- *
63
- * Returns both entities AND their associated facts along the traversal path,
64
- * enabling multi-hop query answering (e.g., "What protocol does Vesper follow?"
65
- * can chain Vesper -> MCP -> "Model Context Protocol").
66
- *
67
- * @param entityId - Starting entity ID for traversal
68
- * @param depth - Maximum hops to traverse (default: 3 for multi-hop queries)
69
- * @returns PageRankWithFactsResult containing entities, facts, paths, and chains
70
- */
71
- personalizedPageRankWithFacts(entityId: string, depth?: number): PageRankWithFactsResult;
72
- applyTemporalDecay(): number;
73
- getPreferences(domain?: string): any[];
74
- getByTimeRange(start?: Date, end?: Date): any[];
59
+ }, namespace?: string): void;
60
+ personalizedPageRank(entityId: string, depth?: number, namespace?: string): any[];
61
+ personalizedPageRankWithFacts(entityId: string, depth?: number, namespace?: string): PageRankWithFactsResult;
62
+ applyTemporalDecay(namespace?: string): number;
63
+ getPreferences(domain?: string, namespace?: string): any[];
64
+ getByTimeRange(start?: Date, end?: Date, namespace?: string): any[];
75
65
  }
76
66
  //# sourceMappingURL=semantic-memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-memory.d.ts","sourceRoot":"","sources":["../../src/memory-layers/semantic-memory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAiC9E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAcnC,kBAAkB,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuB9G,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,GAAG,EAAE;IAmChE;;;;;;;;;;OAUG;IACH,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,uBAAuB;IAyI3F,kBAAkB,IAAI,MAAM;IAgB5B,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE;IAStC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE;CAgBhD"}
1
+ {"version":3,"file":"semantic-memory.d.ts","sourceRoot":"","sources":["../../src/memory-layers/semantic-memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,GAAE,MAAkB,GAAG,MAAM;IAiC7G,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,GAAG,GAAG,IAAI;IAclE,kBAAkB,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,GAAE,MAAkB,GAAG,IAAI;IAuB7I,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,EAAE,SAAS,GAAE,MAAkB,GAAG,GAAG,EAAE;IAmC/F,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,EAAE,SAAS,GAAE,MAAkB,GAAG,uBAAuB;IA4H1H,kBAAkB,CAAC,SAAS,GAAE,MAAkB,GAAG,MAAM;IAezD,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,GAAG,EAAE;IASrE,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAE,MAAkB,GAAG,GAAG,EAAE;CAgB/E"}
@@ -2,17 +2,18 @@
2
2
  * Semantic Memory Layer - v3.0 Implementation
3
3
  *
4
4
  * SQLite knowledge graph with HippoRAG Personalized PageRank.
5
+ * v0.5.0: Added namespace parameter for multi-agent isolation.
5
6
  */
6
7
  export class SemanticMemoryLayer {
7
8
  db;
8
9
  constructor(db) {
9
10
  this.db = db;
10
11
  }
11
- upsertEntity(entity) {
12
+ upsertEntity(entity, namespace = 'default') {
12
13
  if (!entity.name || entity.name.trim() === '') {
13
14
  throw new Error('Entity name cannot be empty');
14
15
  }
15
- const existing = this.db.prepare('SELECT * FROM entities WHERE name = ? AND type = ?').get(entity.name, entity.type);
16
+ const existing = this.db.prepare('SELECT * FROM entities WHERE name = ? AND type = ? AND namespace = ?').get(entity.name, entity.type, namespace);
16
17
  if (existing) {
17
18
  this.db.prepare('UPDATE entities SET last_accessed = ?, access_count = access_count + 1 WHERE id = ?').run(new Date().toISOString(), existing.id);
18
19
  return existing;
@@ -20,9 +21,9 @@ export class SemanticMemoryLayer {
20
21
  const id = 'entity_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
21
22
  const now = new Date().toISOString();
22
23
  this.db.prepare(`
23
- INSERT INTO entities (id, name, type, description, confidence, created_at, last_accessed, access_count)
24
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
25
- `).run(id, entity.name, entity.type, entity.description || null, entity.confidence || 1.0, now, now, 1);
24
+ INSERT INTO entities (id, name, type, description, confidence, created_at, last_accessed, access_count, namespace)
25
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
26
+ `).run(id, entity.name, entity.type, entity.description || null, entity.confidence || 1.0, now, now, 1, namespace);
26
27
  return {
27
28
  id,
28
29
  name: entity.name,
@@ -31,15 +32,15 @@ export class SemanticMemoryLayer {
31
32
  confidence: entity.confidence || 1.0
32
33
  };
33
34
  }
34
- getEntity(name) {
35
- const result = this.db.prepare('SELECT * FROM entities WHERE name = ? ORDER BY confidence DESC LIMIT 1').get(name);
35
+ getEntity(name, namespace = 'default') {
36
+ const result = this.db.prepare('SELECT * FROM entities WHERE name = ? AND namespace = ? ORDER BY confidence DESC LIMIT 1').get(name, namespace);
36
37
  if (result) {
37
38
  this.db.prepare('UPDATE entities SET last_accessed = ?, access_count = access_count + 1 WHERE id = ?').run(new Date().toISOString(), result.id);
38
39
  }
39
40
  return result || null;
40
41
  }
41
- upsertRelationship(rel) {
42
- const existing = this.db.prepare('SELECT * FROM relationships WHERE source_id = ? AND target_id = ? AND relation_type = ?').get(rel.sourceId, rel.targetId, rel.relationType);
42
+ upsertRelationship(rel, namespace = 'default') {
43
+ const existing = this.db.prepare('SELECT * FROM relationships WHERE source_id = ? AND target_id = ? AND relation_type = ? AND namespace = ?').get(rel.sourceId, rel.targetId, rel.relationType, namespace);
43
44
  const now = new Date().toISOString();
44
45
  if (existing) {
45
46
  const newStrength = Math.min(1.0, existing.strength + 0.2);
@@ -48,11 +49,11 @@ export class SemanticMemoryLayer {
48
49
  }
49
50
  const id = 'rel_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
50
51
  this.db.prepare(`
51
- INSERT INTO relationships (id, source_id, target_id, relation_type, strength, evidence, created_at, last_reinforced)
52
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
53
- `).run(id, rel.sourceId, rel.targetId, rel.relationType, rel.strength || 0.8, '[]', now, now);
52
+ INSERT INTO relationships (id, source_id, target_id, relation_type, strength, evidence, created_at, last_reinforced, namespace)
53
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
54
+ `).run(id, rel.sourceId, rel.targetId, rel.relationType, rel.strength || 0.8, '[]', now, now, namespace);
54
55
  }
55
- personalizedPageRank(entityId, depth = 3) {
56
+ personalizedPageRank(entityId, depth = 3, namespace = 'default') {
56
57
  const visited = new Set();
57
58
  const results = [];
58
59
  let currentLayer = [{ entityId, score: 1.0 }];
@@ -62,10 +63,10 @@ export class SemanticMemoryLayer {
62
63
  if (visited.has(node.entityId))
63
64
  continue;
64
65
  visited.add(node.entityId);
65
- const entity = this.db.prepare('SELECT * FROM entities WHERE id = ?').get(node.entityId);
66
+ const entity = this.db.prepare('SELECT * FROM entities WHERE id = ? AND namespace = ?').get(node.entityId, namespace);
66
67
  if (entity)
67
68
  results.push({ ...entity, relevanceScore: node.score });
68
- const rels = this.db.prepare('SELECT * FROM relationships WHERE source_id = ? OR target_id = ?').all(node.entityId, node.entityId);
69
+ const rels = this.db.prepare('SELECT * FROM relationships WHERE (source_id = ? OR target_id = ?) AND namespace = ?').all(node.entityId, node.entityId, namespace);
69
70
  for (const rel of rels) {
70
71
  const nextId = rel.source_id === node.entityId ? rel.target_id : rel.source_id;
71
72
  const score = node.score * rel.strength * 0.7;
@@ -78,26 +79,13 @@ export class SemanticMemoryLayer {
78
79
  }
79
80
  return results.sort((a, b) => b.relevanceScore - a.relevanceScore);
80
81
  }
81
- /**
82
- * Enhanced Personalized PageRank with fact retrieval for multi-hop reasoning.
83
- *
84
- * Returns both entities AND their associated facts along the traversal path,
85
- * enabling multi-hop query answering (e.g., "What protocol does Vesper follow?"
86
- * can chain Vesper -> MCP -> "Model Context Protocol").
87
- *
88
- * @param entityId - Starting entity ID for traversal
89
- * @param depth - Maximum hops to traverse (default: 3 for multi-hop queries)
90
- * @returns PageRankWithFactsResult containing entities, facts, paths, and chains
91
- */
92
- personalizedPageRankWithFacts(entityId, depth = 3) {
82
+ personalizedPageRankWithFacts(entityId, depth = 3, namespace = 'default') {
93
83
  const visited = new Set();
94
84
  const entities = [];
95
85
  const allFacts = [];
96
86
  const paths = [];
97
87
  const chains = [];
98
- // Track paths for explainability: entityId -> { path: string[], hops: number }
99
88
  const pathTracker = new Map();
100
- // BFS with score propagation
101
89
  let currentLayer = [{
102
90
  entityId,
103
91
  score: 1.0,
@@ -105,8 +93,7 @@ export class SemanticMemoryLayer {
105
93
  depth: 0,
106
94
  lastRelationType: 'start'
107
95
  }];
108
- // Check if starting entity exists
109
- const startEntity = this.db.prepare('SELECT * FROM entities WHERE id = ?').get(entityId);
96
+ const startEntity = this.db.prepare('SELECT * FROM entities WHERE id = ? AND namespace = ?').get(entityId, namespace);
110
97
  if (!startEntity) {
111
98
  return { entities: [], facts: [], paths: [], chains: [] };
112
99
  }
@@ -116,19 +103,16 @@ export class SemanticMemoryLayer {
116
103
  if (visited.has(node.entityId))
117
104
  continue;
118
105
  visited.add(node.entityId);
119
- // Get entity
120
- const entity = this.db.prepare('SELECT * FROM entities WHERE id = ?').get(node.entityId);
106
+ const entity = this.db.prepare('SELECT * FROM entities WHERE id = ? AND namespace = ?').get(node.entityId, namespace);
121
107
  if (entity) {
122
108
  entities.push({ ...entity, relevanceScore: node.score });
123
- // Get facts for this entity (valid facts only)
124
109
  const entityFacts = this.db.prepare(`
125
110
  SELECT * FROM facts
126
- WHERE entity_id = ?
111
+ WHERE entity_id = ? AND namespace = ?
127
112
  AND (valid_until IS NULL OR valid_until > datetime('now'))
128
113
  ORDER BY confidence DESC
129
- `).all(node.entityId);
114
+ `).all(node.entityId, namespace);
130
115
  allFacts.push(...entityFacts);
131
- // Track path if not the starting node
132
116
  if (node.depth > 0) {
133
117
  pathTracker.set(node.entityId, {
134
118
  path: node.path,
@@ -142,12 +126,11 @@ export class SemanticMemoryLayer {
142
126
  path: node.path,
143
127
  relationType: node.lastRelationType
144
128
  });
145
- // Build chain info for inference
146
129
  if (node.path.length > 2) {
147
130
  const intermediaryIds = node.path.slice(1, -1);
148
131
  const intermediaryNames = [];
149
132
  for (const interId of intermediaryIds) {
150
- const interEntity = this.db.prepare('SELECT name FROM entities WHERE id = ?').get(interId);
133
+ const interEntity = this.db.prepare('SELECT name FROM entities WHERE id = ? AND namespace = ?').get(interId, namespace);
151
134
  if (interEntity) {
152
135
  intermediaryNames.push(interEntity.name);
153
136
  }
@@ -161,13 +144,11 @@ export class SemanticMemoryLayer {
161
144
  }
162
145
  }
163
146
  }
164
- // Continue only if we have more depth to traverse
165
147
  if (d < depth) {
166
- const rels = this.db.prepare('SELECT * FROM relationships WHERE source_id = ? OR target_id = ?').all(node.entityId, node.entityId);
148
+ const rels = this.db.prepare('SELECT * FROM relationships WHERE (source_id = ? OR target_id = ?) AND namespace = ?').all(node.entityId, node.entityId, namespace);
167
149
  for (const rel of rels) {
168
150
  const nextId = rel.source_id === node.entityId ? rel.target_id : rel.source_id;
169
151
  const score = node.score * rel.strength * 0.7;
170
- // Lower threshold for multi-hop to ensure we reach deeper nodes
171
152
  if (!visited.has(nextId) && score > 0.05) {
172
153
  nextLayer.push({
173
154
  entityId: nextId,
@@ -182,11 +163,8 @@ export class SemanticMemoryLayer {
182
163
  }
183
164
  currentLayer = nextLayer;
184
165
  }
185
- // Sort entities by relevance score
186
166
  entities.sort((a, b) => b.relevanceScore - a.relevanceScore);
187
- // Sort facts by confidence
188
167
  allFacts.sort((a, b) => b.confidence - a.confidence);
189
- // Deduplicate facts (same fact might be reached via different paths)
190
168
  const uniqueFacts = allFacts.filter((fact, index, self) => index === self.findIndex(f => f.id === fact.id));
191
169
  return {
192
170
  entities,
@@ -195,27 +173,26 @@ export class SemanticMemoryLayer {
195
173
  chains: chains.length > 0 ? chains : undefined
196
174
  };
197
175
  }
198
- applyTemporalDecay() {
199
- const relationships = this.db.prepare('SELECT * FROM relationships').all();
176
+ applyTemporalDecay(namespace = 'default') {
177
+ const relationships = this.db.prepare('SELECT * FROM relationships WHERE namespace = ?').all(namespace);
200
178
  let updated = 0;
201
179
  for (const rel of relationships) {
202
180
  const daysSince = (Date.now() - new Date(rel.last_reinforced).getTime()) / (1000 * 60 * 60 * 24);
203
181
  const newStrength = rel.strength * Math.exp(-daysSince / 30);
204
- // Just update strength, pruning happens later in consolidation
205
182
  this.db.prepare('UPDATE relationships SET strength = ? WHERE id = ?').run(newStrength, rel.id);
206
183
  updated++;
207
184
  }
208
185
  return updated;
209
186
  }
210
- getPreferences(domain) {
187
+ getPreferences(domain, namespace = 'default') {
211
188
  if (domain) {
212
- return this.db.prepare('SELECT * FROM entities WHERE type = ? AND (name LIKE ? OR description LIKE ?)').all('preference', `%${domain}%`, `%${domain}%`);
189
+ return this.db.prepare('SELECT * FROM entities WHERE type = ? AND namespace = ? AND (name LIKE ? OR description LIKE ?)').all('preference', namespace, `%${domain}%`, `%${domain}%`);
213
190
  }
214
- return this.db.prepare('SELECT * FROM entities WHERE type = ?').all('preference');
191
+ return this.db.prepare('SELECT * FROM entities WHERE type = ? AND namespace = ?').all('preference', namespace);
215
192
  }
216
- getByTimeRange(start, end) {
217
- let query = 'SELECT * FROM entities WHERE 1=1';
218
- const params = [];
193
+ getByTimeRange(start, end, namespace = 'default') {
194
+ let query = 'SELECT * FROM entities WHERE namespace = ?';
195
+ const params = [namespace];
219
196
  if (start) {
220
197
  query += ' AND created_at >= ?';
221
198
  params.push(start.toISOString());
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-memory.js","sourceRoot":"","sources":["../../src/memory-layers/semantic-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-memory.js","sourceRoot":"","sources":["../../src/memory-layers/semantic-memory.ts"],"names":[],"mappings":"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"}