@timmeck/brain 3.19.0 → 3.20.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.
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ function textResult(data) {
3
+ const text = typeof data === 'string' ? data : JSON.stringify(data, null, 2);
4
+ return { content: [{ type: 'text', text }] };
5
+ }
6
+ /** Register transfer tools using IPC client (for stdio MCP transport) */
7
+ export function registerTransferTools(server, ipc) {
8
+ registerTransferToolsWithCaller(server, (method, params) => ipc.request(method, params));
9
+ }
10
+ /** Register transfer tools using router directly (for HTTP MCP transport inside daemon) */
11
+ export function registerTransferToolsDirect(server, router) {
12
+ registerTransferToolsWithCaller(server, (method, params) => router.handle(method, params));
13
+ }
14
+ function registerTransferToolsWithCaller(server, call) {
15
+ server.tool('brain_transfer_status', 'Get cross-domain knowledge transfer status: analogies found, transfers proposed/applied/validated, cross-domain rules, and effectiveness scores.', {}, async () => {
16
+ const status = await call('transfer.status', {});
17
+ const lines = [
18
+ 'Transfer Engine Status:',
19
+ ` Total analogies found: ${status.totalAnalogies}`,
20
+ ` Total transfers: ${status.totalTransfers} (pending: ${status.pendingTransfers}, applied: ${status.appliedTransfers}, validated: ${status.validatedTransfers}, rejected: ${status.rejectedTransfers})`,
21
+ ` Avg effectiveness: ${(status.avgEffectiveness * 100).toFixed(0)}%`,
22
+ ` Rules: ${status.activeRules}/${status.totalRules} active`,
23
+ '',
24
+ ];
25
+ if (status.recentAnalogies?.length > 0) {
26
+ lines.push('Recent Analogies:');
27
+ for (const a of status.recentAnalogies.slice(0, 5)) {
28
+ lines.push(` [${(a.similarity * 100).toFixed(0)}%] ${a.narrative}`);
29
+ }
30
+ lines.push('');
31
+ }
32
+ if (status.recentTransfers?.length > 0) {
33
+ lines.push('Recent Transfers:');
34
+ for (const t of status.recentTransfers.slice(0, 5)) {
35
+ const eff = t.effectiveness !== null ? ` (${(t.effectiveness * 100).toFixed(0)}% effective)` : '';
36
+ lines.push(` [${t.status}] ${t.source_brain} → ${t.target_brain}: "${t.statement.substring(0, 60)}"${eff}`);
37
+ }
38
+ }
39
+ return textResult(lines.join('\n'));
40
+ });
41
+ server.tool('brain_transfer_analogies', 'Find and list cross-domain analogies — knowledge that is structurally similar across different Brain domains.', {
42
+ limit: z.number().optional().describe('Max analogies to show (default: 20)'),
43
+ }, async (params) => {
44
+ const analogies = await call('transfer.analogies', { limit: params.limit ?? 20 });
45
+ if (!analogies?.length)
46
+ return textResult('No analogies discovered yet. Run transfer.analyze to scan for cross-domain similarities.');
47
+ const lines = [`Cross-Domain Analogies (${analogies.length}):\n`];
48
+ for (const a of analogies) {
49
+ lines.push(`[${(a.similarity * 100).toFixed(0)}%] ${a.source_brain} ↔ ${a.target_brain}`);
50
+ lines.push(` "${a.source_statement.substring(0, 70)}"`);
51
+ lines.push(` ≈ "${a.target_statement.substring(0, 70)}"`);
52
+ lines.push('');
53
+ }
54
+ return textResult(lines.join('\n'));
55
+ });
56
+ server.tool('brain_transfer_rules', 'List cross-domain rules — automated triggers that fire when events in one Brain affect another Brain.', {}, async () => {
57
+ const rules = await call('transfer.rules', {});
58
+ if (!rules?.length)
59
+ return textResult('No cross-domain rules configured.');
60
+ const lines = [`Cross-Domain Rules (${rules.length}):\n`];
61
+ for (const r of rules) {
62
+ const status = r.enabled ? 'ACTIVE' : 'DISABLED';
63
+ lines.push(`[${status}] "${r.name}"`);
64
+ lines.push(` ${r.source_brain}:${r.source_event} → ${r.target_brain}:${r.action}`);
65
+ lines.push(` Condition: ${r.condition} | Fired: ${r.fire_count}x | Cooldown: ${r.cooldown_ms / 1000}s`);
66
+ lines.push('');
67
+ }
68
+ return textResult(lines.join('\n'));
69
+ });
70
+ }
71
+ //# sourceMappingURL=transfer-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer-tools.js","sourceRoot":"","sources":["../../src/mcp/transfer-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timmeck/brain",
3
- "version": "3.19.0",
3
+ "version": "3.20.0",
4
4
  "description": "Adaptive error memory and code intelligence system with Hebbian synapse network, hybrid search, and REST API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",