@agentbrain/mcp-server 1.4.67 → 1.4.70
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/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/load-context.d.ts +13 -0
- package/dist/tools/load-context.d.ts.map +1 -1
- package/dist/tools/load-context.js +343 -102
- package/dist/tools/load-context.js.map +1 -1
- package/dist/tools/save-context.d.ts +19 -13
- package/dist/tools/save-context.d.ts.map +1 -1
- package/dist/tools/save-context.js +58 -183
- package/dist/tools/save-context.js.map +1 -1
- package/dist/tools/save-error.d.ts +47 -0
- package/dist/tools/save-error.d.ts.map +1 -0
- package/dist/tools/save-error.js +109 -0
- package/dist/tools/save-error.js.map +1 -0
- package/dist/tools/setup-repo.d.ts +10 -0
- package/dist/tools/setup-repo.d.ts.map +1 -1
- package/dist/tools/setup-repo.js +153 -8
- package/dist/tools/setup-repo.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { detectDoomLoop, detectDoomLoopSchema } from './tools/detect-doom-loop.j
|
|
|
11
11
|
import { saveHandoff, saveHandoffSchema } from './tools/save-handoff.js';
|
|
12
12
|
import { setupRepo, setupRepoSchema } from './tools/setup-repo.js';
|
|
13
13
|
import { saveContext, saveContextSchema } from './tools/save-context.js';
|
|
14
|
+
import { saveError, saveErrorSchema } from './tools/save-error.js';
|
|
14
15
|
import { existsSync } from 'node:fs';
|
|
15
16
|
import { join, resolve } from 'node:path';
|
|
16
17
|
import { homedir } from 'node:os';
|
|
@@ -53,6 +54,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
53
54
|
loadContextSchema,
|
|
54
55
|
setupRepoSchema,
|
|
55
56
|
saveContextSchema,
|
|
57
|
+
saveErrorSchema,
|
|
56
58
|
loadSpecSchema,
|
|
57
59
|
detectDoomLoopSchema,
|
|
58
60
|
saveHandoffSchema,
|
|
@@ -222,6 +224,17 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
222
224
|
],
|
|
223
225
|
};
|
|
224
226
|
}
|
|
227
|
+
case 'save_error': {
|
|
228
|
+
const result = await saveError(args);
|
|
229
|
+
return {
|
|
230
|
+
content: [
|
|
231
|
+
{
|
|
232
|
+
type: 'text',
|
|
233
|
+
text: result.message,
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
};
|
|
237
|
+
}
|
|
225
238
|
default:
|
|
226
239
|
throw new Error(`Unknown tool: ${name}`);
|
|
227
240
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,wBAAwB;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { type DoomWarningForMCP } from '@agentbrain/core';
|
|
|
2
2
|
export interface LoadContextInput {
|
|
3
3
|
repo_path: string;
|
|
4
4
|
force_refresh?: boolean;
|
|
5
|
+
full?: boolean;
|
|
6
|
+
files?: string[];
|
|
5
7
|
}
|
|
6
8
|
export interface LoadContextOutput {
|
|
7
9
|
content: string;
|
|
@@ -28,6 +30,17 @@ export declare const loadContextSchema: {
|
|
|
28
30
|
type: string;
|
|
29
31
|
description: string;
|
|
30
32
|
};
|
|
33
|
+
full: {
|
|
34
|
+
type: string;
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
37
|
+
files: {
|
|
38
|
+
type: string;
|
|
39
|
+
description: string;
|
|
40
|
+
items: {
|
|
41
|
+
type: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
31
44
|
};
|
|
32
45
|
required: string[];
|
|
33
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-context.d.ts","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,iBAAiB,EAKvB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"load-context.d.ts","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,iBAAiB,EAKvB,MAAM,kBAAkB,CAAA;AAuLzB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACxC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0PrF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7B,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// MCP tool: load_context - load context docs at session start
|
|
2
|
-
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { readFile, writeFile, readdir } from 'node:fs/promises';
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { join, resolve } from 'node:path';
|
|
5
5
|
import { homedir } from 'node:os';
|
|
6
|
-
import { loadAIConfig, generateContext,
|
|
6
|
+
import { loadAIConfig, generateContext, getGitHash, loadCache, getPendingDoomForMCP, ensureGitignore, installPostCommitHook, isGitRepository, createAgentFilesShared, } from '@agentbrain/core';
|
|
7
7
|
/**
|
|
8
8
|
* Expand path: handles ~, relative paths, etc.
|
|
9
9
|
*/
|
|
@@ -13,118 +13,342 @@ function expandPath(path) {
|
|
|
13
13
|
}
|
|
14
14
|
return resolve(path);
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Order context files: specific order for known files, alphabetical for others, errors.md last
|
|
18
|
+
*/
|
|
19
|
+
function orderContextFiles(files) {
|
|
20
|
+
const order = [
|
|
21
|
+
'context.md',
|
|
22
|
+
'branch-context.md',
|
|
23
|
+
'schema.md',
|
|
24
|
+
'dependencies.md',
|
|
25
|
+
'dependency-map.md',
|
|
26
|
+
'patterns.md',
|
|
27
|
+
'decisions.md',
|
|
28
|
+
'inventory.md',
|
|
29
|
+
'testing.md',
|
|
30
|
+
'environment.md',
|
|
31
|
+
];
|
|
32
|
+
const ordered = [];
|
|
33
|
+
const remaining = [];
|
|
34
|
+
let errorsFile = null;
|
|
35
|
+
for (const file of files) {
|
|
36
|
+
if (file === 'errors.md') {
|
|
37
|
+
errorsFile = file;
|
|
38
|
+
}
|
|
39
|
+
else if (order.includes(file)) {
|
|
40
|
+
ordered.push(file);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
remaining.push(file);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Sort known files by order array
|
|
47
|
+
ordered.sort((a, b) => order.indexOf(a) - order.indexOf(b));
|
|
48
|
+
// Sort remaining alphabetically
|
|
49
|
+
remaining.sort();
|
|
50
|
+
// Combine: ordered + remaining + errors.md
|
|
51
|
+
const result = [...ordered, ...remaining];
|
|
52
|
+
if (errorsFile) {
|
|
53
|
+
result.push(errorsFile);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get description for a context file
|
|
59
|
+
*/
|
|
60
|
+
function getFileDescription(filename) {
|
|
61
|
+
const descriptions = {
|
|
62
|
+
'context.md': 'architecture overview',
|
|
63
|
+
'schema.md': 'database models',
|
|
64
|
+
'patterns.md': 'coding conventions',
|
|
65
|
+
'dependencies.md': 'package versions',
|
|
66
|
+
'dependency-map.md': 'module relationships',
|
|
67
|
+
'testing.md': 'test patterns',
|
|
68
|
+
'decisions.md': 'tech stack decisions',
|
|
69
|
+
'errors.md': 'known issues and solutions',
|
|
70
|
+
'branch-context.md': 'current branch and recent commits',
|
|
71
|
+
'inventory.md': 'components and utilities',
|
|
72
|
+
'environment.md': 'environment variables',
|
|
73
|
+
};
|
|
74
|
+
return descriptions[filename] || 'additional context';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Build a slim summary from context.md
|
|
78
|
+
* Extracts key sections without full content
|
|
79
|
+
*/
|
|
80
|
+
function buildSlimSummary(contextContent, availableFiles) {
|
|
81
|
+
const lines = contextContent.split('\n');
|
|
82
|
+
let projectName = 'Project';
|
|
83
|
+
let techStack = [];
|
|
84
|
+
let structure = [];
|
|
85
|
+
let modules = [];
|
|
86
|
+
// Extract project name (first # heading)
|
|
87
|
+
for (const line of lines) {
|
|
88
|
+
if (line.startsWith('# ') && !projectName) {
|
|
89
|
+
projectName = line.replace('# ', '').trim();
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Extract tech stack (look for "Tech Stack", "Stack", or "Technologies" section)
|
|
94
|
+
let inTechStack = false;
|
|
95
|
+
for (let i = 0; i < lines.length; i++) {
|
|
96
|
+
const line = lines[i];
|
|
97
|
+
if (/^##\s+(Tech Stack|Stack|Technologies|Technology)/i.test(line)) {
|
|
98
|
+
inTechStack = true;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (inTechStack) {
|
|
102
|
+
if (line.startsWith('##'))
|
|
103
|
+
break; // Next section
|
|
104
|
+
if (line.trim().startsWith('-') || line.trim().startsWith('*')) {
|
|
105
|
+
const item = line.replace(/^[\s\-\*]+/, '').split(':')[0].trim();
|
|
106
|
+
if (item && techStack.length < 8) {
|
|
107
|
+
techStack.push(item);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Extract structure (look for "Structure", "Layout", "Repository" section)
|
|
113
|
+
let inStructure = false;
|
|
114
|
+
for (let i = 0; i < lines.length; i++) {
|
|
115
|
+
const line = lines[i];
|
|
116
|
+
if (/^##\s+(Repository Layout|Structure|Organization|Layout)/i.test(line)) {
|
|
117
|
+
inStructure = true;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
if (inStructure) {
|
|
121
|
+
if (line.startsWith('##'))
|
|
122
|
+
break;
|
|
123
|
+
if (line.includes('apps/') || line.includes('packages/') || line.includes('src/')) {
|
|
124
|
+
const match = line.match(/(apps|packages|src)\/([a-zA-Z0-9\-_]+)/);
|
|
125
|
+
if (match && structure.length < 6) {
|
|
126
|
+
structure.push(`${match[1]}/${match[2]}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Extract modules (look for "Modules", "Features", "Core Modules" section)
|
|
132
|
+
let inModules = false;
|
|
133
|
+
for (let i = 0; i < lines.length; i++) {
|
|
134
|
+
const line = lines[i];
|
|
135
|
+
if (/^##\s+(Core Modules|Modules|Features|Key Modules)/i.test(line)) {
|
|
136
|
+
inModules = true;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
if (inModules) {
|
|
140
|
+
if (line.startsWith('##'))
|
|
141
|
+
break;
|
|
142
|
+
if (line.trim().startsWith('-') || line.trim().startsWith('*')) {
|
|
143
|
+
const item = line.replace(/^[\s\-\*]+/, '').split(':')[0].split('(')[0].trim();
|
|
144
|
+
if (item && modules.length < 12) {
|
|
145
|
+
modules.push(item);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Build slim summary
|
|
151
|
+
let summary = `# ${projectName} - Context Summary\n\n`;
|
|
152
|
+
if (techStack.length > 0) {
|
|
153
|
+
summary += `## Tech Stack\n${techStack.join(', ')}\n\n`;
|
|
154
|
+
}
|
|
155
|
+
if (structure.length > 0) {
|
|
156
|
+
summary += `## Repository Structure\n${structure.join(', ')}\n\n`;
|
|
157
|
+
}
|
|
158
|
+
if (modules.length > 0) {
|
|
159
|
+
summary += `## Key Modules\n${modules.join(', ')}\n\n`;
|
|
160
|
+
}
|
|
161
|
+
summary += `## Available Context Files\n`;
|
|
162
|
+
for (const file of availableFiles) {
|
|
163
|
+
summary += `- .agentbrain/${file} — ${getFileDescription(file)}\n`;
|
|
164
|
+
}
|
|
165
|
+
summary += `\n## How to Load More\n`;
|
|
166
|
+
summary += `- Full context: load_context({ full: true })\n`;
|
|
167
|
+
summary += `- Specific file: load_context({ files: ['schema.md'] })\n`;
|
|
168
|
+
summary += `- Or just ask me to read a specific file\n`;
|
|
169
|
+
return summary;
|
|
170
|
+
}
|
|
16
171
|
export async function loadContext(input) {
|
|
17
|
-
const { repo_path, force_refresh = false } = input;
|
|
172
|
+
const { repo_path, force_refresh = false, full = false, files: requestedFiles } = input;
|
|
18
173
|
// Expand path to handle ~, relative paths, etc.
|
|
19
174
|
const expandedPath = expandPath(repo_path);
|
|
20
175
|
const contextDir = join(expandedPath, '.agentbrain');
|
|
21
176
|
// Get current git hash for staleness check
|
|
22
177
|
const currentGitHash = await getGitHash(expandedPath);
|
|
23
|
-
// Try to load from disk first
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
178
|
+
// Try to load from disk first - read ALL .md files
|
|
179
|
+
if (!force_refresh && existsSync(contextDir)) {
|
|
180
|
+
try {
|
|
181
|
+
const allFiles = await readdir(contextDir);
|
|
182
|
+
const mdFiles = allFiles.filter((f) => f.endsWith('.md'));
|
|
183
|
+
if (mdFiles.length > 0) {
|
|
184
|
+
// Order files properly
|
|
185
|
+
const orderedFiles = orderContextFiles(mdFiles);
|
|
186
|
+
// Determine which files to load based on mode
|
|
187
|
+
let filesToLoad = orderedFiles;
|
|
188
|
+
if (requestedFiles && requestedFiles.length > 0) {
|
|
189
|
+
// Load only requested files
|
|
190
|
+
filesToLoad = orderedFiles.filter((f) => requestedFiles.includes(f));
|
|
191
|
+
}
|
|
192
|
+
else if (!full) {
|
|
193
|
+
// Slim mode: only load context.md for summary extraction
|
|
194
|
+
filesToLoad = orderedFiles.filter((f) => f === 'context.md');
|
|
195
|
+
}
|
|
196
|
+
// Load files
|
|
197
|
+
const fileContents = [];
|
|
198
|
+
for (const file of filesToLoad) {
|
|
199
|
+
const filePath = join(contextDir, file);
|
|
200
|
+
const content = await readFile(filePath, 'utf-8');
|
|
201
|
+
const title = file.replace('.md', '').replace(/-/g, ' ').replace(/\b\w/g, (l) => l.toUpperCase());
|
|
202
|
+
fileContents.push({ name: file, content: `# ${title}\n\n${content}` });
|
|
203
|
+
}
|
|
204
|
+
// Build output based on mode
|
|
205
|
+
let combined;
|
|
206
|
+
if (!full && !requestedFiles) {
|
|
207
|
+
// Slim mode: build summary from context.md
|
|
208
|
+
const contextContent = fileContents.find((f) => f.name === 'context.md');
|
|
209
|
+
if (contextContent) {
|
|
210
|
+
combined = buildSlimSummary(contextContent.content, orderedFiles);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// Fallback if context.md doesn't exist
|
|
214
|
+
combined = buildSlimSummary('# Project\n\n', orderedFiles);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
// Full mode or specific files: concatenate all loaded files
|
|
219
|
+
combined = fileContents.map((f) => f.content).join('\n\n---\n\n');
|
|
220
|
+
}
|
|
221
|
+
// Post-processing: If cache.json or setup-source.json is missing, agent wrote files directly
|
|
222
|
+
const cachePath = join(contextDir, 'cache.json');
|
|
223
|
+
const setupSourcePath = join(contextDir, 'setup-source.json');
|
|
224
|
+
const cacheExists = existsSync(cachePath);
|
|
225
|
+
const setupSourceExists = existsSync(setupSourcePath);
|
|
226
|
+
if (!cacheExists || !setupSourceExists) {
|
|
227
|
+
// Agent wrote files directly — run post-processing
|
|
228
|
+
try {
|
|
229
|
+
// Write cache.json with ALL files
|
|
230
|
+
if (!cacheExists) {
|
|
231
|
+
const docs = {};
|
|
232
|
+
for (const file of orderedFiles) {
|
|
233
|
+
const filePath = join(contextDir, file);
|
|
234
|
+
const content = await readFile(filePath, 'utf-8');
|
|
235
|
+
const baseName = file.replace('.md', '');
|
|
236
|
+
docs[baseName] = {
|
|
237
|
+
type: baseName,
|
|
238
|
+
content,
|
|
239
|
+
savedAt: new Date().toISOString(),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
const cache = {
|
|
243
|
+
gitHash: currentGitHash,
|
|
244
|
+
docs,
|
|
60
245
|
savedAt: new Date().toISOString(),
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
246
|
+
};
|
|
247
|
+
await writeFile(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
|
|
248
|
+
}
|
|
249
|
+
// Write setup-source.json
|
|
250
|
+
if (!setupSourceExists) {
|
|
251
|
+
await writeFile(setupSourcePath, JSON.stringify({ source: 'mcp', setupAt: new Date().toISOString() }, null, 2), 'utf-8');
|
|
252
|
+
}
|
|
253
|
+
// Update .gitignore
|
|
254
|
+
await ensureGitignore(expandedPath);
|
|
255
|
+
// Install git hook if this is a git repository
|
|
256
|
+
if (isGitRepository(expandedPath)) {
|
|
257
|
+
await installPostCommitHook(expandedPath);
|
|
258
|
+
}
|
|
259
|
+
// Create agent files with ALL context files
|
|
260
|
+
await createAgentFilesShared(expandedPath, orderedFiles);
|
|
261
|
+
// Silent success - only log errors
|
|
262
|
+
}
|
|
263
|
+
catch (err) {
|
|
264
|
+
console.error('[load_context] Post-processing failed:', err);
|
|
265
|
+
}
|
|
66
266
|
}
|
|
67
|
-
//
|
|
68
|
-
|
|
69
|
-
|
|
267
|
+
// Check if cached git hash matches current HEAD
|
|
268
|
+
const cache = await loadCache(expandedPath);
|
|
269
|
+
const isStale = cache && cache.gitHash !== currentGitHash;
|
|
270
|
+
// Check for doom loop warnings
|
|
271
|
+
const doomWarning = await getPendingDoomForMCP(expandedPath);
|
|
272
|
+
const footer = '\n\n---\n_AgentBrain context loaded. Check doom_warning field for any detected issues._';
|
|
273
|
+
return {
|
|
274
|
+
content: combined + footer,
|
|
275
|
+
fromCache: true,
|
|
276
|
+
tokensUsed: 0,
|
|
277
|
+
...(isStale && {
|
|
278
|
+
stale: true,
|
|
279
|
+
cached_sha: cache.gitHash,
|
|
280
|
+
current_sha: currentGitHash,
|
|
281
|
+
message: 'Context may be outdated. Run agentbrain init to refresh.',
|
|
282
|
+
}),
|
|
283
|
+
doom_warning: doomWarning,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
catch (err) {
|
|
288
|
+
// If there's an error reading files, fall through to cache check
|
|
289
|
+
console.error('[load_context] Error reading .agentbrain files:', err);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
// Check cache validity - load from cache.json if available
|
|
293
|
+
const cache = await loadCache(expandedPath);
|
|
294
|
+
if (!force_refresh && cache && cache.docs) {
|
|
295
|
+
// Extract all doc names and order them
|
|
296
|
+
const docNames = Object.keys(cache.docs).map((name) => `${name}.md`);
|
|
297
|
+
const orderedDocs = orderContextFiles(docNames);
|
|
298
|
+
// Determine which docs to load based on mode
|
|
299
|
+
let docsToLoad = orderedDocs;
|
|
300
|
+
if (requestedFiles && requestedFiles.length > 0) {
|
|
301
|
+
// Load only requested files
|
|
302
|
+
docsToLoad = orderedDocs.filter((f) => requestedFiles.includes(f));
|
|
303
|
+
}
|
|
304
|
+
else if (!full) {
|
|
305
|
+
// Slim mode: only load context for summary
|
|
306
|
+
docsToLoad = orderedDocs.filter((f) => f === 'context.md');
|
|
307
|
+
}
|
|
308
|
+
// Build content from cache
|
|
309
|
+
const fileContents = [];
|
|
310
|
+
for (const docFile of docsToLoad) {
|
|
311
|
+
const docName = docFile.replace('.md', '');
|
|
312
|
+
const doc = cache.docs[docName];
|
|
313
|
+
if (doc) {
|
|
314
|
+
const title = docName.replace(/-/g, ' ').replace(/\b\w/g, (l) => l.toUpperCase());
|
|
315
|
+
fileContents.push(`# ${title}\n\n${doc.content}`);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
if (fileContents.length > 0) {
|
|
319
|
+
// Build output based on mode
|
|
320
|
+
let combined;
|
|
321
|
+
if (!full && !requestedFiles) {
|
|
322
|
+
// Slim mode: build summary
|
|
323
|
+
const contextContent = fileContents.find((c) => c.startsWith('# Context'));
|
|
324
|
+
if (contextContent) {
|
|
325
|
+
combined = buildSlimSummary(contextContent, orderedDocs);
|
|
70
326
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// Install git hook if this is a git repository
|
|
74
|
-
if (isGitRepository(expandedPath)) {
|
|
75
|
-
await installPostCommitHook(expandedPath);
|
|
327
|
+
else {
|
|
328
|
+
combined = buildSlimSummary('# Project\n\n', orderedDocs);
|
|
76
329
|
}
|
|
77
|
-
// Create agent files
|
|
78
|
-
await createAgentFilesShared(expandedPath);
|
|
79
|
-
console.error('[load_context] Post-processing completed for manually-written files');
|
|
80
330
|
}
|
|
81
|
-
|
|
82
|
-
|
|
331
|
+
else {
|
|
332
|
+
// Full mode or specific files
|
|
333
|
+
combined = fileContents.join('\n\n---\n\n');
|
|
83
334
|
}
|
|
335
|
+
const isStale = cache.gitHash !== currentGitHash;
|
|
336
|
+
// Check for doom loop warnings
|
|
337
|
+
const doomWarning = await getPendingDoomForMCP(expandedPath);
|
|
338
|
+
const footer = '\n\n---\n_AgentBrain context loaded. Check doom_warning field for any detected issues._';
|
|
339
|
+
return {
|
|
340
|
+
content: combined + footer,
|
|
341
|
+
fromCache: true,
|
|
342
|
+
tokensUsed: 0,
|
|
343
|
+
...(isStale && {
|
|
344
|
+
stale: true,
|
|
345
|
+
cached_sha: cache.gitHash,
|
|
346
|
+
current_sha: currentGitHash,
|
|
347
|
+
message: 'Context may be outdated. Run agentbrain init to refresh.',
|
|
348
|
+
}),
|
|
349
|
+
doom_warning: doomWarning,
|
|
350
|
+
};
|
|
84
351
|
}
|
|
85
|
-
// Check if cached git hash matches current HEAD
|
|
86
|
-
const cache = await loadCache(expandedPath);
|
|
87
|
-
const isStale = cache && cache.gitHash !== currentGitHash;
|
|
88
|
-
// Check for doom loop warnings
|
|
89
|
-
const doomWarning = await getPendingDoomForMCP(expandedPath);
|
|
90
|
-
const footer = '\n\n---\n_AgentBrain context loaded. Check doom_warning field for any detected issues._';
|
|
91
|
-
return {
|
|
92
|
-
content: combined + footer,
|
|
93
|
-
fromCache: true,
|
|
94
|
-
tokensUsed: 0,
|
|
95
|
-
...(isStale && {
|
|
96
|
-
stale: true,
|
|
97
|
-
cached_sha: cache.gitHash,
|
|
98
|
-
current_sha: currentGitHash,
|
|
99
|
-
message: 'Context may be outdated. Run agentbrain init to refresh.',
|
|
100
|
-
}),
|
|
101
|
-
doom_warning: doomWarning,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
// Check cache validity (using currentGitHash from above)
|
|
105
|
-
const cachedContext = await getCachedDoc(expandedPath, currentGitHash, 'context');
|
|
106
|
-
const cachedDepMap = await getCachedDoc(expandedPath, currentGitHash, 'dependency-map');
|
|
107
|
-
const cachedPatterns = await getCachedDoc(expandedPath, currentGitHash, 'patterns');
|
|
108
|
-
if (!force_refresh && cachedContext && cachedDepMap && cachedPatterns) {
|
|
109
|
-
const combined = `# Repository Context\n\n${cachedContext.content}\n\n---\n\n# Dependency Map\n\n${cachedDepMap.content}\n\n---\n\n# Patterns\n\n${cachedPatterns.content}`;
|
|
110
|
-
// Check if cached git hash matches current HEAD
|
|
111
|
-
const cache = await loadCache(expandedPath);
|
|
112
|
-
const isStale = cache && cache.gitHash !== currentGitHash;
|
|
113
|
-
// Check for doom loop warnings
|
|
114
|
-
const doomWarning = await getPendingDoomForMCP(expandedPath);
|
|
115
|
-
const footer = '\n\n---\n_AgentBrain context loaded. Check doom_warning field for any detected issues._';
|
|
116
|
-
return {
|
|
117
|
-
content: combined + footer,
|
|
118
|
-
fromCache: true,
|
|
119
|
-
tokensUsed: 0,
|
|
120
|
-
...(isStale && {
|
|
121
|
-
stale: true,
|
|
122
|
-
cached_sha: cache.gitHash,
|
|
123
|
-
current_sha: currentGitHash,
|
|
124
|
-
message: 'Context may be outdated. Run agentbrain init to refresh.',
|
|
125
|
-
}),
|
|
126
|
-
doom_warning: doomWarning,
|
|
127
|
-
};
|
|
128
352
|
}
|
|
129
353
|
// Need to generate - no API key path returns bootstrap message
|
|
130
354
|
let aiConfig = null;
|
|
@@ -167,7 +391,13 @@ Call: setup_repo({ repo_path: '${expandedPath}' })`,
|
|
|
167
391
|
}
|
|
168
392
|
export const loadContextSchema = {
|
|
169
393
|
name: 'load_context',
|
|
170
|
-
description: 'Load codebase context
|
|
394
|
+
description: 'Load codebase context.\n\n' +
|
|
395
|
+
'Default: Returns slim summary showing available context files. Fast, low token usage (~100 lines).\n\n' +
|
|
396
|
+
'Options:\n' +
|
|
397
|
+
' full: true → load all context files (large, 1000+ lines)\n' +
|
|
398
|
+
' files: ["schema.md"] → load specific files only\n' +
|
|
399
|
+
' force_refresh: true → regenerate context\n\n' +
|
|
400
|
+
'If first time setup, automatically scans repo and returns setup instructions.',
|
|
171
401
|
inputSchema: {
|
|
172
402
|
type: 'object',
|
|
173
403
|
properties: {
|
|
@@ -179,6 +409,17 @@ export const loadContextSchema = {
|
|
|
179
409
|
type: 'boolean',
|
|
180
410
|
description: 'Force regeneration even if cache is valid (default: false)',
|
|
181
411
|
},
|
|
412
|
+
full: {
|
|
413
|
+
type: 'boolean',
|
|
414
|
+
description: 'Load all context files instead of slim summary (default: false)',
|
|
415
|
+
},
|
|
416
|
+
files: {
|
|
417
|
+
type: 'array',
|
|
418
|
+
description: 'Load specific files only (e.g., ["schema.md", "patterns.md"])',
|
|
419
|
+
items: {
|
|
420
|
+
type: 'string',
|
|
421
|
+
},
|
|
422
|
+
},
|
|
182
423
|
},
|
|
183
424
|
required: ['repo_path'],
|
|
184
425
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-context.js","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"load-context.js","sourceRoot":"","sources":["../../src/tools/load-context.ts"],"names":[],"mappings":"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"}
|