@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.
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ado.d.ts","sourceRoot":"","sources":["../../src/tools/ado.ts"],"names":[],"mappings":"AA+bA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QA2QlF"}
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
- // Helper function to create Azure DevOps connection
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
- sourceFileContent: z.string().describe("The content of the source file (not diff file). Used to automatically calculate line positions when fencedCodeBlock is provided."),
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", sourceFileContent, fencedCodeBlock, rightFileStartLine, rightFileStartOffset, rightFileEndLine, rightFileEndOffset } = args;
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
- // Calculate line positions if sourceFileContent and fencedCodeBlock are provided
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 (sourceFileContent && fencedCodeBlock) {
403
- const linePositions = findCodeBlockInSource(sourceFileContent, fencedCodeBlock);
404
- if (linePositions) {
405
- calculatedStartLine = linePositions.startLine;
406
- calculatedEndLine = linePositions.endLine;
407
- calculatedStartOffset = linePositions.startOffset;
408
- calculatedEndOffset = linePositions.endOffset;
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
@@ -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,2 @@
1
+ export declare function configureAssaTools(server: any, tokenProvider: () => Promise<string>): void;
2
+ //# sourceMappingURL=assa.d.ts.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAG/F"}
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;AAEnD,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,aAAoC;IACvF,+BAA+B;IAC/B,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC3C,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"}
@@ -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.4",
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",