@veracity/codeguardian-mcp 0.1.4 → 0.1.6
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 +10 -1
- package/asset/assa.pipeline.task.prompt.md +183 -0
- package/asset/dotnet.pr.review.prompt.md +263 -0
- package/asset/frontend.pr.review.prompt.md +427 -0
- package/dist/auth.js +4 -3
- package/dist/auth.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +3 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +156 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +3 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +85 -0
- package/dist/resources.js.map +1 -0
- package/dist/tools/ado.d.ts.map +1 -1
- package/dist/tools/ado.js +63 -31
- package/dist/tools/ado.js.map +1 -1
- package/dist/tools/assa.d.ts +2 -0
- package/dist/tools/assa.d.ts.map +1 -0
- package/dist/tools/assa.js +77 -0
- package/dist/tools/assa.js.map +1 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +3 -0
- package/dist/tools.js.map +1 -1
- package/dist/utils.d.ts +14 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +42 -0
- package/dist/utils.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { streamToString } from './utils.js';
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = dirname(__filename);
|
|
8
|
+
export function configureResources(server, tokenProvider) {
|
|
9
|
+
server.registerResource("dotnet-pr-review-prompt", new ResourceTemplate("prompt://dotnet-pr-review", { list: undefined }), {
|
|
10
|
+
title: ".NET PR Review Prompt",
|
|
11
|
+
description: "Instructions for reviewing .NET Pull Requests",
|
|
12
|
+
mimeType: "text/markdown",
|
|
13
|
+
}, async (uri) => {
|
|
14
|
+
const promptPath = join(__dirname, "..", "asset", "dotnet.pr.review.prompt.md");
|
|
15
|
+
const content = await readFile(promptPath, "utf-8");
|
|
16
|
+
return {
|
|
17
|
+
contents: [
|
|
18
|
+
{
|
|
19
|
+
uri: uri.href,
|
|
20
|
+
text: content,
|
|
21
|
+
mimeType: "text/markdown"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
server.registerResource("frontend-pr-review-prompt", new ResourceTemplate("prompt://frontend-pr-review", { list: undefined }), {
|
|
27
|
+
title: "Frontend PR Review Prompt",
|
|
28
|
+
description: "Instructions for reviewing Frontend Pull Requests",
|
|
29
|
+
mimeType: "text/markdown",
|
|
30
|
+
}, async (uri) => {
|
|
31
|
+
const promptPath = join(__dirname, "..", "asset", "frontend.pr.review.prompt.md");
|
|
32
|
+
const content = await readFile(promptPath, "utf-8");
|
|
33
|
+
return {
|
|
34
|
+
contents: [
|
|
35
|
+
{
|
|
36
|
+
uri: uri.href,
|
|
37
|
+
text: content,
|
|
38
|
+
mimeType: "text/markdown"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
// Register ASSA instructions resource from Azure DevOps
|
|
44
|
+
if (tokenProvider) {
|
|
45
|
+
server.registerResource("assa-instructions", new ResourceTemplate("instructions://assa", { list: undefined }), {
|
|
46
|
+
title: "ASSA Instructions",
|
|
47
|
+
description: "Application Security Self-Assessment (ASSA) instructions from Azure DevOps",
|
|
48
|
+
mimeType: "text/markdown",
|
|
49
|
+
}, async (uri) => {
|
|
50
|
+
try {
|
|
51
|
+
const accessToken = await tokenProvider();
|
|
52
|
+
const authHandler = (await import('azure-devops-node-api')).getBearerHandler(accessToken);
|
|
53
|
+
const orgUrl = 'https://dev.azure.com/dnvgl-one';
|
|
54
|
+
const connection = new (await import('azure-devops-node-api')).WebApi(orgUrl, authHandler);
|
|
55
|
+
const gitApi = await connection.getGitApi();
|
|
56
|
+
const project = 'Innersource';
|
|
57
|
+
const repositoryId = 'code-guardian';
|
|
58
|
+
const filePath = '/assa/assa.instructions.md';
|
|
59
|
+
const versionDescriptor = {
|
|
60
|
+
version: 'main',
|
|
61
|
+
versionType: 0 // GitVersionType.Branch
|
|
62
|
+
};
|
|
63
|
+
const stream = await gitApi.getItemContent(repositoryId, filePath, project, undefined, undefined, false, false, false, versionDescriptor);
|
|
64
|
+
if (!stream) {
|
|
65
|
+
throw new Error('Failed to retrieve file content from Azure DevOps');
|
|
66
|
+
}
|
|
67
|
+
const content = await streamToString(stream);
|
|
68
|
+
return {
|
|
69
|
+
contents: [
|
|
70
|
+
{
|
|
71
|
+
uri: uri.href,
|
|
72
|
+
text: content,
|
|
73
|
+
mimeType: "text/markdown"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
80
|
+
throw new Error(`Failed to fetch ASSA instructions from Azure DevOps: ${errorMessage}`);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,aAAqC;IACzF,MAAM,CAAC,gBAAgB,CACrB,yBAAyB,EACzB,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACtE;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,eAAe;KAC1B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,eAAe;iBAC1B;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,2BAA2B,EAC3B,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACxE;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE,eAAe;KAC1B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,eAAe;iBAC1B;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wDAAwD;IACxD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,gBAAgB,CACrB,mBAAmB,EACnB,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAChE;YACE,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,4EAA4E;YACzF,QAAQ,EAAE,eAAe;SAC1B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,aAAa,EAAE,CAAC;gBAC1C,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAC1F,MAAM,MAAM,GAAG,iCAAiC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC3F,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;gBAE5C,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC9B,MAAM,YAAY,GAAG,eAAe,CAAC;gBACrC,MAAM,QAAQ,GAAG,4BAA4B,CAAC;gBAE9C,MAAM,iBAAiB,GAAG;oBACxB,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,CAAC,CAAC,wBAAwB;iBACxC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACxC,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,iBAAiB,CAClB,CAAC;gBAEF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBACvE,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;gBAE7C,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,GAAG,EAAE,GAAG,CAAC,IAAI;4BACb,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,eAAe;yBAC1B;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,wDAAwD,YAAY,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/tools/ado.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado.d.ts","sourceRoot":"","sources":["../../src/tools/ado.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ado.d.ts","sourceRoot":"","sources":["../../src/tools/ado.ts"],"names":[],"mappings":"AAsfA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QA8QlF"}
|
package/dist/tools/ado.js
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import * as azdev from 'azure-devops-node-api';
|
|
2
1
|
import * as diff from 'diff';
|
|
3
2
|
import { z } from "zod";
|
|
4
|
-
|
|
5
|
-
async function getAzureDevOpsConnection(organization, tokenProvider) {
|
|
6
|
-
const accessToken = await tokenProvider();
|
|
7
|
-
const authHandler = azdev.getBearerHandler(accessToken);
|
|
8
|
-
const orgUrl = `https://dev.azure.com/${organization}`;
|
|
9
|
-
return new azdev.WebApi(orgUrl, authHandler);
|
|
10
|
-
}
|
|
3
|
+
import { getAzureDevOpsConnection, streamToString } from '../utils.js';
|
|
11
4
|
// Shared utility functions
|
|
12
5
|
function isValidFilePath(filePath) {
|
|
13
6
|
if (!filePath) {
|
|
@@ -48,14 +41,6 @@ async function checkItemExists(gitApi, project, repositoryId, filePath, versionD
|
|
|
48
41
|
return false;
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
async function streamToString(stream) {
|
|
52
|
-
const chunks = [];
|
|
53
|
-
return new Promise((resolve, reject) => {
|
|
54
|
-
stream.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
55
|
-
stream.on('error', (err) => reject(new Error(`Stream error: ${err}`)));
|
|
56
|
-
stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
44
|
/**
|
|
60
45
|
* Clean file content to handle special characters that can affect line counting and processing
|
|
61
46
|
* @param content Raw file content
|
|
@@ -208,6 +193,55 @@ async function getPullRequestFileChanges(gitApi, project, repositoryId, targetBr
|
|
|
208
193
|
throw new Error(`Failed to get pull request file changes: ${error instanceof Error ? error.message : String(error)}`);
|
|
209
194
|
}
|
|
210
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Fetch file content from ADO API, with fallback to provided content
|
|
198
|
+
* @param gitApi Azure DevOps Git API instance
|
|
199
|
+
* @param project Project name or ID
|
|
200
|
+
* @param repositoryId Repository ID
|
|
201
|
+
* @param pullRequestId Pull request ID
|
|
202
|
+
* @param filePath File path to fetch
|
|
203
|
+
* @param fallbackContent Optional fallback content if API call fails
|
|
204
|
+
* @returns File content from API or fallback
|
|
205
|
+
*/
|
|
206
|
+
async function getFileContentWithFallback(gitApi, project, repositoryId, pullRequestId, filePath, fallbackContent) {
|
|
207
|
+
try {
|
|
208
|
+
const pullRequest = await gitApi.getPullRequest(repositoryId, pullRequestId, project);
|
|
209
|
+
const sourceBranchCommit = pullRequest.lastMergeSourceCommit?.commitId;
|
|
210
|
+
if (sourceBranchCommit) {
|
|
211
|
+
const fetchedContent = await getFileContentAtCommit(gitApi, project, repositoryId, filePath, sourceBranchCommit);
|
|
212
|
+
if (fetchedContent) {
|
|
213
|
+
console.log(`Successfully fetched file content from ADO API for ${filePath}`);
|
|
214
|
+
return fetchedContent;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (fallbackContent) {
|
|
218
|
+
console.warn(`Could not fetch file content from ADO API for ${filePath}, using provided sourceFileContent as fallback`);
|
|
219
|
+
return fallbackContent;
|
|
220
|
+
}
|
|
221
|
+
throw new Error(`Could not fetch file content from ADO API and no sourceFileContent was provided as fallback`);
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
if (fallbackContent) {
|
|
225
|
+
console.warn(`Failed to fetch file content from ADO API for ${filePath}, using provided sourceFileContent as fallback:`, error);
|
|
226
|
+
return fallbackContent;
|
|
227
|
+
}
|
|
228
|
+
throw new Error(`Failed to fetch file content from ADO API and no sourceFileContent was provided as fallback: ${error instanceof Error ? error.message : String(error)}`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Calculate line positions for a code block within file content
|
|
233
|
+
* @param fileContent Full file content
|
|
234
|
+
* @param fencedCodeBlock Code block to locate
|
|
235
|
+
* @param filePath File path for error messages
|
|
236
|
+
* @returns Calculated line positions
|
|
237
|
+
*/
|
|
238
|
+
function calculateLinePositions(fileContent, fencedCodeBlock, filePath) {
|
|
239
|
+
const linePositions = findCodeBlockInSource(fileContent, fencedCodeBlock);
|
|
240
|
+
if (!linePositions) {
|
|
241
|
+
throw new Error(`Could not find the provided fenced code block in the file content for ${filePath}`);
|
|
242
|
+
}
|
|
243
|
+
return linePositions;
|
|
244
|
+
}
|
|
211
245
|
// Helper function to validate thread position parameters
|
|
212
246
|
function validateThreadPosition(rightFileStartLine, rightFileStartOffset, rightFileEndLine, rightFileEndOffset) {
|
|
213
247
|
if (rightFileStartLine !== undefined && rightFileStartLine < 1) {
|
|
@@ -381,38 +415,36 @@ export function configureAdoTools(server, tokenProvider) {
|
|
|
381
415
|
.optional()
|
|
382
416
|
.default("Active")
|
|
383
417
|
.describe("The status of the comment thread. Defaults to 'Active'."),
|
|
384
|
-
|
|
385
|
-
fencedCodeBlock: z.string().describe("The content of a fenced code block to locate within the source file. When provided with sourceFileContent, rightFileStartLine and rightFileEndLine will be automatically calculated."),
|
|
418
|
+
fencedCodeBlock: z.string().describe("The content of a fenced code block to locate within the source file. When provided, rightFileStartLine and rightFileEndLine will be automatically calculated by fetching file content from ADO API."),
|
|
386
419
|
rightFileStartLine: z.number().describe("Position of first character of the thread's span in right file. The line number of a thread's position. Starts at 1. "),
|
|
387
420
|
rightFileStartOffset: z.number().optional().default(1).describe("Position of first character of the thread's span in right file. The character offset of a thread's position inside of a line. Starts at 1. Must only be set if rightFileStartLine is also specified."),
|
|
388
421
|
rightFileEndLine: z.number().describe("Position of last character of the thread's span in right file. The line number of a thread's position. Starts at 1. Must only be set if rightFileStartLine is also specified. "),
|
|
389
422
|
rightFileEndOffset: z.number().optional().default(1).describe("Position of last character of the thread's span in right file. The character offset of a thread's position inside of a line. Must only be set if rightFileEndLine is also specified. "),
|
|
390
423
|
}, async (args) => {
|
|
391
424
|
try {
|
|
392
|
-
const { organization, project, repositoryId, pullRequestId, content, filePath, status = "Active",
|
|
425
|
+
const { organization, project, repositoryId, pullRequestId, content, filePath, status = "Active", fencedCodeBlock, rightFileStartLine, rightFileStartOffset, rightFileEndLine, rightFileEndOffset } = args;
|
|
393
426
|
// Validate required parameters
|
|
394
427
|
if (!organization || !project || !repositoryId || !pullRequestId || !content) {
|
|
395
428
|
throw new Error('Missing required parameters. Please provide organization, project, repositoryId, pullRequestId, and content.');
|
|
396
429
|
}
|
|
397
|
-
//
|
|
430
|
+
// Get Azure DevOps connection
|
|
431
|
+
const connection = await getAzureDevOpsConnection(organization, tokenProvider);
|
|
432
|
+
const gitApi = await connection.getGitApi();
|
|
433
|
+
// Calculate line positions if fencedCodeBlock is provided
|
|
398
434
|
let calculatedStartLine = rightFileStartLine;
|
|
399
435
|
let calculatedEndLine = rightFileEndLine;
|
|
400
436
|
let calculatedStartOffset = rightFileStartOffset;
|
|
401
437
|
let calculatedEndOffset = rightFileEndOffset;
|
|
402
|
-
if (
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
}
|
|
438
|
+
if (fencedCodeBlock && filePath) {
|
|
439
|
+
const fileContentToUse = await getFileContentWithFallback(gitApi, project, repositoryId, pullRequestId, filePath);
|
|
440
|
+
const linePositions = calculateLinePositions(fileContentToUse, fencedCodeBlock, filePath);
|
|
441
|
+
calculatedStartLine = linePositions.startLine;
|
|
442
|
+
calculatedEndLine = linePositions.endLine;
|
|
443
|
+
calculatedStartOffset = linePositions.startOffset;
|
|
444
|
+
calculatedEndOffset = linePositions.endOffset;
|
|
410
445
|
}
|
|
411
446
|
// Validate thread position parameters
|
|
412
447
|
validateThreadPosition(calculatedStartLine, calculatedStartOffset, calculatedEndLine, calculatedEndOffset);
|
|
413
|
-
// Get Azure DevOps connection
|
|
414
|
-
const connection = await getAzureDevOpsConnection(organization, tokenProvider);
|
|
415
|
-
const gitApi = await connection.getGitApi();
|
|
416
448
|
// Build thread context
|
|
417
449
|
const threadContext = buildThreadContext(filePath, calculatedStartLine, calculatedStartOffset, calculatedEndLine, calculatedEndOffset);
|
|
418
450
|
// Create thread
|
package/dist/tools/ado.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/tools/ado.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/tools/ado.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assa.d.ts","sourceRoot":"","sources":["../../src/tools/assa.ts"],"names":[],"mappings":"AAqBA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QA+EnF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { getAzureDevOpsConnection, getFileFromAzureDevOps } from '../utils.js';
|
|
5
|
+
function writeFileToWorkspace(workspaceRoot, fileName, content) {
|
|
6
|
+
const filePath = path.join(workspaceRoot, fileName);
|
|
7
|
+
try {
|
|
8
|
+
fs.writeFileSync(filePath, content, 'utf8');
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
12
|
+
throw new Error(`Failed to write file to ${filePath}: ${errorMessage}`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function checkFileExists(workspaceRoot, fileName) {
|
|
16
|
+
const filePath = path.join(workspaceRoot, fileName);
|
|
17
|
+
return fs.existsSync(filePath);
|
|
18
|
+
}
|
|
19
|
+
export function configureAssaTools(server, tokenProvider) {
|
|
20
|
+
server.tool("assa_copy_config_to_workspace", "Copy assa.yml configuration file from Azure DevOps (Innersource/code-guardian repository) to the workspace root folder if it doesn't already exist. This file is required for ASSA (Automated Security and Standards Analysis) to function properly.", {
|
|
21
|
+
workspaceRoot: z.string().describe("The absolute path to the workspace root folder where assa.yml should be copied."),
|
|
22
|
+
overwrite: z.boolean().optional().default(false).describe("Whether to overwrite the file if it already exists. Defaults to false."),
|
|
23
|
+
}, async (args) => {
|
|
24
|
+
try {
|
|
25
|
+
const { workspaceRoot, overwrite = false } = args;
|
|
26
|
+
if (!workspaceRoot) {
|
|
27
|
+
throw new Error('Missing required parameter: workspaceRoot');
|
|
28
|
+
}
|
|
29
|
+
// Verify workspace root exists
|
|
30
|
+
if (!fs.existsSync(workspaceRoot)) {
|
|
31
|
+
throw new Error(`Workspace root does not exist: ${workspaceRoot}`);
|
|
32
|
+
}
|
|
33
|
+
const fileName = 'assa.yml';
|
|
34
|
+
const fileExists = checkFileExists(workspaceRoot, fileName);
|
|
35
|
+
// Check if file already exists and overwrite is not enabled
|
|
36
|
+
if (fileExists && !overwrite) {
|
|
37
|
+
return {
|
|
38
|
+
content: [{
|
|
39
|
+
type: "text",
|
|
40
|
+
text: `File ${fileName} already exists in workspace root: ${workspaceRoot}. Use overwrite=true to replace it.`
|
|
41
|
+
}],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// Azure DevOps connection details
|
|
45
|
+
const organization = 'dnvgl-one';
|
|
46
|
+
const project = 'Innersource';
|
|
47
|
+
const repositoryId = 'code-guardian';
|
|
48
|
+
const filePath = '/assa/assa.yml';
|
|
49
|
+
const branch = 'main';
|
|
50
|
+
// Get Azure DevOps connection
|
|
51
|
+
const connection = await getAzureDevOpsConnection(organization, tokenProvider);
|
|
52
|
+
const gitApi = await connection.getGitApi();
|
|
53
|
+
// Get file content from Azure DevOps
|
|
54
|
+
const fileContent = await getFileFromAzureDevOps(gitApi, project, repositoryId, filePath, branch);
|
|
55
|
+
// Write file to workspace root
|
|
56
|
+
writeFileToWorkspace(workspaceRoot, fileName, fileContent);
|
|
57
|
+
const action = fileExists ? 'overwritten' : 'created';
|
|
58
|
+
return {
|
|
59
|
+
content: [{
|
|
60
|
+
type: "text",
|
|
61
|
+
text: `Successfully ${action} ${fileName} in workspace root: ${workspaceRoot}\n\nFile source: https://dev.azure.com/${organization}/${project}/_git/${repositoryId}?path=${filePath}&version=GB${branch}`
|
|
62
|
+
}],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
67
|
+
return {
|
|
68
|
+
content: [{
|
|
69
|
+
type: "text",
|
|
70
|
+
text: `Error copying assa.yml to workspace: ${errorMessage}`
|
|
71
|
+
}],
|
|
72
|
+
isError: true,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=assa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assa.js","sourceRoot":"","sources":["../../src/tools/assa.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAM/F"}
|
package/dist/tools.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { configureAdoTools } from "./tools/ado.js";
|
|
2
|
+
import { configureAssaTools } from "./tools/assa.js";
|
|
2
3
|
export function configureAllTools(server, tokenProvider) {
|
|
3
4
|
// Configure Azure DevOps tools
|
|
4
5
|
configureAdoTools(server, tokenProvider);
|
|
6
|
+
// Configure ASSA tools
|
|
7
|
+
configureAssaTools(server, tokenProvider);
|
|
5
8
|
}
|
|
6
9
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,aAAoC;IACvF,+BAA+B;IAC/B,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEzC,uBAAuB;IACvB,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as azdev from 'azure-devops-node-api';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a NodeJS readable stream to a string
|
|
4
|
+
*/
|
|
5
|
+
export declare function streamToString(stream: NodeJS.ReadableStream): Promise<string>;
|
|
6
|
+
/**
|
|
7
|
+
* Creates an Azure DevOps connection
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAzureDevOpsConnection(organization: string, tokenProvider: () => Promise<string>): Promise<azdev.WebApi>;
|
|
10
|
+
/**
|
|
11
|
+
* Retrieves a file from Azure DevOps repository
|
|
12
|
+
*/
|
|
13
|
+
export declare function getFileFromAzureDevOps(gitApi: any, project: string, repositoryId: string, filePath: string, branch?: string): Promise<string>;
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAOnF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC1C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAMvB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as azdev from 'azure-devops-node-api';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a NodeJS readable stream to a string
|
|
4
|
+
*/
|
|
5
|
+
export async function streamToString(stream) {
|
|
6
|
+
const chunks = [];
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
stream.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
9
|
+
stream.on('error', (err) => reject(new Error(`Stream error: ${err}`)));
|
|
10
|
+
stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates an Azure DevOps connection
|
|
15
|
+
*/
|
|
16
|
+
export async function getAzureDevOpsConnection(organization, tokenProvider) {
|
|
17
|
+
const accessToken = await tokenProvider();
|
|
18
|
+
const authHandler = azdev.getBearerHandler(accessToken);
|
|
19
|
+
const orgUrl = `https://dev.azure.com/${organization}`;
|
|
20
|
+
return new azdev.WebApi(orgUrl, authHandler);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves a file from Azure DevOps repository
|
|
24
|
+
*/
|
|
25
|
+
export async function getFileFromAzureDevOps(gitApi, project, repositoryId, filePath, branch = 'main') {
|
|
26
|
+
try {
|
|
27
|
+
const versionDescriptor = {
|
|
28
|
+
version: branch,
|
|
29
|
+
versionType: 0 // GitVersionType.Branch
|
|
30
|
+
};
|
|
31
|
+
const stream = await gitApi.getItemContent(repositoryId, filePath, project, undefined, undefined, false, false, false, versionDescriptor);
|
|
32
|
+
if (!stream) {
|
|
33
|
+
throw new Error('Failed to retrieve file content from Azure DevOps');
|
|
34
|
+
}
|
|
35
|
+
return await streamToString(stream);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
39
|
+
throw new Error(`Could not get content for ${filePath} from branch ${branch}: ${errorMessage}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAA6B;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,YAAoB,EACpB,aAAoC;IAEpC,MAAM,WAAW,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,yBAAyB,YAAY,EAAE,CAAC;IAEvD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,MAAW,EACX,OAAe,EACf,YAAoB,EACpB,QAAgB,EAChB,SAAiB,MAAM;IAEvB,IAAI,CAAC;QACD,MAAM,iBAAiB,GAAG;YACtB,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,CAAC,CAAC,wBAAwB;SAC1C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CACtC,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,iBAAiB,CACpB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,gBAAgB,MAAM,KAAK,YAAY,EAAE,CAAC,CAAC;IACpG,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/codeguardian-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "A Model Context Protocol (MCP) server for CodeGuardian",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
"node": ">=18"
|
|
58
58
|
},
|
|
59
59
|
"files": [
|
|
60
|
-
"dist/**/*"
|
|
60
|
+
"dist/**/*",
|
|
61
|
+
"asset/**/*"
|
|
61
62
|
],
|
|
62
63
|
"repository": {
|
|
63
64
|
"type": "git",
|