solidworks-mcp-server
Version:
Clean Architecture SolidWorks MCP Server - Production-ready with SOLID principles
44 lines • 1.43 kB
JavaScript
/**
* Error Transformer
* Transforms errors to MCP-compatible format
*/
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
import { DomainError } from '../../core/interfaces/core-abstractions.js';
export class ErrorTransformer {
/**
* Transform any error to MCP error
*/
transform(error) {
if (error instanceof McpError) {
return error;
}
if (error instanceof DomainError) {
return new McpError(this.mapErrorCode(error.statusCode), error.message, error.toJSON());
}
if (error instanceof Error) {
return new McpError(ErrorCode.InternalError, error.message, {
name: error.name,
stack: error.stack
});
}
return new McpError(ErrorCode.InternalError, 'An unexpected error occurred', { error: String(error) });
}
/**
* Map HTTP status code to MCP error code
*/
mapErrorCode(statusCode) {
switch (statusCode) {
case 400:
return ErrorCode.InvalidRequest;
case 404:
return ErrorCode.MethodNotFound;
case 422:
return ErrorCode.InvalidParams;
case 503:
return ErrorCode.InternalError;
default:
return ErrorCode.InternalError;
}
}
}
//# sourceMappingURL=error-transformer.js.map