import '../../core/l10n/l10n.dart'; String? mapErrorCodeToL10nKey( String? errorCode, { Map? params, }) { if (errorCode == null || errorCode.isEmpty) { return null; } switch (errorCode) { case 'AGENT_RUN_INPUT_INVALID': return 'errorGenericSafe'; case 'AGENT_RUN_MESSAGES_INVALID': return 'errorGenericSafe'; case 'AGENT_INVALID_RUN_ID': return 'errorGenericSafe'; case 'AGENT_INVALID_LAST_EVENT_ID': return 'errorAgentInvalidLastEventId'; case 'AGENT_SSE_CONNECTION_LIMIT': return 'errorAgentSseConnectionLimit'; case 'AGENT_ATTACHMENT_EMPTY': return 'errorAgentAttachmentEmpty'; case 'AGENT_ATTACHMENT_TOO_LARGE': return 'errorAgentAttachmentTooLarge'; case 'AGENT_AUDIO_UNSUPPORTED_FORMAT': return 'errorAgentAudioUnsupportedFormat'; case 'AGENT_AUDIO_TOO_LARGE': return 'errorAgentAudioTooLarge'; case 'AGENT_AUDIO_EMPTY': return 'errorAgentAudioEmpty'; case 'AGENT_ASR_UNAVAILABLE': return 'errorAgentAsrUnavailable'; case 'AGENT_FORBIDDEN': return 'errorForbidden'; case 'AGENT_PAYLOAD_INVALID': return 'errorGenericSafe'; case 'AGENT_ATTACHMENTS_TOO_MANY': return 'errorGenericSafe'; case 'AGENT_SIGNED_IMAGE_URL_INVALID': return 'errorGenericSafe'; case 'AGENT_ATTACHMENT_STORAGE_UNAVAILABLE': return 'errorServer'; case 'AGENT_ATTACHMENT_UNSUPPORTED_TYPE': return 'errorGenericSafe'; case 'AGENT_ATTACHMENT_UPLOAD_FAILED': return 'errorGenericSafe'; case 'AGENT_ATTACHMENT_BUCKET_INVALID': return 'errorGenericSafe'; case 'AGENT_ATTACHMENT_PATH_SCOPE_INVALID': return 'errorGenericSafe'; case 'AGENT_SIGNED_URL_GENERATION_FAILED': return 'errorGenericSafe'; case 'AGENT_SESSION_ID_INVALID': return 'errorGenericSafe'; case 'AGENT_SESSION_NOT_FOUND': return 'errorNotFound'; case 'AGENT_USER_ID_INVALID': return 'errorGenericSafe'; case 'INVALID_BINARY_URL_HOST': return 'errorAgentInvalidBinaryUrl'; case 'INVALID_BINARY_URL_BUCKET': return 'errorAgentInvalidBinaryUrl'; case 'INVALID_BINARY_URL_PATH_SCOPE': return 'errorAgentInvalidBinaryUrl'; case 'AUTH_SERVICE_UNAVAILABLE': return 'errorServer'; case 'AUTH_TOO_MANY_REQUESTS': return 'errorTooManyRequests'; case 'AUTH_VERIFICATION_CODE_INVALID': return 'errorGenericSafe'; case 'AUTH_REFRESH_TOKEN_INVALID': return 'errorReLogin'; case 'AUTH_REFRESH_TOKEN_MISSING': return 'errorReLogin'; case 'AUTH_USER_NOT_FOUND': return 'errorNotFound'; case 'AUTH_UNAUTHORIZED': return 'errorReLogin'; case 'JWT_VERIFIER_NOT_CONFIGURED': return 'errorServer'; case 'AUTOMATION_JOB_LIMIT_EXCEEDED': return 'errorGenericSafe'; case 'AUTOMATION_SYSTEM_JOB_MODIFICATION_FORBIDDEN': return 'errorForbidden'; case 'AUTOMATION_JOB_NOT_FOUND': return 'errorNotFound'; case 'AUTOMATION_JOB_STORE_UNAVAILABLE': return 'errorServer'; case 'NOT_FOUND': return 'errorNotFound'; case 'LOOKUP_FAILED': return 'errorServer'; case 'INTERNAL_ERROR': return 'errorServer'; case 'MISSING_RUNTIME_ARGS': return 'errorGenericSafe'; case 'TOOL_PENDING_APPROVAL': return 'errorGenericSafe'; case 'TOOL_REJECTED': return 'errorForbidden'; case 'USER_STORE_UNAVAILABLE': return 'errorServer'; case 'USER_NOT_FOUND': return 'errorNotFound'; case 'USER_UPDATE_FIELDS_EMPTY': return 'errorGenericSafe'; case 'USER_AVATAR_UNSUPPORTED_TYPE': return 'errorGenericSafe'; case 'USER_AVATAR_TOO_LARGE': return 'errorGenericSafe'; case 'USER_AVATAR_EMPTY': return 'errorGenericSafe'; case 'USER_AVATAR_UPLOAD_FAILED': return 'errorGenericSafe'; case 'USER_AUTH_LOOKUP_UNAVAILABLE': return 'errorServer'; case 'TODO_SERVICE_UNAVAILABLE': return 'errorServer'; case 'TODO_NOT_FOUND': return 'errorNotFound'; case 'TODO_ACCESS_FORBIDDEN': return 'errorForbidden'; case 'TODO_REORDER_DUPLICATE_ID': return 'errorGenericSafe'; case 'TODO_STATUS_INVALID': return 'errorGenericSafe'; case 'TODO_PRIORITY_INVALID': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_INVALID_TIME_RANGE': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_STORE_UNAVAILABLE': return 'errorServer'; case 'SCHEDULE_ITEM_NOT_FOUND': return 'errorNotFound'; case 'SCHEDULE_ITEM_START_AT_TIMEZONE_REQUIRED': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_PAGE_INVALID': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_PAGE_SIZE_INVALID': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_SHARE_FORBIDDEN': return 'errorForbidden'; case 'SCHEDULE_ITEM_SHARE_TARGET_NOT_FRIEND': return 'errorForbidden'; case 'SCHEDULE_ITEM_SHARE_PERMISSION_EXCEEDED': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_SUBSCRIPTION_ALREADY_ACTIVE': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_INVITE_ALREADY_SUBSCRIBED': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_INVITE_ALREADY_PENDING': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_AUTH_LOOKUP_UNAVAILABLE': return 'errorServer'; case 'SCHEDULE_ITEM_PENDING_INVITE_NOT_FOUND': return 'errorNotFound'; case 'SCHEDULE_ITEM_ACCEPT_SUBSCRIPTION_FAILED': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_REJECT_SUBSCRIPTION_FAILED': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_DATETIME_TIMEZONE_REQUIRED': return 'errorGenericSafe'; case 'SCHEDULE_ITEM_DATETIME_REQUIRED': return 'errorGenericSafe'; case 'INBOX_MESSAGE_NOT_FOUND': return 'errorNotFound'; case 'INBOX_MESSAGE_STORE_UNAVAILABLE': return 'errorServer'; case 'MEMORIES_USER_NOT_FOUND': return 'errorNotFound'; case 'MEMORIES_WORK_NOT_FOUND': return 'errorNotFound'; case 'MEMORIES_SERVICE_UNAVAILABLE': return 'errorServer'; case 'FRIEND_REQUEST_SELF_NOT_ALLOWED': return 'errorGenericSafe'; case 'FRIEND_ALREADY_ACCEPTED': return 'errorGenericSafe'; case 'FRIEND_REQUEST_BLOCKED': return 'errorGenericSafe'; case 'FRIEND_REQUEST_ALREADY_SENT': return 'errorGenericSafe'; case 'FRIENDSHIP_SERVICE_UNAVAILABLE': return 'errorServer'; case 'FRIEND_REQUEST_NOT_FOUND': return 'errorNotFound'; case 'FRIEND_REQUEST_FORBIDDEN': return 'errorForbidden'; case 'FRIEND_REQUEST_NOT_PENDING': return 'errorGenericSafe'; case 'FRIEND_INBOX_MESSAGE_NOT_FOUND': return 'errorNotFound'; case 'FRIENDSHIP_DATA_INVALID': return 'errorGenericSafe'; case 'FRIENDSHIP_NOT_FOUND': return 'errorNotFound'; case 'FRIENDSHIP_REMOVE_REQUIRES_ACCEPTED': return 'errorGenericSafe'; default: return null; } } String? resolveErrorCodeMessage( String? errorCode, { Map? params, }) { final key = mapErrorCodeToL10nKey(errorCode, params: params); if (key == null) { return null; } switch (key) { case 'errorAgentSseConnectionLimit': return L10n.current.errorAgentSseConnectionLimit; case 'errorAgentAttachmentEmpty': return L10n.current.errorAgentAttachmentEmpty; case 'errorAgentAttachmentTooLarge': return L10n.current.errorAgentAttachmentTooLarge; case 'errorAgentAudioEmpty': return L10n.current.errorAgentAudioEmpty; case 'errorAgentAudioTooLarge': return L10n.current.errorAgentAudioTooLarge; case 'errorAgentAudioUnsupportedFormat': return L10n.current.errorAgentAudioUnsupportedFormat; case 'errorAgentAsrUnavailable': return L10n.current.errorAgentAsrUnavailable; case 'errorAgentInvalidLastEventId': return L10n.current.errorAgentInvalidLastEventId; case 'errorAgentInvalidBinaryUrl': return L10n.current.errorAgentInvalidBinaryUrl; case 'errorForbidden': return L10n.current.errorForbidden; case 'errorNotFound': return L10n.current.errorNotFound; case 'errorTooManyRequests': return L10n.current.errorTooManyRequests; case 'errorServer': return L10n.current.errorServer; case 'errorGenericSafe': return L10n.current.errorGenericSafe; case 'errorReLogin': return L10n.current.errorReLogin; default: return null; } }