@achieveai/azuredevops-mcp 1.3.17 → 1.3.19
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 +76 -0
- package/dist/Interfaces/Common.js +37 -1
- package/dist/Interfaces/Common.js.map +1 -1
- package/dist/Services/AzureDevOpsService.js +234 -32
- package/dist/Services/AzureDevOpsService.js.map +1 -1
- package/dist/Services/BoardsSprintsService.js +111 -13
- package/dist/Services/BoardsSprintsService.js.map +1 -1
- package/dist/Services/BuildService.js +157 -24
- package/dist/Services/BuildService.js.map +1 -1
- package/dist/Services/GitService.js +26 -3
- package/dist/Services/GitService.js.map +1 -1
- package/dist/Services/ProjectService.js +47 -6
- package/dist/Services/ProjectService.js.map +1 -1
- package/dist/Services/WorkItemService.js +183 -170
- package/dist/Services/WorkItemService.js.map +1 -1
- package/dist/Tools/BoardsSprintsTools.js +2 -8
- package/dist/Tools/BoardsSprintsTools.js.map +1 -1
- package/dist/Tools/BuildTools.js +5 -8
- package/dist/Tools/BuildTools.js.map +1 -1
- package/dist/Tools/GitTools.js +177 -62
- package/dist/Tools/GitTools.js.map +1 -1
- package/dist/Tools/WorkItemTools.js +110 -172
- package/dist/Tools/WorkItemTools.js.map +1 -1
- package/dist/index.js +31 -26
- package/dist/index.js.map +1 -1
- package/dist/utils/apiUsageGuidance.js +336 -0
- package/dist/utils/apiUsageGuidance.js.map +1 -0
- package/dist/utils/formatHelpers.js +15 -0
- package/dist/utils/formatHelpers.js.map +1 -1
- package/package.json +3 -3
- package/dist/Services/BuildService.project.test.js +0 -91
- package/dist/Services/BuildService.project.test.js.map +0 -1
- package/dist/Services/GitService.project.test.js +0 -407
- package/dist/Services/GitService.project.test.js.map +0 -1
- package/dist/package.json +0 -59
- package/dist/src/Interfaces/AIAssisted.js +0 -3
- package/dist/src/Interfaces/AIAssisted.js.map +0 -1
- package/dist/src/Interfaces/ArtifactManagement.js +0 -3
- package/dist/src/Interfaces/ArtifactManagement.js.map +0 -1
- package/dist/src/Interfaces/AzureDevOps.js +0 -3
- package/dist/src/Interfaces/AzureDevOps.js.map +0 -1
- package/dist/src/Interfaces/BoardsAndSprints.js +0 -3
- package/dist/src/Interfaces/BoardsAndSprints.js.map +0 -1
- package/dist/src/Interfaces/CodeAndRepositories.js +0 -3
- package/dist/src/Interfaces/CodeAndRepositories.js.map +0 -1
- package/dist/src/Interfaces/Common.js +0 -134
- package/dist/src/Interfaces/Common.js.map +0 -1
- package/dist/src/Interfaces/CostResourceManagement.js +0 -3
- package/dist/src/Interfaces/CostResourceManagement.js.map +0 -1
- package/dist/src/Interfaces/DevSecOps.js +0 -3
- package/dist/src/Interfaces/DevSecOps.js.map +0 -1
- package/dist/src/Interfaces/ExternalIntegrations.js +0 -3
- package/dist/src/Interfaces/ExternalIntegrations.js.map +0 -1
- package/dist/src/Interfaces/HybridCrossPlatform.js +0 -3
- package/dist/src/Interfaces/HybridCrossPlatform.js.map +0 -1
- package/dist/src/Interfaces/Pipelines.js +0 -3
- package/dist/src/Interfaces/Pipelines.js.map +0 -1
- package/dist/src/Interfaces/ProjectManagement.js +0 -3
- package/dist/src/Interfaces/ProjectManagement.js.map +0 -1
- package/dist/src/Interfaces/TestingCapabilities.js +0 -3
- package/dist/src/Interfaces/TestingCapabilities.js.map +0 -1
- package/dist/src/Interfaces/Wiki.js +0 -3
- package/dist/src/Interfaces/Wiki.js.map +0 -1
- package/dist/src/Interfaces/WorkItems.js +0 -3
- package/dist/src/Interfaces/WorkItems.js.map +0 -1
- package/dist/src/Services/AIAssistedDevelopmentService.js +0 -195
- package/dist/src/Services/AIAssistedDevelopmentService.js.map +0 -1
- package/dist/src/Services/ArtifactManagementService.js +0 -346
- package/dist/src/Services/ArtifactManagementService.js.map +0 -1
- package/dist/src/Services/AzureDevOpsService.js +0 -385
- package/dist/src/Services/AzureDevOpsService.js.map +0 -1
- package/dist/src/Services/BoardsSprintsService.js +0 -339
- package/dist/src/Services/BoardsSprintsService.js.map +0 -1
- package/dist/src/Services/BuildService.js +0 -405
- package/dist/src/Services/BuildService.js.map +0 -1
- package/dist/src/Services/DevSecOpsService.js +0 -307
- package/dist/src/Services/DevSecOpsService.js.map +0 -1
- package/dist/src/Services/EntraAuthHandler.js +0 -337
- package/dist/src/Services/EntraAuthHandler.js.map +0 -1
- package/dist/src/Services/GitService.js +0 -1595
- package/dist/src/Services/GitService.js.map +0 -1
- package/dist/src/Services/ProjectService.js +0 -257
- package/dist/src/Services/ProjectService.js.map +0 -1
- package/dist/src/Services/TestingCapabilitiesService.js +0 -149
- package/dist/src/Services/TestingCapabilitiesService.js.map +0 -1
- package/dist/src/Services/WikiService.js +0 -90
- package/dist/src/Services/WikiService.js.map +0 -1
- package/dist/src/Services/WorkItemService.js +0 -885
- package/dist/src/Services/WorkItemService.js.map +0 -1
- package/dist/src/Tools/AIAssistedDevelopmentTools.js +0 -137
- package/dist/src/Tools/AIAssistedDevelopmentTools.js.map +0 -1
- package/dist/src/Tools/ArtifactManagementTools.js +0 -140
- package/dist/src/Tools/ArtifactManagementTools.js.map +0 -1
- package/dist/src/Tools/BoardsSprintsTools.js +0 -338
- package/dist/src/Tools/BoardsSprintsTools.js.map +0 -1
- package/dist/src/Tools/BuildTools.js +0 -468
- package/dist/src/Tools/BuildTools.js.map +0 -1
- package/dist/src/Tools/DevSecOpsTools.js +0 -147
- package/dist/src/Tools/DevSecOpsTools.js.map +0 -1
- package/dist/src/Tools/GitTools.js +0 -1475
- package/dist/src/Tools/GitTools.js.map +0 -1
- package/dist/src/Tools/ProjectTools.js +0 -360
- package/dist/src/Tools/ProjectTools.js.map +0 -1
- package/dist/src/Tools/TestingCapabilitiesTools.js +0 -157
- package/dist/src/Tools/TestingCapabilitiesTools.js.map +0 -1
- package/dist/src/Tools/WikiTools.js +0 -137
- package/dist/src/Tools/WikiTools.js.map +0 -1
- package/dist/src/Tools/WorkItemTools.js +0 -862
- package/dist/src/Tools/WorkItemTools.js.map +0 -1
- package/dist/src/config.js +0 -176
- package/dist/src/config.js.map +0 -1
- package/dist/src/index.js +0 -1716
- package/dist/src/index.js.map +0 -1
- package/dist/src/utils/formatHelpers.js +0 -257
- package/dist/src/utils/formatHelpers.js.map +0 -1
- package/dist/src/utils/getClassMethods.js +0 -8
- package/dist/src/utils/getClassMethods.js.map +0 -1
- package/dist/src/utils/repositoryResolver.js +0 -40
- package/dist/src/utils/repositoryResolver.js.map +0 -1
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DevSecOpsToolMethods = exports.DevSecOpsTools = void 0;
|
|
7
|
-
const DevSecOpsService_1 = require("../Services/DevSecOpsService");
|
|
8
|
-
const Common_1 = require("../Interfaces/Common");
|
|
9
|
-
const getClassMethods_1 = __importDefault(require("../utils/getClassMethods"));
|
|
10
|
-
class DevSecOpsTools {
|
|
11
|
-
constructor(config) {
|
|
12
|
-
this.service = new DevSecOpsService_1.DevSecOpsService(config);
|
|
13
|
-
}
|
|
14
|
-
async runSecurityScan(params) {
|
|
15
|
-
try {
|
|
16
|
-
const result = await this.service.runSecurityScan(params);
|
|
17
|
-
return (0, Common_1.formatMcpResponse)(result, `Security scan initiated for repository ${params.repository}`);
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
console.error('Error running security scan:', error);
|
|
21
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async getSecurityScanResults(params) {
|
|
25
|
-
try {
|
|
26
|
-
const result = await this.service.getSecurityScanResults(params);
|
|
27
|
-
return (0, Common_1.formatMcpResponse)(result, `Security scan results for scan ${params.scanId}`);
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
console.error('Error getting security scan results:', error);
|
|
31
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async trackSecurityVulnerabilities(params) {
|
|
35
|
-
try {
|
|
36
|
-
const result = await this.service.trackSecurityVulnerabilities(params);
|
|
37
|
-
return (0, Common_1.formatMcpResponse)(result, "Security vulnerabilities tracking information");
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
console.error('Error tracking security vulnerabilities:', error);
|
|
41
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async generateSecurityCompliance(params) {
|
|
45
|
-
try {
|
|
46
|
-
const result = await this.service.generateSecurityCompliance(params);
|
|
47
|
-
return (0, Common_1.formatMcpResponse)(result, `Security compliance report for ${params.standardType || 'owasp'} standard`);
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
console.error('Error generating security compliance report:', error);
|
|
51
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async integrateSarifResults(params) {
|
|
55
|
-
try {
|
|
56
|
-
const result = await this.service.integrateSarifResults(params);
|
|
57
|
-
return (0, Common_1.formatMcpResponse)(result, `SARIF results integrated from ${params.sarifFilePath}`);
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
console.error('Error integrating SARIF results:', error);
|
|
61
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async runComplianceChecks(params) {
|
|
65
|
-
try {
|
|
66
|
-
const result = await this.service.runComplianceChecks(params);
|
|
67
|
-
return (0, Common_1.formatMcpResponse)(result, `Compliance checks for ${params.complianceStandard} standard`);
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
console.error('Error running compliance checks:', error);
|
|
71
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
async getComplianceStatus(params) {
|
|
75
|
-
try {
|
|
76
|
-
const result = await this.service.getComplianceStatus(params);
|
|
77
|
-
return (0, Common_1.formatMcpResponse)(result, `Compliance status for ${params.standardId || 'all standards'}`);
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
console.error('Error getting compliance status:', error);
|
|
81
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
async createComplianceReport(params) {
|
|
85
|
-
try {
|
|
86
|
-
const result = await this.service.createComplianceReport(params);
|
|
87
|
-
return (0, Common_1.formatMcpResponse)(result, `Compliance report created for ${params.standardId}`);
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
console.error('Error creating compliance report:', error);
|
|
91
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
async manageSecurityPolicies(params) {
|
|
95
|
-
try {
|
|
96
|
-
const result = await this.service.manageSecurityPolicies(params);
|
|
97
|
-
return (0, Common_1.formatMcpResponse)(result, `Security policy '${params.policyName}' ${params.action}d`);
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
console.error('Error managing security policies:', error);
|
|
101
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
async trackSecurityAwareness(params) {
|
|
105
|
-
try {
|
|
106
|
-
const result = await this.service.trackSecurityAwareness(params);
|
|
107
|
-
return (0, Common_1.formatMcpResponse)(result, `Security awareness tracking for ${params.teamId || 'all teams'}`);
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
console.error('Error tracking security awareness:', error);
|
|
111
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
async rotateSecrets(params) {
|
|
115
|
-
try {
|
|
116
|
-
const result = await this.service.rotateSecrets(params);
|
|
117
|
-
return (0, Common_1.formatMcpResponse)(result, `Secrets rotation for ${params.secretName || 'all applicable secrets'}`);
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
console.error('Error rotating secrets:', error);
|
|
121
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
async auditSecretUsage(params) {
|
|
125
|
-
try {
|
|
126
|
-
const result = await this.service.auditSecretUsage(params);
|
|
127
|
-
return (0, Common_1.formatMcpResponse)(result, `Secret usage audit for ${params.secretName || 'all secrets'}`);
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
console.error('Error auditing secret usage:', error);
|
|
131
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
async vaultIntegration(params) {
|
|
135
|
-
try {
|
|
136
|
-
const result = await this.service.vaultIntegration(params);
|
|
137
|
-
return (0, Common_1.formatMcpResponse)(result, `Vault integration: ${params.action} operation on ${params.vaultUrl}`);
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
console.error('Error with vault integration:', error);
|
|
141
|
-
return (0, Common_1.formatErrorResponse)(error);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
exports.DevSecOpsTools = DevSecOpsTools;
|
|
146
|
-
exports.DevSecOpsToolMethods = (0, getClassMethods_1.default)(DevSecOpsTools.prototype);
|
|
147
|
-
//# sourceMappingURL=DevSecOpsTools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevSecOpsTools.js","sourceRoot":"","sources":["../../../src/Tools/DevSecOpsTools.ts"],"names":[],"mappings":"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"}
|