UNPKG

@brianveltman/sonatype-mcp

Version:

Model Context Protocol server for Sonatype Nexus Repository Manager

92 lines 2.85 kB
export class NexusError extends Error { statusCode; nexusResponse; constructor(message, statusCode, nexusResponse) { super(message); this.name = 'NexusError'; this.statusCode = statusCode; this.nexusResponse = nexusResponse; Object.setPrototypeOf(this, NexusError.prototype); } } export class ConfigurationError extends Error { constructor(message) { super(message); this.name = 'ConfigurationError'; Object.setPrototypeOf(this, ConfigurationError.prototype); } } export class AuthenticationError extends Error { constructor(message) { super(message); this.name = 'AuthenticationError'; Object.setPrototypeOf(this, AuthenticationError.prototype); } } export class ValidationError extends Error { constructor(message) { super(message); this.name = 'ValidationError'; Object.setPrototypeOf(this, ValidationError.prototype); } } export function handleNexusError(error) { if (error.response) { const { status, data } = error.response; const message = data?.message || data?.error || 'Unknown API error'; if (status === 401) { throw new AuthenticationError(`Authentication failed: ${message}`); } else if (status === 403) { throw new AuthenticationError(`Access denied: ${message}`); } else if (status === 404) { throw new NexusError(`Resource not found: ${message}`, status, data); } else if (status >= 400 && status < 500) { throw new ValidationError(`Client error: ${message}`); } else { throw new NexusError(`Nexus API error: ${message}`, status, data); } } else if (error.request) { throw new NexusError(`Network error: Unable to connect to Nexus server`, 0); } else { throw new NexusError(`Request setup error: ${error.message}`, 0); } } export function formatMCPError(error) { if (error instanceof NexusError) { return { code: `NEXUS_ERROR_${error.statusCode}`, message: error.message }; } else if (error instanceof AuthenticationError) { return { code: 'AUTHENTICATION_ERROR', message: error.message }; } else if (error instanceof ValidationError) { return { code: 'VALIDATION_ERROR', message: error.message }; } else if (error instanceof ConfigurationError) { return { code: 'CONFIGURATION_ERROR', message: error.message }; } else { return { code: 'UNKNOWN_ERROR', message: error.message || 'An unknown error occurred' }; } } //# sourceMappingURL=errors.js.map