UNPKG

@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
"use strict"; 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