@brutalist/mcp 1.14.1 → 1.14.2
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/brutalist-server.js
CHANGED
|
@@ -13,7 +13,7 @@ import { getDomain, generateToolConfig } from './registry/domains.js';
|
|
|
13
13
|
import { filterToolsByIntent, getMatchingDomainIds } from './tool-router.js';
|
|
14
14
|
import { DebateOrchestrator } from './debate/index.js';
|
|
15
15
|
// Use environment variable or fallback to manual version
|
|
16
|
-
const PACKAGE_VERSION = process.env.npm_package_version || "1.14.
|
|
16
|
+
const PACKAGE_VERSION = process.env.npm_package_version || "1.14.2";
|
|
17
17
|
/**
|
|
18
18
|
* BrutalistServer - Composition root for the Brutalist MCP Server
|
|
19
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agy-adapter.d.ts","sourceRoot":"","sources":["../../src/cli-adapters/agy-adapter.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8BvF,eAAO,MAAM,UAAU,QAAkB,CAAC;AAmH1C,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAS;IAE/B,SAAS,IAAI,gBAAgB;IAIvB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,aAAa,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"agy-adapter.d.ts","sourceRoot":"","sources":["../../src/cli-adapters/agy-adapter.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8BvF,eAAO,MAAM,UAAU,QAAkB,CAAC;AAmH1C,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAS;IAE/B,SAAS,IAAI,gBAAgB;IAIvB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,aAAa,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAoGF;;;;;;;;;OASG;IACH,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,CAAC,EAAE,gBAAgB,GACrB,YAAY;IAqBf,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,CAAC,EAAE,gBAAgB,GACrB,MAAM;CAIV"}
|
|
@@ -195,9 +195,41 @@ export class AgyAdapter {
|
|
|
195
195
|
// (verified — rejected by the Go flag parser). Strong-position
|
|
196
196
|
// composition: directives first, then a separator, then the user
|
|
197
197
|
// content. The model treats this as the user's instructions.
|
|
198
|
+
//
|
|
199
|
+
// Agy-specific orientation (claude/codex do NOT need this — they stay
|
|
200
|
+
// focused on their own). agy is an agentic loop, not a completion API:
|
|
201
|
+
// pointed at a repo with "Analyze the codebase directory at <path>" it
|
|
202
|
+
// (a) wanders the filesystem hunting for "where the code is" —
|
|
203
|
+
// worsened by --sandbox redirecting its cwd sense to the scratch
|
|
204
|
+
// dir, so it lists scratch/$HOME/config dirs before finding the
|
|
205
|
+
// target; and
|
|
206
|
+
// (b) takes "the codebase directory" literally and tries to review
|
|
207
|
+
// the WHOLE repo, never converging inside the orchestrator's
|
|
208
|
+
// wall-clock budget on a real codebase.
|
|
209
|
+
// The combination stalled out a 30-min PR-review budget on a 30-line
|
|
210
|
+
// diff. When a unified diff is present (the PR-review path) we prepend
|
|
211
|
+
// an orientation that anchors agy to the absolute target, scopes it to
|
|
212
|
+
// the changed files, and frames the task as a defensive pre-merge
|
|
213
|
+
// review (Gemini Flash otherwise intermittently refuses bare
|
|
214
|
+
// "find the vulnerability" prompts). Empirically: 30-min stall →
|
|
215
|
+
// ~15-50s focused, line-cited review. Gated on hasDiff so abstract
|
|
216
|
+
// roasts (idea/research/etc., where the content is inline and there's
|
|
217
|
+
// no filesystem target) are untouched.
|
|
218
|
+
const target = options.workingDirectory && path.isAbsolute(options.workingDirectory)
|
|
219
|
+
? options.workingDirectory
|
|
220
|
+
: undefined;
|
|
221
|
+
// constructUserPrompt embeds the diff as "Context: diff --git ..." so
|
|
222
|
+
// the `diff --git` marker is mid-line; match it anywhere. The `@@` hunk
|
|
223
|
+
// header is a second, line-anchored signal. A false negative (missing a
|
|
224
|
+
// diff) is worse than a false positive here, so cast wide.
|
|
225
|
+
const hasDiff = /diff --git /.test(userPrompt) || /(^|\n)@@ .+ @@/.test(userPrompt);
|
|
226
|
+
const orientation = hasDiff
|
|
227
|
+
? `You are performing a defensive pre-merge code review: your job is to help the author find and fix problems in this change before it is merged. Give your complete critique in one response, then stop. ${target ? `The code under review is in the repository at the absolute path: ${target} — read the relevant files there directly for context. ` : ''}Do not search elsewhere on the system (for example /tmp listings, your home directory, or any sandbox/scratch directory) to locate the code. A unified diff is included in the task below; even though the task may say "analyze the codebase directory", scope your review to the file(s) the diff changes rather than surveying the entire repository.`
|
|
228
|
+
: undefined;
|
|
229
|
+
const taskBlock = orientation ? `${orientation}\n\n${userPrompt}` : userPrompt;
|
|
198
230
|
const combinedPrompt = systemPrompt
|
|
199
|
-
? `${systemPrompt}\n\n---\n\n${
|
|
200
|
-
:
|
|
231
|
+
? `${systemPrompt}\n\n---\n\n${taskBlock}`
|
|
232
|
+
: taskBlock;
|
|
201
233
|
// Soft-warn at 100KB; hard ARG_MAX is ~128KB on Linux. Brutalist's
|
|
202
234
|
// own prompts (system + code excerpt) typically run 5-30KB.
|
|
203
235
|
if (combinedPrompt.length > 100_000) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agy-adapter.js","sourceRoot":"","sources":["../../src/cli-adapters/agy-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEtF,MAAM,UAAU,GAAqB;IACnC,+DAA+D;IAC/D,qEAAqE;IACrE,wEAAwE;IACxE,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,CAAC,SAAS,CAAC;IACxB,gEAAgE;IAChE,gCAAgC;IAChC,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF,kEAAkE;AAClE,iEAAiE;AACjE,oEAAoE;AACpE,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAEtD,sEAAsE;AACtE,oEAAoE;AACpE,uEAAuE;AACvE,uEAAuE;AACvE,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,wCAAwC;AACxC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AACtD,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAE7D,MAAM,OAAO,UAAU;IACZ,IAAI,GAAY,KAAK,CAAC;IAE/B,SAAS;QACP,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,YAAoB,EACpB,OAAwB,EACxB,cAA6B,EAC7B,SAAiC;QASjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;QAEtC,gEAAgE;QAChE,0DAA0D;QAC1D,+DAA+D;QAC/D,iEAAiE;QACjE,6DAA6D;QAC7D,MAAM,cAAc,GAAG,YAAY;YACjC,CAAC,CAAC,GAAG,YAAY,cAAc,
|
|
1
|
+
{"version":3,"file":"agy-adapter.js","sourceRoot":"","sources":["../../src/cli-adapters/agy-adapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brutalist/mcp",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.2",
|
|
4
4
|
"description": "Deploy Claude Code, Codex & Antigravity (agy) CLI agents to demolish your work before users do. Real file analysis. Brutal honesty. Per-call model pinning, conversation continuation & intelligent pagination.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|