@brutalist/mcp 0.1.1 → 0.4.3
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/README.md +209 -43
- package/dist/brutalist-server.d.ts +3 -3
- package/dist/brutalist-server.d.ts.map +1 -1
- package/dist/brutalist-server.js +376 -207
- package/dist/brutalist-server.js.map +1 -1
- package/dist/cli-agents.d.ts +57 -0
- package/dist/cli-agents.d.ts.map +1 -0
- package/dist/cli-agents.js +497 -0
- package/dist/cli-agents.js.map +1 -0
- package/dist/constants.d.ts +3 -9
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -13
- package/dist/constants.js.map +1 -1
- package/dist/logger.js +2 -2
- package/dist/logger.js.map +1 -1
- package/dist/types/brutalist.d.ts +35 -15
- package/dist/types/brutalist.d.ts.map +1 -1
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +25 -0
- package/dist/utils.js.map +1 -0
- package/package.json +15 -8
- package/dist/model-fetcher.d.ts +0 -14
- package/dist/model-fetcher.d.ts.map +0 -1
- package/dist/model-fetcher.js +0 -71
- package/dist/model-fetcher.js.map +0 -1
- package/dist/openrouter.d.ts +0 -14
- package/dist/openrouter.d.ts.map +0 -1
- package/dist/openrouter.js +0 -123
- package/dist/openrouter.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-agents.js","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const DEFAULT_MAX_MODELS_PER_REQUEST = 3;
|
|
3
|
-
export declare const DEFAULT_MAX_TOKENS = 2000;
|
|
4
|
-
export declare const DEFAULT_TEMPERATURE = 0.7;
|
|
1
|
+
export declare const DEFAULT_CLI_TIMEOUT = 30000;
|
|
5
2
|
export declare const DEFAULT_DEBATE_ROUNDS = 2;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
|
|
9
|
-
export declare const OPENROUTER_MODELS_ENDPOINT = "https://openrouter.ai/api/v1/models";
|
|
10
|
-
export declare const GITHUB_REPO_URL = "https://github.com/brutalist-mcp/brutalist-mcp";
|
|
3
|
+
export declare const MAX_CLI_TIMEOUT = 600000;
|
|
4
|
+
export declare const GITHUB_REPO_URL = "https://github.com/ejmockler/brutalist-mcp";
|
|
11
5
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,eAAe,SAAS,CAAC;AAGtC,eAAO,MAAM,eAAe,+CAA+C,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
//
|
|
2
|
-
export const
|
|
3
|
-
// API limits
|
|
4
|
-
export const DEFAULT_MAX_MODELS_PER_REQUEST = 3;
|
|
5
|
-
export const DEFAULT_MAX_TOKENS = 2000;
|
|
6
|
-
export const DEFAULT_TEMPERATURE = 0.7;
|
|
1
|
+
// CLI execution limits
|
|
2
|
+
export const DEFAULT_CLI_TIMEOUT = 30000; // 30 seconds
|
|
7
3
|
export const DEFAULT_DEBATE_ROUNDS = 2;
|
|
8
|
-
//
|
|
9
|
-
export const MAX_RESPONSE_TIME_MS = 600000; // 10 minutes
|
|
10
|
-
export const SYNTHESIS_MAX_THEMES = 3;
|
|
11
|
-
// API endpoints
|
|
12
|
-
export const OPENROUTER_BASE_URL = 'https://openrouter.ai/api/v1';
|
|
13
|
-
export const OPENROUTER_MODELS_ENDPOINT = 'https://openrouter.ai/api/v1/models';
|
|
4
|
+
export const MAX_CLI_TIMEOUT = 600000; // 10 minutes
|
|
14
5
|
// GitHub
|
|
15
|
-
export const GITHUB_REPO_URL = 'https://github.com/
|
|
6
|
+
export const GITHUB_REPO_URL = 'https://github.com/ejmockler/brutalist-mcp';
|
|
16
7
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,aAAa;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,aAAa;AAEpD,SAAS;AACT,MAAM,CAAC,MAAM,eAAe,GAAG,4CAA4C,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -11,7 +11,7 @@ export class Logger {
|
|
|
11
11
|
return Logger.instance;
|
|
12
12
|
}
|
|
13
13
|
info(message, data) {
|
|
14
|
-
console.
|
|
14
|
+
console.log(`[BRUTALIST MCP] INFO: ${message}`, data ? JSON.stringify(data) : '');
|
|
15
15
|
}
|
|
16
16
|
warn(message, data) {
|
|
17
17
|
console.error(`[BRUTALIST MCP] WARN: ${message}`, data ? JSON.stringify(data) : '');
|
|
@@ -24,7 +24,7 @@ export class Logger {
|
|
|
24
24
|
}
|
|
25
25
|
debug(message, data) {
|
|
26
26
|
if (this.debugMode) {
|
|
27
|
-
console.
|
|
27
|
+
console.log(`[BRUTALIST MCP] DEBUG: ${message}`, data ? JSON.stringify(data) : '');
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACT,MAAM,CAAC,QAAQ,CAAS;IACxB,SAAS,CAAU;IAE3B;QACE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACT,MAAM,CAAC,QAAQ,CAAS;IACxB,SAAS,CAAU;IAE3B;QACE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC9B,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAmB;QACxC,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC"}
|
|
@@ -1,26 +1,46 @@
|
|
|
1
1
|
export interface BrutalistServerConfig {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
workingDirectory?: string;
|
|
3
|
+
defaultTimeout?: number;
|
|
4
|
+
enableSandbox?: boolean;
|
|
4
5
|
}
|
|
5
|
-
export interface
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
export interface CLIAgentResponse {
|
|
7
|
+
agent: 'claude' | 'codex' | 'gemini';
|
|
8
|
+
success: boolean;
|
|
9
|
+
output: string;
|
|
10
|
+
error?: string;
|
|
11
|
+
executionTime: number;
|
|
12
|
+
command?: string;
|
|
13
|
+
systemPromptType?: string;
|
|
14
|
+
workingDirectory?: string;
|
|
15
|
+
exitCode?: number;
|
|
11
16
|
}
|
|
12
17
|
export interface BrutalistResponse {
|
|
13
18
|
success: boolean;
|
|
14
|
-
responses:
|
|
19
|
+
responses: CLIAgentResponse[];
|
|
15
20
|
synthesis?: string;
|
|
16
21
|
error?: string;
|
|
22
|
+
analysisType?: string;
|
|
23
|
+
targetPath?: string;
|
|
24
|
+
executionSummary?: {
|
|
25
|
+
totalCLIs: number;
|
|
26
|
+
successfulCLIs: number;
|
|
27
|
+
failedCLIs: number;
|
|
28
|
+
totalExecutionTime: number;
|
|
29
|
+
selectedCLI?: string;
|
|
30
|
+
selectionMethod?: string;
|
|
31
|
+
};
|
|
17
32
|
}
|
|
18
33
|
export interface RoastOptions {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
targetPath: string;
|
|
35
|
+
analysisType: string;
|
|
36
|
+
context?: string;
|
|
37
|
+
workingDirectory?: string;
|
|
38
|
+
enableSandbox?: boolean;
|
|
39
|
+
agents?: ('claude' | 'codex' | 'gemini')[];
|
|
40
|
+
}
|
|
41
|
+
export interface ChildProcessError extends Error {
|
|
42
|
+
code?: number;
|
|
43
|
+
stdout?: string;
|
|
44
|
+
stderr?: string;
|
|
25
45
|
}
|
|
26
46
|
//# sourceMappingURL=brutalist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brutalist.d.ts","sourceRoot":"","sources":["../../src/types/brutalist.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"brutalist.d.ts","sourceRoot":"","sources":["../../src/types/brutalist.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a given path and validates that it is within the allowed project root.
|
|
3
|
+
* Prevents path traversal attacks.
|
|
4
|
+
* @param projectRoot The absolute path to the project root directory.
|
|
5
|
+
* @param userPath The user-provided path (can be relative or absolute).
|
|
6
|
+
* @param mustExist If true, the resolved path must exist on the filesystem.
|
|
7
|
+
* @returns The resolved, validated absolute path.
|
|
8
|
+
* @throws Error if the path is outside the project root or does not exist (if mustExist is true).
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveAndValidatePath(projectRoot: string, userPath: string, mustExist?: boolean): string;
|
|
11
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAe,GACzB,MAAM,CAeR"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { resolve, sep } from 'path';
|
|
2
|
+
import { realpathSync, existsSync } from 'fs';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves a given path and validates that it is within the allowed project root.
|
|
5
|
+
* Prevents path traversal attacks.
|
|
6
|
+
* @param projectRoot The absolute path to the project root directory.
|
|
7
|
+
* @param userPath The user-provided path (can be relative or absolute).
|
|
8
|
+
* @param mustExist If true, the resolved path must exist on the filesystem.
|
|
9
|
+
* @returns The resolved, validated absolute path.
|
|
10
|
+
* @throws Error if the path is outside the project root or does not exist (if mustExist is true).
|
|
11
|
+
*/
|
|
12
|
+
export function resolveAndValidatePath(projectRoot, userPath, mustExist = false) {
|
|
13
|
+
const absoluteProjectRoot = realpathSync(projectRoot);
|
|
14
|
+
const resolvedPath = resolve(absoluteProjectRoot, userPath);
|
|
15
|
+
const absoluteResolvedPath = realpathSync(resolvedPath);
|
|
16
|
+
// Ensure the resolved path is a sub-path of the project root
|
|
17
|
+
if (!absoluteResolvedPath.startsWith(absoluteProjectRoot + sep) && absoluteResolvedPath !== absoluteProjectRoot) {
|
|
18
|
+
throw new Error(`Path traversal detected: ${userPath} resolves outside project root.`);
|
|
19
|
+
}
|
|
20
|
+
if (mustExist && !existsSync(absoluteResolvedPath)) {
|
|
21
|
+
throw new Error(`Path does not exist: ${userPath}`);
|
|
22
|
+
}
|
|
23
|
+
return absoluteResolvedPath;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,GAAG,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,QAAgB,EAChB,YAAqB,KAAK;IAE1B,MAAM,mBAAmB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAExD,6DAA6D;IAC7D,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,GAAG,GAAG,CAAC,IAAI,oBAAoB,KAAK,mBAAmB,EAAE,CAAC;QAChH,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,iCAAiC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brutalist/mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.3",
|
|
4
|
+
"description": "Deploy Claude, Codex & Gemini CLI agents to demolish your work before users do. Real file analysis. Brutal honesty.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"prebuild": "npm run clean",
|
|
22
22
|
"build": "tsc && chmod +x dist/index.js",
|
|
23
23
|
"prepare": "npm run build",
|
|
24
|
-
"prepublishOnly": "npm run test && npm run build",
|
|
24
|
+
"prepublishOnly": "npm run test && npm audit --production && npm run build",
|
|
25
25
|
"watch": "tsc --watch",
|
|
26
26
|
"start": "node dist/index.js",
|
|
27
|
-
"dev": "
|
|
27
|
+
"dev": "npm run build && npm start",
|
|
28
28
|
"debug": "DEBUG=true node --trace-warnings dist/index.js",
|
|
29
29
|
"inspector": "npx @modelcontextprotocol/inspector dist/index.js",
|
|
30
30
|
"test": "jest",
|
|
@@ -37,14 +37,21 @@
|
|
|
37
37
|
"criticism",
|
|
38
38
|
"mcp",
|
|
39
39
|
"llm",
|
|
40
|
-
"
|
|
41
|
-
"openrouter",
|
|
40
|
+
"cli-agents",
|
|
42
41
|
"claude",
|
|
42
|
+
"codex",
|
|
43
|
+
"gemini",
|
|
43
44
|
"modelcontextprotocol",
|
|
44
45
|
"code-review",
|
|
45
46
|
"architecture",
|
|
46
47
|
"security",
|
|
47
|
-
"research"
|
|
48
|
+
"research",
|
|
49
|
+
"brutal",
|
|
50
|
+
"reality-check",
|
|
51
|
+
"production-ready",
|
|
52
|
+
"honest-ai",
|
|
53
|
+
"no-lies",
|
|
54
|
+
"disaster-prevention"
|
|
48
55
|
],
|
|
49
56
|
"author": "Claude Code",
|
|
50
57
|
"license": "MIT",
|
|
@@ -64,12 +71,12 @@
|
|
|
64
71
|
},
|
|
65
72
|
"dependencies": {
|
|
66
73
|
"@modelcontextprotocol/sdk": "^1.9.0",
|
|
67
|
-
"openai": "^4.67.3",
|
|
68
74
|
"zod": "^3.24.2"
|
|
69
75
|
},
|
|
70
76
|
"devDependencies": {
|
|
71
77
|
"@types/jest": "^30.0.0",
|
|
72
78
|
"@types/node": "^20.17.28",
|
|
79
|
+
"dotenv": "^17.2.2",
|
|
73
80
|
"jest": "^30.1.3",
|
|
74
81
|
"ts-jest": "^29.4.2",
|
|
75
82
|
"typescript": "^5.8.2"
|
package/dist/model-fetcher.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare class ModelFetcher {
|
|
2
|
-
private static instance;
|
|
3
|
-
private cachedModels;
|
|
4
|
-
private cacheTimestamp;
|
|
5
|
-
private readonly FALLBACK_MODELS;
|
|
6
|
-
private constructor();
|
|
7
|
-
static getInstance(): ModelFetcher;
|
|
8
|
-
getAvailableModels(): Promise<string[]>;
|
|
9
|
-
searchModels(query: string): Promise<string[]>;
|
|
10
|
-
getModelsByProvider(provider: string): Promise<string[]>;
|
|
11
|
-
clearCache(): void;
|
|
12
|
-
}
|
|
13
|
-
export declare const modelFetcher: ModelFetcher;
|
|
14
|
-
//# sourceMappingURL=model-fetcher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-fetcher.d.ts","sourceRoot":"","sources":["../src/model-fetcher.ts"],"names":[],"mappings":"AAgBA,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,cAAc,CAAa;IAGnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM9B;IAEF,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,YAAY;IAO5B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAyCvC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS9C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS9D,UAAU,IAAI,IAAI;CAKnB;AAED,eAAO,MAAM,YAAY,cAA6B,CAAC"}
|
package/dist/model-fetcher.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { logger } from './logger.js';
|
|
2
|
-
import { MODEL_CACHE_DURATION_MS, OPENROUTER_MODELS_ENDPOINT } from './constants.js';
|
|
3
|
-
export class ModelFetcher {
|
|
4
|
-
static instance;
|
|
5
|
-
cachedModels = null;
|
|
6
|
-
cacheTimestamp = 0;
|
|
7
|
-
// Minimal fallback if API fails
|
|
8
|
-
FALLBACK_MODELS = [
|
|
9
|
-
"anthropic/claude-3.5-sonnet",
|
|
10
|
-
"openai/gpt-4o",
|
|
11
|
-
"google/gemini-2.5-pro",
|
|
12
|
-
"meta-llama/llama-3.1-8b-instruct",
|
|
13
|
-
"mistralai/mixtral-8x7b-instruct"
|
|
14
|
-
];
|
|
15
|
-
constructor() { }
|
|
16
|
-
static getInstance() {
|
|
17
|
-
if (!ModelFetcher.instance) {
|
|
18
|
-
ModelFetcher.instance = new ModelFetcher();
|
|
19
|
-
}
|
|
20
|
-
return ModelFetcher.instance;
|
|
21
|
-
}
|
|
22
|
-
async getAvailableModels() {
|
|
23
|
-
// Check cache
|
|
24
|
-
if (this.cachedModels && (Date.now() - this.cacheTimestamp < MODEL_CACHE_DURATION_MS)) {
|
|
25
|
-
logger.debug("Using cached models", { count: this.cachedModels.length });
|
|
26
|
-
return this.cachedModels;
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
logger.info("Fetching available models from OpenRouter");
|
|
30
|
-
const response = await fetch(OPENROUTER_MODELS_ENDPOINT);
|
|
31
|
-
if (!response.ok) {
|
|
32
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
33
|
-
}
|
|
34
|
-
const data = await response.json();
|
|
35
|
-
if (!data.data || !Array.isArray(data.data)) {
|
|
36
|
-
throw new Error("Invalid response format from OpenRouter API");
|
|
37
|
-
}
|
|
38
|
-
// Extract model IDs
|
|
39
|
-
const models = data.data.map(model => model.id);
|
|
40
|
-
if (models.length === 0) {
|
|
41
|
-
throw new Error("No models returned from API");
|
|
42
|
-
}
|
|
43
|
-
// Update cache
|
|
44
|
-
this.cachedModels = models;
|
|
45
|
-
this.cacheTimestamp = Date.now();
|
|
46
|
-
logger.info(`Successfully fetched ${models.length} available models from OpenRouter`);
|
|
47
|
-
return models;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
logger.error("Failed to fetch models from OpenRouter, using fallback", error);
|
|
51
|
-
return this.FALLBACK_MODELS;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async searchModels(query) {
|
|
55
|
-
const allModels = await this.getAvailableModels();
|
|
56
|
-
const lowerQuery = query.toLowerCase();
|
|
57
|
-
return allModels.filter(model => model.toLowerCase().includes(lowerQuery));
|
|
58
|
-
}
|
|
59
|
-
async getModelsByProvider(provider) {
|
|
60
|
-
const allModels = await this.getAvailableModels();
|
|
61
|
-
const lowerProvider = provider.toLowerCase();
|
|
62
|
-
return allModels.filter(model => model.toLowerCase().startsWith(lowerProvider + "/"));
|
|
63
|
-
}
|
|
64
|
-
clearCache() {
|
|
65
|
-
this.cachedModels = null;
|
|
66
|
-
this.cacheTimestamp = 0;
|
|
67
|
-
logger.debug("Model cache cleared");
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
export const modelFetcher = ModelFetcher.getInstance();
|
|
71
|
-
//# sourceMappingURL=model-fetcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-fetcher.js","sourceRoot":"","sources":["../src/model-fetcher.ts"],"names":[],"mappings":"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"}
|
package/dist/openrouter.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ModelResponse } from './types/brutalist.js';
|
|
2
|
-
export declare class OpenRouterClient {
|
|
3
|
-
private client;
|
|
4
|
-
private availableModels;
|
|
5
|
-
constructor(apiKey: string);
|
|
6
|
-
initialize(): Promise<void>;
|
|
7
|
-
private getRandomModels;
|
|
8
|
-
private getSpecificModels;
|
|
9
|
-
executePrompt(prompt: string, model: string, contextData?: string): Promise<ModelResponse>;
|
|
10
|
-
executeMultiModel(prompt: string, maxModels?: number, contextData?: string, specificModels?: string[]): Promise<ModelResponse[]>;
|
|
11
|
-
getAvailableModels(): string[];
|
|
12
|
-
synthesizeResponses(responses: ModelResponse[], originalPrompt: string): string;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=openrouter.d.ts.map
|
package/dist/openrouter.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAWrD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAgB;gBAE3B,MAAM,EAAE,MAAM;IAWpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,iBAAiB;IAoBnB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC;IA+BnB,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAU,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC;IA0B3B,kBAAkB,IAAI,MAAM,EAAE;IAK9B,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM;CAqChF"}
|
package/dist/openrouter.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import OpenAI from 'openai';
|
|
2
|
-
import { modelFetcher } from './model-fetcher.js';
|
|
3
|
-
import { logger } from './logger.js';
|
|
4
|
-
import { OPENROUTER_BASE_URL, GITHUB_REPO_URL, DEFAULT_TEMPERATURE, DEFAULT_MAX_TOKENS, SYNTHESIS_MAX_THEMES } from './constants.js';
|
|
5
|
-
export class OpenRouterClient {
|
|
6
|
-
client;
|
|
7
|
-
availableModels = [];
|
|
8
|
-
constructor(apiKey) {
|
|
9
|
-
this.client = new OpenAI({
|
|
10
|
-
baseURL: OPENROUTER_BASE_URL,
|
|
11
|
-
apiKey: apiKey,
|
|
12
|
-
defaultHeaders: {
|
|
13
|
-
"HTTP-Referer": GITHUB_REPO_URL,
|
|
14
|
-
"X-Title": "Brutalist MCP"
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
async initialize() {
|
|
19
|
-
this.availableModels = await modelFetcher.getAvailableModels();
|
|
20
|
-
logger.debug(`OpenRouter client initialized with ${this.availableModels.length} available models`);
|
|
21
|
-
}
|
|
22
|
-
getRandomModels(count) {
|
|
23
|
-
if (this.availableModels.length === 0) {
|
|
24
|
-
logger.warn("No models available, using empty array");
|
|
25
|
-
return [];
|
|
26
|
-
}
|
|
27
|
-
const shuffled = [...this.availableModels].sort(() => 0.5 - Math.random());
|
|
28
|
-
return shuffled.slice(0, Math.min(count, this.availableModels.length));
|
|
29
|
-
}
|
|
30
|
-
getSpecificModels(requestedModels) {
|
|
31
|
-
// Validate requested models exist
|
|
32
|
-
const validModels = requestedModels.filter(model => this.availableModels.includes(model));
|
|
33
|
-
if (validModels.length === 0) {
|
|
34
|
-
logger.warn(`None of the requested models are available: ${requestedModels.join(', ')}`);
|
|
35
|
-
// Fall back to random selection
|
|
36
|
-
return this.getRandomModels(Math.min(3, requestedModels.length));
|
|
37
|
-
}
|
|
38
|
-
if (validModels.length < requestedModels.length) {
|
|
39
|
-
const invalid = requestedModels.filter(m => !this.availableModels.includes(m));
|
|
40
|
-
logger.warn(`Some requested models not available: ${invalid.join(', ')}`);
|
|
41
|
-
}
|
|
42
|
-
return validModels;
|
|
43
|
-
}
|
|
44
|
-
async executePrompt(prompt, model, contextData) {
|
|
45
|
-
const startTime = Date.now();
|
|
46
|
-
// No system prompt - let the LLM using MCP generate its own based on tool descriptions
|
|
47
|
-
const userPrompt = prompt + (contextData ? `\n\nContext: ${contextData}` : '');
|
|
48
|
-
try {
|
|
49
|
-
const completion = await this.client.chat.completions.create({
|
|
50
|
-
model: model,
|
|
51
|
-
messages: [
|
|
52
|
-
{ role: "user", content: userPrompt }
|
|
53
|
-
],
|
|
54
|
-
temperature: DEFAULT_TEMPERATURE,
|
|
55
|
-
max_tokens: DEFAULT_MAX_TOKENS
|
|
56
|
-
});
|
|
57
|
-
const responseTime = Date.now() - startTime;
|
|
58
|
-
const content = completion.choices[0]?.message?.content || '';
|
|
59
|
-
return {
|
|
60
|
-
model: model,
|
|
61
|
-
persona: `Brutal Critic (${model})`,
|
|
62
|
-
content: content,
|
|
63
|
-
tokensUsed: completion.usage?.total_tokens,
|
|
64
|
-
responseTime: responseTime
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
throw new Error(`OpenRouter API error for model ${model}: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
async executeMultiModel(prompt, maxModels = 3, contextData, specificModels) {
|
|
72
|
-
const selectedModels = specificModels
|
|
73
|
-
? this.getSpecificModels(specificModels)
|
|
74
|
-
: this.getRandomModels(maxModels);
|
|
75
|
-
if (selectedModels.length === 0) {
|
|
76
|
-
throw new Error("No valid models available for execution");
|
|
77
|
-
}
|
|
78
|
-
const promises = selectedModels.map(model => this.executePrompt(prompt, model, contextData));
|
|
79
|
-
try {
|
|
80
|
-
return await Promise.all(promises);
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
// If any model fails, still return partial results
|
|
84
|
-
const results = await Promise.allSettled(promises);
|
|
85
|
-
return results
|
|
86
|
-
.filter((result) => result.status === 'fulfilled')
|
|
87
|
-
.map(result => result.value);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
getAvailableModels() {
|
|
91
|
-
return this.availableModels;
|
|
92
|
-
}
|
|
93
|
-
synthesizeResponses(responses, originalPrompt) {
|
|
94
|
-
if (responses.length === 0) {
|
|
95
|
-
return "No responses received from models.";
|
|
96
|
-
}
|
|
97
|
-
if (responses.length === 1) {
|
|
98
|
-
return `**${responses[0].persona}** (${responses[0].model}):\n${responses[0].content}`;
|
|
99
|
-
}
|
|
100
|
-
let synthesis = `# Brutalist Analysis: ${responses.length} AI Critics\n\n`;
|
|
101
|
-
// Group by persona for clarity
|
|
102
|
-
responses.forEach((response, index) => {
|
|
103
|
-
synthesis += `## ${response.persona} (${response.model})\n`;
|
|
104
|
-
synthesis += `${response.content}\n\n`;
|
|
105
|
-
if (response.responseTime) {
|
|
106
|
-
synthesis += `*Response time: ${response.responseTime}ms*\n\n`;
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
// Add summary if multiple perspectives
|
|
110
|
-
if (responses.length > 1) {
|
|
111
|
-
synthesis += `---\n\n**Key Themes Across Critics:**\n`;
|
|
112
|
-
// Extract common themes (simple keyword analysis)
|
|
113
|
-
const allContent = responses.map(r => r.content.toLowerCase()).join(' ');
|
|
114
|
-
const criticalTerms = ['fail', 'problem', 'issue', 'vulnerable', 'slow', 'expensive', 'complex', 'difficult'];
|
|
115
|
-
const foundTerms = criticalTerms.filter(term => allContent.includes(term));
|
|
116
|
-
if (foundTerms.length > 0) {
|
|
117
|
-
synthesis += `Multiple critics highlighted: ${foundTerms.slice(0, SYNTHESIS_MAX_THEMES).join(', ')}\n`;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return synthesis;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=openrouter.js.map
|
package/dist/openrouter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"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"}
|