@ryancardin/azuredevops-mcp-server
Version:
MCP server for Azure DevOps integration - provides seamless access to work items, repositories, projects, boards, and sprints
140 lines • 6.86 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArtifactManagementToolMethods = exports.ArtifactManagementTools = void 0;
const ArtifactManagementService_1 = require("../Services/ArtifactManagementService");
const Common_1 = require("../Interfaces/Common");
const getClassMethods_1 = __importDefault(require("../utils/getClassMethods"));
class ArtifactManagementTools {
constructor(config) {
this.service = new ArtifactManagementService_1.ArtifactManagementService(config);
}
async listArtifactFeeds(params) {
try {
const result = await this.service.listArtifactFeeds(params);
return (0, Common_1.formatMcpResponse)(result, `Found ${result.feeds.length} artifact feeds`);
}
catch (error) {
console.error('Error listing artifact feeds:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async getPackageVersions(params) {
try {
const result = await this.service.getPackageVersions(params);
return (0, Common_1.formatMcpResponse)(result, `Found ${result.versions.length} versions for package ${params.packageName}`);
}
catch (error) {
console.error('Error getting package versions:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async publishPackage(params) {
try {
const result = await this.service.publishPackage(params);
return (0, Common_1.formatMcpResponse)(result, `Published package ${result.packageName} version ${result.packageVersion} to feed ${params.feedId}`);
}
catch (error) {
console.error('Error publishing package:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async promotePackage(params) {
try {
const result = await this.service.promotePackage(params);
return (0, Common_1.formatMcpResponse)(result, `Promoted package ${params.packageName} version ${params.packageVersion} from ${params.sourceView} to ${params.targetView}`);
}
catch (error) {
console.error('Error promoting package:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async deletePackageVersion(params) {
try {
const result = await this.service.deletePackageVersion(params);
return (0, Common_1.formatMcpResponse)(result, `Deleted package ${params.packageName} version ${params.packageVersion}${params.permanent ? ' permanently' : ''}`);
}
catch (error) {
console.error('Error deleting package version:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async listContainerImages(params) {
try {
const result = await this.service.listContainerImages(params);
return (0, Common_1.formatMcpResponse)(result, `Found ${result.images.length} container images in repository ${params.repositoryName || 'all'}`);
}
catch (error) {
console.error('Error listing container images:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async getContainerImageTags(params) {
try {
const result = await this.service.getContainerImageTags(params);
return (0, Common_1.formatMcpResponse)(result, `Found ${result.tags.length} tags for image ${params.imageName}`);
}
catch (error) {
console.error('Error getting container image tags:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async scanContainerImage(params) {
try {
const result = await this.service.scanContainerImage(params);
return (0, Common_1.formatMcpResponse)(result, `Completed ${params.scanType || 'both'} scan of image ${params.imageTag} with overall risk ${result.overallRisk}`);
}
catch (error) {
console.error('Error scanning container image:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async manageContainerPolicies(params) {
try {
const result = await this.service.manageContainerPolicies(params);
return (0, Common_1.formatMcpResponse)(result, `${params.action === 'get' ? 'Retrieved' : (params.action === 'set' ? 'Set' : 'Deleted')} ${params.policyType} policy for repository ${params.repositoryName}`);
}
catch (error) {
console.error('Error managing container policies:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async manageUniversalPackages(params) {
try {
const result = await this.service.manageUniversalPackages(params);
const actionText = params.action === 'download' ? 'Downloaded' :
params.action === 'upload' ? 'Uploaded' : 'Deleted';
return (0, Common_1.formatMcpResponse)(result, `${actionText} universal package ${params.packageName}${params.packageVersion ? ` version ${params.packageVersion}` : ''}`);
}
catch (error) {
console.error('Error managing universal packages:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async createPackageDownloadReport(params) {
try {
const result = await this.service.createPackageDownloadReport(params);
return (0, Common_1.formatMcpResponse)(result, `Created download report for ${params.packageName || 'all packages'} in ${params.feedId || 'all feeds'}`);
}
catch (error) {
console.error('Error creating package download report:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
async checkPackageDependencies(params) {
try {
const result = await this.service.checkPackageDependencies(params);
return (0, Common_1.formatMcpResponse)(result, `Checked dependencies for ${params.packageName}${params.packageVersion ? ` version ${params.packageVersion}` : ''}: ` +
`${result.summary.totalDependencies} total, ${result.summary.vulnerableDependencies} vulnerable`);
}
catch (error) {
console.error('Error checking package dependencies:', error);
return (0, Common_1.formatErrorResponse)(error);
}
}
}
exports.ArtifactManagementTools = ArtifactManagementTools;
exports.ArtifactManagementToolMethods = (0, getClassMethods_1.default)(ArtifactManagementTools.prototype);
//# sourceMappingURL=ArtifactManagementTools.js.map