@siva-sub/mcp-public-transport
Version:
A Model Context Protocol server for Singapore transport data with real-time information and routing
38 lines (37 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RateLimitError = exports.APIError = exports.ValidationError = exports.TransportError = void 0;
class TransportError extends Error {
constructor(message, code, statusCode = 500, originalError) {
super(message);
this.code = code;
this.statusCode = statusCode;
this.originalError = originalError;
this.name = 'TransportError';
if (originalError) {
this.stack = originalError.stack;
}
}
}
exports.TransportError = TransportError;
class ValidationError extends TransportError {
constructor(message, originalError) {
super(message, 'VALIDATION_ERROR', 400, originalError);
this.name = 'ValidationError';
}
}
exports.ValidationError = ValidationError;
class APIError extends TransportError {
constructor(message, code, statusCode = 502, originalError) {
super(message, code, statusCode, originalError);
this.name = 'APIError';
}
}
exports.APIError = APIError;
class RateLimitError extends TransportError {
constructor(message = 'Rate limit exceeded') {
super(message, 'RATE_LIMIT_ERROR', 429);
this.name = 'RateLimitError';
}
}
exports.RateLimitError = RateLimitError;