@theihtisham/agent-shadow-brain 4.0.3 → 5.0.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.
@@ -0,0 +1,451 @@
1
+ // src/brain/hierarchical-memory.ts — 4-Tier Infinite Memory Compression
2
+ // raw → summary → pattern → principle with drill-down capability
3
+ // v5.0.0 — Infinite Intelligence Edition
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ import * as crypto from 'crypto';
7
+ const STORE_DIR = path.join(process.env.HOME || process.env.USERPROFILE || '~', '.shadow-brain', 'hierarchical-memory');
8
+ const TIERS = ['raw', 'summary', 'pattern', 'principle'];
9
+ /** Maximum entries per tier before forced compression upward */
10
+ const TIER_LIMITS = {
11
+ raw: 50000,
12
+ summary: 10000,
13
+ pattern: 2000,
14
+ principle: 500,
15
+ };
16
+ /**
17
+ * Hierarchical Memory — never forget, always compress.
18
+ *
19
+ * Tier 1 (raw): Full insight text, full context, full metadata. Retained for 7 days or until tier limit.
20
+ * Tier 2 (summary): LLM-generated or algorithmic summary. Key facts, file references, category.
21
+ * Tier 3 (pattern): Abstracted patterns extracted from multiple summaries. Reusable rules.
22
+ * Tier 4 (principle): Fundamental truths / heuristics that survived many projects and sessions.
23
+ *
24
+ * Drill-down: Given a principle, trace back through patterns → summaries → raw entries.
25
+ *
26
+ * Compression: When a tier exceeds its limit, the oldest/least-accessed entries are
27
+ * batch-compressed into the next tier up. Originals are archived (not deleted).
28
+ */
29
+ export class HierarchicalMemory {
30
+ constructor(customDir) {
31
+ this.entries = new Map();
32
+ this.tierIndex = new Map([
33
+ ['raw', new Set()],
34
+ ['summary', new Set()],
35
+ ['pattern', new Set()],
36
+ ['principle', new Set()],
37
+ ]);
38
+ this.storeDir = customDir || STORE_DIR;
39
+ this.loadFromDisk();
40
+ }
41
+ // ── Core Operations ──────────────────────────────────────────────────────────
42
+ /** Store a new memory at the raw tier */
43
+ async store(content, category, confidence, metadata = {}) {
44
+ const id = crypto.randomUUID();
45
+ const vector = this.textToVector(content);
46
+ const entry = {
47
+ id,
48
+ tier: 'raw',
49
+ content,
50
+ category,
51
+ confidence,
52
+ importance: this.calculateImportance(confidence, category, content),
53
+ accessCount: 0,
54
+ createdAt: new Date(),
55
+ lastAccessed: new Date(),
56
+ promotedAt: null,
57
+ parentIds: [],
58
+ childIds: [],
59
+ vector,
60
+ metadata,
61
+ compressedSize: content.length,
62
+ originalSize: content.length,
63
+ };
64
+ this.entries.set(id, entry);
65
+ this.tierIndex.get('raw').add(id);
66
+ // Check if tier needs compression
67
+ await this.checkCompression('raw');
68
+ await this.persist();
69
+ return id;
70
+ }
71
+ /** Retrieve a specific entry by ID */
72
+ get(id) {
73
+ const entry = this.entries.get(id);
74
+ if (entry) {
75
+ entry.accessCount++;
76
+ entry.lastAccessed = new Date();
77
+ }
78
+ return entry;
79
+ }
80
+ /** Drill down from a higher-tier entry to its source entries */
81
+ drillDown(id, maxDepth = 10) {
82
+ const result = [];
83
+ let currentIds = [id];
84
+ let depth = 0;
85
+ while (currentIds.length > 0 && depth < maxDepth) {
86
+ const level = [];
87
+ const nextIds = [];
88
+ for (const cid of currentIds) {
89
+ const entry = this.entries.get(cid);
90
+ if (entry) {
91
+ level.push(entry);
92
+ // Follow parent links (entries this was compressed FROM)
93
+ for (const parentId of entry.parentIds) {
94
+ if (!nextIds.includes(parentId)) {
95
+ nextIds.push(parentId);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ if (level.length > 0) {
101
+ result.push(level);
102
+ }
103
+ currentIds = nextIds;
104
+ depth++;
105
+ }
106
+ return result;
107
+ }
108
+ /** Drill up from a raw entry to see what principles it contributed to */
109
+ drillUp(id, maxDepth = 10) {
110
+ const result = [];
111
+ let currentIds = [id];
112
+ let depth = 0;
113
+ while (currentIds.length > 0 && depth < maxDepth) {
114
+ const level = [];
115
+ const nextIds = [];
116
+ for (const cid of currentIds) {
117
+ const entry = this.entries.get(cid);
118
+ if (entry) {
119
+ level.push(entry);
120
+ for (const childId of entry.childIds) {
121
+ if (!nextIds.includes(childId)) {
122
+ nextIds.push(childId);
123
+ }
124
+ }
125
+ }
126
+ }
127
+ if (level.length > 0) {
128
+ result.push(level);
129
+ }
130
+ currentIds = nextIds;
131
+ depth++;
132
+ }
133
+ return result;
134
+ }
135
+ /** Get all entries at a specific tier */
136
+ getByTier(tier) {
137
+ const ids = this.tierIndex.get(tier);
138
+ if (!ids)
139
+ return [];
140
+ return Array.from(ids)
141
+ .map(id => this.entries.get(id))
142
+ .filter((e) => e !== undefined);
143
+ }
144
+ /** Search across all tiers by content or category */
145
+ search(query, topK = 20) {
146
+ const queryLower = query.toLowerCase();
147
+ const queryVector = this.textToVector(query);
148
+ const candidates = [];
149
+ for (const entry of this.entries.values()) {
150
+ let score = 0;
151
+ // Text match
152
+ if (entry.content.toLowerCase().includes(queryLower)) {
153
+ score += 0.4;
154
+ }
155
+ if (entry.category.toLowerCase().includes(queryLower)) {
156
+ score += 0.2;
157
+ }
158
+ // Semantic similarity
159
+ const similarity = this.cosineSimilarity(queryVector, entry.vector);
160
+ score += similarity * 0.3;
161
+ // Importance and tier boost
162
+ score += entry.importance * 0.1;
163
+ // Higher tiers get a relevance boost (principles are more valuable)
164
+ const tierBoost = { raw: 0, summary: 0.05, pattern: 0.1, principle: 0.15 };
165
+ score += tierBoost[entry.tier];
166
+ if (score > 0.1) {
167
+ candidates.push({ entry, score });
168
+ }
169
+ }
170
+ candidates.sort((a, b) => b.score - a.score);
171
+ return candidates.slice(0, topK).map(c => c.entry);
172
+ }
173
+ /** Manually promote an entry to a higher tier */
174
+ async promote(id) {
175
+ const entry = this.entries.get(id);
176
+ if (!entry)
177
+ return false;
178
+ const currentIdx = TIERS.indexOf(entry.tier);
179
+ if (currentIdx >= TIERS.length - 1)
180
+ return false; // Already at top
181
+ const newTier = TIERS[currentIdx + 1];
182
+ this.tierIndex.get(entry.tier).delete(id);
183
+ entry.tier = newTier;
184
+ entry.promotedAt = new Date();
185
+ this.tierIndex.get(newTier).add(id);
186
+ await this.persist();
187
+ return true;
188
+ }
189
+ // ── Compression Engine ───────────────────────────────────────────────────────
190
+ async checkCompression(tier) {
191
+ const ids = this.tierIndex.get(tier);
192
+ if (ids.size < TIER_LIMITS[tier])
193
+ return;
194
+ const tierIdx = TIERS.indexOf(tier);
195
+ if (tierIdx >= TIERS.length - 1)
196
+ return; // Can't compress above principle
197
+ const nextTier = TIERS[tierIdx + 1];
198
+ // Sort by (importance * recency * accessCount) ascending — compress least valuable first
199
+ const sorted = Array.from(ids)
200
+ .map(id => this.entries.get(id))
201
+ .filter(Boolean)
202
+ .sort((a, b) => {
203
+ const scoreA = a.importance * this.recencyFactor(a) * (a.accessCount + 1);
204
+ const scoreB = b.importance * this.recencyFactor(b) * (b.accessCount + 1);
205
+ return scoreA - scoreB;
206
+ });
207
+ // Batch compress the bottom 50% into summaries for the next tier
208
+ const toCompress = sorted.slice(0, Math.floor(sorted.length * 0.5));
209
+ if (toCompress.length < 2)
210
+ return;
211
+ // Group by category for better compression
212
+ const byCategory = new Map();
213
+ for (const entry of toCompress) {
214
+ const cat = entry.category;
215
+ if (!byCategory.has(cat))
216
+ byCategory.set(cat, []);
217
+ byCategory.get(cat).push(entry);
218
+ }
219
+ for (const [category, entries] of byCategory) {
220
+ const compressedContent = this.compressContent(entries, nextTier);
221
+ const compressedId = crypto.randomUUID();
222
+ const compressedVector = this.textToVector(compressedContent);
223
+ const parentIds = entries.map(e => e.id);
224
+ const totalImportance = entries.reduce((s, e) => s + e.importance, 0) / entries.length;
225
+ const totalConfidence = entries.reduce((s, e) => s + e.confidence, 0) / entries.length;
226
+ const compressedEntry = {
227
+ id: compressedId,
228
+ tier: nextTier,
229
+ content: compressedContent,
230
+ category,
231
+ confidence: totalConfidence,
232
+ importance: Math.min(1, totalImportance * 1.1), // slight boost on promotion
233
+ accessCount: 0,
234
+ createdAt: entries[0].createdAt,
235
+ lastAccessed: new Date(),
236
+ promotedAt: new Date(),
237
+ parentIds,
238
+ childIds: [],
239
+ vector: compressedVector,
240
+ metadata: {
241
+ compressedFrom: entries.length,
242
+ sourceTier: tier,
243
+ compressionDate: new Date().toISOString(),
244
+ },
245
+ compressedSize: compressedContent.length,
246
+ originalSize: entries.reduce((s, e) => s + e.originalSize, 0),
247
+ };
248
+ // Update parent entries to link to compressed child
249
+ for (const parent of entries) {
250
+ parent.childIds.push(compressedId);
251
+ }
252
+ this.entries.set(compressedId, compressedEntry);
253
+ this.tierIndex.get(nextTier).add(compressedId);
254
+ }
255
+ // Remove compressed entries from their tier index (but keep in entries map for drill-down)
256
+ for (const entry of toCompress) {
257
+ this.tierIndex.get(tier).delete(entry.id);
258
+ }
259
+ // Recursively check if next tier also needs compression
260
+ await this.checkCompression(nextTier);
261
+ }
262
+ /** Compress multiple entries into a single higher-tier entry */
263
+ compressContent(entries, targetTier) {
264
+ if (targetTier === 'summary') {
265
+ // Summary: key facts from raw entries
266
+ const facts = entries.map(e => {
267
+ const firstLine = e.content.split('\n')[0];
268
+ return firstLine.length > 200 ? firstLine.slice(0, 200) + '...' : firstLine;
269
+ });
270
+ return `Summary of ${entries.length} observations in ${entries[0].category}:\n` +
271
+ facts.map((f, i) => `${i + 1}. ${f}`).join('\n') +
272
+ `\nConfidence range: ${(Math.min(...entries.map(e => e.confidence)) * 100).toFixed(0)}%-${(Math.max(...entries.map(e => e.confidence)) * 100).toFixed(0)}%`;
273
+ }
274
+ if (targetTier === 'pattern') {
275
+ // Pattern: abstracted rules from summaries
276
+ const contents = entries.map(e => e.content);
277
+ const commonTerms = this.extractCommonTerms(contents);
278
+ return `Pattern detected across ${entries.length} summaries (${entries[0].category}):\n` +
279
+ `Common themes: ${commonTerms.join(', ')}\n` +
280
+ `Observed in: ${entries.flatMap(e => e.parentIds).length} source entries\n` +
281
+ `Reliability: ${(entries.reduce((s, e) => s + e.confidence, 0) / entries.length * 100).toFixed(0)}%`;
282
+ }
283
+ if (targetTier === 'principle') {
284
+ // Principle: fundamental truth from patterns
285
+ const allContents = entries.map(e => e.content).join(' ');
286
+ const keyPhrases = this.extractKeyPhrases(allContents);
287
+ return `Established principle (${entries[0].category}):\n` +
288
+ `${keyPhrases[0] || 'Consistent pattern across multiple projects'}\n` +
289
+ `Validated by ${entries.length} patterns, ${entries.flatMap(e => e.parentIds).length} observations\n` +
290
+ `Trust level: ${(entries.reduce((s, e) => s + e.confidence, 0) / entries.length * 100).toFixed(0)}%`;
291
+ }
292
+ return entries.map(e => e.content).join('\n---\n');
293
+ }
294
+ // ── Utility Functions ────────────────────────────────────────────────────────
295
+ calculateImportance(confidence, category, content) {
296
+ let importance = confidence * 0.5;
297
+ // High-impact categories
298
+ const highImpact = ['security', 'architecture', 'performance'];
299
+ if (highImpact.includes(category))
300
+ importance += 0.15;
301
+ // Content length heuristics (longer = more detailed = potentially more important)
302
+ if (content.length > 500)
303
+ importance += 0.1;
304
+ if (content.length > 1000)
305
+ importance += 0.05;
306
+ // Code-related content
307
+ if (content.includes('function') || content.includes('class') || content.includes('interface')) {
308
+ importance += 0.1;
309
+ }
310
+ return Math.min(1, importance);
311
+ }
312
+ recencyFactor(entry) {
313
+ const ageMs = Date.now() - entry.createdAt.getTime();
314
+ const ageDays = ageMs / (1000 * 60 * 60 * 24);
315
+ return 1 / (1 + ageDays * 0.1); // Decay over time
316
+ }
317
+ /** Simple text-to-vector using character frequency and word hashing */
318
+ textToVector(text, dim = 64) {
319
+ const vector = new Array(dim).fill(0);
320
+ const words = text.toLowerCase().split(/\s+/);
321
+ for (let i = 0; i < words.length; i++) {
322
+ const word = words[i];
323
+ let hash = 0;
324
+ for (let j = 0; j < word.length; j++) {
325
+ hash = ((hash << 5) - hash + word.charCodeAt(j)) | 0;
326
+ }
327
+ const idx = Math.abs(hash) % dim;
328
+ vector[idx] += 1;
329
+ // Bigram features
330
+ if (i > 0) {
331
+ const bigram = words[i - 1] + '_' + word;
332
+ let bhash = 0;
333
+ for (let j = 0; j < bigram.length; j++) {
334
+ bhash = ((bhash << 5) - bhash + bigram.charCodeAt(j)) | 0;
335
+ }
336
+ const bidx = Math.abs(bhash) % dim;
337
+ vector[bidx] += 0.5;
338
+ }
339
+ }
340
+ // Normalize
341
+ const mag = Math.sqrt(vector.reduce((s, v) => s + v * v, 0));
342
+ if (mag > 0) {
343
+ for (let i = 0; i < dim; i++)
344
+ vector[i] /= mag;
345
+ }
346
+ return vector;
347
+ }
348
+ cosineSimilarity(a, b) {
349
+ if (a.length !== b.length)
350
+ return 0;
351
+ let dot = 0, magA = 0, magB = 0;
352
+ for (let i = 0; i < a.length; i++) {
353
+ dot += a[i] * b[i];
354
+ magA += a[i] * a[i];
355
+ magB += b[i] * b[i];
356
+ }
357
+ const denom = Math.sqrt(magA) * Math.sqrt(magB);
358
+ return denom > 0 ? dot / denom : 0;
359
+ }
360
+ extractCommonTerms(texts) {
361
+ const termFreq = new Map();
362
+ for (const text of texts) {
363
+ const words = new Set(text.toLowerCase().split(/\s+/).filter(w => w.length > 3));
364
+ for (const word of words) {
365
+ termFreq.set(word, (termFreq.get(word) || 0) + 1);
366
+ }
367
+ }
368
+ return Array.from(termFreq.entries())
369
+ .filter(([, count]) => count >= Math.max(2, texts.length * 0.3))
370
+ .sort((a, b) => b[1] - a[1])
371
+ .slice(0, 10)
372
+ .map(([term]) => term);
373
+ }
374
+ extractKeyPhrases(text) {
375
+ const sentences = text.split(/[.!?]+/).map(s => s.trim()).filter(s => s.length > 10);
376
+ return sentences.slice(0, 3);
377
+ }
378
+ // ── Statistics ───────────────────────────────────────────────────────────────
379
+ stats() {
380
+ const rawCount = this.tierIndex.get('raw').size;
381
+ const summaryCount = this.tierIndex.get('summary').size;
382
+ const patternCount = this.tierIndex.get('pattern').size;
383
+ const principleCount = this.tierIndex.get('principle').size;
384
+ let totalSize = 0;
385
+ let totalOriginal = 0;
386
+ for (const entry of this.entries.values()) {
387
+ totalSize += entry.compressedSize;
388
+ totalOriginal += entry.originalSize;
389
+ }
390
+ return {
391
+ rawCount,
392
+ summaryCount,
393
+ patternCount,
394
+ principleCount,
395
+ totalEntries: this.entries.size,
396
+ totalSizeMB: totalSize / (1024 * 1024),
397
+ compressionRatio: totalOriginal > 0 ? totalSize / totalOriginal : 1,
398
+ promotionRate: this.calculatePromotionRate(),
399
+ retentionDays: Infinity,
400
+ drillDownDepth: 4,
401
+ };
402
+ }
403
+ calculatePromotionRate() {
404
+ let promoted = 0;
405
+ for (const entry of this.entries.values()) {
406
+ if (entry.promotedAt)
407
+ promoted++;
408
+ }
409
+ return promoted;
410
+ }
411
+ // ── Persistence ─────────────────────────────────────────────────────────────
412
+ async persist() {
413
+ try {
414
+ if (!fs.existsSync(this.storeDir)) {
415
+ fs.mkdirSync(this.storeDir, { recursive: true });
416
+ }
417
+ const data = Array.from(this.entries.values()).map(entry => ({
418
+ ...entry,
419
+ createdAt: entry.createdAt.toISOString(),
420
+ lastAccessed: entry.lastAccessed.toISOString(),
421
+ promotedAt: entry.promotedAt?.toISOString() || null,
422
+ }));
423
+ fs.writeFileSync(path.join(this.storeDir, 'hierarchy.json'), JSON.stringify(data));
424
+ }
425
+ catch {
426
+ // Non-blocking
427
+ }
428
+ }
429
+ loadFromDisk() {
430
+ try {
431
+ const file = path.join(this.storeDir, 'hierarchy.json');
432
+ if (!fs.existsSync(file))
433
+ return;
434
+ const data = JSON.parse(fs.readFileSync(file, 'utf-8'));
435
+ for (const raw of data) {
436
+ const entry = {
437
+ ...raw,
438
+ createdAt: new Date(raw.createdAt),
439
+ lastAccessed: new Date(raw.lastAccessed),
440
+ promotedAt: raw.promotedAt ? new Date(raw.promotedAt) : null,
441
+ };
442
+ this.entries.set(entry.id, entry);
443
+ this.tierIndex.get(entry.tier).add(entry.id);
444
+ }
445
+ }
446
+ catch {
447
+ // Fresh start
448
+ }
449
+ }
450
+ }
451
+ //# sourceMappingURL=hierarchical-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchical-memory.js","sourceRoot":"","sources":["../../src/brain/hierarchical-memory.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,10 @@ export declare class Orchestrator extends EventEmitter {
53
53
  private knowledgeGraph;
54
54
  private swarmIntelligence;
55
55
  private adversarialDefense;
56
+ private hierarchicalMemory;
57
+ private contextRecall;
58
+ private consensusEngine;
59
+ private collectiveLearning;
56
60
  private running;
57
61
  private analyzing;
58
62
  private pendingChanges;
@@ -234,6 +238,10 @@ export declare class Orchestrator extends EventEmitter {
234
238
  defenseStats: AdversarialLog | null;
235
239
  evolutionSnapshot: EvolutionSnapshot | null;
236
240
  knowledgeGraphEntityCount: number;
241
+ hierarchicalMemoryStats: import('../types.js').HierarchicalMemoryStats | null;
242
+ contextRecallStats: any;
243
+ consensusStats: any;
244
+ collectiveLearningStats: import('../types.js').CollectiveLearningStats | null;
237
245
  total: number;
238
246
  }>;
239
247
  getStatus(): {
@@ -271,6 +279,32 @@ export declare class Orchestrator extends EventEmitter {
271
279
  swarmConvergence: any;
272
280
  knowledgeGraphEntities: any;
273
281
  adversarialStats: AdversarialLog;
282
+ hierarchicalMemoryStats: import("../types.js").HierarchicalMemoryStats;
283
+ contextRecallStats: {
284
+ triggerCount: number;
285
+ linkCount: number;
286
+ recentActivationCount: number;
287
+ topTriggers: Array<{
288
+ pattern: string;
289
+ strength: number;
290
+ matches: number;
291
+ }>;
292
+ };
293
+ consensusStats: {
294
+ totalProposals: number;
295
+ acceptedCount: number;
296
+ rejectedCount: number;
297
+ conflictCount: number;
298
+ pendingCount: number;
299
+ averageAgreement: number;
300
+ agentCount: number;
301
+ topTrustedAgents: Array<{
302
+ agent: string;
303
+ score: number;
304
+ accuracy: number;
305
+ }>;
306
+ };
307
+ collectiveLearningStats: import("../types.js").CollectiveLearningStats;
274
308
  };
275
309
  private setupWatchers;
276
310
  private scheduleAnalysis;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/brain/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/brain/orchestrator.ts"],"names":[],"mappings":"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"}