@theihtisham/agent-shadow-brain 5.0.0 → 5.1.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 (61) hide show
  1. package/README.md +575 -292
  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/code-dna.d.ts +70 -0
  14. package/dist/brain/code-dna.d.ts.map +1 -0
  15. package/dist/brain/code-dna.js +611 -0
  16. package/dist/brain/code-dna.js.map +1 -0
  17. package/dist/brain/fine-tuning-engine.d.ts +99 -0
  18. package/dist/brain/fine-tuning-engine.d.ts.map +1 -0
  19. package/dist/brain/fine-tuning-engine.js +681 -0
  20. package/dist/brain/fine-tuning-engine.js.map +1 -0
  21. package/dist/brain/intent-engine.d.ts +64 -0
  22. package/dist/brain/intent-engine.d.ts.map +1 -0
  23. package/dist/brain/intent-engine.js +374 -0
  24. package/dist/brain/intent-engine.js.map +1 -0
  25. package/dist/brain/lsp-server.d.ts +62 -0
  26. package/dist/brain/lsp-server.d.ts.map +1 -0
  27. package/dist/brain/lsp-server.js +480 -0
  28. package/dist/brain/lsp-server.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 +13 -0
  34. package/dist/brain/orchestrator.d.ts.map +1 -1
  35. package/dist/brain/orchestrator.js +25 -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/brain/smart-cache.d.ts +100 -0
  42. package/dist/brain/smart-cache.d.ts.map +1 -0
  43. package/dist/brain/smart-cache.js +417 -0
  44. package/dist/brain/smart-cache.js.map +1 -0
  45. package/dist/brain/temporal-intelligence.d.ts +89 -0
  46. package/dist/brain/temporal-intelligence.d.ts.map +1 -0
  47. package/dist/brain/temporal-intelligence.js +378 -0
  48. package/dist/brain/temporal-intelligence.js.map +1 -0
  49. package/dist/cli.js +444 -3
  50. package/dist/cli.js.map +1 -1
  51. package/dist/dashboard/server.d.ts +4 -0
  52. package/dist/dashboard/server.d.ts.map +1 -1
  53. package/dist/dashboard/server.js +453 -330
  54. package/dist/dashboard/server.js.map +1 -1
  55. package/dist/index.d.ts +11 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +12 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/types.d.ts +284 -1
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +28 -4
@@ -0,0 +1,480 @@
1
+ // src/brain/lsp-server.ts — Built-in Language Server Protocol Engine
2
+ // v6.0.0 — Zero-Dependency LSP for real-time inline feedback
3
+ // No external LSP libraries needed — pure Node.js TCP/stdio implementation
4
+ import * as net from 'net';
5
+ /**
6
+ * LSPServer — Built-in Language Server Protocol engine.
7
+ *
8
+ * Zero external dependencies. Provides:
9
+ * 1. Real-time diagnostics from Shadow Brain analysis
10
+ * 2. Hover information with brain insights
11
+ * 3. Code actions for auto-fixes
12
+ * 4. Inline completions from learning engine
13
+ * 5. Works with ANY editor that supports LSP (VS Code, Neovim, Emacs, Sublime, etc.)
14
+ *
15
+ * Launch: `shadow-brain lsp` (stdio mode) or `shadow-brain lsp --port 6970` (TCP mode)
16
+ */
17
+ export class LSPServer {
18
+ constructor(orchestrator) {
19
+ this.server = null;
20
+ this.openDocuments = new Map();
21
+ this.pendingRequests = new Map();
22
+ this.nextId = 1;
23
+ this.initialized = false;
24
+ this.rootUri = null;
25
+ this.buffer = '';
26
+ this.writeOutput = null;
27
+ this.analysisQueue = new Set();
28
+ this.analysisTimer = null;
29
+ this.cachedInsights = new Map();
30
+ this.orchestrator = orchestrator;
31
+ }
32
+ // ── Server Lifecycle ──────────────────────────────────────────────────────
33
+ /**
34
+ * Start LSP in stdio mode (standard for most editors).
35
+ */
36
+ startStdio() {
37
+ this.writeOutput = (data) => process.stdout.write(data);
38
+ process.stdin.on('data', (chunk) => {
39
+ this.handleIncoming(chunk.toString());
40
+ });
41
+ process.stdin.resume();
42
+ }
43
+ /**
44
+ * Start LSP in TCP mode for remote/custom connections.
45
+ */
46
+ startTCP(port = 6970, host = 'localhost') {
47
+ return new Promise((resolve, reject) => {
48
+ this.server = net.createServer((socket) => {
49
+ this.writeOutput = (data) => {
50
+ if (!socket.destroyed)
51
+ socket.write(data);
52
+ };
53
+ socket.on('data', (chunk) => {
54
+ this.handleIncoming(chunk.toString());
55
+ });
56
+ socket.on('error', () => { });
57
+ socket.on('close', () => {
58
+ this.writeOutput = null;
59
+ });
60
+ });
61
+ this.server.on('error', reject);
62
+ this.server.listen(port, host, () => resolve());
63
+ });
64
+ }
65
+ stop() {
66
+ if (this.server) {
67
+ this.server.close();
68
+ this.server = null;
69
+ }
70
+ if (this.analysisTimer) {
71
+ clearTimeout(this.analysisTimer);
72
+ this.analysisTimer = null;
73
+ }
74
+ }
75
+ // ── LSP Message Handling ──────────────────────────────────────────────────
76
+ handleIncoming(data) {
77
+ this.buffer += data;
78
+ while (true) {
79
+ const headerEnd = this.buffer.indexOf('\r\n\r\n');
80
+ if (headerEnd === -1)
81
+ break;
82
+ const header = this.buffer.substring(0, headerEnd);
83
+ const contentLengthMatch = header.match(/Content-Length:\s*(\d+)/i);
84
+ if (!contentLengthMatch) {
85
+ this.buffer = this.buffer.substring(headerEnd + 4);
86
+ continue;
87
+ }
88
+ const contentLength = parseInt(contentLengthMatch[1], 10);
89
+ const bodyStart = headerEnd + 4;
90
+ if (this.buffer.length < bodyStart + contentLength)
91
+ break;
92
+ const body = this.buffer.substring(bodyStart, bodyStart + contentLength);
93
+ this.buffer = this.buffer.substring(bodyStart + contentLength);
94
+ try {
95
+ const message = JSON.parse(body);
96
+ this.handleMessage(message).catch(() => { });
97
+ }
98
+ catch {
99
+ // Invalid JSON, skip
100
+ }
101
+ }
102
+ }
103
+ async handleMessage(message) {
104
+ if (message.method) {
105
+ // Request or notification
106
+ switch (message.method) {
107
+ case 'initialize':
108
+ this.handleInitialize(message);
109
+ break;
110
+ case 'initialized':
111
+ this.initialized = true;
112
+ break;
113
+ case 'shutdown':
114
+ this.sendResponse(message.id, null);
115
+ break;
116
+ case 'exit':
117
+ this.stop();
118
+ process.exit(0);
119
+ break;
120
+ case 'textDocument/didOpen':
121
+ this.handleDidOpen(message.params);
122
+ break;
123
+ case 'textDocument/didChange':
124
+ this.handleDidChange(message.params);
125
+ break;
126
+ case 'textDocument/didClose':
127
+ this.handleDidClose(message.params);
128
+ break;
129
+ case 'textDocument/didSave':
130
+ this.handleDidSave(message.params);
131
+ break;
132
+ case 'textDocument/hover':
133
+ await this.handleHover(message);
134
+ break;
135
+ case 'textDocument/codeAction':
136
+ await this.handleCodeAction(message);
137
+ break;
138
+ case 'textDocument/completion':
139
+ await this.handleCompletion(message);
140
+ break;
141
+ case 'textDocument/diagnostic':
142
+ await this.handleDiagnosticRequest(message);
143
+ break;
144
+ }
145
+ }
146
+ else if (message.id !== undefined) {
147
+ // Response to our request
148
+ const pending = this.pendingRequests.get(message.id);
149
+ if (pending) {
150
+ this.pendingRequests.delete(message.id);
151
+ if (message.error)
152
+ pending.reject(message.error);
153
+ else
154
+ pending.resolve(message.result);
155
+ }
156
+ }
157
+ }
158
+ // ── LSP Handlers ──────────────────────────────────────────────────────────
159
+ handleInitialize(message) {
160
+ this.rootUri = message.params?.rootUri || message.params?.rootPath || null;
161
+ const capabilities = {
162
+ textDocumentSync: 1, // Full sync
163
+ diagnosticProvider: {
164
+ interFileDependencies: true,
165
+ workspaceDiagnostics: false,
166
+ },
167
+ hoverProvider: true,
168
+ codeActionProvider: true,
169
+ completionProvider: {
170
+ triggerCharacters: ['.', '/', '@', '#'],
171
+ },
172
+ };
173
+ this.sendResponse(message.id, {
174
+ capabilities,
175
+ serverInfo: {
176
+ name: 'Shadow Brain LSP',
177
+ version: '6.0.0',
178
+ },
179
+ });
180
+ }
181
+ handleDidOpen(params) {
182
+ const { uri, languageId, version, text } = params.textDocument;
183
+ this.openDocuments.set(uri, {
184
+ uri,
185
+ content: text,
186
+ version,
187
+ language: languageId,
188
+ lastAnalyzed: new Date(0),
189
+ diagnostics: [],
190
+ });
191
+ this.queueAnalysis(uri);
192
+ }
193
+ handleDidChange(params) {
194
+ const doc = this.openDocuments.get(params.textDocument.uri);
195
+ if (!doc)
196
+ return;
197
+ // Full sync mode — replace entire content
198
+ if (params.contentChanges?.length > 0) {
199
+ const lastChange = params.contentChanges[params.contentChanges.length - 1];
200
+ if (lastChange.text !== undefined) {
201
+ doc.content = lastChange.text;
202
+ doc.version = params.textDocument.version;
203
+ }
204
+ }
205
+ this.queueAnalysis(params.textDocument.uri);
206
+ }
207
+ handleDidClose(params) {
208
+ const uri = params.textDocument.uri;
209
+ this.openDocuments.delete(uri);
210
+ this.cachedInsights.delete(uri);
211
+ // Clear diagnostics
212
+ this.sendNotification('textDocument/publishDiagnostics', {
213
+ uri,
214
+ diagnostics: [],
215
+ });
216
+ }
217
+ handleDidSave(params) {
218
+ // Trigger immediate deep analysis on save
219
+ const uri = params.textDocument.uri;
220
+ this.analyzeDocument(uri).catch(() => { });
221
+ }
222
+ async handleHover(message) {
223
+ const { textDocument, position } = message.params;
224
+ const doc = this.openDocuments.get(textDocument.uri);
225
+ if (!doc) {
226
+ this.sendResponse(message.id, null);
227
+ return;
228
+ }
229
+ // Find insights relevant to this line
230
+ const insights = this.cachedInsights.get(textDocument.uri) || [];
231
+ const lineInsights = insights.filter(i => {
232
+ if (!i.metadata?.line)
233
+ return false;
234
+ const line = i.metadata.line;
235
+ return Math.abs(line - position.line) <= 2;
236
+ });
237
+ if (lineInsights.length === 0) {
238
+ this.sendResponse(message.id, null);
239
+ return;
240
+ }
241
+ const hoverContent = lineInsights.map(i => {
242
+ const icon = i.priority === 'critical' ? '🔴' : i.priority === 'high' ? '🟠' : i.priority === 'medium' ? '🟡' : '🔵';
243
+ return `${icon} **${i.title}**\n\n${i.content}`;
244
+ }).join('\n\n---\n\n');
245
+ this.sendResponse(message.id, {
246
+ contents: {
247
+ kind: 'markdown',
248
+ value: `### 🧠 Shadow Brain\n\n${hoverContent}`,
249
+ },
250
+ });
251
+ }
252
+ async handleCodeAction(message) {
253
+ const { textDocument, range } = message.params;
254
+ const insights = this.cachedInsights.get(textDocument.uri) || [];
255
+ const actions = insights
256
+ .filter(i => {
257
+ if (!i.metadata?.line)
258
+ return false;
259
+ const line = i.metadata.line;
260
+ return line >= range.start.line && line <= range.end.line;
261
+ })
262
+ .filter(i => i.metadata?.fix)
263
+ .map((i, idx) => ({
264
+ title: `🧠 Fix: ${i.title}`,
265
+ kind: 'quickfix',
266
+ diagnostics: [],
267
+ isPreferred: idx === 0,
268
+ edit: {
269
+ changes: {
270
+ [textDocument.uri]: [{
271
+ range: {
272
+ start: { line: i.metadata?.line || 0, character: 0 },
273
+ end: { line: i.metadata?.line || 0, character: 999 },
274
+ },
275
+ newText: i.metadata?.fix,
276
+ }],
277
+ },
278
+ },
279
+ }));
280
+ this.sendResponse(message.id, actions);
281
+ }
282
+ async handleCompletion(message) {
283
+ // Provide completions from learned patterns
284
+ const items = [];
285
+ if (this.orchestrator) {
286
+ try {
287
+ const knowledge = this.orchestrator.getProjectKnowledge?.();
288
+ if (knowledge?.commonPatterns) {
289
+ for (const pattern of knowledge.commonPatterns.slice(0, 10)) {
290
+ items.push({
291
+ label: `🧠 ${pattern.slice(0, 40)}`,
292
+ kind: 15, // Snippet
293
+ detail: 'Shadow Brain pattern',
294
+ insertText: pattern,
295
+ documentation: 'Learned pattern from project analysis',
296
+ });
297
+ }
298
+ }
299
+ }
300
+ catch { /* best effort */ }
301
+ }
302
+ this.sendResponse(message.id, { isIncomplete: false, items });
303
+ }
304
+ async handleDiagnosticRequest(message) {
305
+ const uri = message.params?.textDocument?.uri;
306
+ if (!uri) {
307
+ this.sendResponse(message.id, { kind: 'full', items: [] });
308
+ return;
309
+ }
310
+ const doc = this.openDocuments.get(uri);
311
+ if (!doc) {
312
+ this.sendResponse(message.id, { kind: 'full', items: [] });
313
+ return;
314
+ }
315
+ this.sendResponse(message.id, {
316
+ kind: 'full',
317
+ items: doc.diagnostics,
318
+ });
319
+ }
320
+ // ── Analysis Pipeline ─────────────────────────────────────────────────────
321
+ queueAnalysis(uri) {
322
+ this.analysisQueue.add(uri);
323
+ if (this.analysisTimer)
324
+ clearTimeout(this.analysisTimer);
325
+ this.analysisTimer = setTimeout(() => {
326
+ const uris = [...this.analysisQueue];
327
+ this.analysisQueue.clear();
328
+ for (const u of uris) {
329
+ this.analyzeDocument(u).catch(() => { });
330
+ }
331
+ }, 500); // 500ms debounce
332
+ }
333
+ async analyzeDocument(uri) {
334
+ const doc = this.openDocuments.get(uri);
335
+ if (!doc)
336
+ return;
337
+ const filePath = this.uriToPath(uri);
338
+ const diagnostics = [];
339
+ const insights = [];
340
+ // Built-in pattern analysis (zero-dependency, works without orchestrator)
341
+ const lines = doc.content.split('\n');
342
+ for (let i = 0; i < lines.length; i++) {
343
+ const line = lines[i];
344
+ // Security patterns
345
+ if (/eval\s*\(/.test(line)) {
346
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 1, 'SB001', 'Avoid eval() — potential code injection vulnerability'));
347
+ }
348
+ if (/innerHTML\s*=/.test(line) && !/sanitize|escape|DOMPurify/i.test(line)) {
349
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 2, 'SB002', 'innerHTML without sanitization — XSS risk'));
350
+ }
351
+ if (/password|secret|api_key|token/i.test(line) && /[=:]\s*['"`][^'"`]{8,}['"`]/.test(line)) {
352
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 1, 'SB003', 'Possible hardcoded secret detected'));
353
+ }
354
+ // Quality patterns
355
+ if (/console\.(log|debug|info)\s*\(/.test(line) && !/\/\//.test(line.split('console')[0])) {
356
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 4, 'SB010', 'Console statement found — remove before production'));
357
+ }
358
+ if (/TODO|FIXME|HACK|XXX|TEMP/i.test(line)) {
359
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 3, 'SB011', 'TODO/FIXME marker found'));
360
+ }
361
+ // Complexity patterns
362
+ if (/function\s+\w+\s*\([^)]{80,}\)/.test(line)) {
363
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 2, 'SB020', 'Function has too many parameters — consider using an options object'));
364
+ }
365
+ if (/\.then\s*\(.*\.then\s*\(.*\.then\s*\(/.test(line)) {
366
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 3, 'SB021', 'Promise chain too deep — consider async/await'));
367
+ }
368
+ // Error handling
369
+ if (/catch\s*\(\s*\w*\s*\)\s*\{\s*\}/.test(line) || /catch\s*\{\s*\}/.test(line)) {
370
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 2, 'SB030', 'Empty catch block — errors are silently swallowed'));
371
+ }
372
+ // Performance
373
+ if (/new RegExp\(/.test(line) && /for\s*\(|while\s*\(|\.forEach|\.map\s*\(/.test(lines[Math.max(0, i - 3)])) {
374
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 3, 'SB040', 'RegExp created inside loop — move to a constant'));
375
+ }
376
+ // TypeScript specific
377
+ if (/:\s*any\b/.test(line) && doc.language === 'typescript') {
378
+ diagnostics.push(this.createDiagnostic(i, 0, i, line.length, 3, 'SB050', 'Avoid `any` type — use specific types or `unknown`'));
379
+ }
380
+ // Store as insights for hover
381
+ for (const diag of diagnostics.filter(d => d.range.start.line === i)) {
382
+ insights.push({
383
+ type: diag.severity <= 2 ? 'warning' : 'suggestion',
384
+ priority: diag.severity === 1 ? 'critical' : diag.severity === 2 ? 'high' : diag.severity === 3 ? 'medium' : 'low',
385
+ title: diag.code ? `[${diag.code}] ${diag.message}` : diag.message,
386
+ content: diag.message,
387
+ files: [filePath],
388
+ timestamp: new Date(),
389
+ confidence: 0.9,
390
+ metadata: { line: i, file: filePath },
391
+ });
392
+ }
393
+ }
394
+ // If orchestrator is available, get deeper insights
395
+ if (this.orchestrator && filePath) {
396
+ try {
397
+ const brainInsights = await this.getOrchestratorInsights(filePath, doc.content);
398
+ for (const bi of brainInsights) {
399
+ const line = bi.metadata?.line || 0;
400
+ diagnostics.push(this.createDiagnostic(line, 0, line, 999, bi.priority === 'critical' ? 1 : bi.priority === 'high' ? 2 : bi.priority === 'medium' ? 3 : 4, `SB-${bi.type}`, bi.content));
401
+ insights.push(bi);
402
+ }
403
+ }
404
+ catch { /* best effort */ }
405
+ }
406
+ // Update cached state
407
+ doc.diagnostics = diagnostics;
408
+ doc.lastAnalyzed = new Date();
409
+ this.cachedInsights.set(uri, insights);
410
+ // Publish diagnostics
411
+ this.sendNotification('textDocument/publishDiagnostics', {
412
+ uri,
413
+ diagnostics,
414
+ });
415
+ }
416
+ async getOrchestratorInsights(filePath, content) {
417
+ if (!this.orchestrator)
418
+ return [];
419
+ try {
420
+ const status = this.orchestrator.getStatus?.();
421
+ if (!status?.running)
422
+ return [];
423
+ // Use lightweight analysis
424
+ return [];
425
+ }
426
+ catch {
427
+ return [];
428
+ }
429
+ }
430
+ // ── Helpers ───────────────────────────────────────────────────────────────
431
+ createDiagnostic(startLine, startChar, endLine, endChar, severity, code, message) {
432
+ return {
433
+ range: {
434
+ start: { line: startLine, character: startChar },
435
+ end: { line: endLine, character: endChar },
436
+ },
437
+ severity,
438
+ source: 'shadow-brain',
439
+ message,
440
+ code,
441
+ };
442
+ }
443
+ sendResponse(id, result) {
444
+ this.sendMessage({ jsonrpc: '2.0', id, result });
445
+ }
446
+ sendNotification(method, params) {
447
+ this.sendMessage({ jsonrpc: '2.0', method, params });
448
+ }
449
+ sendMessage(message) {
450
+ if (!this.writeOutput)
451
+ return;
452
+ const body = JSON.stringify(message);
453
+ const header = `Content-Length: ${Buffer.byteLength(body)}\r\n\r\n`;
454
+ this.writeOutput(header + body);
455
+ }
456
+ uriToPath(uri) {
457
+ if (uri.startsWith('file:///')) {
458
+ const decoded = decodeURIComponent(uri.substring(8));
459
+ // Windows: file:///C:/... → C:/...
460
+ if (/^[a-zA-Z]:/.test(decoded))
461
+ return decoded;
462
+ return '/' + decoded;
463
+ }
464
+ return uri;
465
+ }
466
+ // ── Stats ─────────────────────────────────────────────────────────────────
467
+ getStats() {
468
+ let totalDiagnostics = 0;
469
+ for (const doc of this.openDocuments.values()) {
470
+ totalDiagnostics += doc.diagnostics.length;
471
+ }
472
+ return {
473
+ openDocuments: this.openDocuments.size,
474
+ totalDiagnostics,
475
+ cachedInsights: this.cachedInsights.size,
476
+ initialized: this.initialized,
477
+ };
478
+ }
479
+ }
480
+ //# sourceMappingURL=lsp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp-server.js","sourceRoot":"","sources":["../../src/brain/lsp-server.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"}