@timmeck/brain 3.36.59 → 3.36.61

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 (54) hide show
  1. package/dist/brain.js +14 -2
  2. package/dist/brain.js.map +1 -1
  3. package/dist/config.js +1 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/init/engine-factory.js +9 -1
  6. package/dist/init/engine-factory.js.map +1 -1
  7. package/dist/init/lifecycle.js +18 -0
  8. package/dist/init/lifecycle.js.map +1 -1
  9. package/dist/ipc/router.d.ts +1 -0
  10. package/dist/ipc/router.js +2 -0
  11. package/dist/ipc/router.js.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/cli/commands/__tests__/borg.test.d.ts +0 -1
  14. package/dist/cli/commands/__tests__/borg.test.js +0 -84
  15. package/dist/cli/commands/__tests__/borg.test.js.map +0 -1
  16. package/dist/cli/commands/__tests__/plugins.test.d.ts +0 -1
  17. package/dist/cli/commands/__tests__/plugins.test.js +0 -69
  18. package/dist/cli/commands/__tests__/plugins.test.js.map +0 -1
  19. package/dist/cli/commands/__tests__/watchdog.test.d.ts +0 -1
  20. package/dist/cli/commands/__tests__/watchdog.test.js +0 -63
  21. package/dist/cli/commands/__tests__/watchdog.test.js.map +0 -1
  22. package/dist/hooks/__tests__/prompt-submit.test.d.ts +0 -1
  23. package/dist/hooks/__tests__/prompt-submit.test.js +0 -202
  24. package/dist/hooks/__tests__/prompt-submit.test.js.map +0 -1
  25. package/dist/init/__tests__/lifecycle.test.d.ts +0 -1
  26. package/dist/init/__tests__/lifecycle.test.js +0 -43
  27. package/dist/init/__tests__/lifecycle.test.js.map +0 -1
  28. package/dist/ipc/__tests__/notification-bridge.test.d.ts +0 -1
  29. package/dist/ipc/__tests__/notification-bridge.test.js +0 -155
  30. package/dist/ipc/__tests__/notification-bridge.test.js.map +0 -1
  31. package/dist/ipc/__tests__/protocol.test.d.ts +0 -1
  32. package/dist/ipc/__tests__/protocol.test.js +0 -117
  33. package/dist/ipc/__tests__/protocol.test.js.map +0 -1
  34. package/dist/learning/__tests__/confidence-scorer.test.d.ts +0 -1
  35. package/dist/learning/__tests__/confidence-scorer.test.js +0 -75
  36. package/dist/learning/__tests__/confidence-scorer.test.js.map +0 -1
  37. package/dist/mcp/__tests__/prompts.test.d.ts +0 -1
  38. package/dist/mcp/__tests__/prompts.test.js +0 -419
  39. package/dist/mcp/__tests__/prompts.test.js.map +0 -1
  40. package/dist/services/__tests__/auto-resolution.service.test.d.ts +0 -1
  41. package/dist/services/__tests__/auto-resolution.service.test.js +0 -838
  42. package/dist/services/__tests__/auto-resolution.service.test.js.map +0 -1
  43. package/dist/services/__tests__/error.service.auto-resolution.test.d.ts +0 -1
  44. package/dist/services/__tests__/error.service.auto-resolution.test.js +0 -320
  45. package/dist/services/__tests__/error.service.auto-resolution.test.js.map +0 -1
  46. package/dist/signals/__tests__/fingerprint.test.d.ts +0 -1
  47. package/dist/signals/__tests__/fingerprint.test.js +0 -118
  48. package/dist/signals/__tests__/fingerprint.test.js.map +0 -1
  49. package/dist/utils/__tests__/hash.test.d.ts +0 -1
  50. package/dist/utils/__tests__/hash.test.js +0 -32
  51. package/dist/utils/__tests__/hash.test.js.map +0 -1
  52. package/dist/utils/__tests__/paths.test.d.ts +0 -1
  53. package/dist/utils/__tests__/paths.test.js +0 -75
  54. package/dist/utils/__tests__/paths.test.js.map +0 -1
@@ -1,155 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- // Minimal mock services for the IpcRouter
3
- function createMockNotificationService() {
4
- const store = [];
5
- let nextId = 1;
6
- return {
7
- create(input) {
8
- const id = nextId++;
9
- store.push({
10
- id,
11
- type: input.type,
12
- title: input.title,
13
- message: input.message,
14
- priority: input.priority ?? 0,
15
- acknowledged: false,
16
- });
17
- return id;
18
- },
19
- list() {
20
- return store.filter(n => !n.acknowledged);
21
- },
22
- acknowledge(id) {
23
- const n = store.find(s => s.id === id);
24
- if (n)
25
- n.acknowledged = true;
26
- },
27
- getById(id) {
28
- return store.find(s => s.id === id);
29
- },
30
- _store: store,
31
- };
32
- }
33
- describe('notification bridge IPC routes', () => {
34
- let notificationService;
35
- beforeEach(() => {
36
- notificationService = createMockNotificationService();
37
- });
38
- describe('notification.pending', () => {
39
- it('returns empty array when no notifications', () => {
40
- const pending = notificationService.list();
41
- expect(pending).toEqual([]);
42
- });
43
- it('returns unacknowledged notifications', () => {
44
- notificationService.create({ type: 'selfmod', title: 'Test', message: '{}' });
45
- notificationService.create({ type: 'cross-brain:trading-brain', title: 'trade', message: '{}' });
46
- const pending = notificationService.list();
47
- expect(pending).toHaveLength(2);
48
- expect(pending[0].type).toBe('selfmod');
49
- expect(pending[1].type).toBe('cross-brain:trading-brain');
50
- });
51
- it('does not return acknowledged notifications', () => {
52
- const id = notificationService.create({ type: 'selfmod', title: 'Test', message: '{}' });
53
- notificationService.acknowledge(id);
54
- const pending = notificationService.list();
55
- expect(pending).toHaveLength(0);
56
- });
57
- });
58
- describe('notification.ackAll', () => {
59
- it('acknowledges all pending notifications', () => {
60
- notificationService.create({ type: 'selfmod', title: 'A', message: '{}' });
61
- notificationService.create({ type: 'selfmod', title: 'B', message: '{}' });
62
- notificationService.create({ type: 'selfmod', title: 'C', message: '{}' });
63
- // Simulate ackAll route logic
64
- const pending = notificationService.list();
65
- for (const n of pending) {
66
- notificationService.acknowledge(n.id);
67
- }
68
- expect(notificationService.list()).toHaveLength(0);
69
- expect(notificationService._store.every(n => n.acknowledged)).toBe(true);
70
- });
71
- it('returns acknowledged count', () => {
72
- notificationService.create({ type: 'a', title: 'A', message: '{}' });
73
- notificationService.create({ type: 'b', title: 'B', message: '{}' });
74
- const pending = notificationService.list();
75
- for (const n of pending) {
76
- notificationService.acknowledge(n.id);
77
- }
78
- expect(pending.length).toBe(2);
79
- });
80
- });
81
- describe('cross-brain.notify → notification storage', () => {
82
- it('stores cross-brain notifications with proper type prefix', () => {
83
- // Simulate cross-brain.notify handler
84
- const params = {
85
- source: 'trading-brain',
86
- event: 'position:closed',
87
- data: { pnl: 42.5, pnlPct: 2.1, symbol: 'BTC/USDT' },
88
- timestamp: new Date().toISOString(),
89
- };
90
- notificationService.create({
91
- type: `cross-brain:${params.source}`,
92
- title: params.event,
93
- message: JSON.stringify(params.data ?? {}),
94
- priority: params.data?.priority ?? 0,
95
- });
96
- const pending = notificationService.list();
97
- expect(pending).toHaveLength(1);
98
- expect(pending[0].type).toBe('cross-brain:trading-brain');
99
- expect(pending[0].title).toBe('position:closed');
100
- const msg = JSON.parse(pending[0].message);
101
- expect(msg.pnl).toBe(42.5);
102
- expect(msg.symbol).toBe('BTC/USDT');
103
- });
104
- it('stores marketing-brain notifications', () => {
105
- const params = {
106
- source: 'marketing-brain',
107
- event: 'rule:learned',
108
- data: { ruleId: 5, pattern: 'post at 9am', summary: 'New marketing rule: "post at 9am"' },
109
- timestamp: new Date().toISOString(),
110
- };
111
- notificationService.create({
112
- type: `cross-brain:${params.source}`,
113
- title: params.event,
114
- message: JSON.stringify(params.data ?? {}),
115
- });
116
- const pending = notificationService.list();
117
- expect(pending).toHaveLength(1);
118
- expect(pending[0].type).toBe('cross-brain:marketing-brain');
119
- const msg = JSON.parse(pending[0].message);
120
- expect(msg.pattern).toBe('post at 9am');
121
- });
122
- it('handles data with priority', () => {
123
- notificationService.create({
124
- type: 'cross-brain:trading-brain',
125
- title: 'urgent:alert',
126
- message: JSON.stringify({ priority: 5, msg: 'Flash crash' }),
127
- priority: 5,
128
- });
129
- const pending = notificationService.list();
130
- expect(pending[0].priority).toBe(5);
131
- });
132
- });
133
- describe('selfmod → notification flow', () => {
134
- it('creates notifications from self-improvement suggestions', () => {
135
- const suggestions = [
136
- 'Tell Claude: Extract common IPC patterns into shared helper',
137
- 'Tell Claude: Add retry logic to price fetcher',
138
- ];
139
- // Simulate the onSuggestion callback from brain.ts
140
- for (const s of suggestions) {
141
- notificationService.create({
142
- type: 'selfmod',
143
- title: 'Self-improvement suggestion',
144
- message: JSON.stringify({ summary: s }),
145
- });
146
- }
147
- const pending = notificationService.list();
148
- expect(pending).toHaveLength(2);
149
- expect(pending[0].type).toBe('selfmod');
150
- const msg0 = JSON.parse(pending[0].message);
151
- expect(msg0.summary).toContain('Extract common IPC patterns');
152
- });
153
- });
154
- });
155
- //# sourceMappingURL=notification-bridge.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-bridge.test.js","sourceRoot":"","sources":["../../../src/ipc/__tests__/notification-bridge.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,117 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { Buffer } from 'node:buffer';
3
- import { encodeMessage, MessageDecoder } from '../protocol.js';
4
- function makeMessage(overrides = {}) {
5
- return { id: '1', type: 'request', method: 'test', ...overrides };
6
- }
7
- describe('encodeMessage', () => {
8
- it('returns a Buffer', () => {
9
- const buf = encodeMessage(makeMessage());
10
- expect(Buffer.isBuffer(buf)).toBe(true);
11
- });
12
- it('starts with a 4-byte length prefix', () => {
13
- const msg = makeMessage();
14
- const buf = encodeMessage(msg);
15
- const payloadLength = buf.readUInt32BE(0);
16
- expect(buf.length).toBe(4 + payloadLength);
17
- });
18
- it('payload is valid JSON matching the input message', () => {
19
- const msg = makeMessage({ id: 'abc', type: 'notification', method: 'ping' });
20
- const buf = encodeMessage(msg);
21
- const payloadLength = buf.readUInt32BE(0);
22
- const json = buf.subarray(4, 4 + payloadLength).toString('utf8');
23
- const parsed = JSON.parse(json);
24
- expect(parsed).toEqual(msg);
25
- });
26
- it('handles message with error field', () => {
27
- const msg = makeMessage({
28
- type: 'response',
29
- error: { code: -1, message: 'fail' },
30
- });
31
- const buf = encodeMessage(msg);
32
- const payloadLength = buf.readUInt32BE(0);
33
- const json = buf.subarray(4, 4 + payloadLength).toString('utf8');
34
- expect(JSON.parse(json).error.code).toBe(-1);
35
- });
36
- it('handles message with unicode content', () => {
37
- const msg = makeMessage({ method: '\u00fc\u00f6\u00e4\u00df' });
38
- const buf = encodeMessage(msg);
39
- const payloadLength = buf.readUInt32BE(0);
40
- const json = buf.subarray(4, 4 + payloadLength).toString('utf8');
41
- expect(JSON.parse(json).method).toBe('\u00fc\u00f6\u00e4\u00df');
42
- });
43
- });
44
- describe('MessageDecoder', () => {
45
- it('decodes a single complete message', () => {
46
- const decoder = new MessageDecoder();
47
- const msg = makeMessage({ id: '42' });
48
- const encoded = encodeMessage(msg);
49
- const messages = decoder.feed(encoded);
50
- expect(messages).toHaveLength(1);
51
- expect(messages[0]).toEqual(msg);
52
- });
53
- it('decodes multiple messages fed at once', () => {
54
- const decoder = new MessageDecoder();
55
- const msg1 = makeMessage({ id: '1' });
56
- const msg2 = makeMessage({ id: '2' });
57
- const combined = Buffer.concat([encodeMessage(msg1), encodeMessage(msg2)]);
58
- const messages = decoder.feed(combined);
59
- expect(messages).toHaveLength(2);
60
- expect(messages[0]).toEqual(msg1);
61
- expect(messages[1]).toEqual(msg2);
62
- });
63
- it('handles partial messages across multiple feeds', () => {
64
- const decoder = new MessageDecoder();
65
- const msg = makeMessage({ id: 'split' });
66
- const encoded = encodeMessage(msg);
67
- // Split the buffer in the middle
68
- const mid = Math.floor(encoded.length / 2);
69
- const part1 = encoded.subarray(0, mid);
70
- const part2 = encoded.subarray(mid);
71
- const result1 = decoder.feed(part1);
72
- expect(result1).toHaveLength(0);
73
- const result2 = decoder.feed(part2);
74
- expect(result2).toHaveLength(1);
75
- expect(result2[0]).toEqual(msg);
76
- });
77
- it('handles byte-by-byte feeding', () => {
78
- const decoder = new MessageDecoder();
79
- const msg = makeMessage({ id: 'byte' });
80
- const encoded = encodeMessage(msg);
81
- const messages = [];
82
- for (let i = 0; i < encoded.length; i++) {
83
- const result = decoder.feed(encoded.subarray(i, i + 1));
84
- messages.push(...result);
85
- }
86
- expect(messages).toHaveLength(1);
87
- expect(messages[0]).toEqual(msg);
88
- });
89
- it('handles incomplete length header', () => {
90
- const decoder = new MessageDecoder();
91
- // Feed only 2 bytes (less than the 4-byte header)
92
- const partial = Buffer.alloc(2);
93
- partial.writeUInt16BE(0, 0);
94
- const result = decoder.feed(partial);
95
- expect(result).toHaveLength(0);
96
- });
97
- it('reset clears internal buffer', () => {
98
- const decoder = new MessageDecoder();
99
- const msg = makeMessage({ id: 'reset-test' });
100
- const encoded = encodeMessage(msg);
101
- // Feed partial data
102
- decoder.feed(encoded.subarray(0, 3));
103
- // Reset
104
- decoder.reset();
105
- // Feed a complete message — should decode cleanly
106
- const msg2 = makeMessage({ id: 'after-reset' });
107
- const result = decoder.feed(encodeMessage(msg2));
108
- expect(result).toHaveLength(1);
109
- expect(result[0]).toEqual(msg2);
110
- });
111
- it('handles empty buffer', () => {
112
- const decoder = new MessageDecoder();
113
- const result = decoder.feed(Buffer.alloc(0));
114
- expect(result).toHaveLength(0);
115
- });
116
- });
117
- //# sourceMappingURL=protocol.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.test.js","sourceRoot":"","sources":["../../../src/ipc/__tests__/protocol.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,75 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { computeAdaptiveThresholds, computeConfidence, timeDecayedConfidence } from '../confidence-scorer.js';
3
- describe('computeAdaptiveThresholds', () => {
4
- const baseConfig = {
5
- minOccurrences: 3,
6
- minSuccessRate: 0.70,
7
- minConfidence: 0.60,
8
- pruneThreshold: 0.30,
9
- };
10
- it('should not scale minOccurrences above cap of 1.5x', () => {
11
- // With 200 errors and 100 solutions, errorScale = min(1.5, 200/100) = 1.5
12
- // solutionScale = min(1.5, 100/20) = 1.5
13
- // dataScale = 1.5
14
- const result = computeAdaptiveThresholds(200, 100, baseConfig);
15
- // minOccurrences = round(3 * 1.5) = 5 (not 6+ with old cap of 2.0)
16
- expect(result.minOccurrences).toBeLessThanOrEqual(5);
17
- });
18
- it('should keep minOccurrences low with small datasets', () => {
19
- // With 10 errors and 5 solutions
20
- const result = computeAdaptiveThresholds(10, 5, baseConfig);
21
- // errorScale = min(1.5, max(0.5, 10/100)) = 0.5
22
- // solutionScale = min(1.5, max(0.5, 5/20)) = 0.5
23
- // dataScale = 0.5
24
- // minOccurrences = max(2, round(3 * 0.5)) = 2
25
- expect(result.minOccurrences).toBe(2);
26
- });
27
- it('should produce reasonable thresholds for moderate data', () => {
28
- // 50 errors, 20 solutions → errorScale = 0.5, solutionScale = 1.0, dataScale = 0.75
29
- const result = computeAdaptiveThresholds(50, 20, baseConfig);
30
- expect(result.minOccurrences).toBeGreaterThanOrEqual(2);
31
- expect(result.minOccurrences).toBeLessThanOrEqual(4);
32
- expect(result.minSuccessRate).toBeGreaterThan(0.60);
33
- expect(result.minSuccessRate).toBeLessThan(0.95);
34
- expect(result.minConfidence).toBeGreaterThan(0.50);
35
- expect(result.minConfidence).toBeLessThan(0.90);
36
- });
37
- it('should cap errorScale at 1.5 instead of 2.0', () => {
38
- // Very large dataset: 500 errors
39
- const result = computeAdaptiveThresholds(500, 100, baseConfig);
40
- // errorScale = min(1.5, 500/100) = 1.5, not 2.0
41
- // solutionScale = min(1.5, 100/20) = 1.5
42
- // dataScale = 1.5
43
- expect(result.minOccurrences).toBeLessThanOrEqual(5);
44
- });
45
- it('should use divisor of 100 for errorScale', () => {
46
- // At exactly 100 errors, errorScale should be 1.0
47
- const result = computeAdaptiveThresholds(100, 20, baseConfig);
48
- // errorScale = min(1.5, max(0.5, 100/100)) = 1.0
49
- // solutionScale = min(1.5, max(0.5, 20/20)) = 1.0
50
- // dataScale = 1.0
51
- // minOccurrences = round(3 * 1.0) = 3
52
- expect(result.minOccurrences).toBe(3);
53
- });
54
- });
55
- describe('computeConfidence', () => {
56
- it('should return 0 with no data', () => {
57
- expect(computeConfidence(0, 0, new Date().toISOString())).toBe(0);
58
- });
59
- it('should return higher confidence for more successes', () => {
60
- const now = new Date().toISOString();
61
- const low = computeConfidence(2, 8, now);
62
- const high = computeConfidence(8, 2, now);
63
- expect(high).toBeGreaterThan(low);
64
- });
65
- });
66
- describe('timeDecayedConfidence', () => {
67
- it('should decay confidence over time', () => {
68
- const recent = new Date().toISOString();
69
- const old = new Date(Date.now() - 60 * 86400000).toISOString(); // 60 days ago
70
- const recentConf = timeDecayedConfidence(8, 10, recent, 30);
71
- const oldConf = timeDecayedConfidence(8, 10, old, 30);
72
- expect(recentConf).toBeGreaterThan(oldConf);
73
- });
74
- });
75
- //# sourceMappingURL=confidence-scorer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"confidence-scorer.test.js","sourceRoot":"","sources":["../../../src/learning/__tests__/confidence-scorer.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};