@theihtisham/agent-shadow-brain 4.0.3 → 5.0.1

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 (53) hide show
  1. package/README.md +515 -305
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/index.js +1 -0
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/brain/auto-setup.d.ts +54 -0
  6. package/dist/brain/auto-setup.d.ts.map +1 -0
  7. package/dist/brain/auto-setup.js +660 -0
  8. package/dist/brain/auto-setup.js.map +1 -0
  9. package/dist/brain/brain-portability.d.ts +81 -0
  10. package/dist/brain/brain-portability.d.ts.map +1 -0
  11. package/dist/brain/brain-portability.js +329 -0
  12. package/dist/brain/brain-portability.js.map +1 -0
  13. package/dist/brain/collective-learning.d.ts +54 -0
  14. package/dist/brain/collective-learning.d.ts.map +1 -0
  15. package/dist/brain/collective-learning.js +357 -0
  16. package/dist/brain/collective-learning.js.map +1 -0
  17. package/dist/brain/consensus-engine.d.ts +65 -0
  18. package/dist/brain/consensus-engine.d.ts.map +1 -0
  19. package/dist/brain/consensus-engine.js +385 -0
  20. package/dist/brain/consensus-engine.js.map +1 -0
  21. package/dist/brain/context-recall.d.ts +49 -0
  22. package/dist/brain/context-recall.d.ts.map +1 -0
  23. package/dist/brain/context-recall.js +502 -0
  24. package/dist/brain/context-recall.js.map +1 -0
  25. package/dist/brain/hierarchical-memory.d.ts +49 -0
  26. package/dist/brain/hierarchical-memory.d.ts.map +1 -0
  27. package/dist/brain/hierarchical-memory.js +451 -0
  28. package/dist/brain/hierarchical-memory.js.map +1 -0
  29. package/dist/brain/mcp-server.d.ts +12 -0
  30. package/dist/brain/mcp-server.d.ts.map +1 -1
  31. package/dist/brain/mcp-server.js +396 -37
  32. package/dist/brain/mcp-server.js.map +1 -1
  33. package/dist/brain/orchestrator.d.ts +34 -0
  34. package/dist/brain/orchestrator.d.ts.map +1 -1
  35. package/dist/brain/orchestrator.js +83 -1
  36. package/dist/brain/orchestrator.js.map +1 -1
  37. package/dist/brain/plugin-system.d.ts +97 -0
  38. package/dist/brain/plugin-system.d.ts.map +1 -0
  39. package/dist/brain/plugin-system.js +404 -0
  40. package/dist/brain/plugin-system.js.map +1 -0
  41. package/dist/cli.js +429 -3
  42. package/dist/cli.js.map +1 -1
  43. package/dist/dashboard/server.d.ts +4 -0
  44. package/dist/dashboard/server.d.ts.map +1 -1
  45. package/dist/dashboard/server.js +453 -330
  46. package/dist/dashboard/server.js.map +1 -1
  47. package/dist/index.d.ts +8 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +10 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/types.d.ts +201 -1
  52. package/dist/types.d.ts.map +1 -1
  53. package/package.json +32 -4
@@ -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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"}
@@ -18,6 +18,18 @@ export declare class MCPServer {
18
18
  private handleSemantic;
19
19
  private handleDeps;
20
20
  private handleLearn;
21
+ private handleMemory;
22
+ private handleRecall;
23
+ private handleConsensus;
24
+ private handleTurbo;
25
+ private handleSwarm;
26
+ private handleEvolution;
27
+ private handleKnowledgeGraph;
28
+ private handlePredict;
29
+ private handleAsk;
30
+ private handleStatus;
31
+ private handleModules;
32
+ private handleAutoConfig;
21
33
  private getToolDefinitions;
22
34
  private handleHTTPMCPRequest;
23
35
  private handleSSEConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/brain/mcp-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,gBAAgB,EAAc,MAAM,aAAa,CAAC;AAO7F,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAwE;gBAEhF,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAkBnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBrB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAiD9D,OAAO,CAAC,gBAAgB;YAeV,aAAa;YAgBb,YAAY;YAyBZ,WAAW;YAgBX,aAAa;YAeb,cAAc;YAoBd,UAAU;YAeV,WAAW;IAazB,OAAO,CAAC,kBAAkB;YAyEZ,oBAAoB;IA4BlC,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/brain/mcp-server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,gBAAgB,EAAc,MAAM,aAAa,CAAC;AAO7F,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAwE;gBAEhF,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB;IA8BnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2DtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBrB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAoD9D,OAAO,CAAC,gBAAgB;YAiBV,aAAa;YAgBb,YAAY;YAwBZ,WAAW;YAgBX,aAAa;YAeb,cAAc;YAmBd,UAAU;YAeV,WAAW;YAWX,YAAY;YAkCZ,YAAY;YAsBZ,eAAe;YAyBf,WAAW;YAkBX,WAAW;YAkBX,eAAe;YAkBf,oBAAoB;YAkBpB,aAAa;YAUb,SAAS;YAuCT,YAAY;YAQZ,aAAa;YAgCb,gBAAgB;IAqB9B,OAAO,CAAC,kBAAkB;YA4KZ,oBAAoB;IA2BlC,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;CAGlB"}