@aashari/mcp-server-aws-sso
Version:
Node.js/TypeScript MCP server for AWS Single Sign-On (SSO). Enables AI systems (LLMs) with tools to initiate SSO login (device auth flow), list accounts/roles, and securely execute AWS CLI commands using temporary credentials. Streamlines AI interaction w
45 lines (44 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorCode = void 0;
exports.buildErrorContext = buildErrorContext;
/**
* Standard error codes for consistent handling
*/
var ErrorCode;
(function (ErrorCode) {
ErrorCode["NOT_FOUND"] = "NOT_FOUND";
ErrorCode["INVALID_CURSOR"] = "INVALID_CURSOR";
ErrorCode["ACCESS_DENIED"] = "ACCESS_DENIED";
ErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
ErrorCode["UNEXPECTED_ERROR"] = "UNEXPECTED_ERROR";
ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
ErrorCode["RATE_LIMIT_ERROR"] = "RATE_LIMIT_ERROR";
// AWS SSO specific error codes
ErrorCode["AWS_SSO_DEVICE_AUTH_TIMEOUT"] = "AWS_SSO_DEVICE_AUTH_TIMEOUT";
ErrorCode["AWS_SSO_TOKEN_EXPIRED"] = "AWS_SSO_TOKEN_EXPIRED";
ErrorCode["AWS_SSO_AUTH_PENDING"] = "AWS_SSO_AUTH_PENDING";
ErrorCode["AWS_SSO_AUTH_DENIED"] = "AWS_SSO_AUTH_DENIED";
ErrorCode["AWS_SDK_PERMISSION_DENIED"] = "AWS_SDK_PERMISSION_DENIED";
ErrorCode["AWS_SDK_RESOURCE_NOT_FOUND"] = "AWS_SDK_RESOURCE_NOT_FOUND";
ErrorCode["AWS_SDK_THROTTLING"] = "AWS_SDK_THROTTLING";
ErrorCode["AWS_SDK_INVALID_REQUEST"] = "AWS_SDK_INVALID_REQUEST";
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
/**
* Helper function to create a consistent error context object
* @param entityType Type of entity being processed
* @param operation Operation being performed
* @param source Source of the error (typically file path and function)
* @param entityId Optional identifier of the entity
* @param additionalInfo Optional additional information for debugging
* @returns A formatted ErrorContext object
*/
function buildErrorContext(entityType, operation, source, entityId, additionalInfo) {
return {
entityType,
operation,
source,
...(entityId && { entityId }),
...(additionalInfo && { additionalInfo }),
};
}