@timmeck/brain-core 2.36.19 → 2.36.20

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 (31) hide show
  1. package/README.md +93 -135
  2. package/command-center.html +158 -15
  3. package/dist/consciousness/__tests__/thought-stream.test.d.ts +1 -0
  4. package/dist/consciousness/__tests__/thought-stream.test.js +62 -0
  5. package/dist/consciousness/__tests__/thought-stream.test.js.map +1 -0
  6. package/dist/consciousness/thought-stream.d.ts +2 -0
  7. package/dist/consciousness/thought-stream.js +4 -0
  8. package/dist/consciousness/thought-stream.js.map +1 -1
  9. package/dist/dashboard/__tests__/command-center-server.test.js +8 -2
  10. package/dist/dashboard/__tests__/command-center-server.test.js.map +1 -1
  11. package/dist/dashboard/command-center-server.d.ts +5 -0
  12. package/dist/dashboard/command-center-server.js +39 -1
  13. package/dist/dashboard/command-center-server.js.map +1 -1
  14. package/dist/debate/debate-engine.js +1 -1
  15. package/dist/debate/debate-engine.js.map +1 -1
  16. package/dist/missions/__tests__/mission-engine.test.d.ts +1 -0
  17. package/dist/missions/__tests__/mission-engine.test.js +66 -0
  18. package/dist/missions/__tests__/mission-engine.test.js.map +1 -0
  19. package/dist/missions/mission-engine.js +5 -0
  20. package/dist/missions/mission-engine.js.map +1 -1
  21. package/dist/plugin/example-plugin.d.ts +40 -0
  22. package/dist/plugin/example-plugin.js +91 -0
  23. package/dist/plugin/example-plugin.js.map +1 -0
  24. package/dist/prediction/prediction-engine.js +1 -1
  25. package/dist/research/research-orchestrator.js +9 -0
  26. package/dist/research/research-orchestrator.js.map +1 -1
  27. package/dist/utils/__tests__/logger.test.js +27 -0
  28. package/dist/utils/__tests__/logger.test.js.map +1 -1
  29. package/dist/utils/logger.js +10 -3
  30. package/dist/utils/logger.js.map +1 -1
  31. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import Database from 'better-sqlite3';
3
+ import { ResearchMissionEngine } from '../mission-engine.js';
4
+ vi.mock('../../utils/logger.js', () => ({
5
+ getLogger: () => ({
6
+ info: vi.fn(),
7
+ warn: vi.fn(),
8
+ error: vi.fn(),
9
+ debug: vi.fn(),
10
+ }),
11
+ }));
12
+ describe('ResearchMissionEngine', () => {
13
+ let db;
14
+ let engine;
15
+ beforeEach(() => {
16
+ db = new Database(':memory:');
17
+ engine = new ResearchMissionEngine(db, { maxConcurrentMissions: 2 });
18
+ });
19
+ afterEach(() => {
20
+ db.close();
21
+ });
22
+ it('creates a mission', () => {
23
+ const mission = engine.createMission('Test topic');
24
+ expect(mission).toBeDefined();
25
+ expect(mission.topic).toBe('Test topic');
26
+ expect(mission.status).toBe('pending');
27
+ });
28
+ it('lists missions', () => {
29
+ engine.createMission('Topic A');
30
+ engine.createMission('Topic B');
31
+ const missions = engine.listMissions();
32
+ expect(missions.length).toBe(2);
33
+ });
34
+ it('enforces maxConcurrentMissions limit', () => {
35
+ engine.createMission('Mission 1');
36
+ engine.createMission('Mission 2');
37
+ // Third mission should be rejected (max = 2)
38
+ expect(() => engine.createMission('Mission 3')).toThrow(/Maximum concurrent missions/);
39
+ });
40
+ it('allows new missions after previous ones complete', () => {
41
+ const m1 = engine.createMission('Mission 1');
42
+ engine.createMission('Mission 2');
43
+ // Cancel m1 to free a slot
44
+ engine.cancelMission(m1.id);
45
+ // Now should succeed
46
+ const m3 = engine.createMission('Mission 3');
47
+ expect(m3).toBeDefined();
48
+ });
49
+ it('returns engine status', () => {
50
+ engine.createMission('Topic A');
51
+ const status = engine.getStatus();
52
+ expect(status.totalMissions).toBe(1);
53
+ expect(status.activeMissions).toBe(1);
54
+ });
55
+ it('cancels a mission', () => {
56
+ const m = engine.createMission('Cancel me');
57
+ const result = engine.cancelMission(m.id);
58
+ expect(result).toBe(true);
59
+ const cancelled = engine.getMission(m.id);
60
+ expect(cancelled.status).toBe('failed');
61
+ });
62
+ it('returns null for non-existent mission', () => {
63
+ expect(engine.getMission(999)).toBeNull();
64
+ });
65
+ });
66
+ //# sourceMappingURL=mission-engine.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mission-engine.test.js","sourceRoot":"","sources":["../../../src/missions/__tests__/mission-engine.test.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,11 @@ export class ResearchMissionEngine {
93
93
  * Create a new research mission and start executing it asynchronously.
94
94
  */
95
95
  createMission(topic, depth = 'standard') {
96
+ // Enforce maxConcurrentMissions limit
97
+ const active = this.db.prepare("SELECT COUNT(*) as c FROM research_missions WHERE status NOT IN ('complete','failed')").get().c;
98
+ if (active >= this.config.maxConcurrentMissions) {
99
+ throw new Error(`Maximum concurrent missions reached (${this.config.maxConcurrentMissions}). Wait for active missions to complete or cancel one.`);
100
+ }
96
101
  const result = this.stmtInsertMission.run(topic, depth, 'pending');
97
102
  const id = Number(result.lastInsertRowid);
98
103
  // Create phase rows
@@ -1 +1 @@
1
- {"version":3,"file":"mission-engine.js","sourceRoot":"","sources":["../../src/missions/mission-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mission-engine.js","sourceRoot":"","sources":["../../src/missions/mission-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Example Brain Plugin — Reference implementation for community plugins.
3
+ *
4
+ * To create your own plugin:
5
+ *
6
+ * 1. Create a directory in ~/.brain/plugins/my-plugin/
7
+ * 2. Add a package.json with "brainPlugin": true
8
+ * 3. Export a default BrainPlugin object from your entry point
9
+ *
10
+ * Directory structure:
11
+ * ~/.brain/plugins/my-plugin/
12
+ * ├── package.json ← must have "brainPlugin": true and "main" field
13
+ * └── index.js ← default export: BrainPlugin
14
+ *
15
+ * package.json:
16
+ * {
17
+ * "name": "my-plugin",
18
+ * "version": "1.0.0",
19
+ * "description": "My awesome Brain plugin",
20
+ * "main": "index.js",
21
+ * "brainPlugin": true
22
+ * }
23
+ *
24
+ * The plugin receives a PluginContext with:
25
+ * - dataDir: dedicated data directory for this plugin
26
+ * - log: scoped logger (info, warn, error, debug)
27
+ * - callBrain(method, params): call any Brain IPC method
28
+ * - notify(event, data): send cross-brain notifications
29
+ */
30
+ import type { BrainPlugin } from './types.js';
31
+ /**
32
+ * Example: Hello Brain Plugin
33
+ *
34
+ * Demonstrates all plugin capabilities:
35
+ * - Lifecycle hooks (onLoad, onUnload, onCycle)
36
+ * - MCP tools (exposed to Claude Code)
37
+ * - IPC routes (callable by other brains)
38
+ */
39
+ declare const helloBrainPlugin: BrainPlugin;
40
+ export default helloBrainPlugin;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Example Brain Plugin — Reference implementation for community plugins.
3
+ *
4
+ * To create your own plugin:
5
+ *
6
+ * 1. Create a directory in ~/.brain/plugins/my-plugin/
7
+ * 2. Add a package.json with "brainPlugin": true
8
+ * 3. Export a default BrainPlugin object from your entry point
9
+ *
10
+ * Directory structure:
11
+ * ~/.brain/plugins/my-plugin/
12
+ * ├── package.json ← must have "brainPlugin": true and "main" field
13
+ * └── index.js ← default export: BrainPlugin
14
+ *
15
+ * package.json:
16
+ * {
17
+ * "name": "my-plugin",
18
+ * "version": "1.0.0",
19
+ * "description": "My awesome Brain plugin",
20
+ * "main": "index.js",
21
+ * "brainPlugin": true
22
+ * }
23
+ *
24
+ * The plugin receives a PluginContext with:
25
+ * - dataDir: dedicated data directory for this plugin
26
+ * - log: scoped logger (info, warn, error, debug)
27
+ * - callBrain(method, params): call any Brain IPC method
28
+ * - notify(event, data): send cross-brain notifications
29
+ */
30
+ /**
31
+ * Example: Hello Brain Plugin
32
+ *
33
+ * Demonstrates all plugin capabilities:
34
+ * - Lifecycle hooks (onLoad, onUnload, onCycle)
35
+ * - MCP tools (exposed to Claude Code)
36
+ * - IPC routes (callable by other brains)
37
+ */
38
+ const helloBrainPlugin = {
39
+ name: 'hello-brain',
40
+ version: '1.0.0',
41
+ description: 'Example plugin — says hello, tracks greetings',
42
+ // ── Lifecycle ──────────────────────────────────────────
43
+ async onLoad(context) {
44
+ context.log.info('Hello Brain plugin loaded!');
45
+ // You can initialize state, open files, create DB tables, etc.
46
+ // context.dataDir is a writable directory just for this plugin
47
+ },
48
+ async onUnload() {
49
+ // Clean up resources: close connections, flush buffers, etc.
50
+ },
51
+ async onCycle(cycleCount) {
52
+ // Called on each learning cycle (~5 min).
53
+ // Good for periodic tasks: check feeds, update stats, etc.
54
+ if (cycleCount % 10 === 0) {
55
+ // Every 10th cycle, do something special
56
+ }
57
+ },
58
+ // ── MCP Tools ──────────────────────────────────────────
59
+ // These are exposed as MCP tools to Claude Code / Cursor / etc.
60
+ // Tool names are auto-prefixed with plugin name: hello-brain_greet
61
+ tools: [
62
+ {
63
+ name: 'greet',
64
+ description: 'Say hello from the plugin',
65
+ schema: {
66
+ type: 'object',
67
+ properties: {
68
+ name: { type: 'string', description: 'Name to greet' },
69
+ },
70
+ required: ['name'],
71
+ },
72
+ handler: (params) => {
73
+ const name = params.name;
74
+ return { message: `Hello, ${name}! Greetings from the Hello Brain plugin.` };
75
+ },
76
+ },
77
+ ],
78
+ // ── IPC Routes ─────────────────────────────────────────
79
+ // These are callable via IPC: plugin.hello-brain.stats
80
+ // Other brains can call these too via cross-brain queries.
81
+ routes: [
82
+ {
83
+ method: 'stats',
84
+ handler: () => {
85
+ return { greetings: 0, lastGreeting: null };
86
+ },
87
+ },
88
+ ],
89
+ };
90
+ export default helloBrainPlugin;
91
+ //# sourceMappingURL=example-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-plugin.js","sourceRoot":"","sources":["../../src/plugin/example-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAgB;IACpC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAE5D,0DAA0D;IAE1D,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,+DAA+D;QAC/D,+DAA+D;IACjE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,6DAA6D;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,0CAA0C;QAC1C,2DAA2D;QAC3D,IAAI,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1B,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,gEAAgE;IAChE,mEAAmE;IAEnE,KAAK,EAAE;QACL;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2BAA2B;YACxC,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;iBACvD;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;YACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAI,MAA2B,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,UAAU,IAAI,0CAA0C,EAAE,CAAC;YAC/E,CAAC;SACF;KACF;IAED,0DAA0D;IAC1D,uDAAuD;IACvD,2DAA2D;IAE3D,MAAM,EAAE;QACN;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YAC9C,CAAC;SACF;KACF;CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -73,7 +73,7 @@ export class PredictionEngine {
73
73
  ewmaAlpha: config.ewmaAlpha ?? 0.3,
74
74
  trendBeta: config.trendBeta ?? 0.1,
75
75
  minDataPoints: config.minDataPoints ?? 5,
76
- minConfidence: config.minConfidence ?? 0.3,
76
+ minConfidence: config.minConfidence ?? 0.5,
77
77
  maxPredictionsPerCycle: config.maxPredictionsPerCycle ?? 5,
78
78
  resolveIntervalMs: config.resolveIntervalMs ?? 60_000,
79
79
  };
@@ -113,6 +113,15 @@ export class ResearchOrchestrator {
113
113
  setThoughtStream(stream) {
114
114
  this.thoughtStream = stream;
115
115
  this.autoResponder.setThoughtStream(stream);
116
+ // Register all known engines so they appear in getEngineActivity() from the start
117
+ const engineNames = [
118
+ 'orchestrator', 'self_observer', 'adaptive_strategy', 'experiment',
119
+ 'cross_domain', 'counterfactual', 'knowledge_distiller', 'research_agenda',
120
+ 'anomaly_detective', 'journal', 'hypothesis', 'prediction', 'mission_engine',
121
+ ];
122
+ for (const name of engineNames) {
123
+ stream.registerEngine(name);
124
+ }
116
125
  }
117
126
  /** Set the SignalScanner — feeds scan results into journal/predictions. */
118
127
  setSignalScanner(scanner) {