code-auditor-mcp 2.2.2 → 2.6.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.
- package/dist/auditRunner.d.ts +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +97 -46
- package/dist/auditRunner.js.map +1 -1
- package/dist/config/configLoader.d.ts +1 -1
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/mcp-standalone.js +177 -138
- package/dist/mcp-standalone.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +79 -45
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp.js +185 -209
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +28 -0
- package/dist/mcpAuditJobs.d.ts.map +1 -0
- package/dist/mcpAuditJobs.js +852 -0
- package/dist/mcpAuditJobs.js.map +1 -0
- package/dist/mcpDiagnostics.d.ts +4 -0
- package/dist/mcpDiagnostics.d.ts.map +1 -1
- package/dist/mcpDiagnostics.js +12 -1
- package/dist/mcpDiagnostics.js.map +1 -1
- package/dist/scripts/benchmarkWorkers.d.ts +2 -0
- package/dist/scripts/benchmarkWorkers.d.ts.map +1 -0
- package/dist/scripts/benchmarkWorkers.js +64 -0
- package/dist/scripts/benchmarkWorkers.js.map +1 -0
- package/dist/services/auditJobService.d.ts +28 -0
- package/dist/services/auditJobService.d.ts.map +1 -0
- package/dist/services/auditJobService.js +36 -0
- package/dist/services/auditJobService.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -1
- package/dist/workers/auditWorker.d.ts +2 -0
- package/dist/workers/auditWorker.d.ts.map +1 -0
- package/dist/workers/auditWorker.js +122 -0
- package/dist/workers/auditWorker.js.map +1 -0
- package/dist/workers/auditWorkerProtocol.d.ts +85 -0
- package/dist/workers/auditWorkerProtocol.d.ts.map +1 -0
- package/dist/workers/auditWorkerProtocol.js +32 -0
- package/dist/workers/auditWorkerProtocol.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { AuditResult, AuditRunnerOptions, AuditProgress, Severity } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Serializable audit options sent from parent process to a worker.
|
|
4
|
+
* Functions/callbacks are intentionally excluded from IPC payloads.
|
|
5
|
+
*/
|
|
6
|
+
export interface SerializableAuditRunConfig {
|
|
7
|
+
projectRoot: string;
|
|
8
|
+
includePaths?: string[];
|
|
9
|
+
excludePaths?: string[];
|
|
10
|
+
fileExtensions?: string[];
|
|
11
|
+
minSeverity?: Severity;
|
|
12
|
+
enabledAnalyzers?: string[];
|
|
13
|
+
indexFunctions?: boolean;
|
|
14
|
+
analyzerConfigs?: Record<string, any>;
|
|
15
|
+
analyzerConcurrency?: number;
|
|
16
|
+
/** Absolute file paths; when set, glob discovery is skipped. */
|
|
17
|
+
explicitFiles?: string[];
|
|
18
|
+
/**
|
|
19
|
+
* If the matched file set is larger than this, the runner completes one chunk and hands off the rest
|
|
20
|
+
* (parent queues another worker with explicitFiles).
|
|
21
|
+
*/
|
|
22
|
+
maxFilesPerRun?: number;
|
|
23
|
+
/** Wall-clock soft limit for this worker process; aborts via AbortSignal (cooperative). */
|
|
24
|
+
shardSoftBudgetMs?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface WorkerRunRequest {
|
|
27
|
+
kind: 'run-audit-shard';
|
|
28
|
+
requestId: string;
|
|
29
|
+
shardId: string;
|
|
30
|
+
config: SerializableAuditRunConfig;
|
|
31
|
+
}
|
|
32
|
+
export interface WorkerCancelRequest {
|
|
33
|
+
kind: 'cancel-request';
|
|
34
|
+
requestId: string;
|
|
35
|
+
}
|
|
36
|
+
export interface WorkerPingRequest {
|
|
37
|
+
kind: 'ping';
|
|
38
|
+
requestId: string;
|
|
39
|
+
}
|
|
40
|
+
export type ParentToWorkerMessage = WorkerRunRequest | WorkerCancelRequest | WorkerPingRequest;
|
|
41
|
+
export interface WorkerReadyMessage {
|
|
42
|
+
kind: 'worker-ready';
|
|
43
|
+
pid: number;
|
|
44
|
+
}
|
|
45
|
+
export interface WorkerProgressMessage {
|
|
46
|
+
kind: 'worker-progress';
|
|
47
|
+
requestId: string;
|
|
48
|
+
shardId: string;
|
|
49
|
+
progress: Partial<AuditProgress>;
|
|
50
|
+
}
|
|
51
|
+
export interface WorkerResultMessage {
|
|
52
|
+
kind: 'worker-result';
|
|
53
|
+
requestId: string;
|
|
54
|
+
shardId: string;
|
|
55
|
+
result: AuditResult;
|
|
56
|
+
}
|
|
57
|
+
export interface WorkerErrorMessage {
|
|
58
|
+
kind: 'worker-error';
|
|
59
|
+
requestId: string;
|
|
60
|
+
shardId: string;
|
|
61
|
+
error: string;
|
|
62
|
+
stack?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Chunk finished; more files remain. Parent should queue `continuation` as a new shard task
|
|
66
|
+
* (typically another worker will pick it up).
|
|
67
|
+
*/
|
|
68
|
+
export interface WorkerHandoffMessage {
|
|
69
|
+
kind: 'worker-handoff';
|
|
70
|
+
requestId: string;
|
|
71
|
+
shardId: string;
|
|
72
|
+
partialResult: AuditResult;
|
|
73
|
+
remainingFiles: string[];
|
|
74
|
+
continuation: SerializableAuditRunConfig;
|
|
75
|
+
}
|
|
76
|
+
export interface WorkerPongMessage {
|
|
77
|
+
kind: 'pong';
|
|
78
|
+
requestId: string;
|
|
79
|
+
pid: number;
|
|
80
|
+
}
|
|
81
|
+
export type WorkerToParentMessage = WorkerReadyMessage | WorkerProgressMessage | WorkerResultMessage | WorkerErrorMessage | WorkerHandoffMessage | WorkerPongMessage;
|
|
82
|
+
export declare function toAuditRunnerOptions(config: SerializableAuditRunConfig): AuditRunnerOptions;
|
|
83
|
+
/** Build config for the next worker after a file-chunk handoff (no includePaths; explicit list only). */
|
|
84
|
+
export declare function continuationConfigAfterHandoff(base: SerializableAuditRunConfig, remainingFiles: string[]): SerializableAuditRunConfig;
|
|
85
|
+
//# sourceMappingURL=auditWorkerProtocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditWorkerProtocol.d.ts","sourceRoot":"","sources":["../../src/workers/auditWorkerProtocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export function toAuditRunnerOptions(config) {
|
|
2
|
+
return {
|
|
3
|
+
projectRoot: config.projectRoot,
|
|
4
|
+
includePaths: config.includePaths,
|
|
5
|
+
excludePaths: config.excludePaths,
|
|
6
|
+
fileExtensions: config.fileExtensions,
|
|
7
|
+
minSeverity: config.minSeverity,
|
|
8
|
+
enabledAnalyzers: config.enabledAnalyzers,
|
|
9
|
+
indexFunctions: config.indexFunctions,
|
|
10
|
+
analyzerConfigs: config.analyzerConfigs,
|
|
11
|
+
analyzerConcurrency: config.analyzerConcurrency,
|
|
12
|
+
explicitFiles: config.explicitFiles,
|
|
13
|
+
maxFilesPerRun: config.maxFilesPerRun,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/** Build config for the next worker after a file-chunk handoff (no includePaths; explicit list only). */
|
|
17
|
+
export function continuationConfigAfterHandoff(base, remainingFiles) {
|
|
18
|
+
return {
|
|
19
|
+
projectRoot: base.projectRoot,
|
|
20
|
+
excludePaths: base.excludePaths,
|
|
21
|
+
fileExtensions: base.fileExtensions,
|
|
22
|
+
minSeverity: base.minSeverity,
|
|
23
|
+
enabledAnalyzers: base.enabledAnalyzers,
|
|
24
|
+
indexFunctions: base.indexFunctions,
|
|
25
|
+
analyzerConfigs: base.analyzerConfigs,
|
|
26
|
+
analyzerConcurrency: base.analyzerConcurrency,
|
|
27
|
+
maxFilesPerRun: base.maxFilesPerRun,
|
|
28
|
+
shardSoftBudgetMs: base.shardSoftBudgetMs,
|
|
29
|
+
explicitFiles: remainingFiles,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=auditWorkerProtocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditWorkerProtocol.js","sourceRoot":"","sources":["../../src/workers/auditWorkerProtocol.ts"],"names":[],"mappings":"AAoGA,MAAM,UAAU,oBAAoB,CAAC,MAAkC;IACrE,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,8BAA8B,CAC5C,IAAgC,EAChC,cAAwB;IAExB,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,aAAa,EAAE,cAAc;KAC9B,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-auditor-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Multi-language code quality auditor with MCP server - Analyze TypeScript, JavaScript, and Go code for SOLID principles, DRY violations, security patterns, and more",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"prepublishOnly": "pnpm run build",
|
|
27
27
|
"test": "vitest run",
|
|
28
28
|
"test:watch": "vitest watch",
|
|
29
|
-
"test:parity": "vitest run \"src/analyzers/universal/__tests__/*Parity.test.ts\""
|
|
29
|
+
"test:parity": "vitest run \"src/analyzers/universal/__tests__/*Parity.test.ts\"",
|
|
30
|
+
"bench:workers": "tsx src/scripts/benchmarkWorkers.ts"
|
|
30
31
|
},
|
|
31
32
|
"keywords": [
|
|
32
33
|
"audit",
|