UNPKG

@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
"use strict"; 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 }), }; }