@modelcontextprotocol/sdk
Version:
Model Context Protocol implementation for TypeScript
189 lines • 6.78 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.InsufficientScopeError = exports.InvalidClientMetadataError = exports.TooManyRequestsError = exports.MethodNotAllowedError = exports.InvalidTokenError = exports.UnsupportedTokenTypeError = exports.UnsupportedResponseTypeError = exports.TemporarilyUnavailableError = exports.ServerError = exports.AccessDeniedError = exports.InvalidScopeError = exports.UnsupportedGrantTypeError = exports.UnauthorizedClientError = exports.InvalidGrantError = exports.InvalidClientError = exports.InvalidRequestError = exports.OAuthError = void 0;
/**
* Base class for all OAuth errors
*/
class OAuthError extends Error {
constructor(errorCode, message, errorUri) {
super(message);
this.errorCode = errorCode;
this.errorUri = errorUri;
this.name = this.constructor.name;
}
/**
* Converts the error to a standard OAuth error response object
*/
toResponseObject() {
const response = {
error: this.errorCode,
error_description: this.message
};
if (this.errorUri) {
response.error_uri = this.errorUri;
}
return response;
}
}
exports.OAuthError = OAuthError;
/**
* Invalid request error - The request is missing a required parameter,
* includes an invalid parameter value, includes a parameter more than once,
* or is otherwise malformed.
*/
class InvalidRequestError extends OAuthError {
constructor(message, errorUri) {
super("invalid_request", message, errorUri);
}
}
exports.InvalidRequestError = InvalidRequestError;
/**
* Invalid client error - Client authentication failed (e.g., unknown client, no client
* authentication included, or unsupported authentication method).
*/
class InvalidClientError extends OAuthError {
constructor(message, errorUri) {
super("invalid_client", message, errorUri);
}
}
exports.InvalidClientError = InvalidClientError;
/**
* Invalid grant error - The provided authorization grant or refresh token is
* invalid, expired, revoked, does not match the redirection URI used in the
* authorization request, or was issued to another client.
*/
class InvalidGrantError extends OAuthError {
constructor(message, errorUri) {
super("invalid_grant", message, errorUri);
}
}
exports.InvalidGrantError = InvalidGrantError;
/**
* Unauthorized client error - The authenticated client is not authorized to use
* this authorization grant type.
*/
class UnauthorizedClientError extends OAuthError {
constructor(message, errorUri) {
super("unauthorized_client", message, errorUri);
}
}
exports.UnauthorizedClientError = UnauthorizedClientError;
/**
* Unsupported grant type error - The authorization grant type is not supported
* by the authorization server.
*/
class UnsupportedGrantTypeError extends OAuthError {
constructor(message, errorUri) {
super("unsupported_grant_type", message, errorUri);
}
}
exports.UnsupportedGrantTypeError = UnsupportedGrantTypeError;
/**
* Invalid scope error - The requested scope is invalid, unknown, malformed, or
* exceeds the scope granted by the resource owner.
*/
class InvalidScopeError extends OAuthError {
constructor(message, errorUri) {
super("invalid_scope", message, errorUri);
}
}
exports.InvalidScopeError = InvalidScopeError;
/**
* Access denied error - The resource owner or authorization server denied the request.
*/
class AccessDeniedError extends OAuthError {
constructor(message, errorUri) {
super("access_denied", message, errorUri);
}
}
exports.AccessDeniedError = AccessDeniedError;
/**
* Server error - The authorization server encountered an unexpected condition
* that prevented it from fulfilling the request.
*/
class ServerError extends OAuthError {
constructor(message, errorUri) {
super("server_error", message, errorUri);
}
}
exports.ServerError = ServerError;
/**
* Temporarily unavailable error - The authorization server is currently unable to
* handle the request due to a temporary overloading or maintenance of the server.
*/
class TemporarilyUnavailableError extends OAuthError {
constructor(message, errorUri) {
super("temporarily_unavailable", message, errorUri);
}
}
exports.TemporarilyUnavailableError = TemporarilyUnavailableError;
/**
* Unsupported response type error - The authorization server does not support
* obtaining an authorization code using this method.
*/
class UnsupportedResponseTypeError extends OAuthError {
constructor(message, errorUri) {
super("unsupported_response_type", message, errorUri);
}
}
exports.UnsupportedResponseTypeError = UnsupportedResponseTypeError;
/**
* Unsupported token type error - The authorization server does not support
* the requested token type.
*/
class UnsupportedTokenTypeError extends OAuthError {
constructor(message, errorUri) {
super("unsupported_token_type", message, errorUri);
}
}
exports.UnsupportedTokenTypeError = UnsupportedTokenTypeError;
/**
* Invalid token error - The access token provided is expired, revoked, malformed,
* or invalid for other reasons.
*/
class InvalidTokenError extends OAuthError {
constructor(message, errorUri) {
super("invalid_token", message, errorUri);
}
}
exports.InvalidTokenError = InvalidTokenError;
/**
* Method not allowed error - The HTTP method used is not allowed for this endpoint.
* (Custom, non-standard error)
*/
class MethodNotAllowedError extends OAuthError {
constructor(message, errorUri) {
super("method_not_allowed", message, errorUri);
}
}
exports.MethodNotAllowedError = MethodNotAllowedError;
/**
* Too many requests error - Rate limit exceeded.
* (Custom, non-standard error based on RFC 6585)
*/
class TooManyRequestsError extends OAuthError {
constructor(message, errorUri) {
super("too_many_requests", message, errorUri);
}
}
exports.TooManyRequestsError = TooManyRequestsError;
/**
* Invalid client metadata error - The client metadata is invalid.
* (Custom error for dynamic client registration - RFC 7591)
*/
class InvalidClientMetadataError extends OAuthError {
constructor(message, errorUri) {
super("invalid_client_metadata", message, errorUri);
}
}
exports.InvalidClientMetadataError = InvalidClientMetadataError;
/**
* Insufficient scope error - The request requires higher privileges than provided by the access token.
*/
class InsufficientScopeError extends OAuthError {
constructor(message, errorUri) {
super("insufficient_scope", message, errorUri);
}
}
exports.InsufficientScopeError = InsufficientScopeError;
//# sourceMappingURL=errors.js.map
;