@timmeck/brain 3.6.0 → 3.8.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.
package/dist/brain.d.ts CHANGED
@@ -12,6 +12,7 @@ export declare class BrainCore {
12
12
  private correlator;
13
13
  private ecosystemService;
14
14
  private researchScheduler;
15
+ private orchestrator;
15
16
  private cleanupTimer;
16
17
  private config;
17
18
  private configPath?;
package/dist/brain.js CHANGED
@@ -53,7 +53,7 @@ import { McpHttpServer } from './mcp/http-server.js';
53
53
  // Embeddings
54
54
  import { EmbeddingEngine } from './embeddings/engine.js';
55
55
  // Cross-Brain
56
- import { CrossBrainClient, CrossBrainNotifier, CrossBrainSubscriptionManager, CrossBrainCorrelator, EcosystemService, WebhookService, ExportService, BackupService, AutonomousResearchScheduler } from '@timmeck/brain-core';
56
+ import { CrossBrainClient, CrossBrainNotifier, CrossBrainSubscriptionManager, CrossBrainCorrelator, EcosystemService, WebhookService, ExportService, BackupService, AutonomousResearchScheduler, ResearchOrchestrator } from '@timmeck/brain-core';
57
57
  export class BrainCore {
58
58
  db = null;
59
59
  ipcServer = null;
@@ -68,6 +68,7 @@ export class BrainCore {
68
68
  correlator = null;
69
69
  ecosystemService = null;
70
70
  researchScheduler = null;
71
+ orchestrator = null;
71
72
  cleanupTimer = null;
72
73
  config = null;
73
74
  configPath;
@@ -189,6 +190,21 @@ export class BrainCore {
189
190
  services.causal = researchScheduler.causalGraph;
190
191
  services.hypothesis = researchScheduler.hypothesisEngine;
191
192
  logger.info('Autonomous research scheduler started');
193
+ // 11f. Research Orchestrator (feedback loops between all research engines)
194
+ this.orchestrator = new ResearchOrchestrator(this.db, {
195
+ brainName: 'brain',
196
+ }, researchScheduler.causalGraph);
197
+ this.orchestrator.start();
198
+ services.selfObserver = this.orchestrator.selfObserver;
199
+ services.adaptiveStrategy = this.orchestrator.adaptiveStrategy;
200
+ services.experimentEngine = this.orchestrator.experimentEngine;
201
+ services.crossDomain = this.orchestrator.crossDomain;
202
+ services.counterfactual = this.orchestrator.counterfactual;
203
+ services.knowledgeDistiller = this.orchestrator.knowledgeDistiller;
204
+ services.researchAgenda = this.orchestrator.researchAgenda;
205
+ services.anomalyDetective = this.orchestrator.anomalyDetective;
206
+ services.journal = this.orchestrator.journal;
207
+ logger.info('Research orchestrator started (9 engines, feedback loops active)');
192
208
  // 12. IPC Server
193
209
  const router = new IpcRouter(services);
194
210
  this.ipcServer = new IpcServer(router, config.ipc.pipeName, 'brain', 'brain');
@@ -262,6 +278,7 @@ export class BrainCore {
262
278
  this.cleanupTimer = null;
263
279
  }
264
280
  this.subscriptionManager?.disconnectAll();
281
+ this.orchestrator?.stop();
265
282
  this.researchScheduler?.stop();
266
283
  this.researchEngine?.stop();
267
284
  this.embeddingEngine?.stop();
@@ -277,6 +294,7 @@ export class BrainCore {
277
294
  this.embeddingEngine = null;
278
295
  this.learningEngine = null;
279
296
  this.researchEngine = null;
297
+ this.orchestrator = null;
280
298
  this.subscriptionManager = null;
281
299
  this.correlator = null;
282
300
  this.ecosystemService = null;
@@ -319,10 +337,12 @@ export class BrainCore {
319
337
  this.subscriptionManager.subscribe('trading-brain', ['trade:completed'], (event, data) => {
320
338
  logger.info(`[cross-brain] Received ${event} from trading-brain`, { data });
321
339
  correlator.recordEvent('trading-brain', event, data);
340
+ this.orchestrator?.onCrossBrainEvent('trading-brain', event, data);
322
341
  });
323
342
  // Subscribe to trading-brain: trade:outcome for win/loss correlation with errors
324
343
  this.subscriptionManager.subscribe('trading-brain', ['trade:outcome'], (event, data) => {
325
344
  correlator.recordEvent('trading-brain', event, data);
345
+ this.orchestrator?.onCrossBrainEvent('trading-brain', event, data);
326
346
  const d = data;
327
347
  if (d && d.win === false) {
328
348
  // Check if correlator detected error-trade-loss pattern
@@ -337,10 +357,12 @@ export class BrainCore {
337
357
  this.subscriptionManager.subscribe('marketing-brain', ['post:published'], (event, data) => {
338
358
  logger.info(`[cross-brain] Received ${event} from marketing-brain`, { data });
339
359
  correlator.recordEvent('marketing-brain', event, data);
360
+ this.orchestrator?.onCrossBrainEvent('marketing-brain', event, data);
340
361
  });
341
362
  // Subscribe to marketing-brain: campaign:created for ecosystem awareness
342
363
  this.subscriptionManager.subscribe('marketing-brain', ['campaign:created'], (event, data) => {
343
364
  correlator.recordEvent('marketing-brain', event, data);
365
+ this.orchestrator?.onCrossBrainEvent('marketing-brain', event, data);
344
366
  });
345
367
  }
346
368
  setupEventListeners(services, synapseManager) {
@@ -349,7 +371,8 @@ export class BrainCore {
349
371
  const webhook = services.webhook;
350
372
  const causal = services.causal;
351
373
  const hypothesis = services.hypothesis;
352
- // Error Project synapse + notify peers + feed correlator + webhooks + causal + hypothesis
374
+ const orch = this.orchestrator;
375
+ // Error → Project synapse + notify peers + feed correlator + webhooks + causal + hypothesis + orchestrator
353
376
  bus.on('error:reported', ({ errorId, projectId }) => {
354
377
  synapseManager.strengthen({ type: 'error', id: errorId }, { type: 'project', id: projectId }, 'co_occurs');
355
378
  notifier?.notify('error:reported', { errorId, projectId });
@@ -357,6 +380,7 @@ export class BrainCore {
357
380
  webhook?.fire('error:reported', { errorId, projectId });
358
381
  causal?.recordEvent('brain', 'error:reported', { errorId, projectId });
359
382
  hypothesis?.observe({ source: 'brain', type: 'error:reported', value: 1, timestamp: Date.now() });
383
+ orch?.onEvent('error:reported', { errorId, projectId });
360
384
  });
361
385
  // Solution applied → strengthen or weaken
362
386
  bus.on('solution:applied', ({ errorId, solutionId, success }) => {
@@ -378,6 +402,7 @@ export class BrainCore {
378
402
  getLogger().info(`New rule #${ruleId} learned: ${pattern}`);
379
403
  causal?.recordEvent('brain', 'rule:learned', { ruleId, pattern });
380
404
  hypothesis?.observe({ source: 'brain', type: 'rule:learned', value: 1, timestamp: Date.now() });
405
+ orch?.onEvent('rule:learned', { ruleId });
381
406
  });
382
407
  // Insight created → log + notify marketing (content opportunity) + feed correlator + webhooks + causal + hypothesis
383
408
  bus.on('insight:created', ({ insightId, type }) => {
@@ -387,6 +412,11 @@ export class BrainCore {
387
412
  webhook?.fire('insight:created', { insightId, type });
388
413
  causal?.recordEvent('brain', 'insight:created', { insightId, type });
389
414
  hypothesis?.observe({ source: 'brain', type: 'insight:created', value: 1, timestamp: Date.now() });
415
+ orch?.onEvent('insight:created', { insightId, type });
416
+ });
417
+ // Solution applied → orchestrator
418
+ bus.on('solution:applied', ({ errorId, solutionId, success }) => {
419
+ orch?.onEvent('solution:applied', { errorId, solutionId, success: success ? 1 : 0 });
390
420
  });
391
421
  // Memory → Project synapse
392
422
  bus.on('memory:created', ({ memoryId, projectId }) => {
package/dist/brain.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"brain.js","sourceRoot":"","sources":["../src/brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brain.js","sourceRoot":"","sources":["../src/brain.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,15 @@ import type { MetaLearningEngine } from '@timmeck/brain-core';
24
24
  import type { CausalGraph } from '@timmeck/brain-core';
25
25
  import type { HypothesisEngine } from '@timmeck/brain-core';
26
26
  import type { AutonomousResearchScheduler } from '@timmeck/brain-core';
27
+ import type { SelfObserver } from '@timmeck/brain-core';
28
+ import type { AdaptiveStrategyEngine } from '@timmeck/brain-core';
29
+ import type { ExperimentEngine } from '@timmeck/brain-core';
30
+ import type { CrossDomainEngine } from '@timmeck/brain-core';
31
+ import type { CounterfactualEngine } from '@timmeck/brain-core';
32
+ import type { KnowledgeDistiller } from '@timmeck/brain-core';
33
+ import type { ResearchAgendaEngine } from '@timmeck/brain-core';
34
+ import type { AnomalyDetective } from '@timmeck/brain-core';
35
+ import type { ResearchJournal } from '@timmeck/brain-core';
27
36
  export interface Services {
28
37
  error: ErrorService;
29
38
  solution: SolutionService;
@@ -51,6 +60,15 @@ export interface Services {
51
60
  causal?: CausalGraph;
52
61
  hypothesis?: HypothesisEngine;
53
62
  researchScheduler?: AutonomousResearchScheduler;
63
+ selfObserver?: SelfObserver;
64
+ adaptiveStrategy?: AdaptiveStrategyEngine;
65
+ experimentEngine?: ExperimentEngine;
66
+ crossDomain?: CrossDomainEngine;
67
+ counterfactual?: CounterfactualEngine;
68
+ knowledgeDistiller?: KnowledgeDistiller;
69
+ researchAgenda?: ResearchAgendaEngine;
70
+ anomalyDetective?: AnomalyDetective;
71
+ journal?: ResearchJournal;
54
72
  }
55
73
  export declare class IpcRouter {
56
74
  private services;
@@ -314,10 +314,113 @@ export class IpcRouter {
314
314
  throw new Error('Research scheduler not available'); s.researchScheduler.recordEvent(p(params).type, p(params).data); return { recorded: true }; }],
315
315
  ['research.onCycle', (params) => { if (!s.researchScheduler)
316
316
  throw new Error('Research scheduler not available'); s.researchScheduler.onLearningCycleComplete(p(params).metrics, p(params).score); return { recorded: true }; }],
317
+ // ─── Self-Observer ──────────────────────────────────────
318
+ ['observer.record', (params) => { if (!s.selfObserver)
319
+ throw new Error('Self-observer not available'); s.selfObserver.record(p(params)); return { recorded: true }; }],
320
+ ['observer.stats', () => { if (!s.selfObserver)
321
+ throw new Error('Self-observer not available'); return s.selfObserver.getStats(); }],
322
+ ['observer.analyze', () => { if (!s.selfObserver)
323
+ throw new Error('Self-observer not available'); return s.selfObserver.analyze(); }],
324
+ ['observer.insights', (params) => { if (!s.selfObserver)
325
+ throw new Error('Self-observer not available'); return s.selfObserver.getInsights(p(params)?.type, p(params)?.limit); }],
326
+ ['observer.plan', () => { if (!s.selfObserver)
327
+ throw new Error('Self-observer not available'); return s.selfObserver.getImprovementPlan(); }],
328
+ // ─── Adaptive Strategy ───────────────────────────────────
329
+ ['strategy.status', () => { if (!s.adaptiveStrategy)
330
+ throw new Error('Adaptive strategy not available'); return s.adaptiveStrategy.getStatus(); }],
331
+ ['strategy.adapt', (params) => { if (!s.adaptiveStrategy)
332
+ throw new Error('Adaptive strategy not available'); return s.adaptiveStrategy.adapt(p(params).strategy, p(params).parameter, p(params).value, p(params).reason, p(params).evidence ?? {}); }],
333
+ ['strategy.adaptations', (params) => { if (!s.adaptiveStrategy)
334
+ throw new Error('Adaptive strategy not available'); return s.adaptiveStrategy.getAdaptations(p(params)?.strategy, p(params)?.limit); }],
335
+ ['strategy.revert', (params) => { if (!s.adaptiveStrategy)
336
+ throw new Error('Adaptive strategy not available'); return s.adaptiveStrategy.revert(p(params).id, p(params)?.reason); }],
337
+ ['strategy.param', (params) => { if (!s.adaptiveStrategy)
338
+ throw new Error('Adaptive strategy not available'); return s.adaptiveStrategy.getParam(p(params).strategy, p(params).parameter); }],
339
+ // ─── Experiment Engine ───────────────────────────────────
340
+ ['experiment.list', (params) => { if (!s.experimentEngine)
341
+ throw new Error('Experiment engine not available'); return s.experimentEngine.list(p(params)?.status, p(params)?.limit); }],
342
+ ['experiment.propose', (params) => { if (!s.experimentEngine)
343
+ throw new Error('Experiment engine not available'); return s.experimentEngine.propose(p(params)); }],
344
+ ['experiment.start', (params) => { if (!s.experimentEngine)
345
+ throw new Error('Experiment engine not available'); return s.experimentEngine.start(p(params).id); }],
346
+ ['experiment.measure', (params) => { if (!s.experimentEngine)
347
+ throw new Error('Experiment engine not available'); return s.experimentEngine.recordMeasurement(p(params).id, p(params).value); }],
348
+ ['experiment.get', (params) => { if (!s.experimentEngine)
349
+ throw new Error('Experiment engine not available'); return s.experimentEngine.get(p(params).id); }],
350
+ ['experiment.results', (params) => { if (!s.experimentEngine)
351
+ throw new Error('Experiment engine not available'); return s.experimentEngine.getResults(p(params)?.limit); }],
352
+ ['experiment.abort', (params) => { if (!s.experimentEngine)
353
+ throw new Error('Experiment engine not available'); return s.experimentEngine.abort(p(params).id); }],
354
+ // ─── Cross-Domain Engine ─────────────────────────────────
355
+ ['crossdomain.record', (params) => { if (!s.crossDomain)
356
+ throw new Error('Cross-domain engine not available'); s.crossDomain.recordEvent(p(params).brain, p(params).event_type, p(params).data); return { recorded: true }; }],
357
+ ['crossdomain.analyze', () => { if (!s.crossDomain)
358
+ throw new Error('Cross-domain engine not available'); return s.crossDomain.analyze(); }],
359
+ ['crossdomain.correlations', (params) => { if (!s.crossDomain)
360
+ throw new Error('Cross-domain engine not available'); return s.crossDomain.getCorrelations(p(params)?.limit); }],
361
+ ['crossdomain.narrative', () => { if (!s.crossDomain)
362
+ throw new Error('Cross-domain engine not available'); return s.crossDomain.getNarrative(); }],
363
+ // ─── Counterfactual Engine ───────────────────────────────
364
+ ['counterfactual.whatif', (params) => { if (!s.counterfactual)
365
+ throw new Error('Counterfactual engine not available'); return s.counterfactual.whatIf(p(params)); }],
366
+ ['counterfactual.history', (params) => { if (!s.counterfactual)
367
+ throw new Error('Counterfactual engine not available'); return s.counterfactual.getHistory(p(params)?.limit); }],
368
+ ['counterfactual.impact', (params) => { if (!s.counterfactual)
369
+ throw new Error('Counterfactual engine not available'); return s.counterfactual.estimateIntervention(p(params).variable, p(params).proposed_value, p(params).current_value); }],
370
+ // ─── Knowledge Distiller ─────────────────────────────────
371
+ ['knowledge.distill', () => { if (!s.knowledgeDistiller)
372
+ throw new Error('Knowledge distiller not available'); return s.knowledgeDistiller.distill(); }],
373
+ ['knowledge.summary', () => { if (!s.knowledgeDistiller)
374
+ throw new Error('Knowledge distiller not available'); return s.knowledgeDistiller.getSummary(); }],
375
+ ['knowledge.principles', (params) => { if (!s.knowledgeDistiller)
376
+ throw new Error('Knowledge distiller not available'); return s.knowledgeDistiller.getPrinciples(p(params)?.domain, p(params)?.limit); }],
377
+ ['knowledge.antipatterns', (params) => { if (!s.knowledgeDistiller)
378
+ throw new Error('Knowledge distiller not available'); return s.knowledgeDistiller.getAntiPatterns(p(params)?.domain, p(params)?.limit); }],
379
+ ['knowledge.package', (params) => { if (!s.knowledgeDistiller)
380
+ throw new Error('Knowledge distiller not available'); return s.knowledgeDistiller.getPackage(p(params).domain); }],
381
+ ['knowledge.evolution', (params) => { if (!s.knowledgeDistiller)
382
+ throw new Error('Knowledge distiller not available'); return s.knowledgeDistiller.getEvolution(p(params)?.domain, p(params)?.periods); }],
383
+ // ─── Research Agenda ─────────────────────────────────────
384
+ ['agenda.generate', () => { if (!s.researchAgenda)
385
+ throw new Error('Research agenda not available'); return s.researchAgenda.generate(); }],
386
+ ['agenda.list', (params) => { if (!s.researchAgenda)
387
+ throw new Error('Research agenda not available'); return s.researchAgenda.getAgenda(p(params)?.limit); }],
388
+ ['agenda.next', () => { if (!s.researchAgenda)
389
+ throw new Error('Research agenda not available'); return s.researchAgenda.getNext(); }],
390
+ ['agenda.prioritize', (params) => { if (!s.researchAgenda)
391
+ throw new Error('Research agenda not available'); return s.researchAgenda.setPriority(p(params).id, p(params).priority); }],
392
+ ['agenda.ask', (params) => { if (!s.researchAgenda)
393
+ throw new Error('Research agenda not available'); return s.researchAgenda.ask(p(params).question, p(params)?.type); }],
394
+ // ─── Anomaly Detective ───────────────────────────────────
395
+ ['anomaly.record', (params) => { if (!s.anomalyDetective)
396
+ throw new Error('Anomaly detective not available'); s.anomalyDetective.recordMetric(p(params).metric, p(params).value); return { recorded: true }; }],
397
+ ['anomaly.detect', () => { if (!s.anomalyDetective)
398
+ throw new Error('Anomaly detective not available'); return s.anomalyDetective.detect(); }],
399
+ ['anomaly.list', (params) => { if (!s.anomalyDetective)
400
+ throw new Error('Anomaly detective not available'); return s.anomalyDetective.getAnomalies(p(params)?.type, p(params)?.limit); }],
401
+ ['anomaly.investigate', (params) => { if (!s.anomalyDetective)
402
+ throw new Error('Anomaly detective not available'); return s.anomalyDetective.investigate(p(params).id); }],
403
+ ['anomaly.history', (params) => { if (!s.anomalyDetective)
404
+ throw new Error('Anomaly detective not available'); return s.anomalyDetective.getHistory(p(params)?.limit); }],
405
+ ['anomaly.drift', () => { if (!s.anomalyDetective)
406
+ throw new Error('Anomaly detective not available'); return s.anomalyDetective.getDriftReport(); }],
407
+ // ─── Research Journal ────────────────────────────────────
408
+ ['journal.write', (params) => { if (!s.journal)
409
+ throw new Error('Research journal not available'); return s.journal.write(p(params)); }],
410
+ ['journal.entries', (params) => { if (!s.journal)
411
+ throw new Error('Research journal not available'); return s.journal.getEntries(p(params)?.type, p(params)?.limit); }],
412
+ ['journal.summary', (params) => { if (!s.journal)
413
+ throw new Error('Research journal not available'); return s.journal.getSummary(p(params)?.limit); }],
414
+ ['journal.milestones', (params) => { if (!s.journal)
415
+ throw new Error('Research journal not available'); return s.journal.getMilestones(p(params)?.limit); }],
416
+ ['journal.search', (params) => { if (!s.journal)
417
+ throw new Error('Research journal not available'); return s.journal.search(p(params).query, p(params)?.limit); }],
418
+ ['journal.reflect', () => { if (!s.journal)
419
+ throw new Error('Research journal not available'); return s.journal.reflect(); }],
317
420
  // Status (cross-brain)
318
421
  ['status', () => ({
319
422
  name: 'brain',
320
- version: '3.6.0',
423
+ version: '3.8.0',
321
424
  uptime: Math.floor(process.uptime()),
322
425
  pid: process.pid,
323
426
  methods: this.listMethods().length,
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/ipc/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/ipc/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { IpcClient } from '@timmeck/brain-core';
3
+ import type { IpcRouter } from '../ipc/router.js';
4
+ /** Register advanced research tools using IPC client (for stdio MCP transport) */
5
+ export declare function registerAdvancedResearchTools(server: McpServer, ipc: IpcClient): void;
6
+ /** Register advanced research tools using router directly (for HTTP MCP transport inside daemon) */
7
+ export declare function registerAdvancedResearchToolsDirect(server: McpServer, router: IpcRouter): void;