@timmeck/brain 3.36.12 → 3.36.15
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 +1 -0
- package/dist/brain.js +113 -4
- package/dist/brain.js.map +1 -1
- package/dist/cli/commands/missions.d.ts +2 -0
- package/dist/cli/commands/missions.js +113 -0
- package/dist/cli/commands/missions.js.map +1 -0
- package/dist/hooks/__tests__/prompt-submit.test.d.ts +1 -0
- package/dist/hooks/__tests__/prompt-submit.test.js +202 -0
- package/dist/hooks/__tests__/prompt-submit.test.js.map +1 -0
- package/dist/hooks/prompt-submit.js +70 -58
- package/dist/hooks/prompt-submit.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ipc/__tests__/notification-bridge.test.d.ts +1 -0
- package/dist/ipc/__tests__/notification-bridge.test.js +155 -0
- package/dist/ipc/__tests__/notification-bridge.test.js.map +1 -0
- package/dist/ipc/router.d.ts +5 -0
- package/dist/ipc/router.js +83 -1
- package/dist/ipc/router.js.map +1 -1
- package/dist/learning/__tests__/confidence-scorer.test.d.ts +1 -0
- package/dist/learning/__tests__/confidence-scorer.test.js +75 -0
- package/dist/learning/__tests__/confidence-scorer.test.js.map +1 -0
- package/dist/learning/confidence-scorer.js +3 -3
- package/dist/learning/confidence-scorer.js.map +1 -1
- package/dist/mcp/http-server.js +4 -0
- package/dist/mcp/http-server.js.map +1 -1
- package/dist/mcp/llm-tools.js +89 -19
- package/dist/mcp/llm-tools.js.map +1 -1
- package/dist/mcp/mission-tools.d.ts +5 -0
- package/dist/mcp/mission-tools.js +72 -0
- package/dist/mcp/mission-tools.js.map +1 -0
- package/dist/mcp/server.js +4 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/techradar-tools.d.ts +7 -0
- package/dist/mcp/techradar-tools.js +138 -0
- package/dist/mcp/techradar-tools.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confidence-scorer.js","sourceRoot":"","sources":["../../src/learning/confidence-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,mCAAmC;AACnC,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,KAAa,EACb,UAAkB,EAClB,YAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,IAAI,GAAG,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,SAAiB,EACjB,UAAkB,EAClB,eAAuB,EAAE;IAEzB,MAAM,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC;IACvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,cAAsB,EACtB,UAA6G;IAE7G,
|
|
1
|
+
{"version":3,"file":"confidence-scorer.js","sourceRoot":"","sources":["../../src/learning/confidence-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,mCAAmC;AACnC,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,KAAa,EACb,UAAkB,EAClB,YAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,IAAI,GAAG,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,SAAiB,EACjB,UAAkB,EAClB,eAAuB,EAAE;IAEzB,MAAM,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC;IACvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,cAAsB,EACtB,UAA6G;IAE7G,qFAAqF;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAEnD,OAAO;QACL,uDAAuD;QACvD,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;QAC9E,yDAAyD;QACzD,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;QACrF,0CAA0C;QAC1C,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;QACnF,+BAA+B;QAC/B,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;KACpF,CAAC;AACJ,CAAC"}
|
package/dist/mcp/http-server.js
CHANGED
|
@@ -29,6 +29,8 @@ import { registerSelfmodToolsDirect } from './selfmod-tools.js';
|
|
|
29
29
|
import { registerConceptToolsDirect } from './concept-tools.js';
|
|
30
30
|
import { registerPeerToolsDirect } from './peer-tools.js';
|
|
31
31
|
import { registerLLMToolsDirect } from './llm-tools.js';
|
|
32
|
+
import { registerMissionToolsDirect } from './mission-tools.js';
|
|
33
|
+
import { registerTechRadarToolsDirect } from './techradar-tools.js';
|
|
32
34
|
import { registerPromptsDirect } from './prompts.js';
|
|
33
35
|
export class McpHttpServer {
|
|
34
36
|
inner;
|
|
@@ -63,6 +65,8 @@ export class McpHttpServer {
|
|
|
63
65
|
registerConceptToolsDirect(server, router);
|
|
64
66
|
registerPeerToolsDirect(server, router);
|
|
65
67
|
registerLLMToolsDirect(server, router);
|
|
68
|
+
registerMissionToolsDirect(server, router);
|
|
69
|
+
registerTechRadarToolsDirect(server, router);
|
|
66
70
|
registerPromptsDirect(server, router);
|
|
67
71
|
});
|
|
68
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/mcp/http-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/mcp/http-server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/llm-tools.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
function textResult(data) {
|
|
2
3
|
const text = typeof data === 'string' ? data : JSON.stringify(data, null, 2);
|
|
3
4
|
return { content: [{ type: 'text', text }] };
|
|
@@ -9,30 +10,65 @@ export function registerLLMToolsDirect(server, router) {
|
|
|
9
10
|
registerLLMToolsWithCaller(server, (method, params) => router.handle(method, params));
|
|
10
11
|
}
|
|
11
12
|
function registerLLMToolsWithCaller(server, call) {
|
|
12
|
-
server.tool('brain_llm_status', 'Get LLM service status: token usage, cache stats, rate limits, budget remaining', {}, async () => {
|
|
13
|
+
server.tool('brain_llm_status', 'Get LLM service status: token usage, cache stats, rate limits, budget remaining, active providers', {}, async () => {
|
|
13
14
|
const stats = await call('llm.status', {});
|
|
14
15
|
const lines = [
|
|
15
16
|
'# LLM Service Status',
|
|
16
|
-
`**Model:** ${stats.model}
|
|
17
|
+
`**Model:** ${stats.model}`,
|
|
17
18
|
'',
|
|
18
|
-
'##
|
|
19
|
-
`- **Total Calls:** ${stats.totalCalls} | **Total Tokens:** ${stats.totalTokens.toLocaleString()}`,
|
|
20
|
-
`- **This Hour:** ${stats.callsThisHour} calls, ${stats.tokensThisHour.toLocaleString()} tokens`,
|
|
21
|
-
`- **Today:** ${stats.tokensToday.toLocaleString()} tokens`,
|
|
22
|
-
`- **Avg Latency:** ${Math.round(stats.averageLatencyMs)}ms`,
|
|
23
|
-
'',
|
|
24
|
-
'## Budget',
|
|
25
|
-
`- **Hourly Remaining:** ${stats.budgetRemainingHour.toLocaleString()} tokens`,
|
|
26
|
-
`- **Daily Remaining:** ${stats.budgetRemainingDay.toLocaleString()} tokens`,
|
|
27
|
-
'',
|
|
28
|
-
'## Cache',
|
|
29
|
-
`- **Hits:** ${stats.cacheHits} | **Misses:** ${stats.cacheMisses}`,
|
|
30
|
-
`- **Hit Rate:** ${(stats.cacheHitRate * 100).toFixed(1)}%`,
|
|
31
|
-
'',
|
|
32
|
-
'## Issues',
|
|
33
|
-
`- **Rate Limit Hits:** ${stats.rateLimitHits} | **Errors:** ${stats.errors}`,
|
|
34
|
-
stats.lastCallAt ? `- **Last Call:** ${new Date(stats.lastCallAt).toISOString()}` : '- *No calls yet*',
|
|
19
|
+
'## Providers',
|
|
35
20
|
];
|
|
21
|
+
if (stats.providers?.length > 0) {
|
|
22
|
+
lines.push('| Provider | Status | Cost Tier | Chat | Embed |');
|
|
23
|
+
lines.push('|----------|--------|-----------|------|-------|');
|
|
24
|
+
for (const p of stats.providers) {
|
|
25
|
+
lines.push(`| ${p.name} | ${p.available ? 'Online' : 'Offline'} | ${p.costTier} | ${p.capabilities.chat ? 'Yes' : 'No'} | ${p.capabilities.embed ? 'Yes' : 'No'} |`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
lines.push('*No providers registered*');
|
|
30
|
+
}
|
|
31
|
+
lines.push('', '## Usage', `- **Total Calls:** ${stats.totalCalls} | **Total Tokens:** ${stats.totalTokens.toLocaleString()}`, `- **This Hour:** ${stats.callsThisHour} calls, ${stats.tokensThisHour.toLocaleString()} tokens`, `- **Today:** ${stats.tokensToday.toLocaleString()} tokens`, `- **Avg Latency:** ${Math.round(stats.averageLatencyMs)}ms`, '', '## Budget', `- **Hourly Remaining:** ${stats.budgetRemainingHour.toLocaleString()} tokens`, `- **Daily Remaining:** ${stats.budgetRemainingDay.toLocaleString()} tokens`, '', '## Cache', `- **Hits:** ${stats.cacheHits} | **Misses:** ${stats.cacheMisses}`, `- **Hit Rate:** ${(stats.cacheHitRate * 100).toFixed(1)}%`, '', '## Issues', `- **Rate Limit Hits:** ${stats.rateLimitHits} | **Errors:** ${stats.errors}`, stats.lastCallAt ? `- **Last Call:** ${new Date(stats.lastCallAt).toISOString()}` : '- *No calls yet*');
|
|
32
|
+
return textResult(lines.join('\n'));
|
|
33
|
+
});
|
|
34
|
+
server.tool('brain_llm_providers', 'List all registered LLM providers with availability status, capabilities, and cost tiers', {}, async () => {
|
|
35
|
+
const providers = await call('llm.providers', {});
|
|
36
|
+
const lines = ['# LLM Providers', ''];
|
|
37
|
+
if (!providers || providers.length === 0) {
|
|
38
|
+
lines.push('*No providers registered*');
|
|
39
|
+
return textResult(lines.join('\n'));
|
|
40
|
+
}
|
|
41
|
+
lines.push('| Provider | Status | Cost | Chat | Generate | Embed | Reasoning |');
|
|
42
|
+
lines.push('|----------|--------|------|------|----------|-------|-----------|');
|
|
43
|
+
for (const p of providers) {
|
|
44
|
+
lines.push(`| ${p.name} | ${p.available ? 'Online' : 'Offline'} | ${p.costTier} | ${p.capabilities.chat ? 'Yes' : '-'} | ${p.capabilities.generate ? 'Yes' : '-'} | ${p.capabilities.embed ? 'Yes' : '-'} | ${p.capabilities.reasoning ? 'Yes' : '-'} |`);
|
|
45
|
+
}
|
|
46
|
+
lines.push('', '## Setup Guide', '');
|
|
47
|
+
lines.push('**Ollama (local, free):** Install from https://ollama.com, then `ollama pull qwen3:14b`');
|
|
48
|
+
lines.push('**Anthropic (cloud):** Set `ANTHROPIC_API_KEY` in .env');
|
|
49
|
+
return textResult(lines.join('\n'));
|
|
50
|
+
});
|
|
51
|
+
server.tool('brain_llm_route', 'Show which provider handles which template type (explain, summarize, debate, etc.)', {
|
|
52
|
+
template: z.enum([
|
|
53
|
+
'explain', 'ask', 'synthesize_debate', 'creative_hypothesis',
|
|
54
|
+
'research_question', 'summarize', 'analyze_contradiction', 'custom',
|
|
55
|
+
]).optional().describe('Specific template to check routing for'),
|
|
56
|
+
}, async (params) => {
|
|
57
|
+
const routing = await call('llm.routing', { template: params.template });
|
|
58
|
+
const lines = ['# LLM Task Routing', ''];
|
|
59
|
+
if (params.template) {
|
|
60
|
+
lines.push(`**Template:** ${params.template}`);
|
|
61
|
+
lines.push(`**Preferred Tier:** ${routing.tier}`);
|
|
62
|
+
lines.push(`**Provider Chain:** ${routing.chain?.join(' → ') ?? 'none'}`);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
lines.push('| Template | Tier | Providers |');
|
|
66
|
+
lines.push('|----------|------|-----------|');
|
|
67
|
+
for (const r of routing.routes ?? []) {
|
|
68
|
+
lines.push(`| ${r.template} | ${r.tier} | ${r.chain?.join(' → ') ?? '-'} |`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
lines.push('', '*Tier: local = free/local provider first, cloud = quality provider first, any = cheapest available*');
|
|
36
72
|
return textResult(lines.join('\n'));
|
|
37
73
|
});
|
|
38
74
|
server.tool('brain_llm_usage', 'Get LLM token usage breakdown by template (explain, ask, debate, hypothesis, etc.)', {}, async () => {
|
|
@@ -60,5 +96,39 @@ function registerLLMToolsWithCaller(server, call) {
|
|
|
60
96
|
}
|
|
61
97
|
return textResult(lines.join('\n'));
|
|
62
98
|
});
|
|
99
|
+
server.tool('brain_ollama_status', 'Get Ollama server status: installed models, running models, VRAM usage (requires Ollama)', {}, async () => {
|
|
100
|
+
const status = await call('llm.ollamaStatus', {});
|
|
101
|
+
const lines = ['# Ollama Status', ''];
|
|
102
|
+
if (!status.available) {
|
|
103
|
+
lines.push('**Status:** Offline');
|
|
104
|
+
lines.push(`**Host:** ${status.host}`);
|
|
105
|
+
lines.push('', 'Ollama is not running or not reachable.');
|
|
106
|
+
lines.push('Install from: https://ollama.com');
|
|
107
|
+
lines.push('Start with: `ollama serve`');
|
|
108
|
+
return textResult(lines.join('\n'));
|
|
109
|
+
}
|
|
110
|
+
lines.push(`**Status:** Online | **Host:** ${status.host}`);
|
|
111
|
+
lines.push(`**Chat Model:** ${status.chatModel} | **Embed Model:** ${status.embedModel}`);
|
|
112
|
+
if (status.runningModels?.length > 0) {
|
|
113
|
+
lines.push('', '## Running Models');
|
|
114
|
+
lines.push('| Model | Size | VRAM |');
|
|
115
|
+
lines.push('|-------|------|------|');
|
|
116
|
+
for (const m of status.runningModels) {
|
|
117
|
+
const sizeMB = Math.round(m.size / 1024 / 1024);
|
|
118
|
+
const vramMB = Math.round(m.size_vram / 1024 / 1024);
|
|
119
|
+
lines.push(`| ${m.name} | ${sizeMB} MB | ${vramMB} MB |`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (status.installedModels?.length > 0) {
|
|
123
|
+
lines.push('', '## Installed Models');
|
|
124
|
+
lines.push('| Model | Size |');
|
|
125
|
+
lines.push('|-------|------|');
|
|
126
|
+
for (const m of status.installedModels) {
|
|
127
|
+
const sizeMB = Math.round(m.size / 1024 / 1024);
|
|
128
|
+
lines.push(`| ${m.name} | ${sizeMB} MB |`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return textResult(lines.join('\n'));
|
|
132
|
+
});
|
|
63
133
|
}
|
|
64
134
|
//# sourceMappingURL=llm-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-tools.js","sourceRoot":"","sources":["../../src/mcp/llm-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"llm-tools.js","sourceRoot":"","sources":["../../src/mcp/llm-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
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
|
+
export declare function registerMissionTools(server: McpServer, ipc: IpcClient): void;
|
|
5
|
+
export declare function registerMissionToolsDirect(server: McpServer, router: IpcRouter): void;
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
export function registerMissionTools(server, ipc) {
|
|
7
|
+
registerMissionToolsWithCaller(server, (method, params) => ipc.request(method, params));
|
|
8
|
+
}
|
|
9
|
+
export function registerMissionToolsDirect(server, router) {
|
|
10
|
+
registerMissionToolsWithCaller(server, (method, params) => router.handle(method, params));
|
|
11
|
+
}
|
|
12
|
+
function registerMissionToolsWithCaller(server, call) {
|
|
13
|
+
server.tool('brain_mission_create', 'Create a research mission: autonomously research a topic through web search, knowledge synthesis, and hypothesis generation. Returns a structured report.', {
|
|
14
|
+
topic: z.string().describe('The research topic to investigate'),
|
|
15
|
+
depth: z.enum(['quick', 'standard', 'deep']).optional().describe('Research depth: quick (5 sources), standard (10), deep (20). Default: standard'),
|
|
16
|
+
}, async (params) => {
|
|
17
|
+
const result = await call('mission.create', { topic: params.topic, depth: params.depth ?? 'standard' });
|
|
18
|
+
return textResult(`# Mission Created\n\n**ID:** ${result.id}\n**Topic:** ${result.topic}\n**Depth:** ${result.depth}\n**Status:** ${result.status}\n\nThe mission is running in background. Use \`brain_mission_report\` with ID ${result.id} to check progress and read the final report.`);
|
|
19
|
+
});
|
|
20
|
+
server.tool('brain_mission_list', 'List all research missions with their status', {
|
|
21
|
+
status: z.string().optional().describe('Filter by status: pending, decomposing, gathering, hypothesizing, analyzing, synthesizing, complete, failed'),
|
|
22
|
+
limit: z.number().optional().describe('Max results (default: 20)'),
|
|
23
|
+
}, async (params) => {
|
|
24
|
+
const missions = await call('mission.list', { status: params.status, limit: params.limit });
|
|
25
|
+
if (!missions?.length)
|
|
26
|
+
return textResult('No missions found.');
|
|
27
|
+
const lines = ['# Research Missions', '', '| ID | Topic | Status | Sources | Created |', '|-----|-------|--------|---------|---------|'];
|
|
28
|
+
for (const m of missions) {
|
|
29
|
+
lines.push(`| ${m.id} | ${m.topic.substring(0, 50)} | ${m.status} | ${m.source_count ?? 0} | ${m.created_at?.substring(0, 10) ?? '-'} |`);
|
|
30
|
+
}
|
|
31
|
+
return textResult(lines.join('\n'));
|
|
32
|
+
});
|
|
33
|
+
server.tool('brain_mission_report', 'Get the full report of a research mission including phases, sources, and synthesized findings', {
|
|
34
|
+
id: z.number().describe('Mission ID'),
|
|
35
|
+
}, async (params) => {
|
|
36
|
+
const report = await call('mission.report', { id: params.id });
|
|
37
|
+
if (!report)
|
|
38
|
+
return textResult('Mission not found.');
|
|
39
|
+
const m = report.mission;
|
|
40
|
+
const lines = [
|
|
41
|
+
`# Mission #${m.id}: ${m.topic}`,
|
|
42
|
+
`**Status:** ${m.status} | **Depth:** ${m.depth} | **Sources:** ${m.source_count}`,
|
|
43
|
+
`**Created:** ${m.created_at}${m.completed_at ? ` | **Completed:** ${m.completed_at}` : ''}`,
|
|
44
|
+
'',
|
|
45
|
+
];
|
|
46
|
+
if (report.phases?.length) {
|
|
47
|
+
lines.push('## Phases');
|
|
48
|
+
for (const p of report.phases) {
|
|
49
|
+
const icon = p.status === 'complete' ? '✅' : p.status === 'failed' ? '❌' : '⏳';
|
|
50
|
+
lines.push(`- ${icon} **${p.phase}**: ${p.status}`);
|
|
51
|
+
}
|
|
52
|
+
lines.push('');
|
|
53
|
+
}
|
|
54
|
+
if (m.report) {
|
|
55
|
+
lines.push('## Report', '', m.report);
|
|
56
|
+
}
|
|
57
|
+
else if (m.error) {
|
|
58
|
+
lines.push(`## Error\n\n${m.error}`);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
lines.push('*Report not yet available — mission still running.*');
|
|
62
|
+
}
|
|
63
|
+
return textResult(lines.join('\n'));
|
|
64
|
+
});
|
|
65
|
+
server.tool('brain_mission_cancel', 'Cancel a running research mission', {
|
|
66
|
+
id: z.number().describe('Mission ID to cancel'),
|
|
67
|
+
}, async (params) => {
|
|
68
|
+
await call('mission.cancel', { id: params.id });
|
|
69
|
+
return textResult(`Mission #${params.id} cancelled.`);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=mission-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mission-tools.js","sourceRoot":"","sources":["../../src/mcp/mission-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -30,6 +30,8 @@ import { registerSelfmodTools } from './selfmod-tools.js';
|
|
|
30
30
|
import { registerConceptTools } from './concept-tools.js';
|
|
31
31
|
import { registerPeerTools } from './peer-tools.js';
|
|
32
32
|
import { registerLLMTools } from './llm-tools.js';
|
|
33
|
+
import { registerMissionTools } from './mission-tools.js';
|
|
34
|
+
import { registerTechRadarTools } from './techradar-tools.js';
|
|
33
35
|
import { registerPrompts } from './prompts.js';
|
|
34
36
|
export async function startMcpServer() {
|
|
35
37
|
await coreStartMcpServer({
|
|
@@ -66,6 +68,8 @@ export async function startMcpServer() {
|
|
|
66
68
|
registerConceptTools(server, ipc);
|
|
67
69
|
registerPeerTools(server, ipc);
|
|
68
70
|
registerLLMTools(server, ipc);
|
|
71
|
+
registerMissionTools(server, ipc);
|
|
72
|
+
registerTechRadarTools(server, ipc);
|
|
69
73
|
},
|
|
70
74
|
registerPrompts,
|
|
71
75
|
});
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.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 TechRadar tools using IPC client (for stdio MCP transport) */
|
|
5
|
+
export declare function registerTechRadarTools(server: McpServer, ipc: IpcClient): void;
|
|
6
|
+
/** Register TechRadar tools using router directly (for HTTP MCP transport inside daemon) */
|
|
7
|
+
export declare function registerTechRadarToolsDirect(server: McpServer, router: IpcRouter): void;
|
|
@@ -0,0 +1,138 @@
|
|
|
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 TechRadar tools using IPC client (for stdio MCP transport) */
|
|
7
|
+
export function registerTechRadarTools(server, ipc) {
|
|
8
|
+
registerTechRadarToolsWithCaller(server, (method, params) => ipc.request(method, params));
|
|
9
|
+
}
|
|
10
|
+
/** Register TechRadar tools using router directly (for HTTP MCP transport inside daemon) */
|
|
11
|
+
export function registerTechRadarToolsDirect(server, router) {
|
|
12
|
+
registerTechRadarToolsWithCaller(server, (method, params) => router.handle(method, params));
|
|
13
|
+
}
|
|
14
|
+
function registerTechRadarToolsWithCaller(server, call) {
|
|
15
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
16
|
+
// TechRadar — Daily tech trend scanning + relevance analysis
|
|
17
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
18
|
+
server.tool('brain_techradar_scan', 'Trigger a TechRadar scan. Checks watched repos for new releases, imports high-scoring repos from SignalScanner, and generates a daily digest.', {}, async () => {
|
|
19
|
+
const result = await call('techradar.scan', {});
|
|
20
|
+
const lines = [
|
|
21
|
+
'TechRadar Scan Complete:',
|
|
22
|
+
` Duration: ${result.duration_ms}ms`,
|
|
23
|
+
` New entries: ${result.new_entries}`,
|
|
24
|
+
` Updated entries: ${result.updated_entries}`,
|
|
25
|
+
` Releases found: ${result.releases_found}`,
|
|
26
|
+
` Digest generated: ${result.digest_generated}`,
|
|
27
|
+
];
|
|
28
|
+
if (result.errors?.length > 0) {
|
|
29
|
+
lines.push(` Errors: ${result.errors.join(', ')}`);
|
|
30
|
+
}
|
|
31
|
+
return textResult(lines.join('\n'));
|
|
32
|
+
});
|
|
33
|
+
server.tool('brain_techradar_digest', 'Get the daily TechRadar digest. Shows summary, top entries, opportunities, and action items.', { date: z.string().optional().describe('Date (YYYY-MM-DD), defaults to today') }, async ({ date }) => {
|
|
34
|
+
const result = await call('techradar.digest', { date });
|
|
35
|
+
if (!result)
|
|
36
|
+
return textResult('No digest available for this date. Run brain_techradar_scan first.');
|
|
37
|
+
const lines = [
|
|
38
|
+
`TechRadar Digest — ${result.date}`,
|
|
39
|
+
'═'.repeat(50),
|
|
40
|
+
'',
|
|
41
|
+
result.summary,
|
|
42
|
+
'',
|
|
43
|
+
];
|
|
44
|
+
if (result.entries?.length > 0) {
|
|
45
|
+
lines.push('Top Entries:');
|
|
46
|
+
for (const e of result.entries.slice(0, 10)) {
|
|
47
|
+
lines.push(` [${e.relevance_score}] ${e.name} (${e.source}) — ${e.summary}`);
|
|
48
|
+
}
|
|
49
|
+
lines.push('');
|
|
50
|
+
}
|
|
51
|
+
if (result.action_items?.length > 0) {
|
|
52
|
+
lines.push('Action Items:');
|
|
53
|
+
for (const a of result.action_items) {
|
|
54
|
+
lines.push(` [${a.priority}] ${a.action}`);
|
|
55
|
+
}
|
|
56
|
+
lines.push('');
|
|
57
|
+
}
|
|
58
|
+
if (result.opportunities?.length > 0) {
|
|
59
|
+
lines.push('Opportunities:');
|
|
60
|
+
for (const o of result.opportunities) {
|
|
61
|
+
lines.push(` ${o.title} (effort: ${o.effort}, impact: ${o.impact})`);
|
|
62
|
+
lines.push(` ${o.description}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return textResult(lines.join('\n'));
|
|
66
|
+
});
|
|
67
|
+
server.tool('brain_techradar_entries', 'Browse TechRadar entries. Filter by minimum relevance score, source, or ring.', {
|
|
68
|
+
minScore: z.number().optional().describe('Minimum relevance score (0-100)'),
|
|
69
|
+
source: z.string().optional().describe('Filter by source: github_release, github_trending, hackernews, web'),
|
|
70
|
+
ring: z.string().optional().describe('Filter by ring: adopt, trial, assess, hold'),
|
|
71
|
+
limit: z.number().optional().describe('Max entries to return'),
|
|
72
|
+
}, async ({ minScore, source, ring, limit }) => {
|
|
73
|
+
const result = await call('techradar.entries', { minScore, source, ring, limit });
|
|
74
|
+
if (!result || result.length === 0)
|
|
75
|
+
return textResult('No entries found.');
|
|
76
|
+
const lines = [`TechRadar Entries (${result.length})`, ''];
|
|
77
|
+
for (const e of result) {
|
|
78
|
+
lines.push(`[${e.relevance_score}] ${e.name}`);
|
|
79
|
+
lines.push(` Ring: ${e.ring} | Source: ${e.source} | Category: ${e.category}`);
|
|
80
|
+
lines.push(` ${e.description?.substring(0, 120)}`);
|
|
81
|
+
if (e.action_type !== 'none')
|
|
82
|
+
lines.push(` → ${e.action_type}: ${e.action_detail}`);
|
|
83
|
+
lines.push('');
|
|
84
|
+
}
|
|
85
|
+
return textResult(lines.join('\n'));
|
|
86
|
+
});
|
|
87
|
+
server.tool('brain_techradar_stats', 'Get TechRadar statistics: total entries, distribution by source/ring, watched repos count.', {}, async () => {
|
|
88
|
+
const result = await call('techradar.stats', {});
|
|
89
|
+
const lines = [
|
|
90
|
+
'TechRadar Stats:',
|
|
91
|
+
` Total entries: ${result.totalEntries}`,
|
|
92
|
+
` Watched repos: ${result.watchedRepos}`,
|
|
93
|
+
` Last digest: ${result.lastDigest ?? 'never'}`,
|
|
94
|
+
'',
|
|
95
|
+
'By Source:',
|
|
96
|
+
...Object.entries(result.bySource ?? {}).map(([k, v]) => ` ${k}: ${v}`),
|
|
97
|
+
'',
|
|
98
|
+
'By Ring:',
|
|
99
|
+
...Object.entries(result.byRing ?? {}).map(([k, v]) => ` ${k}: ${v}`),
|
|
100
|
+
];
|
|
101
|
+
return textResult(lines.join('\n'));
|
|
102
|
+
});
|
|
103
|
+
server.tool('brain_techradar_repos', 'Manage watched repositories. List, add, or remove repos from the TechRadar watchlist.', {
|
|
104
|
+
action: z.enum(['list', 'add', 'remove']).describe('Action to perform'),
|
|
105
|
+
repo: z.string().optional().describe('Repository (owner/name) for add/remove'),
|
|
106
|
+
reason: z.string().optional().describe('Why watching this repo (for add)'),
|
|
107
|
+
}, async ({ action, repo, reason }) => {
|
|
108
|
+
switch (action) {
|
|
109
|
+
case 'list': {
|
|
110
|
+
const repos = await call('techradar.repos.list', {});
|
|
111
|
+
if (!repos || repos.length === 0)
|
|
112
|
+
return textResult('No watched repos.');
|
|
113
|
+
const lines = ['Watched Repos:', ''];
|
|
114
|
+
for (const r of repos) {
|
|
115
|
+
lines.push(` ${r.full_name}`);
|
|
116
|
+
if (r.last_release_tag)
|
|
117
|
+
lines.push(` Last release: ${r.last_release_tag} (${r.last_release_at})`);
|
|
118
|
+
if (r.reason)
|
|
119
|
+
lines.push(` Reason: ${r.reason}`);
|
|
120
|
+
}
|
|
121
|
+
return textResult(lines.join('\n'));
|
|
122
|
+
}
|
|
123
|
+
case 'add': {
|
|
124
|
+
if (!repo)
|
|
125
|
+
return textResult('Error: repo is required for add');
|
|
126
|
+
await call('techradar.repos.add', { repo, reason });
|
|
127
|
+
return textResult(`Added ${repo} to watchlist.`);
|
|
128
|
+
}
|
|
129
|
+
case 'remove': {
|
|
130
|
+
if (!repo)
|
|
131
|
+
return textResult('Error: repo is required for remove');
|
|
132
|
+
await call('techradar.repos.remove', { repo });
|
|
133
|
+
return textResult(`Removed ${repo} from watchlist.`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=techradar-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"techradar-tools.js","sourceRoot":"","sources":["../../src/mcp/techradar-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED