@plyaz/types 1.18.1 → 1.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/api/endpoints/featureFlags/endpoints.d.ts +83 -0
  2. package/dist/api/endpoints/featureFlags/index.d.ts +8 -0
  3. package/dist/api/endpoints/featureFlags/types.d.ts +153 -0
  4. package/dist/api/endpoints/index.d.ts +1 -0
  5. package/dist/api/endpoints/types.d.ts +2 -1
  6. package/dist/api/index.cjs +52 -0
  7. package/dist/api/index.cjs.map +1 -1
  8. package/dist/api/index.d.ts +1 -0
  9. package/dist/api/index.js +52 -0
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/core/events/index.d.ts +4 -0
  12. package/dist/core/events/payloads.d.ts +168 -0
  13. package/dist/core/featureFlag/enums.d.ts +11 -6
  14. package/dist/core/featureFlag/types.d.ts +146 -1
  15. package/dist/core/index.d.ts +3 -0
  16. package/dist/core/modules.d.ts +408 -0
  17. package/dist/db/audit.types.d.ts +22 -0
  18. package/dist/db/config.types.d.ts +21 -1
  19. package/dist/db/database.types.d.ts +2 -0
  20. package/dist/db/databaseAdapter.d.ts +13 -3
  21. package/dist/db/databaseService.d.ts +21 -48
  22. package/dist/db/dbEnums.d.ts +33 -5
  23. package/dist/db/extensions.types.d.ts +35 -0
  24. package/dist/db/features-config.types.d.ts +28 -2
  25. package/dist/db/health.types.d.ts +16 -0
  26. package/dist/db/index.cjs +20 -3
  27. package/dist/db/index.cjs.map +1 -1
  28. package/dist/db/index.d.ts +5 -0
  29. package/dist/db/index.js +20 -4
  30. package/dist/db/index.js.map +1 -1
  31. package/dist/db/migrations.types.d.ts +60 -0
  32. package/dist/db/seeds.types.d.ts +49 -0
  33. package/dist/db/tenant.types.d.ts +14 -0
  34. package/dist/errors/codes.d.ts +8 -0
  35. package/dist/errors/enums.d.ts +3 -0
  36. package/dist/errors/index.cjs +55 -0
  37. package/dist/errors/index.cjs.map +1 -1
  38. package/dist/errors/index.js +55 -0
  39. package/dist/errors/index.js.map +1 -1
  40. package/dist/examples/index.cjs +76 -0
  41. package/dist/examples/index.cjs.map +1 -0
  42. package/dist/examples/index.d.ts +17 -0
  43. package/dist/examples/index.js +68 -0
  44. package/dist/examples/index.js.map +1 -0
  45. package/dist/examples/schemas.d.ts +119 -0
  46. package/dist/examples/types.d.ts +103 -0
  47. package/dist/features/feature-flag/types.d.ts +62 -32
  48. package/dist/index.cjs +107 -14
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.d.ts +4 -0
  51. package/dist/index.js +103 -14
  52. package/dist/index.js.map +1 -1
  53. package/dist/payments/provider/core/types.d.ts +2 -0
  54. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/auth/enums.ts","../src/auth/schemas.ts","../src/core/tables/enum.ts","../src/core/featureFlag/enums.ts","../src/core/featureFlag/constants.ts","../src/errors/enums.ts","../src/http/constants.ts","../src/errors/codes.ts","../src/events/enums.ts","../src/locale/types.ts","../src/web3/enums.ts","../src/user/enums.ts","../src/user/schemas.ts","../src/campaign/enums.ts","../src/campaign/schemas.ts","../src/logger/enums.ts","../src/payments/events/enums.ts","../src/payments/events/unified-event/enums.ts","../src/payments/provider/provider-capability/enums.ts","../src/payments/request/enums.ts","../src/payments/gateways/provider/plans/enums.ts","../src/payments/gateways/routings/enums.ts","../src/payments/base-error/enum.ts","../src/payments/idempotency/enum.ts","../src/notifications/enums.ts","../src/notifications/schemas.ts","../src/notifications/webhooks.schemas.ts","../src/utils/enums.ts","../src/api/events/enum.ts","../src/api/queue/enums.ts","../src/api/headers/enum.ts","../src/api/network/enums.ts","../src/api/debugger/enums.ts","../src/api/client/enum.ts","../src/api/regional/enum.ts","../src/api/pubsub/enum.ts","../src/db/dbEnums.ts","../src/db/dbConstant.ts","../src/storage/enums.ts","../src/storage/event-handler-mapping.ts","../src/storage/schemas.ts"],"names":["AUTH_PROVIDER_TYPE","z","TABLES","SORT_DIRECTION","DATABASE_TABLE","FEATURE_FLAG_FIELD","FEATURE_FLAG_RULE_FIELD","FEATURE_FLAG_PROVIDERS","NODE_ENVIRONMENTS","DATABASE_FIELDS","SYSTEM_USERS","EVALUATION_REASONS","FEATURE_FLAG_TYPES","BASIC_PROFILE_ERRORS","ATHLETE_PROFILE_ERRORS","CREATE_CAMPAIGN_ERRORS","PAYMENT_EVENT_TYPE","PAYMENT_EVENT_CATEGORY","PAYMENT_EVENT_ERROR_CATEGORY","EVENT_PROCESSING_STATUS","PAYMENT_PROVIDER_TYPE","PAYMENT_METHOD","PAYMENT_STATUS","TRANSACTION_TYPE","USER_TYPE","PRODUCT_TYPE","REQUIREDACTIONTYPE","PROVIDER_PRODUCT_STATUS","COST_OPTIMIZATION_STRATEGY","FAIL_OVER_STRATEGY","REGULATORY_FRAMEWORK","LOAD_BALANCING_STRATEGY","PERFORMANCE_METRIC_TYPE","ROUTING_STRATEGY","ROUTER_RULE_NAME","REFUND_ERROR_TYPES","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","IDEMPOTENCY_STATUS","SIGNATURE_METHOD","WEBHOOK_EVENT_TYPE","WEBHOOK_ENCRYPTION_METHOD","CORRELATION_TYPE","NETWORK_QUALITY","ADAPTERS","DATABASE_EVENT_TYPE","REPLICA_STRATEGY","DB_POOL_EVENTS","ALERT_SEVERITY","ALERT_SOURCE","AUDIT_OPERATION","ADAPTER_TYPES","FILE_CATEGORY","ENTITY_TYPE","STORAGE_ADAPTER_TYPE","FILE_ACCESS_LEVEL","UPLOAD_STATUS","STORAGE_EVENT_TYPE","RETRY_STRATEGY","PATH_GENERATION_STRATEGY","FILE_VALIDATION_ERROR","TEMPLATE_OUTPUT_FORMAT","DOCUMENT_TYPE","MEDIA_ENTITY","STORAGE_VISIBILITY","STORAGE_ENVIRONMENT","BUSINESS_MODEL","ORGANIZATION_TIER","BUCKET_PURPOSE","PATH_STRATEGY","MEDIA_VARIANT_TYPE","STORAGE_QUEUE_PRIORITY","STORAGE_DEVICE_TYPE","STORAGE_VARIANT_NAME","ADAPTER_HEALTH_STATUS","STORAGE_RENDERER_TYPE","OUTPUT_FORMAT","STORAGE_JURISDICTION","STORAGE_REGULATORY_FRAMEWORK","STORAGE_PLUGIN_TYPE","STORAGE_WEBHOOK_EVENT_TYPE","STORAGE_OPERATION","STORAGE_SIGNATURE_METHOD","STORAGE_PROCESSING_STATUS"],"mappings":"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AAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,G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","file":"index.cjs","sourcesContent":["/**\n * Enum representing the different roles a user can have within the system.\n * @description Roles are used to determine access levels, permissions, and user-specific experiences.\n *\n * @example\n * ```typescript\n * import { USER_ROLE } from '@plyaz/types';\n *\n * const userRole = USER_ROLE.Athlete; // 'athlete'\n * const isAdmin = userRole === USER_ROLE.Admin || userRole === USER_ROLE.SuperAdmin;\n * ```\n */\nexport const USER_ROLE = {\n /** A user who is an athlete and participates in sports activities. */\n Athlete: 'athlete',\n\n /** A user who scouts and discovers talent. */\n Scout: 'scout',\n\n /** A user who acts as an agent representing athletes or clubs. */\n Agent: 'agent',\n\n /** A user representing a sports club or organization. */\n Club: 'club',\n\n /** A fan or supporter of athletes or clubs. */\n Fan: 'fan',\n\n /** A system administrator with access to management tools. */\n Admin: 'admin',\n\n /** A super admin with the highest level of access and control. */\n SuperAdmin: 'super.admin',\n} as const;\n\n/**\n * Enum representing the current status of a user account.\n * @description Statuses are used to determine login availability, visibility, and user flow.\n *\n * @example\n * ```typescript\n * import { USER_STATUS } from '@plyaz/types';\n *\n * const isAccessible = status === USER_STATUS.Active;\n * const needsReview = status === USER_STATUS.Pending;\n * ```\n */\nexport const USER_STATUS = {\n /** Active user with full access. */\n Active: 'active',\n\n /** Inactive user, typically not currently using the platform. */\n Inactive: 'inactive',\n\n /** User account is awaiting approval or completion of setup. */\n Pending: 'pending',\n\n /** User has been temporarily suspended due to policy violations or manual review. */\n Suspended: 'suspended',\n\n /** User has been permanently banned from the platform. */\n Banned: 'banned',\n} as const;\n\n/**\n * Enum representing the supported authentication providers for user login.\n * @description Auth Providers allowed such as Email, Wallet, etc.\n *\n * @example\n * ```typescript\n * import { AUTH_PROVIDER } from '@plyaz/types';\n *\n * const provider = AUTH_PROVIDER.Wallet; // 'wallet'\n * const isWeb3Auth = provider === AUTH_PROVIDER.Wallet;\n * ```\n */\nexport const AUTH_PROVIDER = {\n /** Authentication via email and password. */\n Email: 'email',\n\n /** Authentication via connected blockchain wallet. */\n Wallet: 'wallet',\n} as const;\n\nexport enum AUTH_PROVIDER_TYPE {\n ClerkSupabase = 'CLERK_SUPABASE',\n InternalDb = 'INTERNAL_DB',\n}\n","import { z } from 'zod';\n\n/**\n * Password minimum character length\n */\nconst DEFAULT_PASSWORD = 8;\n\n/**\n * Contact Us Form Schema\n * Validates contact form submissions\n */\nexport const ContactUsFormSchema = z.object({\n name: z.string({ error: 'errors.form.missingField' }).min(1, 'errors.form.nameMissing'),\n email: z.email({ error: 'errors.form.emailInvalid' }),\n});\n\n/**\n * Contact Us Form Type\n */\nexport type ContactUsForm = z.infer<typeof ContactUsFormSchema>;\n\n/**\n * Signup Form Schema\n * Validates user registration form submissions\n */\nexport const SignupFormSchema = z.object({\n name: z.string({ error: 'errors.form.missingField' }).min(1, 'errors.form.nameMissing'),\n email: z.email({ error: 'errors.form.emailInvalid' }),\n password: z\n .string({ error: 'errors.form.missingField' })\n .min(DEFAULT_PASSWORD, 'errors.form.passwordTooShort'),\n});\n\n/**\n * Signup Form Type\n */\nexport type SignupForm = z.infer<typeof SignupFormSchema>;\n","export enum TABLES {\n User = 'users',\n}\n","/**\n * Sort direction for database queries\n */\nexport enum SORT_DIRECTION {\n Asc = 'asc',\n Desc = 'desc',\n}\n\n/**\n * Database table names enumeration\n */\nexport enum DATABASE_TABLE {\n FeatureFlags = 'feature_flags',\n FeatureFlagRules = 'feature_flag_rules',\n FeatureFlagEvaluations = 'feature_flag_evaluations',\n FeatureFlagOverrides = 'feature_flag_overrides',\n}\n\n/**\n * Database field names for feature flags table\n */\nexport enum FEATURE_FLAG_FIELD {\n Key = 'key',\n Value = 'value',\n IsEnabled = 'is_enabled',\n Environments = 'environments',\n Description = 'description',\n CreatedAt = 'created_at',\n UpdatedAt = 'updated_at',\n}\n\n/**\n * Database field names for feature flag rules table\n */\nexport enum FEATURE_FLAG_RULE_FIELD {\n Id = 'id',\n FlagKey = 'flag_key',\n Name = 'name',\n Conditions = 'conditions',\n Value = 'value',\n Priority = 'priority',\n IsEnabled = 'is_enabled',\n}\n\n/**\n * Feature Flag Provider Types\n */\nexport enum FEATURE_FLAG_PROVIDERS {\n MEMORY = 'memory',\n FILE = 'file',\n REDIS = 'redis',\n API = 'api',\n DATABASE = 'database',\n}\n\n/**\n * Node Environment Types\n */\nexport enum NODE_ENVIRONMENTS {\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n STAGING = 'staging',\n TEST = 'test',\n}\n\n/**\n * Database Field Names\n */\nexport enum DATABASE_FIELDS {\n Key = 'key',\n FlagKey = 'flag_key',\n UserId = 'user_id',\n IsEnabled = 'is_enabled',\n CreatedAt = 'created_at',\n UpdatedAt = 'updated_at',\n ExpiresAt = 'expires_at',\n EvaluatedAt = 'evaluated_at',\n}\n\n/**\n * System User Constants\n */\nexport enum SYSTEM_USERS {\n SYSTEM = 'system',\n}\n\n/**\n * Evaluation Reasons\n */\nexport enum EVALUATION_REASONS {\n EVALUATION = 'evaluation',\n DefaultValue = 'default_value',\n RuleMatch = 'rule_match',\n OVERRIDE = 'override',\n}\n\n/**\n * Feature Flag Types\n */\nexport enum FEATURE_FLAG_TYPES {\n BOOLEAN = 'boolean',\n STRING = 'string',\n NUMBER = 'number',\n OBJECT = 'object',\n}\n","/**\n * Default Configuration Values\n */\nexport const FEATURE_FLAG_DEFAULTS = {\n CACHE_TTL: 300,\n REFRESH_INTERVAL: 0,\n POOL_SIZE: 10,\n TIMEOUT: 30000,\n TABLE_NAME: 'feature_flags',\n} as const;\n\n/**\n * Metadata keys used for attaching feature flag information\n * to route handlers via decorators.\n */\nexport const FEATURE_FLAG_METADATA = {\n FLAG_CHECK: 'plyaz:feature_flag_check', // Single feature flag check\n RESOLVE_FLAGS: 'plyaz:resolve_feature_flags', // Multiple flags resolved at once\n};\n","/**\n * Enum representing standardized error types used across the application.\n * @description These error types help classify different categories of errors such as validation issues and system-level failures.\n *\n * @example\n * ```typescript\n * import { ERROR_TYPE } from '@plyaz/types';\n *\n * const errorType = ERROR_TYPE.ValidationError; // 'validation.error'\n *\n * // Error handling example\n * if (error.type === ERROR_TYPE.RateLimitExceeded) {\n * // Handle rate limiting\n * }\n * ```\n */\nexport const ERROR_TYPE = {\n /** A general validation error (e.g., form or input errors). */\n ValidationError: 'validation.error',\n\n /** Error related to schema validation, such as JSON schema or API payload checks. */\n SchemaValidationError: 'validation.schema.error',\n\n /** Unhandled or unexpected system error. */\n InternalError: 'system.internal.error',\n\n /** System dependency is currently unavailable (e.g., database or external API). */\n ServiceUnavailable: 'system.service.unavailable',\n\n /** The request took too long and timed out. */\n TimeoutError: 'system.timeout',\n\n /** Too many requests made in a short period of time. */\n RateLimitExceeded: 'system.rate.limit.exceeded',\n} as const;\n\n/**\n * Enum representing the severity level of an error.\n * @description This allows categorization of errors by their potential impact on the system or user.\n *\n * @example\n * ```typescript\n * import { ERROR_SEVERITY } from '@plyaz/types';\n *\n * const severity = ERROR_SEVERITY.Critical; // 'critical'\n * const shouldAlert = severity === ERROR_SEVERITY.High || severity === ERROR_SEVERITY.Critical;\n * ```\n */\nexport const ERROR_SEVERITY = {\n /** Low severity - does not impact functionality significantly. */\n Low: 'low',\n\n /** Medium severity - minor disruption or warning. */\n Medium: 'medium',\n\n /** High severity - major issue requiring attention. */\n High: 'high',\n\n /** Critical severity - blocking or crashing issue. */\n Critical: 'critical',\n} as const;\n\n/**\n * Enum representing the category or origin of an error.\n * @description Useful for filtering or logging errors based on their source or nature.\n *\n * @example\n * ```typescript\n * import { ERROR_CATEGORY } from '@plyaz/types';\n *\n * const category = ERROR_CATEGORY.Blockchain; // 'blockchain'\n * const isClientError = category === ERROR_CATEGORY.Client;\n * ```\n */\nexport const ERROR_CATEGORY = {\n /** Client-side error (e.g., invalid request). */\n Client: 'client',\n\n /** Server-side error (e.g., logic failure or exception). */\n Server: 'server',\n\n /** Network-related error (e.g., unreachable endpoint). */\n Network: 'network',\n\n /** Blockchain-related error (e.g., transaction failure, gas limit). */\n Blockchain: 'blockchain',\n\n /** Validation-specific error (e.g., failed constraints or field errors). */\n Validation: 'validation',\n\n /** Authentication-related error (e.g., invalid credentials, expired token). */\n Authentication: 'authentication',\n\n /** Authorization-related error (e.g., insufficient permissions). */\n Authorization: 'authorization',\n\n /** Resource not found error. */\n NotFound: 'not.found',\n\n /** Rate limiting error (too many requests). */\n RateLimit: 'rate.limit',\n\n /** External service error (e.g., third-party API failure). */\n ExternalService: 'external.service',\n\n /** Timeout error (request exceeded time limit). */\n Timeout: 'timeout',\n\n /** Conflict error (e.g., resource state conflict). */\n Conflict: 'conflict',\n\n /** Cache-related error. */\n Cache: 'cache',\n\n /** Headers-related error (e.g., missing or invalid headers). */\n Headers: 'headers',\n\n /** Retry-related error (e.g., max retries exceeded). */\n Retry: 'retry',\n\n /** Strategy-related error (e.g., invalid retry or caching strategy). */\n Strategy: 'strategy',\n\n /** Regional-related error (e.g., region detection failure). */\n Regional: 'regional',\n\n /** Provider-related error (e.g., notification service provider failure). */\n Provider: 'provider',\n\n /** Queue-related error (e.g., queue full or processing failed). */\n Queue: 'queue',\n\n /** Webhook-related error (e.g., invalid signature or processing failure). */\n Webhook: 'webhook',\n\n /** Template-related error (e.g., template not found or rendering failed). */\n Template: 'template',\n\n /** Configuration-related error (e.g., invalid or missing configuration). */\n Configuration: 'configuration',\n\n /** Payment processing-related error (e.g., capture or settlement failure). */\n Processing: 'processing',\n\n /** Fraud detection or prevention failure. */\n Fraud: 'fraud',\n\n /** Compliance-related error (e.g., AML/KYC validation failure). */\n Compliance: 'compliance',\n\n /** Limits or quota-related error (e.g., exceeded transaction limit). */\n Limits: 'limits',\n\n /** System-level error (unexpected internal issue). */\n System: 'system',\n\n /** Refund-related error (e.g., duplicate or failed refund). */\n Refund: 'refund',\n\n /** Security-related error (e.g., encryption or signature failure). */\n Security: 'security',\n\n /** File operation error (e.g., upload, download, delete failure). */\n FileOperation: 'file.operation',\n\n /** Plugin-related error (e.g., plugin initialization or execution failure). */\n Plugin: 'plugin',\n\n /** Quota or storage limit error (e.g., exceeded storage quota). */\n Quota: 'quota',\n\n /** Unknown or unclassified error. */\n Unknown: 'unknown',\n} as const;\n\n/**\n * Internal package status codes (non-HTTP)\n * Used for internal configuration and validation errors that aren't HTTP-related\n * These are in the 1xxx range to distinguish from HTTP status codes (which are typically 100-599)\n *\n * @example\n * ```typescript\n * import { INTERNAL_STATUS_CODES } from '@plyaz/types';\n *\n * const statusCode = INTERNAL_STATUS_CODES.INVALID_CONFIGURATION; // 1001\n * if (error.statusCode >= 1000 && error.statusCode < 2000) {\n * // Handle internal package error\n * }\n * ```\n */\nexport const INTERNAL_STATUS_CODES = {\n // Configuration errors (1001-1009)\n INVALID_CONFIGURATION: 1001,\n MISSING_CONFIGURATION: 1002,\n CONFIGURATION_CONFLICT: 1003,\n CONFIGURATION_TRACKING_FAILED: 1004,\n DEBUG_TRACKING_FAILED: 1005,\n\n // Resource errors (1010-1019)\n RESOURCE_NOT_FOUND: 1010,\n RESOURCE_ALREADY_EXISTS: 1011,\n RESOURCE_UNAVAILABLE: 1012,\n\n // Validation errors (1020-1029)\n INVALID_PARAMETER: 1020,\n MISSING_PARAMETER: 1021,\n PARAMETER_OUT_OF_RANGE: 1022,\n\n // Strategy/preset errors (1030-1039)\n STRATEGY_NOT_FOUND: 1030,\n PRESET_NOT_FOUND: 1031,\n INVALID_STRATEGY: 1032,\n\n // Request/Response errors (1035-1039)\n REQUEST_FAILED: 1035,\n\n // Internal system errors (1040-1049)\n INITIALIZATION_FAILED: 1040,\n OPERATION_FAILED: 1041,\n STATE_CORRUPTION: 1042,\n SERIALIZATION_FAILED: 1043,\n DESERIALIZATION_FAILED: 1044,\n CONFIGURATION_INVALID: 1045,\n HEADER_PROCESSING_ERROR: 1046,\n REGION_DETECTION_ERROR: 1047,\n NETWORK_OVERRIDE_ERROR: 1048,\n} as const;\n\n/**\n * Mapping of error category values to camelCase emitter keys\n * Used by event systems to route errors to appropriate handlers\n *\n * @example\n * ```typescript\n * import { ERROR_CATEGORY, ERROR_CATEGORY_TO_EMITTER_KEY } from '@plyaz/types';\n *\n * const category = ERROR_CATEGORY.RateLimit; // 'rate.limit'\n * const emitterKey = ERROR_CATEGORY_TO_EMITTER_KEY[category]; // 'rateLimit'\n *\n * // Use in event emitter\n * eventEmitter.emit(`error:${emitterKey}`, error);\n * ```\n */\nexport const ERROR_CATEGORY_TO_EMITTER_KEY = {\n [ERROR_CATEGORY.Network]: 'network',\n [ERROR_CATEGORY.Validation]: 'validation',\n [ERROR_CATEGORY.Authentication]: 'authentication',\n [ERROR_CATEGORY.Authorization]: 'authorization',\n [ERROR_CATEGORY.RateLimit]: 'rateLimit',\n [ERROR_CATEGORY.Server]: 'server',\n [ERROR_CATEGORY.Timeout]: 'timeout',\n [ERROR_CATEGORY.NotFound]: 'notFound',\n [ERROR_CATEGORY.Conflict]: 'conflict',\n [ERROR_CATEGORY.Client]: 'client',\n [ERROR_CATEGORY.ExternalService]: 'externalService',\n [ERROR_CATEGORY.Cache]: 'cache',\n [ERROR_CATEGORY.Headers]: 'headers',\n [ERROR_CATEGORY.Retry]: 'retry',\n [ERROR_CATEGORY.Blockchain]: 'blockchain',\n [ERROR_CATEGORY.Strategy]: 'strategy',\n [ERROR_CATEGORY.Regional]: 'regional',\n [ERROR_CATEGORY.Provider]: 'provider',\n [ERROR_CATEGORY.Queue]: 'queue',\n [ERROR_CATEGORY.Webhook]: 'webhook',\n [ERROR_CATEGORY.Template]: 'template',\n [ERROR_CATEGORY.Configuration]: 'configuration',\n [ERROR_CATEGORY.Processing]: 'processing',\n [ERROR_CATEGORY.Fraud]: 'fraud',\n [ERROR_CATEGORY.Compliance]: 'compliance',\n [ERROR_CATEGORY.Limits]: 'limits',\n [ERROR_CATEGORY.System]: 'system',\n [ERROR_CATEGORY.Refund]: 'refund',\n [ERROR_CATEGORY.Security]: 'security',\n [ERROR_CATEGORY.FileOperation]: 'fileOperation',\n [ERROR_CATEGORY.Plugin]: 'plugin',\n [ERROR_CATEGORY.Quota]: 'quota',\n [ERROR_CATEGORY.Unknown]: 'unknown',\n} as const satisfies Record<(typeof ERROR_CATEGORY)[keyof typeof ERROR_CATEGORY], string>;\n\n/**\n * Common operation names used in error context\n * These are optional helpers - you can use any freeform string in context.operation\n *\n * @example\n * ```typescript\n * import { COMMON_OPERATIONS } from '@plyaz/types';\n *\n * const context = { operation: COMMON_OPERATIONS.STORAGE };\n * // Or just use a string:\n * const context2 = { operation: 'custom-operation' };\n * ```\n */\nexport const COMMON_OPERATIONS = {\n // Data operations\n STORAGE: 'storage',\n RETRIEVAL: 'retrieval',\n INVALIDATION: 'invalidation',\n DELETION: 'deletion',\n\n // Processing operations\n VALIDATION: 'validation',\n ENRICHMENT: 'enrichment',\n SERIALIZATION: 'serialization',\n DESERIALIZATION: 'deserialization',\n\n // API operations\n REQUEST: 'request',\n RESPONSE: 'response',\n RETRY: 'retry',\n REVALIDATION: 'revalidation',\n POLLING: 'polling',\n\n // Configuration operations\n INITIALIZATION: 'initialization',\n CONFIGURATION: 'configuration',\n PRESET_LOOKUP: 'preset-lookup',\n REGIONAL_DETECTION: 'regional-detection',\n\n // Strategy operations\n STRATEGY_EXECUTION: 'strategy-execution',\n FALLBACK: 'fallback',\n\n // Event operations\n SUBSCRIPTION: 'subscription',\n PUBLICATION: 'publication',\n EVENT_HANDLING: 'event-handling',\n\n // Debugging operations\n DEBUG: 'debug',\n DEBUG_TRACKING: 'debug-tracking',\n TRACKING: 'tracking',\n MONITORING: 'monitoring',\n\n // Network operations\n NETWORK_CHECK: 'network-check',\n ENDPOINT_BUILD: 'endpoint-build',\n CONTEXT_SETUP: 'context-setup',\n\n // Notification operations\n SEND: 'send',\n RENDER: 'render',\n QUEUE: 'queue',\n PROCESS: 'process',\n} as const;\n\n/**\n * Common field names used in error context\n * These are optional helpers - you can use any freeform string in context.field\n *\n * @example\n * ```typescript\n * import { COMMON_FIELDS } from '@plyaz/types';\n *\n * const context = { field: COMMON_FIELDS.EMAIL };\n * // Or just use a string:\n * const context2 = { field: 'customField' };\n * ```\n */\nexport const COMMON_FIELDS = {\n // Storage fields\n STORAGE: 'storage',\n CACHE: 'cache',\n\n // Configuration fields\n CONFIG: 'config',\n PRESET_NAME: 'presetName',\n PRESET_ID: 'presetId',\n\n // HTTP fields\n HEADERS: 'headers',\n URL: 'url',\n METHOD: 'method',\n\n // Strategy fields\n STRATEGY: 'strategy',\n\n // Retry fields\n RETRY_COUNT: 'retryCount',\n MAX_RETRIES: 'maxRetries',\n\n // Polling fields\n POLLING_INTERVAL: 'pollingInterval',\n\n // Event fields\n TOPIC: 'topic',\n CHANNEL: 'channel',\n\n // API fields\n ENDPOINT: 'endpoint',\n CLIENT: 'client',\n\n // Network fields\n NETWORK_TYPE: 'networkType',\n TIME_INTERVAL: 'timeInterval',\n\n // Notification fields\n EMAIL: 'email',\n PHONE: 'phoneNumber',\n RECIPIENT: 'recipient',\n TEMPLATE: 'template',\n PROVIDER: 'provider',\n} as const;\n\n/**\n * Common storage type names\n * These are optional helpers - you can use any freeform string in context.storageType\n *\n * @example\n * ```typescript\n * import { COMMON_STORAGE_TYPES } from '@plyaz/types';\n *\n * const context = { storageType: COMMON_STORAGE_TYPES.REDIS };\n * // Or just use a string:\n * const context2 = { storageType: 'custom-storage' };\n * ```\n */\nexport const COMMON_STORAGE_TYPES = {\n PRIMARY: 'primary',\n FALLBACK: 'fallback',\n MEMORY: 'memory',\n SESSION: 'session',\n LOCAL: 'local',\n REDIS: 'redis',\n DATABASE: 'database',\n} as const;\n\n/**\n * Namespaces for categorizing error exceptions classes in different packages and category based exceptions\n */\nexport const ERROR_EXCEPTIONS_NAMESPACES = {\n BASE: 'base',\n API: 'api',\n AUTH: 'auth',\n NOTIFICATIONS: 'notifications',\n STORAGE: 'storage',\n DB: 'db',\n VALIDATION: 'validation',\n GENERIC: 'generic',\n PAYMENTS: 'payments',\n ERRORS: 'errors',\n LOGGER: 'logger',\n TYPES: 'types',\n CONFIG: 'config',\n UTILS: 'utils',\n EVENTS: 'events',\n TRANSLATIONS: 'translations',\n UI: 'ui',\n TESTING: 'testing',\n CORE: 'core',\n STORE: 'store',\n WEB3: 'web3',\n MONITORING: 'monitoring',\n HOOKS: 'hooks',\n COMMON: 'common',\n COMPLIANCE: 'compliance',\n PAYMENT_WEBHOOKS: 'payment-webhook',\n};\n","/**\n * HTTP Status Code Constants\n *\n * Common HTTP status codes used throughout the application.\n * Based on RFC 9110 (HTTP Semantics) and common usage patterns.\n *\n * @module http/constants\n */\n\n/**\n * Standard HTTP status codes\n */\nexport const HTTP_STATUS = {\n // 1xx Informational\n /**\n * 100 Continue - The initial part of a request has been received\n */\n CONTINUE: 100,\n\n /**\n * 101 Switching Protocols - The server is switching protocols\n */\n SWITCHING_PROTOCOLS: 101,\n\n /**\n * 102 Processing - The server has received and is processing the request\n */\n PROCESSING: 102,\n\n /**\n * 103 Early Hints - Used to return some response headers before final HTTP message\n */\n EARLY_HINTS: 103,\n\n // 2xx Success\n /**\n * 200 OK - The request succeeded\n */\n OK: 200,\n\n /**\n * 201 Created - The request succeeded and a new resource was created\n */\n CREATED: 201,\n\n /**\n * 202 Accepted - The request has been received but not yet acted upon\n */\n ACCEPTED: 202,\n\n /**\n * 203 Non-Authoritative Information - The returned metadata is not from the origin server\n */\n NON_AUTHORITATIVE_INFORMATION: 203,\n\n /**\n * 204 No Content - There is no content to send for this request\n */\n NO_CONTENT: 204,\n\n /**\n * 205 Reset Content - Tells the user agent to reset the document\n */\n RESET_CONTENT: 205,\n\n /**\n * 206 Partial Content - The server is delivering only part of the resource\n */\n PARTIAL_CONTENT: 206,\n\n /**\n * 207 Multi-Status - Conveys information about multiple resources\n */\n MULTI_STATUS: 207,\n\n /**\n * 208 Already Reported - The members of a DAV binding have already been enumerated\n */\n ALREADY_REPORTED: 208,\n\n /**\n * 226 IM Used - The server has fulfilled a request for the resource\n */\n IM_USED: 226,\n\n // 3xx Redirection\n /**\n * 300 Multiple Choices - Multiple options for the resource are available\n */\n MULTIPLE_CHOICES: 300,\n\n /**\n * 301 Moved Permanently - The URL of the requested resource has been changed permanently\n */\n MOVED_PERMANENTLY: 301,\n\n /**\n * 302 Found - The resource resides temporarily under a different URI\n */\n FOUND: 302,\n\n /**\n * 303 See Other - Direct the client to get the resource at another URI\n */\n SEE_OTHER: 303,\n\n /**\n * 304 Not Modified - The cached version is still valid\n */\n NOT_MODIFIED: 304,\n\n /**\n * 305 Use Proxy - Defined in a previous version of the HTTP specification\n */\n USE_PROXY: 305,\n\n /**\n * 307 Temporary Redirect - The request should be repeated with another URI\n */\n TEMPORARY_REDIRECT: 307,\n\n /**\n * 308 Permanent Redirect - The resource is permanently located at another URI\n */\n PERMANENT_REDIRECT: 308,\n\n // 4xx Client Errors\n /**\n * 400 Bad Request - The server cannot process the request due to client error\n */\n BAD_REQUEST: 400,\n\n /**\n * 401 Unauthorized - Authentication is required and has failed or not been provided\n */\n UNAUTHORIZED: 401,\n\n /**\n * 402 Payment Required - Reserved for future use\n */\n PAYMENT_REQUIRED: 402,\n\n /**\n * 403 Forbidden - The server understood the request but refuses to authorize it\n */\n FORBIDDEN: 403,\n\n /**\n * 404 Not Found - The server cannot find the requested resource\n */\n NOT_FOUND: 404,\n\n /**\n * 405 Method Not Allowed - The request method is not supported for the requested resource\n */\n METHOD_NOT_ALLOWED: 405,\n\n /**\n * 406 Not Acceptable - The requested resource is not available in a format acceptable to the client\n */\n NOT_ACCEPTABLE: 406,\n\n /**\n * 407 Proxy Authentication Required - The client must authenticate itself with the proxy\n */\n PROXY_AUTHENTICATION_REQUIRED: 407,\n\n /**\n * 408 Request Timeout - The server timed out waiting for the request\n */\n REQUEST_TIMEOUT: 408,\n\n /**\n * 409 Conflict - The request conflicts with the current state of the server\n */\n CONFLICT: 409,\n\n /**\n * 410 Gone - The requested resource is no longer available and will not be available again\n */\n GONE: 410,\n\n /**\n * 411 Length Required - The request did not specify the length of its content\n */\n LENGTH_REQUIRED: 411,\n\n /**\n * 412 Precondition Failed - The server does not meet one of the preconditions\n */\n PRECONDITION_FAILED: 412,\n\n /**\n * 413 Payload Too Large - The request is larger than the server is willing to process\n */\n PAYLOAD_TOO_LARGE: 413,\n\n /**\n * 414 URI Too Long - The URI provided was too long for the server to process\n */\n URI_TOO_LONG: 414,\n\n /**\n * 415 Unsupported Media Type - The request entity has a media type not supported by the server\n */\n UNSUPPORTED_MEDIA_TYPE: 415,\n\n /**\n * 416 Range Not Satisfiable - The client has asked for a portion of the file that the server cannot supply\n */\n RANGE_NOT_SATISFIABLE: 416,\n\n /**\n * 417 Expectation Failed - The server cannot meet the requirements of the Expect request-header field\n */\n EXPECTATION_FAILED: 417,\n\n /**\n * 418 I'm a teapot - The server refuses to brew coffee because it is a teapot\n */\n IM_A_TEAPOT: 418,\n\n /**\n * 421 Misdirected Request - The request was directed at a server that is not able to produce a response\n */\n MISDIRECTED_REQUEST: 421,\n\n /**\n * 422 Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors\n */\n UNPROCESSABLE_ENTITY: 422,\n\n /**\n * 423 Locked - The resource that is being accessed is locked\n */\n LOCKED: 423,\n\n /**\n * 424 Failed Dependency - The request failed due to failure of a previous request\n */\n FAILED_DEPENDENCY: 424,\n\n /**\n * 425 Too Early - The server is unwilling to risk processing a request that might be replayed\n */\n TOO_EARLY: 425,\n\n /**\n * 426 Upgrade Required - The client should switch to a different protocol\n */\n UPGRADE_REQUIRED: 426,\n\n /**\n * 428 Precondition Required - The origin server requires the request to be conditional\n */\n PRECONDITION_REQUIRED: 428,\n\n /**\n * 429 Too Many Requests - The user has sent too many requests in a given amount of time\n */\n TOO_MANY_REQUESTS: 429,\n\n /**\n * 431 Request Header Fields Too Large - The server is unwilling to process the request because its header fields are too large\n */\n REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n\n /**\n * 451 Unavailable For Legal Reasons - The user requested a resource that cannot legally be provided\n */\n UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n\n // 5xx Server Errors\n /**\n * 500 Internal Server Error - The server encountered an unexpected condition\n */\n INTERNAL_SERVER_ERROR: 500,\n\n /**\n * 501 Not Implemented - The server does not support the functionality required to fulfill the request\n */\n NOT_IMPLEMENTED: 501,\n\n /**\n * 502 Bad Gateway - The server received an invalid response from the upstream server\n */\n BAD_GATEWAY: 502,\n\n /**\n * 503 Service Unavailable - The server is not ready to handle the request\n */\n SERVICE_UNAVAILABLE: 503,\n\n /**\n * 504 Gateway Timeout - The server did not get a response in time from the upstream server\n */\n GATEWAY_TIMEOUT: 504,\n\n /**\n * 505 HTTP Version Not Supported - The HTTP version used in the request is not supported by the server\n */\n HTTP_VERSION_NOT_SUPPORTED: 505,\n\n /**\n * 506 Variant Also Negotiates - The server has an internal configuration error\n */\n VARIANT_ALSO_NEGOTIATES: 506,\n\n /**\n * 507 Insufficient Storage - The server is unable to store the representation needed to complete the request\n */\n INSUFFICIENT_STORAGE: 507,\n\n /**\n * 508 Loop Detected - The server detected an infinite loop while processing the request\n */\n LOOP_DETECTED: 508,\n\n /**\n * 510 Not Extended - Further extensions to the request are required for the server to fulfill it\n */\n NOT_EXTENDED: 510,\n\n /**\n * 511 Network Authentication Required - The client needs to authenticate to gain network access\n */\n NETWORK_AUTHENTICATION_REQUIRED: 511,\n} as const;\n\n/**\n * Type for HTTP status codes\n */\nexport type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];\n","/**\n * Unified Error Codes and Definitions\n * Centralized source of truth for ALL error handling across @plyaz packages\n *\n * This file is the single source of truth for:\n * - All error codes\n * - All error definitions\n * - Error code to definition mappings\n */\n\nimport { HTTP_STATUS } from '../http/constants';\nimport { ERROR_CATEGORY, ERROR_SEVERITY } from './enums';\nimport type { ErrorDefinitions } from './types';\n\n/**\n * All Error Codes\n * Combined error codes from all @plyaz packages\n */\nexport const ERROR_CODES = {\n // ===== API Package Errors =====\n // Client Configuration\n CLIENT_INITIALIZATION_FAILED: 'CLIENT_INITIALIZATION_FAILED',\n CLIENT_INVALID_CONFIG: 'CLIENT_INVALID_CONFIG',\n CLIENT_MISSING_BASE_URL: 'CLIENT_MISSING_BASE_URL',\n CLIENT_CANCELLED: 'CLIENT_CANCELLED',\n CONFIG_VALIDATION_FAILED: 'CONFIG_VALIDATION_FAILED',\n HEADER_PROCESSING_FAILED: 'HEADER_PROCESSING_FAILED',\n NETWORK_OVERRIDE_FAILED: 'NETWORK_OVERRIDE_FAILED',\n\n // Request\n REQUEST_TIMEOUT: 'REQUEST_TIMEOUT',\n REQUEST_ABORTED: 'REQUEST_ABORTED',\n REQUEST_INVALID_PARAMS: 'REQUEST_INVALID_PARAMS',\n REQUEST_PREPARATION_FAILED: 'REQUEST_PREPARATION_FAILED',\n\n // Response\n RESPONSE_INVALID_FORMAT: 'RESPONSE_INVALID_FORMAT',\n RESPONSE_PARSING_FAILED: 'RESPONSE_PARSING_FAILED',\n\n // Authentication/Authorization\n AUTH_UNAUTHORIZED: 'AUTH_UNAUTHORIZED',\n AUTH_FORBIDDEN: 'AUTH_FORBIDDEN',\n AUTH_TOKEN_EXPIRED: 'AUTH_TOKEN_EXPIRED',\n AUTH_INVALID_CREDENTIALS: 'AUTH_INVALID_CREDENTIALS',\n\n // Rate Limiting\n RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',\n\n // Resources\n RESOURCE_NOT_FOUND: 'RESOURCE_NOT_FOUND',\n RESOURCE_CONFLICT: 'RESOURCE_CONFLICT',\n\n // Validation\n API_VALIDATION_FAILED: 'API_VALIDATION_FAILED',\n API_INVALID_INPUT: 'API_INVALID_INPUT',\n VALIDATION_ERROR: 'VALIDATION_ERROR',\n REQUIRED_FIELD_MISSING: 'REQUIRED_FIELD_MISSING',\n INVALID_FORMAT: 'INVALID_FORMAT',\n VALIDATION_INVALID_FORMAT: 'VALIDATION_INVALID_FORMAT',\n STRING_TOO_SHORT: 'STRING_TOO_SHORT',\n STRING_TOO_LONG: 'STRING_TOO_LONG',\n\n // Network\n NETWORK_ERROR: 'NETWORK_ERROR',\n CONNECTION_FAILED: 'CONNECTION_FAILED',\n NETWORK_CONNECTION_FAILED: 'NETWORK_CONNECTION_FAILED',\n NETWORK_OFFLINE: 'NETWORK_OFFLINE',\n NETWORK_DNS_FAILED: 'NETWORK_DNS_FAILED',\n NETWORK_TIMEOUT: 'NETWORK_TIMEOUT',\n NETWORK_PRESET_NOT_FOUND: 'NETWORK_PRESET_NOT_FOUND',\n NETWORK_CONFIGURATION_INVALID: 'NETWORK_CONFIGURATION_INVALID',\n\n // Server\n SERVER_ERROR: 'SERVER_ERROR',\n INTERNAL_SERVER_ERROR: 'INTERNAL_SERVER_ERROR',\n SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',\n\n // Cache\n CACHE_READ_FAILED: 'CACHE_READ_FAILED',\n CACHE_WRITE_FAILED: 'CACHE_WRITE_FAILED',\n CACHE_INVALIDATION_FAILED: 'CACHE_INVALIDATION_FAILED',\n CACHE_STORAGE_FAILED: 'CACHE_STORAGE_FAILED',\n CACHE_RETRIEVAL_FAILED: 'CACHE_RETRIEVAL_FAILED',\n\n // Retry\n RETRY_LIMIT_EXCEEDED: 'RETRY_LIMIT_EXCEEDED',\n RETRY_FAILED: 'RETRY_FAILED',\n RETRY_EXHAUSTED: 'RETRY_EXHAUSTED',\n RETRY_STRATEGY_INVALID: 'RETRY_STRATEGY_INVALID',\n\n // Strategy\n STRATEGY_INVALID: 'STRATEGY_INVALID',\n STRATEGY_CONFLICT: 'STRATEGY_CONFLICT',\n STRATEGY_EXECUTION_FAILED: 'STRATEGY_EXECUTION_FAILED',\n\n // Headers\n HEADERS_ENRICHMENT_FAILED: 'HEADERS_ENRICHMENT_FAILED',\n HEADERS_VALIDATION_FAILED: 'HEADERS_VALIDATION_FAILED',\n HEADERS_MERGE_CONFLICT: 'HEADERS_MERGE_CONFLICT',\n\n // Regional\n REGION_DETECTION_FAILED: 'REGION_DETECTION_FAILED',\n REGIONAL_PRESET_NOT_FOUND: 'REGIONAL_PRESET_NOT_FOUND',\n\n // External Services\n EXTERNAL_SERVICE_ERROR: 'EXTERNAL_SERVICE_ERROR',\n\n // Timeout (generic)\n TIMEOUT: 'TIMEOUT',\n\n // Debugging\n DEBUG_TRACKING_FAILED: 'DEBUG_TRACKING_FAILED',\n\n // Polling\n POLLING_CANCELLED: 'POLLING_CANCELLED',\n POLLING_TIMEOUT: 'POLLING_TIMEOUT',\n POLLING_INVALID_CONFIG: 'POLLING_INVALID_CONFIG',\n\n // PubSub\n PUBSUB_SUBSCRIPTION_FAILED: 'PUBSUB_SUBSCRIPTION_FAILED',\n PUBSUB_PUBLICATION_FAILED: 'PUBSUB_PUBLICATION_FAILED',\n PUBSUB_INVALID_TOPIC: 'PUBSUB_INVALID_TOPIC',\n PUBSUB_CHANNEL_ERROR: 'PUBSUB_CHANNEL_ERROR',\n\n // Revalidation\n REVALIDATION_FAILED: 'REVALIDATION_FAILED',\n REVALIDATION_IN_PROGRESS: 'REVALIDATION_IN_PROGRESS',\n\n // Debugging\n DEBUG_OVERRIDE_FAILED: 'DEBUG_OVERRIDE_FAILED',\n DEBUG_CONFLICT_DETECTED: 'DEBUG_CONFLICT_DETECTED',\n\n // Endpoint\n ENDPOINT_BUILD_FAILED: 'ENDPOINT_BUILD_FAILED',\n ENDPOINT_NOT_FOUND: 'ENDPOINT_NOT_FOUND',\n ENDPOINT_INVALID_CONFIG: 'ENDPOINT_INVALID_CONFIG',\n\n // Event\n EVENT_HANDLER_FAILED: 'EVENT_HANDLER_FAILED',\n EVENT_EMISSION_FAILED: 'EVENT_EMISSION_FAILED',\n MONITORING_FAILED: 'MONITORING_FAILED',\n\n // Context\n CONTEXT_OPERATION_FAILED: 'CONTEXT_OPERATION_FAILED',\n\n // Generic\n CLIENT_ERROR: 'CLIENT_ERROR',\n UNKNOWN_ERROR: 'UNKNOWN_ERROR',\n\n // ===== Notification Package Errors =====\n // Provider\n NOTIFICATION_PROVIDER_SEND_FAILED: 'notification.provider.send.failed',\n NOTIFICATION_PROVIDER_CONFIGURATION_INVALID: 'notification.provider.configuration.invalid',\n NOTIFICATION_PROVIDER_RATE_LIMIT: 'notification.provider.rate.limit',\n NOTIFICATION_PROVIDER_AUTH_FAILED: 'notification.provider.auth.failed',\n NOTIFICATION_PROVIDER_TIMEOUT: 'notification.provider.timeout',\n NOTIFICATION_PROVIDER_UNAVAILABLE: 'notification.provider.unavailable',\n NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED: 'notification.provider.feature.not.supported',\n NOTIFICATION_ALL_PROVIDERS_FAILED: 'notification.all.providers.failed',\n\n // Validation\n NOTIFICATION_INVALID_INPUT: 'notification.validation.input.invalid',\n NOTIFICATION_INVALID_RECIPIENT: 'notification.validation.recipient.invalid',\n NOTIFICATION_INVALID_TEMPLATE: 'notification.validation.template.invalid',\n NOTIFICATION_INVALID_PAYLOAD: 'notification.validation.payload.invalid',\n NOTIFICATION_MISSING_REQUIRED_FIELD: 'notification.validation.field.required',\n NOTIFICATION_VALIDATION_FAILED: 'notification.validation.failed',\n\n // User Preferences\n NOTIFICATION_USER_OPTED_OUT: 'notification.user.opted.out',\n\n // Queue\n NOTIFICATION_QUEUE_FULL: 'notification.queue.full',\n NOTIFICATION_QUEUE_PROCESSING_FAILED: 'notification.queue.processing.failed',\n\n // Webhook\n NOTIFICATION_WEBHOOK_SIGNATURE_INVALID: 'notification.webhook.signature.invalid',\n NOTIFICATION_WEBHOOK_VALIDATION_FAILED: 'notification.webhook.validation.failed',\n NOTIFICATION_WEBHOOK_PROCESSING_FAILED: 'notification.webhook.processing.failed',\n\n // Template\n NOTIFICATION_TEMPLATE_NOT_FOUND: 'notification.template.not.found',\n NOTIFICATION_TEMPLATE_RENDER_FAILED: 'notification.template.render.failed',\n\n // General Notification\n NOTIFICATION_UNKNOWN_ERROR: 'notification.unknown.error',\n NOTIFICATION_INITIALIZATION_FAILED: 'notification.initialization.failed',\n\n // ===== Storage Package Errors =====\n // General\n STORAGE_UNKNOWN_ERROR: 'storage.unknown.error',\n STORAGE_INITIALIZATION_FAILED: 'storage.initialization.failed',\n\n // Adapter\n STORAGE_ADAPTER_NOT_FOUND: 'storage.adapter.not.found',\n STORAGE_ADAPTER_INITIALIZATION_FAILED: 'storage.adapter.initialization.failed',\n STORAGE_ADAPTER_CONFIGURATION_INVALID: 'storage.adapter.configuration.invalid',\n STORAGE_ADAPTER_ALREADY_REGISTERED: 'storage.adapter.already.registered',\n STORAGE_ADAPTER_CONNECTION_FAILED: 'storage.adapter.connection.failed',\n STORAGE_ADAPTER_AUTHENTICATION_FAILED: 'storage.adapter.authentication.failed',\n STORAGE_ADAPTER_OPERATION_FAILED: 'storage.adapter.operation.failed',\n STORAGE_ADAPTER_HEALTH_CHECK_FAILED: 'storage.adapter.health.check.failed',\n STORAGE_ADAPTER_UNAVAILABLE: 'storage.adapter.unavailable',\n STORAGE_ADAPTER_TIMEOUT: 'storage.adapter.timeout',\n STORAGE_ADAPTER_RATE_LIMIT: 'storage.adapter.rate.limit',\n STORAGE_ADAPTER_QUOTA_EXCEEDED: 'storage.adapter.quota.exceeded',\n STORAGE_ADAPTER_UNSUPPORTED_OPERATION: 'storage.adapter.unsupported.operation',\n STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED: 'storage.adapter.feature.not.supported',\n STORAGE_NO_HEALTHY_ADAPTERS: 'storage.no.healthy.adapters',\n STORAGE_ALL_ADAPTERS_FAILED: 'storage.all.adapters.failed',\n\n // File Validation\n STORAGE_FILE_TOO_LARGE: 'storage.file.too.large',\n STORAGE_FILE_TOO_SMALL: 'storage.file.too.small',\n STORAGE_FILE_SIZE_INVALID: 'storage.file.size.invalid',\n STORAGE_FILE_TYPE_NOT_ALLOWED: 'storage.file.type.not.allowed',\n STORAGE_INVALID_MIME_TYPE: 'storage.invalid.mime.type',\n STORAGE_INVALID_FILE_EXTENSION: 'storage.invalid.file.extension',\n STORAGE_FILE_EXTENSION_INVALID: 'storage.file.extension.invalid',\n STORAGE_FILE_EXTENSION_MISMATCH: 'storage.file.extension.mismatch',\n STORAGE_EXECUTABLE_NOT_ALLOWED: 'storage.executable.not.allowed',\n STORAGE_VALIDATION_FAILED: 'storage.validation.failed',\n STORAGE_INVALID_FILE_CONTENT: 'storage.invalid.file.content',\n\n // Security\n STORAGE_SECURITY_VIRUS_DETECTED: 'storage.security.virus.detected',\n STORAGE_SECURITY_SCAN_FAILED: 'storage.security.scan.failed',\n STORAGE_SECURITY_ACCESS_DENIED: 'storage.security.access.denied',\n STORAGE_SECURITY_ENCRYPTION_FAILED: 'storage.security.encryption.failed',\n\n // File Operations\n STORAGE_FILE_UPLOAD_FAILED: 'storage.file.upload.failed',\n STORAGE_FILE_DOWNLOAD_FAILED: 'storage.file.download.failed',\n STORAGE_FILE_DELETE_FAILED: 'storage.file.delete.failed',\n STORAGE_FILE_UPDATE_FAILED: 'storage.file.update.failed',\n STORAGE_FILE_NOT_FOUND: 'storage.file.not.found',\n STORAGE_FILE_ALREADY_EXISTS: 'storage.file.already.exists',\n STORAGE_FILE_MOVE_FAILED: 'storage.file.move.failed',\n STORAGE_FILE_COPY_FAILED: 'storage.file.copy.failed',\n STORAGE_FILE_READ_FAILED: 'storage.file.read.failed',\n STORAGE_FILE_WRITE_FAILED: 'storage.file.write.failed',\n STORAGE_FILE_CORRUPTED: 'storage.file.corrupted',\n STORAGE_INVALID_OPERATION: 'storage.invalid.operation',\n\n // Metadata\n STORAGE_METADATA_EXTRACTION_FAILED: 'storage.metadata.extraction.failed',\n STORAGE_METADATA_INVALID: 'storage.metadata.invalid',\n STORAGE_METADATA_UPDATE_FAILED: 'storage.metadata.update.failed',\n\n // Media Processing\n STORAGE_MEDIA_PROCESSING_FAILED: 'storage.media.processing.failed',\n STORAGE_MEDIA_RESIZE_FAILED: 'storage.media.resize.failed',\n STORAGE_MEDIA_FORMAT_UNSUPPORTED: 'storage.media.format.unsupported',\n STORAGE_MEDIA_TRANSCODE_FAILED: 'storage.media.transcode.failed',\n STORAGE_MEDIA_THUMBNAIL_FAILED: 'storage.media.thumbnail.failed',\n STORAGE_MEDIA_INVALID_DIMENSIONS: 'storage.media.invalid.dimensions',\n\n // Template & PDF\n STORAGE_TEMPLATE_NOT_FOUND: 'storage.template.not.found',\n STORAGE_TEMPLATE_RENDER_FAILED: 'storage.template.render.failed',\n STORAGE_PDF_GENERATION_FAILED: 'storage.pdf.generation.failed',\n STORAGE_PDF_RENDERING_TIMEOUT: 'storage.pdf.rendering.timeout',\n\n // Queue\n STORAGE_QUEUE_FULL: 'storage.queue.full',\n STORAGE_QUEUE_PROCESSING_FAILED: 'storage.queue.processing.failed',\n STORAGE_QUEUE_ITEM_NOT_FOUND: 'storage.queue.item.not.found',\n\n // Compliance\n STORAGE_COMPLIANCE_VIOLATION: 'storage.compliance.violation',\n STORAGE_COMPLIANCE_RETENTION_VIOLATION: 'storage.compliance.retention.violation',\n STORAGE_COMPLIANCE_RETENTION_EXPIRED: 'storage.compliance.retention.expired',\n STORAGE_COMPLIANCE_IMMUTABLE_FILE: 'storage.compliance.immutable.file',\n STORAGE_COMPLIANCE_POLICY_NOT_FOUND: 'storage.compliance.policy.not.found',\n STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED: 'storage.compliance.soft.delete.required',\n STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE: 'storage.compliance.grace.period.active',\n STORAGE_COMPLIANCE_DEFERRED_DELETION: 'storage.compliance.deferred.deletion',\n STORAGE_COMPLIANCE_PATTERN_PROTECTED: 'storage.compliance.pattern.protected',\n\n // Share Links\n STORAGE_SHARE_LINK_NOT_FOUND: 'storage.share.link.not.found',\n STORAGE_SHARE_LINK_EXPIRED: 'storage.share.link.expired',\n STORAGE_SHARE_LINK_MAX_DOWNLOADS: 'storage.share.link.max.downloads',\n STORAGE_SHARE_LINK_INVALID_PASSWORD: 'storage.share.link.invalid.password',\n\n // Plugin\n STORAGE_PLUGIN_NOT_FOUND: 'storage.plugin.not.found',\n STORAGE_PLUGIN_INITIALIZATION_FAILED: 'storage.plugin.initialization.failed',\n STORAGE_PLUGIN_EXECUTION_FAILED: 'storage.plugin.execution.failed',\n\n // VirusTotal Provider (Plugin)\n STORAGE_VIRUSTOTAL_BAD_REQUEST: 'storage.virustotal.bad_request',\n STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED: 'storage.virustotal.authentication_required',\n STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS: 'storage.virustotal.wrong_credentials',\n STORAGE_VIRUSTOTAL_FILE_TOO_LARGE: 'storage.virustotal.file_too_large',\n STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED: 'storage.virustotal.quota_exceeded',\n STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND: 'storage.virustotal.analysis_not_found',\n STORAGE_VIRUSTOTAL_SCAN_TIMEOUT: 'storage.virustotal.scan_timeout',\n STORAGE_VIRUSTOTAL_SCAN_FAILED: 'storage.virustotal.scan_failed',\n\n // CDN Provider Errors (Third-party services - cross-package)\n // Cloudflare CDN\n CLOUDFLARE_AUTHENTICATION_FAILED: 'cloudflare.authentication.failed',\n CLOUDFLARE_ZONE_NOT_FOUND: 'cloudflare.zone.not.found',\n CLOUDFLARE_PURGE_FAILED: 'cloudflare.purge.failed',\n CLOUDFLARE_RATE_LIMIT_EXCEEDED: 'cloudflare.rate.limit.exceeded',\n CLOUDFLARE_INVALID_URL: 'cloudflare.invalid.url',\n CLOUDFLARE_API_ERROR: 'cloudflare.api.error',\n\n // AWS CloudFront CDN\n CLOUDFRONT_AUTHENTICATION_FAILED: 'cloudfront.authentication.failed',\n CLOUDFRONT_DISTRIBUTION_NOT_FOUND: 'cloudfront.distribution.not.found',\n CLOUDFRONT_INVALIDATION_FAILED: 'cloudfront.invalidation.failed',\n CLOUDFRONT_QUOTA_EXCEEDED: 'cloudfront.quota.exceeded',\n CLOUDFRONT_INVALID_PATH: 'cloudfront.invalid.path',\n CLOUDFRONT_API_ERROR: 'cloudfront.api.error',\n\n // Fastly CDN\n FASTLY_AUTHENTICATION_FAILED: 'fastly.authentication.failed',\n FASTLY_SERVICE_NOT_FOUND: 'fastly.service.not.found',\n FASTLY_PURGE_FAILED: 'fastly.purge.failed',\n FASTLY_RATE_LIMIT_EXCEEDED: 'fastly.rate.limit.exceeded',\n FASTLY_INVALID_URL: 'fastly.invalid.url',\n FASTLY_API_ERROR: 'fastly.api.error',\n\n // Generic CDN Errors\n CDN_INVALIDATION_FAILED: 'cdn.invalidation.failed',\n CDN_CONFIGURATION_INVALID: 'cdn.configuration.invalid',\n CDN_PROVIDER_NOT_FOUND: 'cdn.provider.not.found',\n\n // Webhook Errors\n STORAGE_WEBHOOK_SIGNATURE_INVALID: 'storage.webhook.signature.invalid',\n STORAGE_WEBHOOK_PAYLOAD_INVALID: 'storage.webhook.payload.invalid',\n STORAGE_WEBHOOK_PROCESSING_FAILED: 'storage.webhook.processing.failed',\n STORAGE_WEBHOOK_TIMEOUT: 'storage.webhook.timeout',\n STORAGE_WEBHOOK_ADAPTER_NOT_FOUND: 'storage.webhook.adapter.not.found',\n STORAGE_WEBHOOK_DUPLICATE_DETECTED: 'storage.webhook.duplicate.detected',\n STORAGE_WEBHOOK_IDEMPOTENCY_ERROR: 'storage.webhook.idempotency.error',\n STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED: 'storage.webhook.rate.limit.exceeded',\n\n // Presigned URLs\n STORAGE_PRESIGNED_URL_GENERATION_FAILED: 'storage.presigned.url.generation.failed',\n STORAGE_PRESIGNED_URL_EXPIRED: 'storage.presigned.url.expired',\n STORAGE_PRESIGNED_URL_INVALID: 'storage.presigned.url.invalid',\n\n // Chunked Upload\n STORAGE_CHUNKED_UPLOAD_INIT_FAILED: 'storage.chunked.upload.init.failed',\n STORAGE_CHUNKED_UPLOAD_PART_FAILED: 'storage.chunked.upload.part.failed',\n STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED: 'storage.chunked.upload.complete.failed',\n STORAGE_CHUNKED_UPLOAD_ABORT_FAILED: 'storage.chunked.upload.abort.failed',\n STORAGE_CHUNKED_UPLOAD_NOT_FOUND: 'storage.chunked.upload.not.found',\n\n // CORS\n STORAGE_CORS_CONFIGURATION_INVALID: 'storage.cors.configuration.invalid',\n STORAGE_CORS_ORIGIN_NOT_ALLOWED: 'storage.cors.origin.not.allowed',\n\n // TTL\n STORAGE_TTL_EXPIRED: 'storage.ttl.expired',\n STORAGE_TTL_CLEANUP_FAILED: 'storage.ttl.cleanup.failed',\n\n // Audit\n STORAGE_AUDIT_LOG_FAILED: 'storage.audit.log.failed',\n\n // Timeout & Network\n STORAGE_TIMEOUT: 'storage.timeout',\n STORAGE_NETWORK_ERROR: 'storage.network.error',\n STORAGE_CONNECTION_LOST: 'storage.connection.lost',\n\n // Permission & Quota\n STORAGE_PERMISSION_DENIED: 'storage.permission.denied',\n STORAGE_QUOTA_EXCEEDED: 'storage.quota.exceeded',\n STORAGE_INSUFFICIENT_SPACE: 'storage.insufficient.space',\n\n // Feature Implementation\n STORAGE_FEATURE_NOT_IMPLEMENTED: 'storage.feature.not.implemented',\n\n // ===== Core Package Errors =====\n // Feature Flags\n CORE_FEATURE_FLAG_NOT_FOUND: 'core.feature_flag.not_found',\n CORE_FEATURE_FLAG_INVALID_CONFIG: 'core.feature_flag.invalid_config',\n CORE_FEATURE_FLAG_EVALUATION_FAILED: 'core.feature_flag.evaluation_failed',\n CORE_FEATURE_FLAG_PROVIDER_ERROR: 'core.feature_flag.provider_error',\n CORE_FEATURE_FLAG_CACHE_ERROR: 'core.feature_flag.cache_error',\n CORE_FEATURE_FLAG_CONTEXT_INVALID: 'core.feature_flag.context_invalid',\n CORE_FEATURE_FLAG_RULE_INVALID: 'core.feature_flag.rule_invalid',\n CORE_FEATURE_FLAG_TOGGLE_FAILED: 'core.feature_flag.toggle_failed',\n\n // Cache\n CORE_CACHE_INITIALIZATION_FAILED: 'core.cache.initialization_failed',\n CORE_CACHE_STRATEGY_NOT_FOUND: 'core.cache.strategy_not_found',\n CORE_CACHE_OPERATION_FAILED: 'core.cache.operation_failed',\n CORE_CACHE_INVALIDATION_FAILED: 'core.cache.invalidation_failed',\n CORE_CACHE_SERIALIZATION_FAILED: 'core.cache.serialization_failed',\n\n // API Client\n CORE_API_CLIENT_INITIALIZATION_FAILED: 'core.api_client.initialization_failed',\n CORE_API_CLIENT_REQUEST_FAILED: 'core.api_client.request_failed',\n CORE_API_CLIENT_TIMEOUT: 'core.api_client.timeout',\n CORE_API_CLIENT_INVALID_RESPONSE: 'core.api_client.invalid_response',\n CORE_API_CLIENT_AUTHENTICATION_FAILED: 'core.api_client.authentication_failed',\n\n // Database Service\n CORE_DATABASE_SERVICE_INITIALIZATION_FAILED: 'core.database_service.initialization_failed',\n CORE_DATABASE_SERVICE_CONNECTION_FAILED: 'core.database_service.connection_failed',\n CORE_DATABASE_SERVICE_QUERY_FAILED: 'core.database_service.query_failed',\n CORE_DATABASE_SERVICE_TRANSACTION_FAILED: 'core.database_service.transaction_failed',\n\n // Validation\n CORE_VALIDATION_FAILED: 'core.validation.failed',\n CORE_VALIDATION_SCHEMA_INVALID: 'core.validation.schema_invalid',\n CORE_VALIDATION_REQUIRED_FIELD_MISSING: 'core.validation.required_field_missing',\n\n // Hash Utilities\n CORE_HASH_GENERATION_FAILED: 'core.hash.generation_failed',\n CORE_HASH_VERIFICATION_FAILED: 'core.hash.verification_failed',\n\n // Engine\n CORE_ENGINE_INITIALIZATION_FAILED: 'core.engine.initialization_failed',\n CORE_ENGINE_EXECUTION_FAILED: 'core.engine.execution_failed',\n CORE_ENGINE_CONFIGURATION_INVALID: 'core.engine.configuration_invalid',\n\n // Provider\n CORE_PROVIDER_NOT_FOUND: 'core.provider.not_found',\n CORE_PROVIDER_INITIALIZATION_FAILED: 'core.provider.initialization_failed',\n CORE_PROVIDER_OPERATION_FAILED: 'core.provider.operation_failed',\n\n // Context\n CORE_CONTEXT_INVALID: 'core.context.invalid',\n CORE_CONTEXT_MISSING_REQUIRED_DATA: 'core.context.missing_required_data',\n\n // General Core\n CORE_INITIALIZATION_FAILED: 'core.initialization_failed',\n CORE_CONFIGURATION_INVALID: 'core.configuration_invalid',\n CORE_OPERATION_FAILED: 'core.operation_failed',\n CORE_UNKNOWN_ERROR: 'core.unknown_error',\n\n // ===== Errors Package Errors =====\n ERROR_SYSTEM_NOT_INITIALIZED: 'error.system.not.initialized',\n EVENT_FACTORY_NOT_REGISTERED: 'error.event.factory.not.registered',\n DATABASE_ERROR: 'error.database',\n\n // ===== Database Errors =====\n // Connection & Configuration\n DB_ACCESS_DENIED: 'db.access_denied',\n DB_CONFIG_REQUIRED: 'db.config_required',\n DB_CONNECT_FAILED: 'db.connect_failed',\n DB_DISCONNECT_FAILED: 'db.disconnect_failed',\n DB_INIT_FAILED: 'db.init_failed',\n\n // Query & Execution\n DB_QUERY_FAILED: 'db.query_failed',\n DB_BUILD_WHERE_FAILED: 'db.build_where_failed',\n DB_INVALID_SQL: 'db.invalid_sql',\n DB_TRANSACTION_FAILED: 'db.transaction_failed',\n DB_UNSUPPORTED_OPERATOR: 'db.unsupported_operator',\n\n // CRUD Operations\n DB_CREATE_FAILED: 'db.create_failed',\n DB_CREATION_FAILED: 'db.creation_failed',\n DB_FETCH_FAILED: 'db.fetch_failed',\n DB_FIND_FAILED: 'db.find_failed',\n DB_FIND_MANY_FAILED: 'db.find_many_failed',\n DB_FIND_BY_ID_FAILED: 'db.find_by_id_failed',\n DB_UPDATE_FAILED: 'db.update_failed',\n DB_UPDATE_NO_CHANGES: 'db.update_no_changes',\n DB_DELETE_FAILED: 'db.delete_failed',\n DB_INSERT_FAILED: 'db.insert_failed',\n DB_RECORD_NOT_FOUND: 'db.record_not_found',\n DB_EXISTS_FAILED: 'db.exists_failed',\n\n // Schema & Columns\n DB_COLUMN_NOT_EXISTS: 'db.column_not_exists',\n DB_TABLE_NOT_REGISTERED: 'db.table_not_registered',\n DB_TABLE_REGISTRATION_FAILED: 'db.table_registration_failed',\n DB_ID_COLUMN_NOT_REGISTERED: 'db.id_column_not_registered',\n DB_INVALID_COLUMN: 'db.invalid_column',\n DB_INVALID_TABLE_NAME: 'db.invalid_table_name',\n DB_GET_ID_COLUMN_FAILED: 'db.get_id_column_failed',\n DB_GET_TABLE_FAILED: 'db.get_table_failed',\n\n // Validation & Parameters\n DB_INVALID_PARAMETERS: 'db.invalid_parameters',\n DB_INVALID_PARAMS: 'db.invalid_params',\n DB_INVALID_FILTER: 'db.invalid_filter',\n DB_INVALID_ID: 'db.invalid_id',\n DB_INVALID_ENTITY: 'db.invalid_entity',\n DB_INVALID_UPDATE_PARAMS: 'db.invalid_update_params',\n DB_INVALID_FIELD_NAME: 'db.invalid_field_name',\n DB_INVALID_RESULT: 'db.invalid_result',\n DB_NO_UPDATE_FIELDS: 'db.no_update_fields',\n\n // Count & Data\n DB_COUNT_FAILED: 'db.count_failed',\n DB_COUNT_NO_RESULTS: 'db.count_no_results',\n DB_NO_DATA: 'db.no_data',\n\n // Multi-tenant Context\n DB_NO_TENANT_CONTEXT: 'db.no_tenant_context',\n DB_NO_TENANT_ID: 'db.no_tenant_id',\n DB_TENANT_VALIDATION_FAILED: 'db.tenant_validation_failed',\n\n // Backup & Restore\n DB_BACKUP_CLEANUP_FAILED: 'db.backup_cleanup_failed',\n DB_BACKUP_FILE_NOT_FOUND: 'db.backup_file_not_found',\n DB_LIST_BACKUPS_FAILED: 'db.list_backups_failed',\n DB_INVALID_BACKUP_INFO: 'db.invalid_backup_info',\n DB_RESTORE_FAILED: 'db.restore_failed',\n\n // Cache Operations\n DB_CACHE_DELETE_FAILED: 'db.cache_delete_failed',\n DB_CACHE_HEALTH_CHECK_FAILED: 'db.cache_health_check_failed',\n DB_CACHE_INVALIDATE_FAILED: 'db.cache_invalidate_failed',\n DB_CACHE_SET_FAILED: 'db.cache_set_failed',\n DB_CACHE_GET_FAILED: 'db.cache_get_failed',\n\n // File & Storage\n DB_INVALID_FILEPATH: 'db.invalid_filepath',\n DB_S3_DELETE_FAILED: 'db.s3_delete_failed',\n DB_S3_DOWNLOAD_FAILED: 'db.s3_download_failed',\n DB_S3_NOT_CONFIGURED: 'db.s3_not_configured',\n DB_S3_UPLOAD_FAILED: 'db.s3_upload_failed',\n\n // Misc\n DB_SCHEDULE_SETUP_FAILED: 'db.schedule_setup_failed',\n DB_DECRYPTION_FAILED: 'db.decryption_failed',\n DB_INVALID_SHELL_ARG: 'db.invalid_shell_arg',\n DB_INVALID_BETWEEN_OPERATOR: 'db.invalid_between_operator',\n DB_INVALID_IN_OPERATOR: 'db.invalid_in_operator',\n DB_INVALID_COUNT: 'db.invalid_count',\n\n // Connection & Network\n DB_CONNECTION_FAILED: 'db.connection_failed',\n DB_TIMEOUT: 'db.timeout',\n\n // Constraints & Integrity\n DB_CONSTRAINT_VIOLATION: 'db.constraint_violation',\n DB_DEADLOCK: 'db.deadlock',\n DB_DUPLICATE_ENTRY: 'db.duplicate_entry',\n\n // Entity Operations\n DB_ENTITY_NOT_FOUND: 'db.entity_not_found',\n\n // Migration & Schema\n DB_MIGRATION_FAILED: 'db.migration_failed',\n\n // General\n DB_UNKNOWN_ERROR: 'db.unknown_error',\n\n // ===== Payments Package Errors =====\n\n PAYMENT_TIMEOUT: 'payment.timeout',\n PAYMENT_NETWORK_ERROR: 'payment.network.error',\n\n // Refund\n PAYMENT_REFUND_FAILED: 'payment.refund.failed',\n PAYMENT_REFUND_NOT_FOUND: 'payment.refund.not.found',\n PAYMENT_REFUND_ALREADY_PROCESSED: 'payment.refund.already.processed',\n PAYMENT_REFUND_AMOUNT_INVALID: 'payment.refund.amount.invalid',\n PAYMENT_REFUND_VALIDATION_FAILED: 'payment.refund.validation.failed',\n PAYMENT_REFUND_TIMEOUT: 'payment.refund.timeout',\n PAYMENT_REFUND_NOT_ALLOWED: 'payment.refund.not.allowed',\n PAYMENT_REFUND_AUTHORIZATION_FAILED: 'payment.refund.authorization.failed',\n PAYMENT_REFUND_PROCESSING_FAILED: 'payment.refund.processing.failed',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'payment.provider.error',\n PAYMENT_PROVIDER_UNAVAILABLE: 'payment.provider.unavailable',\n PAYMENT_PROVIDER_CONFIGURATION_INVALID: 'payment.provider.configuration.invalid',\n PAYMENT_PROVIDER_RESPONSE_INVALID: 'payment.provider.response.invalid',\n PAYMENT_PROVIDER_TIMEOUT: 'payment.provider.timeout',\n PAYMENT_PROVIDER_AUTH_FAILED: 'payment.provider.auth.failed',\n PAYMENT_PROVIDER_RATE_LIMIT: 'payment.provider.rate.limit', // for HTTP 429\n PAYMENT_PROVIDER_UNKNOWN: 'payment.provider.unknown',\n PAYMENT_CUSTOMER_CREATION_FAILED: 'payment.customer.creation.failed',\n\n // Payment method errors\n PAYMENT_METHOD_SAVE_FAILED: 'payment.method.save.failed',\n PAYMENT_METHOD_DELETE_FAILED: 'payment.method.delete.failed',\n\n // Subscription errors\n PAYMENT_SUBSCRIPTION_CREATE_FAILED: 'payment.subscription.create.failed',\n PAYMENT_SUBSCRIPTION_CANCEL_FAILED: 'payment.subscription.cancel.failed',\n\n // Payout errors\n PAYMENT_PAYOUT_FAILED: 'payment.payout.failed',\n\n // Transaction history errors\n PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED: 'payment.transaction.history.fetch.failed',\n\n // Compliance\n PAYMENT_COMPLIANCE_VIOLATION: 'payment.compliance.violation',\n PAYMENT_COMPLIANCE_CHECK_FAILED: 'payment.compliance.check.failed',\n PAYMENT_COMPLIANCE_LIMIT_EXCEEDED: 'payment.compliance.limit.exceeded',\n PAYMENT_COMPLIANCE_POLICY_MISSING: 'payment.compliance.policy.missing',\n PAYMENT_COMPLIANCE_KYC_REQUIRED: 'payment.compliance.kyc.required',\n PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION: 'payment.compliance.geographic.restriction',\n PAYMENT_COMPLIANCE_AML_CHECK_FAILED: 'payment.compliance.aml.check.failed',\n PAYMENT_COMPLIANCE_PSD2_STRONG_AUTH_REQUIRED: 'payment.compliance.psd2.strong.auth.required',\n PAYMENT_COMPLIANCE_GDPR_DATA_ACCESS: 'payment.compliance.gdpr.data.access',\n PAYMENT_COMPLIANCE_PCI_COMPLIANCE: 'payment.compliance.pci.compliance',\n PAYMENT_COMPLIANCE_LOCAL_BANKING_RESTRICTION: 'payment.compliance.local.banking.restriction',\n\n // Processing\n PAYMENT_PROCESSING_FAILED: 'payment.processing.failed',\n PAYMENT_PROCESSING_TIMEOUT: 'payment.processing.timeout',\n PAYMENT_PROCESSING_GATEWAY_ERROR: 'payment.processing.gateway.error',\n PAYMENT_PROCESSING_DUPLICATE: 'payment.processing.duplicate',\n PAYMENT_PROCESSING_UNEXPECTED_STATE: 'payment.processing.unexpected.state',\n\n // Security\n PAYMENT_SECURITY_VIOLATION: 'payment.security.violation',\n PAYMENT_SECURITY_SIGNATURE_INVALID: 'payment.security.signature.invalid',\n PAYMENT_SECURITY_ENCRYPTION_FAILED: 'payment.security.encryption.failed',\n PAYMENT_SECURITY_FRAUD_DETECTED: 'payment.security.fraud.detected',\n PAYMENT_SECURITY_TOKEN_INVALID: 'payment.security.token.invalid',\n PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED: 'payment.security.velocity.limit.exceeded',\n\n // Validation\n PAYMENT_VALIDATION_FAILED: 'payment.validation.failed',\n PAYMENT_VALIDATION_AMOUNT_INVALID: 'payment.validation.amount.invalid',\n PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED: 'payment.validation.currency.unsupported',\n PAYMENT_VALIDATION_METADATA_INVALID: 'payment.validation.metadata.invalid',\n PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD: 'payment.validation.field.required',\n\n // Webhook\n PAYMENT_WEBHOOK_SIGNATURE_INVALID: 'payment.webhook.signature.invalid',\n PAYMENT_WEBHOOK_PROCESSING_FAILED: 'payment.webhook.processing.failed',\n PAYMENT_WEBHOOK_VALIDATION_FAILED: 'payment.webhook.validation.failed',\n PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED: 'payment.webhook.event.type.unsupported',\n PAYMENT_WEBHOOK_HANDLER_NOT_FOUND: 'payment.webhook.handler.not.found',\n\n // ===== Payment Adapter & Core Errors =====\n PAYMENT_ADAPTER_INIT_FAILED: 'payment.adapter.init.failed',\n PAYMENT_ADAPTER_SHUTDOWN_ERROR: 'payment.adapter.shutdown.error',\n PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED: 'payment.adapter.hmac.computation.failed',\n PAYMENT_ADAPTER_MISSING_PROVIDER: 'payment.adapter.missing.provider',\n PAYMENT_ADAPTER_MISSING_ENVIRONMENT: 'payment.adapter.missing.environment',\n PAYMENT_ADAPTER_MISSING_CREDENTIALS: 'payment.adapter.missing.credentials',\n PAYMENT_ADAPTER_MISSING_WEBHOOK_URL: 'payment.adapter.missing.webhook.url',\n PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT: 'payment.adapter.missing.unregister.endpoint',\n PAYMENT_ADAPTER_UNSUPPORTED_OPERATION: 'payment.adapter.unsupported.operation',\n PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED: 'payment.adapter.response.mapping.failed',\n\n // Idempotency & State Management\n PAYMENT_IDEMPOTENCY_VIOLATION: 'payment.idempotency.violation',\n PAYMENT_IDEMPOTENCY_KEY_MISSING: 'payment.idempotency.key.missing',\n PAYMENT_IDEMPOTENCY_STORE_ERROR: 'payment.idempotency.store.error',\n\n // Routing & Strategy\n PAYMENT_ROUTING_FAILED: 'payment.routing.failed',\n PAYMENT_ROUTING_CONFIGURATION_INVALID: 'payment.routing.configuration.invalid',\n PAYMENT_ROUTING_PROVIDER_UNAVAILABLE: 'payment.routing.provider.unavailable',\n PAYMENT_ROUTING_RETRY_EXCEEDED: 'payment.routing.retry.exceeded',\n\n // General Payment Framework Errors\n PAYMENT_SYSTEM_NOT_INITIALIZED: 'payment.system.not.initialized',\n PAYMENT_CONTEXT_OPERATION_FAILED: 'payment.context.operation.failed',\n PAYMENT_INTERNAL_ERROR: 'payment.internal.error',\n PAYMENT_UNKNOWN_ERROR: 'payment.unknown.error',\n\n /**\n * Thrown when an event could not be emitted due to internal state or creation errors.\n * Typically non-retryable, indicates a logic or validation fault.\n */\n PAYMENT_EVENT_EMIT_FAILED: 'PAYMENT_EVENT_EMIT_FAILED',\n PAYMENT_EVENT_INVALID_TYPE: 'PAYMENT_EVENT_INVALID_TYPE',\n PAYMENT_EVENT_CREATION_FAILED: 'PAYMENT_EVENT_CREATION_FAILED',\n PAYMENT_EVENT_HANDLER_TIMEOUT: 'PAYMENT_EVENT_HANDLER_TIMEOUT',\n PAYMENT_EVENT_HANDLER_INVALID_RESULT: 'PAYMENT_EVENT_HANDLER_INVALID_RESULT',\n PAYMENT_EVENT_LIFECYCLE_FAILURE: 'PAYMENT_EVENT_LIFECYCLE_FAILURE',\n\n // Unsupported feature errors (Payment Gateway)\n SAVE_PAYMENT_METHOD_UNSUPPORTED: 'payment.method.save.unsupported',\n DELETE_PAYMENT_METHOD_UNSUPPORTED: 'payment.method.delete.unsupported',\n GET_USER_PAYMENT_METHODS_UNSUPPORTED: 'payment.method.get.unsupported',\n CREATE_SUBSCRIPTION_UNSUPPORTED: 'payment.subscription.create.unsupported',\n CANCEL_SUBSCRIPTION_UNSUPPORTED: 'payment.subscription.cancel.unsupported',\n PROCESS_PAYOUT_UNSUPPORTED: 'payment.payout.unsupported',\n GET_TRANSACTION_HISTORY_UNSUPPORTED: 'payment.transaction.history.unsupported',\n\n WITHDRAWAL_UNSUPPORTED: 'payment.withdrawal.unsupported',\n WITHDRAWAL_CREATE_UNSUPPORTED: 'payment.withdrawal.create.unsupported',\n WITHDRAWAL_PROCESS_UNSUPPORTED: 'payment.withdrawal.process.unsupported',\n WITHDRAWAL_STATUS_FETCH_UNSUPPORTED: 'payment.withdrawal.status.fetch.unsupported',\n WITHDRAWAL_CANCEL_UNSUPPORTED: 'payment.withdrawal.cancel.unsupported',\n\n WITHDRAWAL_INSUFFICIENT_BALANCE: 'payment.withdrawal.insufficient.balance',\n WITHDRAWAL_INVALID_ACCOUNT: 'payment.withdrawal.invalid.account',\n WITHDRAWAL_KYC_REQUIRED: 'payment.withdrawal.kyc.required',\n WITHDRAWAL_LIMIT_EXCEEDED: 'payment.withdrawal.limit.exceeded',\n WITHDRAWAL_PROVIDER_ERROR: 'payment.withdrawal.provider.error',\n WITHDRAWAL_FAILED: 'payment.withdrawal.failed',\n WITHDRAWAL_TIMEOUT: 'payment.withdrawal.timeout',\n\n // Product\n PRODUCT_CREATE_UNSUPPORTED: 'payment.product.create.unsupported',\n PRODUCT_UPDATE_UNSUPPORTED: 'payment.product.update.unsupported',\n PRODUCT_FETCH_UNSUPPORTED: 'payment.product.fetch.unsupported',\n PRODUCT_DEACTIVATE_UNSUPPORTED: 'payment.product.deactivate.unsupported',\n\n PRODUCT_NOT_FOUND: 'payment.product.not_found',\n PRODUCT_INVALID_DATA: 'payment.product.invalid.data',\n PRODUCT_PROVIDER_ERROR: 'payment.product.provider.error',\n PRODUCT_ALREADY_INACTIVE: 'payment.product.already.inactive',\n PRODUCT_SYNC_FAILED: 'payment.product.sync.failed',\n\n // Pricing\n PRICING_CREATE_UNSUPPORTED: 'payment.pricing.create.unsupported',\n PRICING_UPDATE_UNSUPPORTED: 'payment.pricing.update.unsupported',\n PRICING_DEACTIVATE_UNSUPPORTED: 'payment.pricing.deactivate.unsupported',\n\n PRICING_NOT_FOUND: 'payment.pricing.not_found',\n PRICING_INVALID_AMOUNT: 'payment.pricing.invalid.amount',\n PRICING_INVALID_CURRENCY: 'payment.pricing.invalid.currency',\n PRICING_PROVIDER_ERROR: 'payment.pricing.provider.error',\n PRICING_ALREADY_INACTIVE: 'payment.pricing.already.inactive',\n PRICING_SYNC_FAILED: 'payment.pricing.sync.failed',\n PRICING_REQUIRES_NEW_VERSION: 'payment.pricing.requires.new.version',\n} as const;\n\n/**\n * Type for all error code values\n */\nexport type ErrorCodeValue = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\n\n// ===== Package-Specific Error Code Subsets =====\n// These are convenience exports for backwards compatibility and easier imports\n\n/**\n * API-specific error codes\n * Subset of ERROR_CODES for @plyaz/api package\n */\nexport const API_ERROR_CODES = {\n CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,\n CLIENT_INVALID_CONFIG: ERROR_CODES.CLIENT_INVALID_CONFIG,\n CLIENT_MISSING_BASE_URL: ERROR_CODES.CLIENT_MISSING_BASE_URL,\n CLIENT_CANCELLED: ERROR_CODES.CLIENT_CANCELLED,\n CONFIG_VALIDATION_FAILED: ERROR_CODES.CONFIG_VALIDATION_FAILED,\n HEADER_PROCESSING_FAILED: ERROR_CODES.HEADER_PROCESSING_FAILED,\n NETWORK_OVERRIDE_FAILED: ERROR_CODES.NETWORK_OVERRIDE_FAILED,\n REQUEST_TIMEOUT: ERROR_CODES.REQUEST_TIMEOUT,\n REQUEST_ABORTED: ERROR_CODES.REQUEST_ABORTED,\n REQUEST_INVALID_PARAMS: ERROR_CODES.REQUEST_INVALID_PARAMS,\n REQUEST_PREPARATION_FAILED: ERROR_CODES.REQUEST_PREPARATION_FAILED,\n RESPONSE_INVALID_FORMAT: ERROR_CODES.RESPONSE_INVALID_FORMAT,\n RESPONSE_PARSING_FAILED: ERROR_CODES.RESPONSE_PARSING_FAILED,\n AUTH_UNAUTHORIZED: ERROR_CODES.AUTH_UNAUTHORIZED,\n AUTH_FORBIDDEN: ERROR_CODES.AUTH_FORBIDDEN,\n AUTH_TOKEN_EXPIRED: ERROR_CODES.AUTH_TOKEN_EXPIRED,\n AUTH_INVALID_CREDENTIALS: ERROR_CODES.AUTH_INVALID_CREDENTIALS,\n RATE_LIMIT_EXCEEDED: ERROR_CODES.RATE_LIMIT_EXCEEDED,\n RESOURCE_NOT_FOUND: ERROR_CODES.RESOURCE_NOT_FOUND,\n RESOURCE_CONFLICT: ERROR_CODES.RESOURCE_CONFLICT,\n VALIDATION_FAILED: ERROR_CODES.API_VALIDATION_FAILED,\n INVALID_INPUT: ERROR_CODES.API_INVALID_INPUT,\n VALIDATION_ERROR: ERROR_CODES.VALIDATION_ERROR,\n REQUIRED_FIELD_MISSING: ERROR_CODES.REQUIRED_FIELD_MISSING,\n INVALID_FORMAT: ERROR_CODES.INVALID_FORMAT,\n VALIDATION_INVALID_FORMAT: ERROR_CODES.VALIDATION_INVALID_FORMAT,\n STRING_TOO_SHORT: ERROR_CODES.STRING_TOO_SHORT,\n STRING_TOO_LONG: ERROR_CODES.STRING_TOO_LONG,\n NETWORK_ERROR: ERROR_CODES.NETWORK_ERROR,\n CONNECTION_FAILED: ERROR_CODES.CONNECTION_FAILED,\n NETWORK_CONNECTION_FAILED: ERROR_CODES.NETWORK_CONNECTION_FAILED,\n NETWORK_OFFLINE: ERROR_CODES.NETWORK_OFFLINE,\n NETWORK_DNS_FAILED: ERROR_CODES.NETWORK_DNS_FAILED,\n NETWORK_TIMEOUT: ERROR_CODES.NETWORK_TIMEOUT,\n NETWORK_CONFIGURATION_INVALID: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,\n SERVER_ERROR: ERROR_CODES.SERVER_ERROR,\n INTERNAL_SERVER_ERROR: ERROR_CODES.INTERNAL_SERVER_ERROR,\n SERVICE_UNAVAILABLE: ERROR_CODES.SERVICE_UNAVAILABLE,\n CACHE_READ_FAILED: ERROR_CODES.CACHE_READ_FAILED,\n CACHE_WRITE_FAILED: ERROR_CODES.CACHE_WRITE_FAILED,\n CACHE_INVALIDATION_FAILED: ERROR_CODES.CACHE_INVALIDATION_FAILED,\n CACHE_STORAGE_FAILED: ERROR_CODES.CACHE_STORAGE_FAILED,\n CACHE_RETRIEVAL_FAILED: ERROR_CODES.CACHE_RETRIEVAL_FAILED,\n RETRY_LIMIT_EXCEEDED: ERROR_CODES.RETRY_LIMIT_EXCEEDED,\n RETRY_FAILED: ERROR_CODES.RETRY_FAILED,\n RETRY_EXHAUSTED: ERROR_CODES.RETRY_EXHAUSTED,\n RETRY_STRATEGY_INVALID: ERROR_CODES.RETRY_STRATEGY_INVALID,\n STRATEGY_INVALID: ERROR_CODES.STRATEGY_INVALID,\n STRATEGY_CONFLICT: ERROR_CODES.STRATEGY_CONFLICT,\n STRATEGY_EXECUTION_FAILED: ERROR_CODES.STRATEGY_EXECUTION_FAILED,\n HEADERS_ENRICHMENT_FAILED: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,\n HEADERS_VALIDATION_FAILED: ERROR_CODES.HEADERS_VALIDATION_FAILED,\n HEADERS_MERGE_CONFLICT: ERROR_CODES.HEADERS_MERGE_CONFLICT,\n REGION_DETECTION_FAILED: ERROR_CODES.REGION_DETECTION_FAILED,\n REGIONAL_PRESET_NOT_FOUND: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,\n EXTERNAL_SERVICE_ERROR: ERROR_CODES.EXTERNAL_SERVICE_ERROR,\n NETWORK_PRESET_NOT_FOUND: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,\n TIMEOUT: ERROR_CODES.TIMEOUT,\n DEBUG_TRACKING_FAILED: ERROR_CODES.DEBUG_TRACKING_FAILED,\n DEBUG_OVERRIDE_FAILED: ERROR_CODES.DEBUG_OVERRIDE_FAILED,\n DEBUG_CONFLICT_DETECTED: ERROR_CODES.DEBUG_CONFLICT_DETECTED,\n POLLING_CANCELLED: ERROR_CODES.POLLING_CANCELLED,\n POLLING_TIMEOUT: ERROR_CODES.POLLING_TIMEOUT,\n POLLING_INVALID_CONFIG: ERROR_CODES.POLLING_INVALID_CONFIG,\n PUBSUB_SUBSCRIPTION_FAILED: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,\n PUBSUB_PUBLICATION_FAILED: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,\n PUBSUB_INVALID_TOPIC: ERROR_CODES.PUBSUB_INVALID_TOPIC,\n PUBSUB_CHANNEL_ERROR: ERROR_CODES.PUBSUB_CHANNEL_ERROR,\n REVALIDATION_FAILED: ERROR_CODES.REVALIDATION_FAILED,\n REVALIDATION_IN_PROGRESS: ERROR_CODES.REVALIDATION_IN_PROGRESS,\n ENDPOINT_BUILD_FAILED: ERROR_CODES.ENDPOINT_BUILD_FAILED,\n ENDPOINT_NOT_FOUND: ERROR_CODES.ENDPOINT_NOT_FOUND,\n ENDPOINT_INVALID_CONFIG: ERROR_CODES.ENDPOINT_INVALID_CONFIG,\n EVENT_HANDLER_FAILED: ERROR_CODES.EVENT_HANDLER_FAILED,\n EVENT_EMISSION_FAILED: ERROR_CODES.EVENT_EMISSION_FAILED,\n MONITORING_FAILED: ERROR_CODES.MONITORING_FAILED,\n CONTEXT_OPERATION_FAILED: ERROR_CODES.CONTEXT_OPERATION_FAILED,\n CLIENT_ERROR: ERROR_CODES.CLIENT_ERROR,\n UNKNOWN_ERROR: ERROR_CODES.UNKNOWN_ERROR,\n\n // CDN Provider Errors (Third-party services)\n // Cloudflare\n CLOUDFLARE_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED,\n CLOUDFLARE_ZONE_NOT_FOUND: ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND,\n CLOUDFLARE_PURGE_FAILED: ERROR_CODES.CLOUDFLARE_PURGE_FAILED,\n CLOUDFLARE_RATE_LIMIT_EXCEEDED: ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED,\n CLOUDFLARE_INVALID_URL: ERROR_CODES.CLOUDFLARE_INVALID_URL,\n CLOUDFLARE_API_ERROR: ERROR_CODES.CLOUDFLARE_API_ERROR,\n\n // CloudFront\n CLOUDFRONT_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED,\n CLOUDFRONT_DISTRIBUTION_NOT_FOUND: ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND,\n CLOUDFRONT_INVALIDATION_FAILED: ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED,\n CLOUDFRONT_QUOTA_EXCEEDED: ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED,\n CLOUDFRONT_INVALID_PATH: ERROR_CODES.CLOUDFRONT_INVALID_PATH,\n CLOUDFRONT_API_ERROR: ERROR_CODES.CLOUDFRONT_API_ERROR,\n\n // Fastly\n FASTLY_AUTHENTICATION_FAILED: ERROR_CODES.FASTLY_AUTHENTICATION_FAILED,\n FASTLY_SERVICE_NOT_FOUND: ERROR_CODES.FASTLY_SERVICE_NOT_FOUND,\n FASTLY_PURGE_FAILED: ERROR_CODES.FASTLY_PURGE_FAILED,\n FASTLY_RATE_LIMIT_EXCEEDED: ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED,\n FASTLY_INVALID_URL: ERROR_CODES.FASTLY_INVALID_URL,\n FASTLY_API_ERROR: ERROR_CODES.FASTLY_API_ERROR,\n\n // Generic CDN\n CDN_INVALIDATION_FAILED: ERROR_CODES.CDN_INVALIDATION_FAILED,\n CDN_CONFIGURATION_INVALID: ERROR_CODES.CDN_CONFIGURATION_INVALID,\n CDN_PROVIDER_NOT_FOUND: ERROR_CODES.CDN_PROVIDER_NOT_FOUND,\n} as const;\n\n/**\n * Notification-specific error codes\n * Subset of ERROR_CODES for @plyaz/notifications package\n */\nexport const NOTIFICATION_ERROR_CODES = {\n PROVIDER_SEND_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,\n PROVIDER_CONFIGURATION_INVALID: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,\n PROVIDER_RATE_LIMIT: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,\n PROVIDER_AUTH_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,\n PROVIDER_TIMEOUT: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,\n PROVIDER_UNAVAILABLE: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,\n PROVIDER_FEATURE_NOT_SUPPORTED: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,\n ALL_PROVIDERS_FAILED: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,\n INVALID_INPUT: ERROR_CODES.NOTIFICATION_INVALID_INPUT,\n INVALID_RECIPIENT: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,\n INVALID_TEMPLATE: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,\n INVALID_PAYLOAD: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,\n MISSING_REQUIRED_FIELD: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,\n VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,\n USER_OPTED_OUT: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,\n QUEUE_FULL: ERROR_CODES.NOTIFICATION_QUEUE_FULL,\n QUEUE_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,\n WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,\n WEBHOOK_VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,\n WEBHOOK_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,\n TEMPLATE_NOT_FOUND: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,\n TEMPLATE_RENDER_FAILED: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,\n UNKNOWN_ERROR: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,\n INITIALIZATION_FAILED: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,\n} as const;\n\n/**\n * Storage-specific error codes\n * Subset of ERROR_CODES for @plyaz/storage package\n */\nexport const STORAGE_ERROR_CODES = {\n // General\n UNKNOWN_ERROR: ERROR_CODES.STORAGE_UNKNOWN_ERROR,\n INITIALIZATION_FAILED: ERROR_CODES.STORAGE_INITIALIZATION_FAILED,\n\n // Adapter\n ADAPTER_NOT_FOUND: ERROR_CODES.STORAGE_ADAPTER_NOT_FOUND,\n ADAPTER_INITIALIZATION_FAILED: ERROR_CODES.STORAGE_ADAPTER_INITIALIZATION_FAILED,\n ADAPTER_CONFIGURATION_INVALID: ERROR_CODES.STORAGE_ADAPTER_CONFIGURATION_INVALID,\n ADAPTER_ALREADY_REGISTERED: ERROR_CODES.STORAGE_ADAPTER_ALREADY_REGISTERED,\n ADAPTER_CONNECTION_FAILED: ERROR_CODES.STORAGE_ADAPTER_CONNECTION_FAILED,\n ADAPTER_AUTHENTICATION_FAILED: ERROR_CODES.STORAGE_ADAPTER_AUTHENTICATION_FAILED,\n ADAPTER_OPERATION_FAILED: ERROR_CODES.STORAGE_ADAPTER_OPERATION_FAILED,\n ADAPTER_HEALTH_CHECK_FAILED: ERROR_CODES.STORAGE_ADAPTER_HEALTH_CHECK_FAILED,\n ADAPTER_UNAVAILABLE: ERROR_CODES.STORAGE_ADAPTER_UNAVAILABLE,\n ADAPTER_TIMEOUT: ERROR_CODES.STORAGE_ADAPTER_TIMEOUT,\n ADAPTER_RATE_LIMIT: ERROR_CODES.STORAGE_ADAPTER_RATE_LIMIT,\n ADAPTER_QUOTA_EXCEEDED: ERROR_CODES.STORAGE_ADAPTER_QUOTA_EXCEEDED,\n ADAPTER_UNSUPPORTED_OPERATION: ERROR_CODES.STORAGE_ADAPTER_UNSUPPORTED_OPERATION,\n ADAPTER_FEATURE_NOT_SUPPORTED: ERROR_CODES.STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED,\n NO_HEALTHY_ADAPTERS: ERROR_CODES.STORAGE_NO_HEALTHY_ADAPTERS,\n ALL_ADAPTERS_FAILED: ERROR_CODES.STORAGE_ALL_ADAPTERS_FAILED,\n\n // File Validation\n FILE_TOO_LARGE: ERROR_CODES.STORAGE_FILE_TOO_LARGE,\n FILE_TOO_SMALL: ERROR_CODES.STORAGE_FILE_TOO_SMALL,\n FILE_SIZE_INVALID: ERROR_CODES.STORAGE_FILE_SIZE_INVALID,\n FILE_TYPE_NOT_ALLOWED: ERROR_CODES.STORAGE_FILE_TYPE_NOT_ALLOWED,\n INVALID_MIME_TYPE: ERROR_CODES.STORAGE_INVALID_MIME_TYPE,\n INVALID_FILE_EXTENSION: ERROR_CODES.STORAGE_INVALID_FILE_EXTENSION,\n FILE_EXTENSION_INVALID: ERROR_CODES.STORAGE_FILE_EXTENSION_INVALID,\n FILE_EXTENSION_MISMATCH: ERROR_CODES.STORAGE_FILE_EXTENSION_MISMATCH,\n EXECUTABLE_NOT_ALLOWED: ERROR_CODES.STORAGE_EXECUTABLE_NOT_ALLOWED,\n VALIDATION_FAILED: ERROR_CODES.STORAGE_VALIDATION_FAILED,\n INVALID_FILE_CONTENT: ERROR_CODES.STORAGE_INVALID_FILE_CONTENT,\n\n // Security\n SECURITY_VIRUS_DETECTED: ERROR_CODES.STORAGE_SECURITY_VIRUS_DETECTED,\n SECURITY_SCAN_FAILED: ERROR_CODES.STORAGE_SECURITY_SCAN_FAILED,\n SECURITY_ACCESS_DENIED: ERROR_CODES.STORAGE_SECURITY_ACCESS_DENIED,\n SECURITY_ENCRYPTION_FAILED: ERROR_CODES.STORAGE_SECURITY_ENCRYPTION_FAILED,\n\n // File Operations\n FILE_UPLOAD_FAILED: ERROR_CODES.STORAGE_FILE_UPLOAD_FAILED,\n FILE_DOWNLOAD_FAILED: ERROR_CODES.STORAGE_FILE_DOWNLOAD_FAILED,\n FILE_DELETE_FAILED: ERROR_CODES.STORAGE_FILE_DELETE_FAILED,\n STORAGE_FILE_UPDATE_FAILED: ERROR_CODES.STORAGE_FILE_UPDATE_FAILED,\n FILE_NOT_FOUND: ERROR_CODES.STORAGE_FILE_NOT_FOUND,\n FILE_ALREADY_EXISTS: ERROR_CODES.STORAGE_FILE_ALREADY_EXISTS,\n FILE_MOVE_FAILED: ERROR_CODES.STORAGE_FILE_MOVE_FAILED,\n FILE_COPY_FAILED: ERROR_CODES.STORAGE_FILE_COPY_FAILED,\n FILE_READ_FAILED: ERROR_CODES.STORAGE_FILE_READ_FAILED,\n FILE_WRITE_FAILED: ERROR_CODES.STORAGE_FILE_WRITE_FAILED,\n FILE_CORRUPTED: ERROR_CODES.STORAGE_FILE_CORRUPTED,\n INVALID_OPERATION: ERROR_CODES.STORAGE_INVALID_OPERATION,\n\n // Metadata\n METADATA_EXTRACTION_FAILED: ERROR_CODES.STORAGE_METADATA_EXTRACTION_FAILED,\n METADATA_INVALID: ERROR_CODES.STORAGE_METADATA_INVALID,\n METADATA_UPDATE_FAILED: ERROR_CODES.STORAGE_METADATA_UPDATE_FAILED,\n\n // Media Processing\n MEDIA_PROCESSING_FAILED: ERROR_CODES.STORAGE_MEDIA_PROCESSING_FAILED,\n MEDIA_RESIZE_FAILED: ERROR_CODES.STORAGE_MEDIA_RESIZE_FAILED,\n MEDIA_FORMAT_UNSUPPORTED: ERROR_CODES.STORAGE_MEDIA_FORMAT_UNSUPPORTED,\n MEDIA_TRANSCODE_FAILED: ERROR_CODES.STORAGE_MEDIA_TRANSCODE_FAILED,\n MEDIA_THUMBNAIL_FAILED: ERROR_CODES.STORAGE_MEDIA_THUMBNAIL_FAILED,\n MEDIA_INVALID_DIMENSIONS: ERROR_CODES.STORAGE_MEDIA_INVALID_DIMENSIONS,\n\n // Template & PDF\n TEMPLATE_NOT_FOUND: ERROR_CODES.STORAGE_TEMPLATE_NOT_FOUND,\n TEMPLATE_RENDER_FAILED: ERROR_CODES.STORAGE_TEMPLATE_RENDER_FAILED,\n PDF_GENERATION_FAILED: ERROR_CODES.STORAGE_PDF_GENERATION_FAILED,\n PDF_RENDERING_TIMEOUT: ERROR_CODES.STORAGE_PDF_RENDERING_TIMEOUT,\n\n // Queue\n QUEUE_FULL: ERROR_CODES.STORAGE_QUEUE_FULL,\n QUEUE_PROCESSING_FAILED: ERROR_CODES.STORAGE_QUEUE_PROCESSING_FAILED,\n QUEUE_ITEM_NOT_FOUND: ERROR_CODES.STORAGE_QUEUE_ITEM_NOT_FOUND,\n\n // Compliance\n COMPLIANCE_VIOLATION: ERROR_CODES.STORAGE_COMPLIANCE_VIOLATION,\n COMPLIANCE_RETENTION_VIOLATION: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_VIOLATION,\n COMPLIANCE_RETENTION_EXPIRED: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_EXPIRED,\n COMPLIANCE_IMMUTABLE_FILE: ERROR_CODES.STORAGE_COMPLIANCE_IMMUTABLE_FILE,\n COMPLIANCE_POLICY_NOT_FOUND: ERROR_CODES.STORAGE_COMPLIANCE_POLICY_NOT_FOUND,\n COMPLIANCE_SOFT_DELETE_REQUIRED: ERROR_CODES.STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED,\n COMPLIANCE_GRACE_PERIOD_ACTIVE: ERROR_CODES.STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE,\n COMPLIANCE_DEFERRED_DELETION: ERROR_CODES.STORAGE_COMPLIANCE_DEFERRED_DELETION,\n COMPLIANCE_PATTERN_PROTECTED: ERROR_CODES.STORAGE_COMPLIANCE_PATTERN_PROTECTED,\n\n // Share Links\n SHARE_LINK_NOT_FOUND: ERROR_CODES.STORAGE_SHARE_LINK_NOT_FOUND,\n SHARE_LINK_EXPIRED: ERROR_CODES.STORAGE_SHARE_LINK_EXPIRED,\n SHARE_LINK_MAX_DOWNLOADS: ERROR_CODES.STORAGE_SHARE_LINK_MAX_DOWNLOADS,\n SHARE_LINK_INVALID_PASSWORD: ERROR_CODES.STORAGE_SHARE_LINK_INVALID_PASSWORD,\n\n // Plugin\n PLUGIN_NOT_FOUND: ERROR_CODES.STORAGE_PLUGIN_NOT_FOUND,\n PLUGIN_INITIALIZATION_FAILED: ERROR_CODES.STORAGE_PLUGIN_INITIALIZATION_FAILED,\n PLUGIN_EXECUTION_FAILED: ERROR_CODES.STORAGE_PLUGIN_EXECUTION_FAILED,\n\n // VirusTotal Provider (Plugin)\n VIRUSTOTAL_BAD_REQUEST: ERROR_CODES.STORAGE_VIRUSTOTAL_BAD_REQUEST,\n VIRUSTOTAL_AUTHENTICATION_REQUIRED: ERROR_CODES.STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED,\n VIRUSTOTAL_WRONG_CREDENTIALS: ERROR_CODES.STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS,\n VIRUSTOTAL_FILE_TOO_LARGE: ERROR_CODES.STORAGE_VIRUSTOTAL_FILE_TOO_LARGE,\n VIRUSTOTAL_QUOTA_EXCEEDED: ERROR_CODES.STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED,\n VIRUSTOTAL_ANALYSIS_NOT_FOUND: ERROR_CODES.STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND,\n VIRUSTOTAL_SCAN_TIMEOUT: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_TIMEOUT,\n VIRUSTOTAL_SCAN_FAILED: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_FAILED,\n\n // CDN Providers (Plugins) - Reference cross-package CDN errors\n // Cloudflare CDN\n CLOUDFLARE_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED,\n CLOUDFLARE_ZONE_NOT_FOUND: ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND,\n CLOUDFLARE_PURGE_FAILED: ERROR_CODES.CLOUDFLARE_PURGE_FAILED,\n CLOUDFLARE_RATE_LIMIT_EXCEEDED: ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED,\n CLOUDFLARE_INVALID_URL: ERROR_CODES.CLOUDFLARE_INVALID_URL,\n CLOUDFLARE_API_ERROR: ERROR_CODES.CLOUDFLARE_API_ERROR,\n\n // AWS CloudFront CDN\n CLOUDFRONT_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED,\n CLOUDFRONT_DISTRIBUTION_NOT_FOUND: ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND,\n CLOUDFRONT_INVALIDATION_FAILED: ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED,\n CLOUDFRONT_QUOTA_EXCEEDED: ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED,\n CLOUDFRONT_INVALID_PATH: ERROR_CODES.CLOUDFRONT_INVALID_PATH,\n CLOUDFRONT_API_ERROR: ERROR_CODES.CLOUDFRONT_API_ERROR,\n\n // Fastly CDN\n FASTLY_AUTHENTICATION_FAILED: ERROR_CODES.FASTLY_AUTHENTICATION_FAILED,\n FASTLY_SERVICE_NOT_FOUND: ERROR_CODES.FASTLY_SERVICE_NOT_FOUND,\n FASTLY_PURGE_FAILED: ERROR_CODES.FASTLY_PURGE_FAILED,\n FASTLY_RATE_LIMIT_EXCEEDED: ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED,\n FASTLY_INVALID_URL: ERROR_CODES.FASTLY_INVALID_URL,\n FASTLY_API_ERROR: ERROR_CODES.FASTLY_API_ERROR,\n\n // Generic CDN Errors\n CDN_INVALIDATION_FAILED: ERROR_CODES.CDN_INVALIDATION_FAILED,\n CDN_CONFIGURATION_INVALID: ERROR_CODES.CDN_CONFIGURATION_INVALID,\n CDN_PROVIDER_NOT_FOUND: ERROR_CODES.CDN_PROVIDER_NOT_FOUND,\n\n // Presigned URLs\n PRESIGNED_URL_GENERATION_FAILED: ERROR_CODES.STORAGE_PRESIGNED_URL_GENERATION_FAILED,\n PRESIGNED_URL_EXPIRED: ERROR_CODES.STORAGE_PRESIGNED_URL_EXPIRED,\n PRESIGNED_URL_INVALID: ERROR_CODES.STORAGE_PRESIGNED_URL_INVALID,\n\n // Chunked Upload\n CHUNKED_UPLOAD_INIT_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_INIT_FAILED,\n CHUNKED_UPLOAD_PART_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_PART_FAILED,\n CHUNKED_UPLOAD_COMPLETE_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED,\n CHUNKED_UPLOAD_ABORT_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_ABORT_FAILED,\n CHUNKED_UPLOAD_NOT_FOUND: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_NOT_FOUND,\n\n // CORS\n CORS_CONFIGURATION_INVALID: ERROR_CODES.STORAGE_CORS_CONFIGURATION_INVALID,\n CORS_ORIGIN_NOT_ALLOWED: ERROR_CODES.STORAGE_CORS_ORIGIN_NOT_ALLOWED,\n\n // TTL\n TTL_EXPIRED: ERROR_CODES.STORAGE_TTL_EXPIRED,\n TTL_CLEANUP_FAILED: ERROR_CODES.STORAGE_TTL_CLEANUP_FAILED,\n\n // Audit\n AUDIT_LOG_FAILED: ERROR_CODES.STORAGE_AUDIT_LOG_FAILED,\n\n // Webhook\n WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.STORAGE_WEBHOOK_SIGNATURE_INVALID,\n WEBHOOK_PAYLOAD_INVALID: ERROR_CODES.STORAGE_WEBHOOK_PAYLOAD_INVALID,\n WEBHOOK_PROCESSING_FAILED: ERROR_CODES.STORAGE_WEBHOOK_PROCESSING_FAILED,\n WEBHOOK_TIMEOUT: ERROR_CODES.STORAGE_WEBHOOK_TIMEOUT,\n WEBHOOK_ADAPTER_NOT_FOUND: ERROR_CODES.STORAGE_WEBHOOK_ADAPTER_NOT_FOUND,\n WEBHOOK_DUPLICATE_DETECTED: ERROR_CODES.STORAGE_WEBHOOK_DUPLICATE_DETECTED,\n WEBHOOK_IDEMPOTENCY_ERROR: ERROR_CODES.STORAGE_WEBHOOK_IDEMPOTENCY_ERROR,\n WEBHOOK_RATE_LIMIT_EXCEEDED: ERROR_CODES.STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED,\n\n // Timeout & Network\n TIMEOUT: ERROR_CODES.STORAGE_TIMEOUT,\n NETWORK_ERROR: ERROR_CODES.STORAGE_NETWORK_ERROR,\n CONNECTION_LOST: ERROR_CODES.STORAGE_CONNECTION_LOST,\n\n // Permission & Quota\n PERMISSION_DENIED: ERROR_CODES.STORAGE_PERMISSION_DENIED,\n QUOTA_EXCEEDED: ERROR_CODES.STORAGE_QUOTA_EXCEEDED,\n INSUFFICIENT_SPACE: ERROR_CODES.STORAGE_INSUFFICIENT_SPACE,\n\n // Feature Implementation\n FEATURE_NOT_IMPLEMENTED: ERROR_CODES.STORAGE_FEATURE_NOT_IMPLEMENTED,\n} as const;\n\n/**\n * Core-specific error codes\n * Subset of ERROR_CODES for @plyaz/core package\n */\nexport const CORE_ERROR_CODES = {\n // Feature Flags\n FEATURE_FLAG_NOT_FOUND: ERROR_CODES.CORE_FEATURE_FLAG_NOT_FOUND,\n FEATURE_FLAG_INVALID_CONFIG: ERROR_CODES.CORE_FEATURE_FLAG_INVALID_CONFIG,\n FEATURE_FLAG_EVALUATION_FAILED: ERROR_CODES.CORE_FEATURE_FLAG_EVALUATION_FAILED,\n FEATURE_FLAG_PROVIDER_ERROR: ERROR_CODES.CORE_FEATURE_FLAG_PROVIDER_ERROR,\n FEATURE_FLAG_CACHE_ERROR: ERROR_CODES.CORE_FEATURE_FLAG_CACHE_ERROR,\n FEATURE_FLAG_CONTEXT_INVALID: ERROR_CODES.CORE_FEATURE_FLAG_CONTEXT_INVALID,\n FEATURE_FLAG_RULE_INVALID: ERROR_CODES.CORE_FEATURE_FLAG_RULE_INVALID,\n FEATURE_FLAG_TOGGLE_FAILED: ERROR_CODES.CORE_FEATURE_FLAG_TOGGLE_FAILED,\n\n // Cache\n CACHE_INITIALIZATION_FAILED: ERROR_CODES.CORE_CACHE_INITIALIZATION_FAILED,\n CACHE_STRATEGY_NOT_FOUND: ERROR_CODES.CORE_CACHE_STRATEGY_NOT_FOUND,\n CACHE_OPERATION_FAILED: ERROR_CODES.CORE_CACHE_OPERATION_FAILED,\n CACHE_INVALIDATION_FAILED: ERROR_CODES.CORE_CACHE_INVALIDATION_FAILED,\n CACHE_SERIALIZATION_FAILED: ERROR_CODES.CORE_CACHE_SERIALIZATION_FAILED,\n\n // API Client\n API_CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CORE_API_CLIENT_INITIALIZATION_FAILED,\n API_CLIENT_REQUEST_FAILED: ERROR_CODES.CORE_API_CLIENT_REQUEST_FAILED,\n API_CLIENT_TIMEOUT: ERROR_CODES.CORE_API_CLIENT_TIMEOUT,\n API_CLIENT_INVALID_RESPONSE: ERROR_CODES.CORE_API_CLIENT_INVALID_RESPONSE,\n API_CLIENT_AUTHENTICATION_FAILED: ERROR_CODES.CORE_API_CLIENT_AUTHENTICATION_FAILED,\n\n // Database Service\n DATABASE_SERVICE_INITIALIZATION_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_INITIALIZATION_FAILED,\n DATABASE_SERVICE_CONNECTION_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_CONNECTION_FAILED,\n DATABASE_SERVICE_QUERY_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_QUERY_FAILED,\n DATABASE_SERVICE_TRANSACTION_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_TRANSACTION_FAILED,\n\n // Validation\n VALIDATION_FAILED: ERROR_CODES.CORE_VALIDATION_FAILED,\n VALIDATION_SCHEMA_INVALID: ERROR_CODES.CORE_VALIDATION_SCHEMA_INVALID,\n VALIDATION_REQUIRED_FIELD_MISSING: ERROR_CODES.CORE_VALIDATION_REQUIRED_FIELD_MISSING,\n\n // Hash Utilities\n HASH_GENERATION_FAILED: ERROR_CODES.CORE_HASH_GENERATION_FAILED,\n HASH_VERIFICATION_FAILED: ERROR_CODES.CORE_HASH_VERIFICATION_FAILED,\n\n // Engine\n ENGINE_INITIALIZATION_FAILED: ERROR_CODES.CORE_ENGINE_INITIALIZATION_FAILED,\n ENGINE_EXECUTION_FAILED: ERROR_CODES.CORE_ENGINE_EXECUTION_FAILED,\n ENGINE_CONFIGURATION_INVALID: ERROR_CODES.CORE_ENGINE_CONFIGURATION_INVALID,\n\n // Provider\n PROVIDER_NOT_FOUND: ERROR_CODES.CORE_PROVIDER_NOT_FOUND,\n PROVIDER_INITIALIZATION_FAILED: ERROR_CODES.CORE_PROVIDER_INITIALIZATION_FAILED,\n PROVIDER_OPERATION_FAILED: ERROR_CODES.CORE_PROVIDER_OPERATION_FAILED,\n\n // Context\n CONTEXT_INVALID: ERROR_CODES.CORE_CONTEXT_INVALID,\n CONTEXT_MISSING_REQUIRED_DATA: ERROR_CODES.CORE_CONTEXT_MISSING_REQUIRED_DATA,\n\n // General Core\n INITIALIZATION_FAILED: ERROR_CODES.CORE_INITIALIZATION_FAILED,\n CONFIGURATION_INVALID: ERROR_CODES.CORE_CONFIGURATION_INVALID,\n OPERATION_FAILED: ERROR_CODES.CORE_OPERATION_FAILED,\n UNKNOWN_ERROR: ERROR_CODES.CORE_UNKNOWN_ERROR,\n} as const;\n\n/**\n * PAYMENT-specific error codes\n * Subset of ERROR_CODES for @plyaz/payments package\n */\nexport const PAYMENT_ERROR_CODES = {\n // Timeout & Network\n PAYMENT_TIMEOUT: ERROR_CODES.PAYMENT_TIMEOUT,\n PAYMENT_NETWORK_ERROR: ERROR_CODES.PAYMENT_NETWORK_ERROR,\n\n // Refund\n PAYMENT_REFUND_FAILED: ERROR_CODES.PAYMENT_REFUND_FAILED,\n PAYMENT_REFUND_NOT_FOUND: ERROR_CODES.PAYMENT_REFUND_NOT_FOUND,\n PAYMENT_REFUND_ALREADY_PROCESSED: ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED,\n PAYMENT_REFUND_AMOUNT_INVALID: ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID,\n PAYMENT_REFUND_VALIDATION_FAILED: ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED,\n PAYMENT_REFUND_TIMEOUT: ERROR_CODES.PAYMENT_REFUND_TIMEOUT,\n PAYMENT_REFUND_NOT_ALLOWED: ERROR_CODES.PAYMENT_REFUND_NOT_ALLOWED,\n PAYMENT_REFUND_AUTHORIZATION_FAILED: ERROR_CODES.PAYMENT_REFUND_AUTHORIZATION_FAILED,\n PAYMENT_REFUND_PROCESSING_FAILED: ERROR_CODES.PAYMENT_REFUND_PROCESSING_FAILED,\n\n // Provider\n PAYMENT_PROVIDER_ERROR: ERROR_CODES.PAYMENT_PROVIDER_ERROR,\n PAYMENT_PROVIDER_UNAVAILABLE: ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE,\n PAYMENT_PROVIDER_CONFIGURATION_INVALID: ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID,\n PAYMENT_PROVIDER_RESPONSE_INVALID: ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID,\n PAYMENT_PROVIDER_TIMEOUT: ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT,\n PAYMENT_PROVIDER_AUTH_FAILED: ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED,\n PAYMENT_PROVIDER_RATE_LIMIT: ERROR_CODES.PAYMENT_PROVIDER_RATE_LIMIT,\n PAYMENT_PROVIDER_UNKNOWN: ERROR_CODES.PAYMENT_PROVIDER_UNKNOWN,\n PAYMENT_CUSTOMER_CREATION_FAILED: ERROR_CODES.PAYMENT_CUSTOMER_CREATION_FAILED,\n\n // Payment method\n PAYMENT_METHOD_SAVE_FAILED: ERROR_CODES.PAYMENT_METHOD_SAVE_FAILED,\n PAYMENT_METHOD_DELETE_FAILED: ERROR_CODES.PAYMENT_METHOD_DELETE_FAILED,\n\n // Subscription\n PAYMENT_SUBSCRIPTION_CREATE_FAILED: ERROR_CODES.PAYMENT_SUBSCRIPTION_CREATE_FAILED,\n PAYMENT_SUBSCRIPTION_CANCEL_FAILED: ERROR_CODES.PAYMENT_SUBSCRIPTION_CANCEL_FAILED,\n\n // Payout\n PAYMENT_PAYOUT_FAILED: ERROR_CODES.PAYMENT_PAYOUT_FAILED,\n\n // Transaction history\n PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED: ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED,\n\n // Compliance\n PAYMENT_COMPLIANCE_VIOLATION: ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION,\n PAYMENT_COMPLIANCE_CHECK_FAILED: ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED,\n PAYMENT_COMPLIANCE_LIMIT_EXCEEDED: ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED,\n PAYMENT_COMPLIANCE_POLICY_MISSING: ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING,\n PAYMENT_COMPLIANCE_KYC_REQUIRED: ERROR_CODES.PAYMENT_COMPLIANCE_KYC_REQUIRED,\n PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION: ERROR_CODES.PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION,\n\n // Processing\n PAYMENT_PROCESSING_FAILED: ERROR_CODES.PAYMENT_PROCESSING_FAILED,\n PAYMENT_PROCESSING_TIMEOUT: ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT,\n PAYMENT_PROCESSING_GATEWAY_ERROR: ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR,\n PAYMENT_PROCESSING_DUPLICATE: ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE,\n PAYMENT_PROCESSING_UNEXPECTED_STATE: ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE,\n\n // Security\n PAYMENT_SECURITY_VIOLATION: ERROR_CODES.PAYMENT_SECURITY_VIOLATION,\n PAYMENT_SECURITY_SIGNATURE_INVALID: ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID,\n PAYMENT_SECURITY_ENCRYPTION_FAILED: ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED,\n PAYMENT_SECURITY_FRAUD_DETECTED: ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED,\n PAYMENT_SECURITY_TOKEN_INVALID: ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID,\n PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED: ERROR_CODES.PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED,\n\n // Validation\n PAYMENT_VALIDATION_FAILED: ERROR_CODES.PAYMENT_VALIDATION_FAILED,\n PAYMENT_VALIDATION_AMOUNT_INVALID: ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID,\n PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED: ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED,\n PAYMENT_VALIDATION_METADATA_INVALID: ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID,\n PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD: ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD,\n\n // Webhook\n PAYMENT_WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID,\n PAYMENT_WEBHOOK_PROCESSING_FAILED: ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED,\n PAYMENT_WEBHOOK_VALIDATION_FAILED: ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED,\n PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED: ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED,\n PAYMENT_WEBHOOK_HANDLER_NOT_FOUND: ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND,\n\n // Adapter & Core\n PAYMENT_ADAPTER_INIT_FAILED: ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED,\n PAYMENT_ADAPTER_SHUTDOWN_ERROR: ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR,\n PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED: ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED,\n PAYMENT_ADAPTER_MISSING_PROVIDER: ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER,\n PAYMENT_ADAPTER_MISSING_ENVIRONMENT: ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT,\n PAYMENT_ADAPTER_MISSING_CREDENTIALS: ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS,\n PAYMENT_ADAPTER_MISSING_WEBHOOK_URL: ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL,\n PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT:\n ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT,\n PAYMENT_ADAPTER_UNSUPPORTED_OPERATION: ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION,\n PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED: ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED,\n\n // Unsupported Operations\n SAVE_PAYMENT_METHOD_UNSUPPORTED: ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED,\n DELETE_PAYMENT_METHOD_UNSUPPORTED: ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED,\n GET_USER_PAYMENT_METHODS_UNSUPPORTED: ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED,\n CREATE_SUBSCRIPTION_UNSUPPORTED: ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED,\n CANCEL_SUBSCRIPTION_UNSUPPORTED: ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED,\n PROCESS_PAYOUT_UNSUPPORTED: ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED,\n GET_TRANSACTION_HISTORY_UNSUPPORTED: ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED,\n\n // Idempotency\n PAYMENT_IDEMPOTENCY_VIOLATION: ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION,\n PAYMENT_IDEMPOTENCY_KEY_MISSING: ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING,\n PAYMENT_IDEMPOTENCY_STORE_ERROR: ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR,\n\n // Routing\n PAYMENT_ROUTING_FAILED: ERROR_CODES.PAYMENT_ROUTING_FAILED,\n PAYMENT_ROUTING_CONFIGURATION_INVALID: ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID,\n PAYMENT_ROUTING_PROVIDER_UNAVAILABLE: ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE,\n PAYMENT_ROUTING_RETRY_EXCEEDED: ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED,\n\n // General\n PAYMENT_SYSTEM_NOT_INITIALIZED: ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED,\n PAYMENT_CONTEXT_OPERATION_FAILED: ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED,\n PAYMENT_INTERNAL_ERROR: ERROR_CODES.PAYMENT_INTERNAL_ERROR,\n PAYMENT_UNKNOWN_ERROR: ERROR_CODES.PAYMENT_UNKNOWN_ERROR,\n\n // Event\n PAYMENT_EVENT_EMIT_FAILED: ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED,\n PAYMENT_EVENT_INVALID_TYPE: ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE,\n PAYMENT_EVENT_CREATION_FAILED: ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED,\n PAYMENT_EVENT_HANDLER_TIMEOUT: ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT,\n PAYMENT_EVENT_HANDLER_INVALID_RESULT: ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT,\n PAYMENT_EVENT_LIFECYCLE_FAILURE: ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE,\n\n // Withdrawal\n PAYMENT_WITHDRAWAL_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_CREATE_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_PROCESS_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_STATUS_FETCH_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_CANCEL_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED,\n\n PAYMENT_WITHDRAWAL_INSUFFICIENT_BALANCE: ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE,\n PAYMENT_WITHDRAWAL_INVALID_ACCOUNT: ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT,\n PAYMENT_WITHDRAWAL_KYC_REQUIRED: ERROR_CODES.WITHDRAWAL_KYC_REQUIRED,\n PAYMENT_WITHDRAWAL_LIMIT_EXCEEDED: ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED,\n PAYMENT_WITHDRAWAL_PROVIDER_ERROR: ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR,\n PAYMENT_WITHDRAWAL_FAILED: ERROR_CODES.WITHDRAWAL_FAILED,\n PAYMENT_WITHDRAWAL_TIMEOUT: ERROR_CODES.WITHDRAWAL_TIMEOUT,\n\n // Product\n PAYMENT_PRODUCT_CREATE_UNSUPPORTED: ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED,\n PAYMENT_PRODUCT_UPDATE_UNSUPPORTED: ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED,\n PAYMENT_PRODUCT_FETCH_UNSUPPORTED: ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED,\n PAYMENT_PRODUCT_DEACTIVATE_UNSUPPORTED: ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED,\n\n PAYMENT_PRODUCT_NOT_FOUND: ERROR_CODES.PRODUCT_NOT_FOUND,\n PAYMENT_PRODUCT_INVALID_DATA: ERROR_CODES.PRODUCT_INVALID_DATA,\n PAYMENT_PRODUCT_PROVIDER_ERROR: ERROR_CODES.PRODUCT_PROVIDER_ERROR,\n PAYMENT_PRODUCT_ALREADY_INACTIVE: ERROR_CODES.PRODUCT_ALREADY_INACTIVE,\n PAYMENT_PRODUCT_SYNC_FAILED: ERROR_CODES.PRODUCT_SYNC_FAILED,\n\n // Pricing\n PAYMENT_PRICING_CREATE_UNSUPPORTED: ERROR_CODES.PRICING_CREATE_UNSUPPORTED,\n PAYMENT_PRICING_UPDATE_UNSUPPORTED: ERROR_CODES.PRICING_UPDATE_UNSUPPORTED,\n PAYMENT_PRICING_DEACTIVATE_UNSUPPORTED: ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED,\n\n PAYMENT_PRICING_NOT_FOUND: ERROR_CODES.PRICING_NOT_FOUND,\n PAYMENT_PRICING_INVALID_AMOUNT: ERROR_CODES.PRICING_INVALID_AMOUNT,\n PAYMENT_PRICING_INVALID_CURRENCY: ERROR_CODES.PRICING_INVALID_CURRENCY,\n PAYMENT_PRICING_PROVIDER_ERROR: ERROR_CODES.PRICING_PROVIDER_ERROR,\n PAYMENT_PRICING_ALREADY_INACTIVE: ERROR_CODES.PRICING_ALREADY_INACTIVE,\n PAYMENT_PRICING_SYNC_FAILED: ERROR_CODES.PRICING_SYNC_FAILED,\n PAYMENT_PRICING_REQUIRES_NEW_VERSION: ERROR_CODES.PRICING_REQUIRES_NEW_VERSION,\n} as const;\n\n/** Database-specific error codes\n * Subset of ERROR_CODES for database operations\n */\nexport const DATABASE_ERROR_CODES = {\n ACCESS_DENIED: ERROR_CODES.DB_ACCESS_DENIED,\n CONFIG_REQUIRED: ERROR_CODES.DB_CONFIG_REQUIRED,\n CONNECT_FAILED: ERROR_CODES.DB_CONNECT_FAILED,\n DISCONNECT_FAILED: ERROR_CODES.DB_DISCONNECT_FAILED,\n INIT_FAILED: ERROR_CODES.DB_INIT_FAILED,\n QUERY_FAILED: ERROR_CODES.DB_QUERY_FAILED,\n BUILD_WHERE_FAILED: ERROR_CODES.DB_BUILD_WHERE_FAILED,\n INVALID_SQL: ERROR_CODES.DB_INVALID_SQL,\n TRANSACTION_FAILED: ERROR_CODES.DB_TRANSACTION_FAILED,\n UNSUPPORTED_OPERATOR: ERROR_CODES.DB_UNSUPPORTED_OPERATOR,\n CREATE_FAILED: ERROR_CODES.DB_CREATE_FAILED,\n CREATION_FAILED: ERROR_CODES.DB_CREATION_FAILED,\n FETCH_FAILED: ERROR_CODES.DB_FETCH_FAILED,\n FIND_FAILED: ERROR_CODES.DB_FIND_FAILED,\n FIND_MANY_FAILED: ERROR_CODES.DB_FIND_MANY_FAILED,\n FIND_BY_ID_FAILED: ERROR_CODES.DB_FIND_BY_ID_FAILED,\n UPDATE_FAILED: ERROR_CODES.DB_UPDATE_FAILED,\n UPDATE_NO_CHANGES: ERROR_CODES.DB_UPDATE_NO_CHANGES,\n DELETE_FAILED: ERROR_CODES.DB_DELETE_FAILED,\n INSERT_FAILED: ERROR_CODES.DB_INSERT_FAILED,\n RECORD_NOT_FOUND: ERROR_CODES.DB_RECORD_NOT_FOUND,\n EXISTS_FAILED: ERROR_CODES.DB_EXISTS_FAILED,\n COLUMN_NOT_EXISTS: ERROR_CODES.DB_COLUMN_NOT_EXISTS,\n TABLE_NOT_REGISTERED: ERROR_CODES.DB_TABLE_NOT_REGISTERED,\n TABLE_REGISTRATION_FAILED: ERROR_CODES.DB_TABLE_REGISTRATION_FAILED,\n ID_COLUMN_NOT_REGISTERED: ERROR_CODES.DB_ID_COLUMN_NOT_REGISTERED,\n INVALID_COLUMN: ERROR_CODES.DB_INVALID_COLUMN,\n INVALID_TABLE_NAME: ERROR_CODES.DB_INVALID_TABLE_NAME,\n GET_ID_COLUMN_FAILED: ERROR_CODES.DB_GET_ID_COLUMN_FAILED,\n GET_TABLE_FAILED: ERROR_CODES.DB_GET_TABLE_FAILED,\n INVALID_PARAMETERS: ERROR_CODES.DB_INVALID_PARAMETERS,\n INVALID_PARAMS: ERROR_CODES.DB_INVALID_PARAMS,\n INVALID_FILTER: ERROR_CODES.DB_INVALID_FILTER,\n INVALID_ID: ERROR_CODES.DB_INVALID_ID,\n INVALID_ENTITY: ERROR_CODES.DB_INVALID_ENTITY,\n INVALID_UPDATE_PARAMS: ERROR_CODES.DB_INVALID_UPDATE_PARAMS,\n INVALID_FIELD_NAME: ERROR_CODES.DB_INVALID_FIELD_NAME,\n INVALID_RESULT: ERROR_CODES.DB_INVALID_RESULT,\n NO_UPDATE_FIELDS: ERROR_CODES.DB_NO_UPDATE_FIELDS,\n COUNT_FAILED: ERROR_CODES.DB_COUNT_FAILED,\n COUNT_NO_RESULTS: ERROR_CODES.DB_COUNT_NO_RESULTS,\n NO_DATA: ERROR_CODES.DB_NO_DATA,\n NO_TENANT_CONTEXT: ERROR_CODES.DB_NO_TENANT_CONTEXT,\n NO_TENANT_ID: ERROR_CODES.DB_NO_TENANT_ID,\n TENANT_VALIDATION_FAILED: ERROR_CODES.DB_TENANT_VALIDATION_FAILED,\n BACKUP_CLEANUP_FAILED: ERROR_CODES.DB_BACKUP_CLEANUP_FAILED,\n BACKUP_FILE_NOT_FOUND: ERROR_CODES.DB_BACKUP_FILE_NOT_FOUND,\n LIST_BACKUPS_FAILED: ERROR_CODES.DB_LIST_BACKUPS_FAILED,\n INVALID_BACKUP_INFO: ERROR_CODES.DB_INVALID_BACKUP_INFO,\n RESTORE_FAILED: ERROR_CODES.DB_RESTORE_FAILED,\n CACHE_DELETE_FAILED: ERROR_CODES.DB_CACHE_DELETE_FAILED,\n CACHE_HEALTH_CHECK_FAILED: ERROR_CODES.DB_CACHE_HEALTH_CHECK_FAILED,\n CACHE_INVALIDATE_FAILED: ERROR_CODES.DB_CACHE_INVALIDATE_FAILED,\n CACHE_SET_FAILED: ERROR_CODES.DB_CACHE_SET_FAILED,\n CACHE_GET_FAILED: ERROR_CODES.DB_CACHE_GET_FAILED,\n INVALID_FILEPATH: ERROR_CODES.DB_INVALID_FILEPATH,\n S3_DELETE_FAILED: ERROR_CODES.DB_S3_DELETE_FAILED,\n S3_DOWNLOAD_FAILED: ERROR_CODES.DB_S3_DOWNLOAD_FAILED,\n S3_NOT_CONFIGURED: ERROR_CODES.DB_S3_NOT_CONFIGURED,\n S3_UPLOAD_FAILED: ERROR_CODES.DB_S3_UPLOAD_FAILED,\n SCHEDULE_SETUP_FAILED: ERROR_CODES.DB_SCHEDULE_SETUP_FAILED,\n DECRYPTION_FAILED: ERROR_CODES.DB_DECRYPTION_FAILED,\n INVALID_SHELL_ARG: ERROR_CODES.DB_INVALID_SHELL_ARG,\n INVALID_BETWEEN_OPERATOR: ERROR_CODES.DB_INVALID_BETWEEN_OPERATOR,\n INVALID_IN_OPERATOR: ERROR_CODES.DB_INVALID_IN_OPERATOR,\n INVALID_COUNT: ERROR_CODES.DB_INVALID_COUNT,\n CONNECTION_FAILED: ERROR_CODES.DB_CONNECTION_FAILED,\n CONSTRAINT_VIOLATION: ERROR_CODES.DB_CONSTRAINT_VIOLATION,\n TIMEOUT: ERROR_CODES.DB_TIMEOUT,\n DEADLOCK: ERROR_CODES.DB_DEADLOCK,\n ENTITY_NOT_FOUND: ERROR_CODES.DB_ENTITY_NOT_FOUND,\n DUPLICATE_ENTRY: ERROR_CODES.DB_DUPLICATE_ENTRY,\n MIGRATION_FAILED: ERROR_CODES.DB_MIGRATION_FAILED,\n UNKNOWN_ERROR: ERROR_CODES.DB_UNKNOWN_ERROR,\n} as const;\n\nexport type ApiErrorCodeValue =\n | (typeof API_ERROR_CODES)[keyof typeof API_ERROR_CODES]\n | `HTTP_${number}`;\nexport type NotificationErrorCodeValue =\n (typeof NOTIFICATION_ERROR_CODES)[keyof typeof NOTIFICATION_ERROR_CODES];\n\nexport type StorageErrorCode = (typeof STORAGE_ERROR_CODES)[keyof typeof STORAGE_ERROR_CODES];\n\nexport type DatabaseErrorCodeValue =\n (typeof DATABASE_ERROR_CODES)[keyof typeof DATABASE_ERROR_CODES];\n\nexport type CoreErrorCodeValue = (typeof CORE_ERROR_CODES)[keyof typeof CORE_ERROR_CODES];\n\nexport type PaymentErrorCodeValue = (typeof PAYMENT_ERROR_CODES)[keyof typeof PAYMENT_ERROR_CODES];\n\n/**\n * Unified ERROR_DEFINITIONS\n * Single source of truth for ALL error definitions across all @plyaz packages\n *\n * Combines:\n * - API error definitions (basic: code, status, category, fieldsLeft)\n * - Notification error definitions (extended: includes severity, retryable, userMessage)\n *\n * All packages can access ANY error definition for cross-package error handling\n */\nexport const ERROR_DEFINITIONS: ErrorDefinitions = {\n // ===== API Package Error Definitions =====\n // Authentication\n [ERROR_CODES.AUTH_UNAUTHORIZED]: {\n code: ERROR_CODES.AUTH_UNAUTHORIZED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.auth.unauthorized',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.AUTH_FORBIDDEN]: {\n code: ERROR_CODES.AUTH_FORBIDDEN,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n userMessage: 'errors.auth.forbidden',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.AUTH_TOKEN_EXPIRED]: {\n code: ERROR_CODES.AUTH_TOKEN_EXPIRED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.auth.token_expired',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {\n code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.auth.invalid_credentials',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Rate Limiting\n [ERROR_CODES.RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n userMessage: 'errors.rate_limit.exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Resources\n [ERROR_CODES.RESOURCE_NOT_FOUND]: {\n code: ERROR_CODES.RESOURCE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.resource.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.RESOURCE_CONFLICT]: {\n code: ERROR_CODES.RESOURCE_CONFLICT,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.resource.conflict',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Validation\n [ERROR_CODES.API_VALIDATION_FAILED]: {\n code: ERROR_CODES.API_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.API_INVALID_INPUT]: {\n code: ERROR_CODES.API_INVALID_INPUT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.invalid_input',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.VALIDATION_ERROR]: {\n code: ERROR_CODES.VALIDATION_ERROR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REQUIRED_FIELD_MISSING]: {\n code: ERROR_CODES.REQUIRED_FIELD_MISSING,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.required_field_missing',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.INVALID_FORMAT]: {\n code: ERROR_CODES.INVALID_FORMAT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.invalid_format',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.VALIDATION_INVALID_FORMAT]: {\n code: ERROR_CODES.VALIDATION_INVALID_FORMAT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.invalid_format',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRING_TOO_SHORT]: {\n code: ERROR_CODES.STRING_TOO_SHORT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.string_too_short',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRING_TOO_LONG]: {\n code: ERROR_CODES.STRING_TOO_LONG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.string_too_long',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Network\n [ERROR_CODES.NETWORK_ERROR]: {\n code: ERROR_CODES.NETWORK_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.CONNECTION_FAILED]: {\n code: ERROR_CODES.CONNECTION_FAILED,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.connection_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_CONNECTION_FAILED]: {\n code: ERROR_CODES.NETWORK_CONNECTION_FAILED,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.connection_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_OFFLINE]: {\n code: ERROR_CODES.NETWORK_OFFLINE,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.offline',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_DNS_FAILED]: {\n code: ERROR_CODES.NETWORK_DNS_FAILED,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.dns_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_TIMEOUT]: {\n code: ERROR_CODES.NETWORK_TIMEOUT,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.network.configuration_invalid',\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_PRESET_NOT_FOUND]: {\n code: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.network.preset_not_found',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Server\n [ERROR_CODES.SERVER_ERROR]: {\n code: ERROR_CODES.SERVER_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.server.error',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.INTERNAL_SERVER_ERROR]: {\n code: ERROR_CODES.INTERNAL_SERVER_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.server.internal_error',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.SERVICE_UNAVAILABLE]: {\n code: ERROR_CODES.SERVICE_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.server.service_unavailable',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Cache\n [ERROR_CODES.CACHE_READ_FAILED]: {\n code: ERROR_CODES.CACHE_READ_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.read_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_WRITE_FAILED]: {\n code: ERROR_CODES.CACHE_WRITE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.write_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CACHE_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.invalidation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_STORAGE_FAILED]: {\n code: ERROR_CODES.CACHE_STORAGE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.storage_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {\n code: ERROR_CODES.CACHE_RETRIEVAL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.retrieval_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Retry\n [ERROR_CODES.RETRY_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.RETRY_LIMIT_EXCEEDED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.retry.limit_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.RETRY_FAILED]: {\n code: ERROR_CODES.RETRY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.retry.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.RETRY_EXHAUSTED]: {\n code: ERROR_CODES.RETRY_EXHAUSTED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.retry.exhausted',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.RETRY_STRATEGY_INVALID]: {\n code: ERROR_CODES.RETRY_STRATEGY_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.retry.strategy_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Strategy\n [ERROR_CODES.STRATEGY_INVALID]: {\n code: ERROR_CODES.STRATEGY_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.strategy.invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRATEGY_CONFLICT]: {\n code: ERROR_CODES.STRATEGY_CONFLICT,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.strategy.conflict',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRATEGY_EXECUTION_FAILED]: {\n code: ERROR_CODES.STRATEGY_EXECUTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.strategy.execution_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Headers\n [ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {\n code: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.enrichment_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.HEADERS_VALIDATION_FAILED]: {\n code: ERROR_CODES.HEADERS_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.validation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.HEADERS_MERGE_CONFLICT]: {\n code: ERROR_CODES.HEADERS_MERGE_CONFLICT,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.merge_conflict',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Regional\n [ERROR_CODES.REGION_DETECTION_FAILED]: {\n code: ERROR_CODES.REGION_DETECTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.regional.detection_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {\n code: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.regional.preset_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // External Services\n [ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {\n code: ERROR_CODES.EXTERNAL_SERVICE_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.external.service_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Timeout\n [ERROR_CODES.TIMEOUT]: {\n code: ERROR_CODES.TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.timeout.generic',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Debugging\n [ERROR_CODES.DEBUG_TRACKING_FAILED]: {\n code: ERROR_CODES.DEBUG_TRACKING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.debug.tracking_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DEBUG_OVERRIDE_FAILED]: {\n code: ERROR_CODES.DEBUG_OVERRIDE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.debug.override_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DEBUG_CONFLICT_DETECTED]: {\n code: ERROR_CODES.DEBUG_CONFLICT_DETECTED,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.debug.conflict_detected',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Endpoint\n [ERROR_CODES.ENDPOINT_BUILD_FAILED]: {\n code: ERROR_CODES.ENDPOINT_BUILD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.endpoint.build_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.ENDPOINT_NOT_FOUND]: {\n code: ERROR_CODES.ENDPOINT_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.endpoint.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.ENDPOINT_INVALID_CONFIG]: {\n code: ERROR_CODES.ENDPOINT_INVALID_CONFIG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.endpoint.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // Event\n [ERROR_CODES.EVENT_HANDLER_FAILED]: {\n code: ERROR_CODES.EVENT_HANDLER_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.event.handler_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.EVENT_EMISSION_FAILED]: {\n code: ERROR_CODES.EVENT_EMISSION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.event.emission_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.MONITORING_FAILED]: {\n code: ERROR_CODES.MONITORING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.monitoring.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Polling\n [ERROR_CODES.POLLING_CANCELLED]: {\n code: ERROR_CODES.POLLING_CANCELLED,\n status: 0,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.polling.cancelled',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.POLLING_TIMEOUT]: {\n code: ERROR_CODES.POLLING_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.polling.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.POLLING_INVALID_CONFIG]: {\n code: ERROR_CODES.POLLING_INVALID_CONFIG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.polling.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // PubSub\n [ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED]: {\n code: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.pubsub.subscription_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PUBSUB_PUBLICATION_FAILED]: {\n code: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.pubsub.publication_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PUBSUB_INVALID_TOPIC]: {\n code: ERROR_CODES.PUBSUB_INVALID_TOPIC,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.pubsub.invalid_topic',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PUBSUB_CHANNEL_ERROR]: {\n code: ERROR_CODES.PUBSUB_CHANNEL_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.pubsub.channel_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Revalidation\n [ERROR_CODES.REVALIDATION_FAILED]: {\n code: ERROR_CODES.REVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.revalidation.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REVALIDATION_IN_PROGRESS]: {\n code: ERROR_CODES.REVALIDATION_IN_PROGRESS,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.revalidation.in_progress',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Context\n [ERROR_CODES.CONTEXT_OPERATION_FAILED]: {\n code: ERROR_CODES.CONTEXT_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.context.operation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Request\n [ERROR_CODES.REQUEST_TIMEOUT]: {\n code: ERROR_CODES.REQUEST_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.request.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.REQUEST_ABORTED]: {\n code: ERROR_CODES.REQUEST_ABORTED,\n status: 0,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.request.aborted',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.REQUEST_INVALID_PARAMS]: {\n code: ERROR_CODES.REQUEST_INVALID_PARAMS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.request.invalid_params',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REQUEST_PREPARATION_FAILED]: {\n code: ERROR_CODES.REQUEST_PREPARATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.request.preparation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Response\n [ERROR_CODES.RESPONSE_INVALID_FORMAT]: {\n code: ERROR_CODES.RESPONSE_INVALID_FORMAT,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.response.invalid_format',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.RESPONSE_PARSING_FAILED]: {\n code: ERROR_CODES.RESPONSE_PARSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.response.parsing_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Client\n [ERROR_CODES.CLIENT_ERROR]: {\n code: ERROR_CODES.CLIENT_ERROR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.initialization_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_INVALID_CONFIG]: {\n code: ERROR_CODES.CLIENT_INVALID_CONFIG,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_MISSING_BASE_URL]: {\n code: ERROR_CODES.CLIENT_MISSING_BASE_URL,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.client.missing_base_url',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_CANCELLED]: {\n code: ERROR_CODES.CLIENT_CANCELLED,\n status: 0,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.cancelled',\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n },\n\n // Configuration\n [ERROR_CODES.CONFIG_VALIDATION_FAILED]: {\n code: ERROR_CODES.CONFIG_VALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.config.validation_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.HEADER_PROCESSING_FAILED]: {\n code: ERROR_CODES.HEADER_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.processing_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {\n code: ERROR_CODES.NETWORK_OVERRIDE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.override_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Generic\n [ERROR_CODES.UNKNOWN_ERROR]: {\n code: ERROR_CODES.UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n userMessage: 'errors.unknown',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // ===== Notification Package Error Definitions =====\n // Provider errors (retryable)\n [ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.provider.send_failed',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.provider.configuration_invalid',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.notification.provider.rate_limit',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.provider.auth_failed',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.notification.provider.timeout',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.provider.unavailable',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.notification.provider.feature_not_supported',\n },\n [ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.all_providers_failed',\n },\n\n // Validation errors (non-retryable)\n [ERROR_CODES.NOTIFICATION_INVALID_INPUT]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_INPUT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_input',\n },\n [ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_recipient',\n },\n [ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_template',\n },\n [ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_payload',\n },\n [ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD]: {\n code: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.required_field_missing',\n },\n [ERROR_CODES.NOTIFICATION_VALIDATION_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.failed',\n },\n\n // User Preferences\n [ERROR_CODES.NOTIFICATION_USER_OPTED_OUT]: {\n code: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,\n status: HTTP_STATUS.OK,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.notification.user.opted_out',\n },\n\n // Queue errors (retryable)\n [ERROR_CODES.NOTIFICATION_QUEUE_FULL]: {\n code: ERROR_CODES.NOTIFICATION_QUEUE_FULL,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.queue.full',\n },\n [ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.queue.processing_failed',\n },\n\n // Webhook errors\n [ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID]: {\n code: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Webhook,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.notification.webhook.signature_invalid',\n },\n [ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Webhook,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.webhook.validation_failed',\n },\n [ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Webhook,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.webhook.processing_failed',\n },\n\n // Template errors\n [ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND]: {\n code: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.notification.template.not_found',\n },\n [ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.notification.template.render_failed',\n },\n\n // General notification errors\n [ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR]: {\n code: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.unknown',\n },\n [ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.initialization_failed',\n },\n\n // ===== Storage Package Error Definitions =====\n\n // General\n [ERROR_CODES.STORAGE_UNKNOWN_ERROR]: {\n code: ERROR_CODES.STORAGE_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.unknown',\n },\n [ERROR_CODES.STORAGE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.STORAGE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.initialization_failed',\n },\n\n // Adapter errors\n [ERROR_CODES.STORAGE_ADAPTER_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_ADAPTER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.not_found',\n },\n [ERROR_CODES.STORAGE_ADAPTER_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.initialization_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.STORAGE_ADAPTER_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.configuration_invalid',\n },\n [ERROR_CODES.STORAGE_ADAPTER_ALREADY_REGISTERED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_ALREADY_REGISTERED,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.adapter.already_registered',\n },\n [ERROR_CODES.STORAGE_ADAPTER_CONNECTION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_CONNECTION_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.adapter.connection_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.authentication_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_OPERATION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.adapter.operation_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_HEALTH_CHECK_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_HEALTH_CHECK_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.adapter.health_check_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_UNAVAILABLE]: {\n code: ERROR_CODES.STORAGE_ADAPTER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.adapter.unavailable',\n },\n [ERROR_CODES.STORAGE_ADAPTER_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_ADAPTER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.adapter.timeout',\n },\n [ERROR_CODES.STORAGE_ADAPTER_RATE_LIMIT]: {\n code: ERROR_CODES.STORAGE_ADAPTER_RATE_LIMIT,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.adapter.rate_limit',\n },\n [ERROR_CODES.STORAGE_ADAPTER_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_QUOTA_EXCEEDED,\n status: HTTP_STATUS.INSUFFICIENT_STORAGE,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.adapter.quota_exceeded',\n },\n [ERROR_CODES.STORAGE_ADAPTER_UNSUPPORTED_OPERATION]: {\n code: ERROR_CODES.STORAGE_ADAPTER_UNSUPPORTED_OPERATION,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.adapter.unsupported_operation',\n },\n [ERROR_CODES.STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.adapter.feature_not_supported',\n },\n [ERROR_CODES.STORAGE_NO_HEALTHY_ADAPTERS]: {\n code: ERROR_CODES.STORAGE_NO_HEALTHY_ADAPTERS,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n userMessage: 'errors.storage.no_healthy_adapters',\n },\n [ERROR_CODES.STORAGE_ALL_ADAPTERS_FAILED]: {\n code: ERROR_CODES.STORAGE_ALL_ADAPTERS_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n userMessage: 'errors.storage.all_adapters_failed',\n },\n\n // File Validation\n [ERROR_CODES.STORAGE_FILE_TOO_LARGE]: {\n code: ERROR_CODES.STORAGE_FILE_TOO_LARGE,\n status: HTTP_STATUS.PAYLOAD_TOO_LARGE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.too_large',\n },\n [ERROR_CODES.STORAGE_FILE_TOO_SMALL]: {\n code: ERROR_CODES.STORAGE_FILE_TOO_SMALL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.too_small',\n },\n [ERROR_CODES.STORAGE_FILE_SIZE_INVALID]: {\n code: ERROR_CODES.STORAGE_FILE_SIZE_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.size.invalid',\n },\n [ERROR_CODES.STORAGE_FILE_TYPE_NOT_ALLOWED]: {\n code: ERROR_CODES.STORAGE_FILE_TYPE_NOT_ALLOWED,\n status: HTTP_STATUS.UNSUPPORTED_MEDIA_TYPE,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.file.type.not_allowed',\n },\n [ERROR_CODES.STORAGE_INVALID_MIME_TYPE]: {\n code: ERROR_CODES.STORAGE_INVALID_MIME_TYPE,\n status: HTTP_STATUS.UNSUPPORTED_MEDIA_TYPE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.mime_type.invalid',\n },\n [ERROR_CODES.STORAGE_INVALID_FILE_EXTENSION]: {\n code: ERROR_CODES.STORAGE_INVALID_FILE_EXTENSION,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.extension.invalid',\n },\n [ERROR_CODES.STORAGE_FILE_EXTENSION_INVALID]: {\n code: ERROR_CODES.STORAGE_FILE_EXTENSION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.extension.invalid',\n },\n [ERROR_CODES.STORAGE_FILE_EXTENSION_MISMATCH]: {\n code: ERROR_CODES.STORAGE_FILE_EXTENSION_MISMATCH,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.file.extension.mismatch',\n },\n [ERROR_CODES.STORAGE_EXECUTABLE_NOT_ALLOWED]: {\n code: ERROR_CODES.STORAGE_EXECUTABLE_NOT_ALLOWED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.executable_not_allowed',\n },\n [ERROR_CODES.STORAGE_VALIDATION_FAILED]: {\n code: ERROR_CODES.STORAGE_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.validation.failed',\n },\n [ERROR_CODES.STORAGE_INVALID_FILE_CONTENT]: {\n code: ERROR_CODES.STORAGE_INVALID_FILE_CONTENT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.validation.invalid_file_content',\n },\n\n // Security\n [ERROR_CODES.STORAGE_SECURITY_VIRUS_DETECTED]: {\n code: ERROR_CODES.STORAGE_SECURITY_VIRUS_DETECTED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.security.virus_detected',\n },\n [ERROR_CODES.STORAGE_SECURITY_SCAN_FAILED]: {\n code: ERROR_CODES.STORAGE_SECURITY_SCAN_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.security.scan_failed',\n },\n [ERROR_CODES.STORAGE_SECURITY_ACCESS_DENIED]: {\n code: ERROR_CODES.STORAGE_SECURITY_ACCESS_DENIED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.security.access_denied',\n },\n [ERROR_CODES.STORAGE_SECURITY_ENCRYPTION_FAILED]: {\n code: ERROR_CODES.STORAGE_SECURITY_ENCRYPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.security.encryption_failed',\n },\n\n // File Operations\n [ERROR_CODES.STORAGE_FILE_UPLOAD_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_UPLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.upload_failed',\n },\n [ERROR_CODES.STORAGE_FILE_DOWNLOAD_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_DOWNLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.download_failed',\n },\n [ERROR_CODES.STORAGE_FILE_DELETE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.delete_failed',\n },\n [ERROR_CODES.STORAGE_FILE_UPDATE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_UPDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.update_failed',\n },\n [ERROR_CODES.STORAGE_FILE_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_FILE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.not_found',\n },\n [ERROR_CODES.STORAGE_FILE_ALREADY_EXISTS]: {\n code: ERROR_CODES.STORAGE_FILE_ALREADY_EXISTS,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.already_exists',\n },\n [ERROR_CODES.STORAGE_FILE_MOVE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_MOVE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.file.move_failed',\n },\n [ERROR_CODES.STORAGE_FILE_COPY_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_COPY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.file.copy_failed',\n },\n [ERROR_CODES.STORAGE_FILE_READ_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_READ_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.read_failed',\n },\n [ERROR_CODES.STORAGE_FILE_WRITE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_WRITE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.write_failed',\n },\n [ERROR_CODES.STORAGE_FILE_CORRUPTED]: {\n code: ERROR_CODES.STORAGE_FILE_CORRUPTED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.file.corrupted',\n },\n [ERROR_CODES.STORAGE_INVALID_OPERATION]: {\n code: ERROR_CODES.STORAGE_INVALID_OPERATION,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.invalid_operation',\n },\n\n // Metadata\n [ERROR_CODES.STORAGE_METADATA_EXTRACTION_FAILED]: {\n code: ERROR_CODES.STORAGE_METADATA_EXTRACTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n userMessage: 'errors.storage.metadata.extraction_failed',\n },\n [ERROR_CODES.STORAGE_METADATA_INVALID]: {\n code: ERROR_CODES.STORAGE_METADATA_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.metadata.invalid',\n },\n [ERROR_CODES.STORAGE_METADATA_UPDATE_FAILED]: {\n code: ERROR_CODES.STORAGE_METADATA_UPDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.metadata.update_failed',\n },\n\n // Media Processing\n [ERROR_CODES.STORAGE_MEDIA_PROCESSING_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.media.processing_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_RESIZE_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_RESIZE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.media.resize_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_FORMAT_UNSUPPORTED]: {\n code: ERROR_CODES.STORAGE_MEDIA_FORMAT_UNSUPPORTED,\n status: HTTP_STATUS.UNSUPPORTED_MEDIA_TYPE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.media.format_unsupported',\n },\n [ERROR_CODES.STORAGE_MEDIA_TRANSCODE_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_TRANSCODE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.media.transcode_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_THUMBNAIL_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_THUMBNAIL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n userMessage: 'errors.storage.media.thumbnail_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_INVALID_DIMENSIONS]: {\n code: ERROR_CODES.STORAGE_MEDIA_INVALID_DIMENSIONS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.media.invalid_dimensions',\n },\n\n // Template & PDF\n [ERROR_CODES.STORAGE_TEMPLATE_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_TEMPLATE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.template.not_found',\n },\n [ERROR_CODES.STORAGE_TEMPLATE_RENDER_FAILED]: {\n code: ERROR_CODES.STORAGE_TEMPLATE_RENDER_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.template.render_failed',\n },\n [ERROR_CODES.STORAGE_PDF_GENERATION_FAILED]: {\n code: ERROR_CODES.STORAGE_PDF_GENERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.pdf.generation_failed',\n },\n [ERROR_CODES.STORAGE_PDF_RENDERING_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_PDF_RENDERING_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.pdf.rendering_timeout',\n },\n\n // Queue\n [ERROR_CODES.STORAGE_QUEUE_FULL]: {\n code: ERROR_CODES.STORAGE_QUEUE_FULL,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.queue.full',\n },\n [ERROR_CODES.STORAGE_QUEUE_PROCESSING_FAILED]: {\n code: ERROR_CODES.STORAGE_QUEUE_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.queue.processing_failed',\n },\n [ERROR_CODES.STORAGE_QUEUE_ITEM_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_QUEUE_ITEM_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.queue.item_not_found',\n },\n\n // Compliance\n [ERROR_CODES.STORAGE_COMPLIANCE_VIOLATION]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.compliance.violation',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_EXPIRED]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.retention_expired',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_IMMUTABLE_FILE]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_IMMUTABLE_FILE,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.immutable_file',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_POLICY_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_POLICY_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.policy_not_found',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_VIOLATION]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.compliance.retention_violation',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.soft_delete_required',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.compliance.grace_period_active',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_DEFERRED_DELETION]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_DEFERRED_DELETION,\n status: HTTP_STATUS.ACCEPTED,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.compliance.deferred_deletion',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_PATTERN_PROTECTED]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_PATTERN_PROTECTED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.compliance.pattern_protected',\n },\n\n // Share Links\n [ERROR_CODES.STORAGE_SHARE_LINK_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.not_found',\n },\n [ERROR_CODES.STORAGE_SHARE_LINK_EXPIRED]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.expired',\n },\n [ERROR_CODES.STORAGE_SHARE_LINK_MAX_DOWNLOADS]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_MAX_DOWNLOADS,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Limits,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.max_downloads',\n },\n [ERROR_CODES.STORAGE_SHARE_LINK_INVALID_PASSWORD]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_INVALID_PASSWORD,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.invalid_password',\n },\n\n // Plugin\n [ERROR_CODES.STORAGE_PLUGIN_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_PLUGIN_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.plugin.not_found',\n },\n [ERROR_CODES.STORAGE_PLUGIN_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.STORAGE_PLUGIN_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.plugin.initialization_failed',\n },\n [ERROR_CODES.STORAGE_PLUGIN_EXECUTION_FAILED]: {\n code: ERROR_CODES.STORAGE_PLUGIN_EXECUTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.plugin.execution_failed',\n },\n\n // VirusTotal Provider (Plugin)\n [ERROR_CODES.STORAGE_VIRUSTOTAL_BAD_REQUEST]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_BAD_REQUEST,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.virustotal.bad_request',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.virustotal.authentication_required',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.virustotal.wrong_credentials',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_FILE_TOO_LARGE]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_FILE_TOO_LARGE,\n status: HTTP_STATUS.PAYLOAD_TOO_LARGE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.virustotal.file_too_large',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.virustotal.quota_exceeded',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.virustotal.analysis_not_found',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.virustotal.scan_timeout',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_FAILED]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.virustotal.scan_failed',\n },\n\n // CDN Providers (Plugins)\n // Cloudflare\n [ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudflare.authentication.failed',\n },\n [ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND]: {\n code: ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudflare.zone.not.found',\n },\n [ERROR_CODES.CLOUDFLARE_PURGE_FAILED]: {\n code: ERROR_CODES.CLOUDFLARE_PURGE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudflare.purge.failed',\n },\n [ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudflare.rate.limit.exceeded',\n },\n [ERROR_CODES.CLOUDFLARE_INVALID_URL]: {\n code: ERROR_CODES.CLOUDFLARE_INVALID_URL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.cloudflare.invalid.url',\n },\n [ERROR_CODES.CLOUDFLARE_API_ERROR]: {\n code: ERROR_CODES.CLOUDFLARE_API_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.cloudflare.api.error',\n },\n\n // CloudFront\n [ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudfront.authentication.failed',\n },\n [ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND]: {\n code: ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudfront.distribution.not.found',\n },\n [ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudfront.invalidation.failed',\n },\n [ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudfront.quota.exceeded',\n },\n [ERROR_CODES.CLOUDFRONT_INVALID_PATH]: {\n code: ERROR_CODES.CLOUDFRONT_INVALID_PATH,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.cloudfront.invalid.path',\n },\n [ERROR_CODES.CLOUDFRONT_API_ERROR]: {\n code: ERROR_CODES.CLOUDFRONT_API_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.cloudfront.api.error',\n },\n\n // Fastly\n [ERROR_CODES.FASTLY_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.FASTLY_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.fastly.authentication.failed',\n },\n [ERROR_CODES.FASTLY_SERVICE_NOT_FOUND]: {\n code: ERROR_CODES.FASTLY_SERVICE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.fastly.service.not.found',\n },\n [ERROR_CODES.FASTLY_PURGE_FAILED]: {\n code: ERROR_CODES.FASTLY_PURGE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.fastly.purge.failed',\n },\n [ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.fastly.rate.limit.exceeded',\n },\n [ERROR_CODES.FASTLY_INVALID_URL]: {\n code: ERROR_CODES.FASTLY_INVALID_URL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.fastly.invalid.url',\n },\n [ERROR_CODES.FASTLY_API_ERROR]: {\n code: ERROR_CODES.FASTLY_API_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.fastly.api.error',\n },\n\n // Generic CDN\n [ERROR_CODES.CDN_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CDN_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cdn.invalidation.failed',\n },\n [ERROR_CODES.CDN_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.CDN_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cdn.configuration.invalid',\n },\n [ERROR_CODES.CDN_PROVIDER_NOT_FOUND]: {\n code: ERROR_CODES.CDN_PROVIDER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cdn.provider.not.found',\n },\n\n // Webhook Errors\n [ERROR_CODES.STORAGE_WEBHOOK_SIGNATURE_INVALID]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.webhook.signature_invalid',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_PAYLOAD_INVALID]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_PAYLOAD_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.webhook.payload_invalid',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_PROCESSING_FAILED]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.webhook.processing_failed',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.webhook.timeout',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_ADAPTER_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_ADAPTER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.webhook.adapter_not_found',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_DUPLICATE_DETECTED]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_DUPLICATE_DETECTED,\n status: HTTP_STATUS.OK,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.webhook.duplicate_detected',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_IDEMPOTENCY_ERROR]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_IDEMPOTENCY_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.webhook.idempotency_error',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.webhook.rate_limit_exceeded',\n },\n\n // Presigned URLs\n [ERROR_CODES.STORAGE_PRESIGNED_URL_GENERATION_FAILED]: {\n code: ERROR_CODES.STORAGE_PRESIGNED_URL_GENERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.presigned_url.generation_failed',\n },\n [ERROR_CODES.STORAGE_PRESIGNED_URL_EXPIRED]: {\n code: ERROR_CODES.STORAGE_PRESIGNED_URL_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.presigned_url.expired',\n },\n [ERROR_CODES.STORAGE_PRESIGNED_URL_INVALID]: {\n code: ERROR_CODES.STORAGE_PRESIGNED_URL_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.presigned_url.invalid',\n },\n\n // Chunked Upload\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_INIT_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_INIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.init_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_PART_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_PART_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.part_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.complete_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_ABORT_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_ABORT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.abort_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.chunked_upload.not_found',\n },\n\n // CORS\n [ERROR_CODES.STORAGE_CORS_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.STORAGE_CORS_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.cors.configuration_invalid',\n },\n [ERROR_CODES.STORAGE_CORS_ORIGIN_NOT_ALLOWED]: {\n code: ERROR_CODES.STORAGE_CORS_ORIGIN_NOT_ALLOWED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.cors.origin_not_allowed',\n },\n\n // TTL\n [ERROR_CODES.STORAGE_TTL_EXPIRED]: {\n code: ERROR_CODES.STORAGE_TTL_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.ttl.expired',\n },\n [ERROR_CODES.STORAGE_TTL_CLEANUP_FAILED]: {\n code: ERROR_CODES.STORAGE_TTL_CLEANUP_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n userMessage: 'errors.storage.ttl.cleanup_failed',\n },\n\n // Audit\n [ERROR_CODES.STORAGE_AUDIT_LOG_FAILED]: {\n code: ERROR_CODES.STORAGE_AUDIT_LOG_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.audit.log_failed',\n },\n\n // Timeout & Network\n [ERROR_CODES.STORAGE_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.timeout',\n },\n [ERROR_CODES.STORAGE_NETWORK_ERROR]: {\n code: ERROR_CODES.STORAGE_NETWORK_ERROR,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.network_error',\n },\n [ERROR_CODES.STORAGE_CONNECTION_LOST]: {\n code: ERROR_CODES.STORAGE_CONNECTION_LOST,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.connection_lost',\n },\n\n // Permission & Quota\n [ERROR_CODES.STORAGE_PERMISSION_DENIED]: {\n code: ERROR_CODES.STORAGE_PERMISSION_DENIED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.permission_denied',\n },\n [ERROR_CODES.STORAGE_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_QUOTA_EXCEEDED,\n status: HTTP_STATUS.INSUFFICIENT_STORAGE,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.quota_exceeded',\n },\n [ERROR_CODES.STORAGE_INSUFFICIENT_SPACE]: {\n code: ERROR_CODES.STORAGE_INSUFFICIENT_SPACE,\n status: HTTP_STATUS.INSUFFICIENT_STORAGE,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.insufficient_space',\n },\n [ERROR_CODES.STORAGE_FEATURE_NOT_IMPLEMENTED]: {\n code: ERROR_CODES.STORAGE_FEATURE_NOT_IMPLEMENTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.feature.not_implemented',\n },\n\n // ===== Core Package Error Definitions =====\n // Feature Flags\n [ERROR_CODES.CORE_FEATURE_FLAG_NOT_FOUND]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.feature_flag.not_found',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_INVALID_CONFIG]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_INVALID_CONFIG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.feature_flag.invalid_config',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_EVALUATION_FAILED]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_EVALUATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.feature_flag.evaluation_failed',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_PROVIDER_ERROR]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.feature_flag.provider_error',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_CACHE_ERROR]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_CACHE_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.core.feature_flag.cache_error',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_CONTEXT_INVALID]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_CONTEXT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.feature_flag.context_invalid',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_RULE_INVALID]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_RULE_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.feature_flag.rule_invalid',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_TOGGLE_FAILED]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_TOGGLE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.feature_flag.toggle_failed',\n },\n\n // Cache\n [ERROR_CODES.CORE_CACHE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.cache.initialization_failed',\n },\n [ERROR_CODES.CORE_CACHE_STRATEGY_NOT_FOUND]: {\n code: ERROR_CODES.CORE_CACHE_STRATEGY_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.cache.strategy_not_found',\n },\n [ERROR_CODES.CORE_CACHE_OPERATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.core.cache.operation_failed',\n },\n [ERROR_CODES.CORE_CACHE_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.core.cache.invalidation_failed',\n },\n [ERROR_CODES.CORE_CACHE_SERIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_SERIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.cache.serialization_failed',\n },\n\n // API Client\n [ERROR_CODES.CORE_API_CLIENT_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_API_CLIENT_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.api_client.initialization_failed',\n },\n [ERROR_CODES.CORE_API_CLIENT_REQUEST_FAILED]: {\n code: ERROR_CODES.CORE_API_CLIENT_REQUEST_FAILED,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.api_client.request_failed',\n },\n [ERROR_CODES.CORE_API_CLIENT_TIMEOUT]: {\n code: ERROR_CODES.CORE_API_CLIENT_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.api_client.timeout',\n },\n [ERROR_CODES.CORE_API_CLIENT_INVALID_RESPONSE]: {\n code: ERROR_CODES.CORE_API_CLIENT_INVALID_RESPONSE,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.api_client.invalid_response',\n },\n [ERROR_CODES.CORE_API_CLIENT_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.CORE_API_CLIENT_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.api_client.authentication_failed',\n },\n\n // Database Service\n [ERROR_CODES.CORE_DATABASE_SERVICE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.database_service.initialization_failed',\n },\n [ERROR_CODES.CORE_DATABASE_SERVICE_CONNECTION_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_CONNECTION_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.database_service.connection_failed',\n },\n [ERROR_CODES.CORE_DATABASE_SERVICE_QUERY_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_QUERY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.database_service.query_failed',\n },\n [ERROR_CODES.CORE_DATABASE_SERVICE_TRANSACTION_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_TRANSACTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.database_service.transaction_failed',\n },\n\n // Validation\n [ERROR_CODES.CORE_VALIDATION_FAILED]: {\n code: ERROR_CODES.CORE_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.validation.failed',\n },\n [ERROR_CODES.CORE_VALIDATION_SCHEMA_INVALID]: {\n code: ERROR_CODES.CORE_VALIDATION_SCHEMA_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.validation.schema_invalid',\n },\n [ERROR_CODES.CORE_VALIDATION_REQUIRED_FIELD_MISSING]: {\n code: ERROR_CODES.CORE_VALIDATION_REQUIRED_FIELD_MISSING,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.validation.required_field_missing',\n },\n\n // Hash Utilities\n [ERROR_CODES.CORE_HASH_GENERATION_FAILED]: {\n code: ERROR_CODES.CORE_HASH_GENERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.hash.generation_failed',\n },\n [ERROR_CODES.CORE_HASH_VERIFICATION_FAILED]: {\n code: ERROR_CODES.CORE_HASH_VERIFICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.hash.verification_failed',\n },\n\n // Engine\n [ERROR_CODES.CORE_ENGINE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_ENGINE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.engine.initialization_failed',\n },\n [ERROR_CODES.CORE_ENGINE_EXECUTION_FAILED]: {\n code: ERROR_CODES.CORE_ENGINE_EXECUTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.engine.execution_failed',\n },\n [ERROR_CODES.CORE_ENGINE_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.CORE_ENGINE_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.engine.configuration_invalid',\n },\n\n // Provider\n [ERROR_CODES.CORE_PROVIDER_NOT_FOUND]: {\n code: ERROR_CODES.CORE_PROVIDER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.provider.not_found',\n },\n [ERROR_CODES.CORE_PROVIDER_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_PROVIDER_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.provider.initialization_failed',\n },\n [ERROR_CODES.CORE_PROVIDER_OPERATION_FAILED]: {\n code: ERROR_CODES.CORE_PROVIDER_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.provider.operation_failed',\n },\n\n // Context\n [ERROR_CODES.CORE_CONTEXT_INVALID]: {\n code: ERROR_CODES.CORE_CONTEXT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.context.invalid',\n },\n [ERROR_CODES.CORE_CONTEXT_MISSING_REQUIRED_DATA]: {\n code: ERROR_CODES.CORE_CONTEXT_MISSING_REQUIRED_DATA,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.context.missing_required_data',\n },\n\n // General Core\n [ERROR_CODES.CORE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.initialization_failed',\n },\n [ERROR_CODES.CORE_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.CORE_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.configuration_invalid',\n },\n [ERROR_CODES.CORE_OPERATION_FAILED]: {\n code: ERROR_CODES.CORE_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.operation_failed',\n },\n [ERROR_CODES.CORE_UNKNOWN_ERROR]: {\n code: ERROR_CODES.CORE_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.unknown_error',\n },\n\n // ===== Errors Package Errors =====\n [ERROR_CODES.ERROR_SYSTEM_NOT_INITIALIZED]: {\n code: ERROR_CODES.ERROR_SYSTEM_NOT_INITIALIZED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.system.not_initialized',\n },\n [ERROR_CODES.EVENT_FACTORY_NOT_REGISTERED]: {\n code: ERROR_CODES.EVENT_FACTORY_NOT_REGISTERED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.event.factory.not_registered',\n },\n [ERROR_CODES.DATABASE_ERROR]: {\n code: ERROR_CODES.DATABASE_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.database',\n },\n\n // ===== Database Error Definitions =====\n // Connection & Configuration\n [ERROR_CODES.DB_ACCESS_DENIED]: {\n code: ERROR_CODES.DB_ACCESS_DENIED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'db.connection.access_denied',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_CONFIG_REQUIRED]: {\n code: ERROR_CODES.DB_CONFIG_REQUIRED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'db.connection.config_required',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_CONNECT_FAILED]: {\n code: ERROR_CODES.DB_CONNECT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.connection.connect_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_DISCONNECT_FAILED]: {\n code: ERROR_CODES.DB_DISCONNECT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.connection.disconnect_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INIT_FAILED]: {\n code: ERROR_CODES.DB_INIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.connection.init_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // Query & Execution\n [ERROR_CODES.DB_QUERY_FAILED]: {\n code: ERROR_CODES.DB_QUERY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.query.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_BUILD_WHERE_FAILED]: {\n code: ERROR_CODES.DB_BUILD_WHERE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.query.build_where_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_SQL]: {\n code: ERROR_CODES.DB_INVALID_SQL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.query.invalid_sql',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_TRANSACTION_FAILED]: {\n code: ERROR_CODES.DB_TRANSACTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.query.transaction_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_UNSUPPORTED_OPERATOR]: {\n code: ERROR_CODES.DB_UNSUPPORTED_OPERATOR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.query.unsupported_operator',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // CRUD Operations\n [ERROR_CODES.DB_CREATE_FAILED]: {\n code: ERROR_CODES.DB_CREATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.create_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_CREATION_FAILED]: {\n code: ERROR_CODES.DB_CREATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.create_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FETCH_FAILED]: {\n code: ERROR_CODES.DB_FETCH_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.fetch_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FIND_FAILED]: {\n code: ERROR_CODES.DB_FIND_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.find_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FIND_MANY_FAILED]: {\n code: ERROR_CODES.DB_FIND_MANY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.find_many_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FIND_BY_ID_FAILED]: {\n code: ERROR_CODES.DB_FIND_BY_ID_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.find_by_id_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_UPDATE_FAILED]: {\n code: ERROR_CODES.DB_UPDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.update_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_UPDATE_NO_CHANGES]: {\n code: ERROR_CODES.DB_UPDATE_NO_CHANGES,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.crud.update_no_changes',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.DB_DELETE_FAILED]: {\n code: ERROR_CODES.DB_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.delete_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_INSERT_FAILED]: {\n code: ERROR_CODES.DB_INSERT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.insert_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_RECORD_NOT_FOUND]: {\n code: ERROR_CODES.DB_RECORD_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.crud.record_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_EXISTS_FAILED]: {\n code: ERROR_CODES.DB_EXISTS_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.exists_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // Schema & Columns\n [ERROR_CODES.DB_COLUMN_NOT_EXISTS]: {\n code: ERROR_CODES.DB_COLUMN_NOT_EXISTS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.schema.column_not_exists',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_TABLE_NOT_REGISTERED]: {\n code: ERROR_CODES.DB_TABLE_NOT_REGISTERED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.table_not_registered',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_TABLE_REGISTRATION_FAILED]: {\n code: ERROR_CODES.DB_TABLE_REGISTRATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.table_registration_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_ID_COLUMN_NOT_REGISTERED]: {\n code: ERROR_CODES.DB_ID_COLUMN_NOT_REGISTERED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.id_column_not_registered',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_COLUMN]: {\n code: ERROR_CODES.DB_INVALID_COLUMN,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.schema.invalid_column',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_TABLE_NAME]: {\n code: ERROR_CODES.DB_INVALID_TABLE_NAME,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.schema.invalid_table_name',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_GET_ID_COLUMN_FAILED]: {\n code: ERROR_CODES.DB_GET_ID_COLUMN_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.get_id_column_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_GET_TABLE_FAILED]: {\n code: ERROR_CODES.DB_GET_TABLE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.get_table_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // Validation & Parameters\n [ERROR_CODES.DB_INVALID_PARAMETERS]: {\n code: ERROR_CODES.DB_INVALID_PARAMETERS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_parameters',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_PARAMS]: {\n code: ERROR_CODES.DB_INVALID_PARAMS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_parameters',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_FILTER]: {\n code: ERROR_CODES.DB_INVALID_FILTER,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_filter',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_ID]: {\n code: ERROR_CODES.DB_INVALID_ID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_id',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_ENTITY]: {\n code: ERROR_CODES.DB_INVALID_ENTITY,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_entity',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_UPDATE_PARAMS]: {\n code: ERROR_CODES.DB_INVALID_UPDATE_PARAMS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_update_params',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_FIELD_NAME]: {\n code: ERROR_CODES.DB_INVALID_FIELD_NAME,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_field_name',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_RESULT]: {\n code: ERROR_CODES.DB_INVALID_RESULT,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.validation.invalid_result',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_NO_UPDATE_FIELDS]: {\n code: ERROR_CODES.DB_NO_UPDATE_FIELDS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.no_update_fields',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Count & Data\n [ERROR_CODES.DB_COUNT_FAILED]: {\n code: ERROR_CODES.DB_COUNT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.count.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_COUNT_NO_RESULTS]: {\n code: ERROR_CODES.DB_COUNT_NO_RESULTS,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.count.no_results',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_NO_DATA]: {\n code: ERROR_CODES.DB_NO_DATA,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.count.no_results',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Multi-tenant Context\n [ERROR_CODES.DB_NO_TENANT_CONTEXT]: {\n code: ERROR_CODES.DB_NO_TENANT_CONTEXT,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.tenant.no_context',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_NO_TENANT_ID]: {\n code: ERROR_CODES.DB_NO_TENANT_ID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.tenant.no_tenant_id',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_TENANT_VALIDATION_FAILED]: {\n code: ERROR_CODES.DB_TENANT_VALIDATION_FAILED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n userMessage: 'db.tenant.validation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // Backup & Restore\n [ERROR_CODES.DB_BACKUP_CLEANUP_FAILED]: {\n code: ERROR_CODES.DB_BACKUP_CLEANUP_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.backup.cleanup_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_BACKUP_FILE_NOT_FOUND]: {\n code: ERROR_CODES.DB_BACKUP_FILE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.backup.file_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_LIST_BACKUPS_FAILED]: {\n code: ERROR_CODES.DB_LIST_BACKUPS_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.backup.list_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_BACKUP_INFO]: {\n code: ERROR_CODES.DB_INVALID_BACKUP_INFO,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.backup.invalid_info',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_RESTORE_FAILED]: {\n code: ERROR_CODES.DB_RESTORE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.backup.restore_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // Cache Operations\n [ERROR_CODES.DB_CACHE_DELETE_FAILED]: {\n code: ERROR_CODES.DB_CACHE_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.delete_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_HEALTH_CHECK_FAILED]: {\n code: ERROR_CODES.DB_CACHE_HEALTH_CHECK_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.health_check_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_INVALIDATE_FAILED]: {\n code: ERROR_CODES.DB_CACHE_INVALIDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.invalidate_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_SET_FAILED]: {\n code: ERROR_CODES.DB_CACHE_SET_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.set_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_GET_FAILED]: {\n code: ERROR_CODES.DB_CACHE_GET_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.get_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // File & Storage\n [ERROR_CODES.DB_INVALID_FILEPATH]: {\n code: ERROR_CODES.DB_INVALID_FILEPATH,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.file.invalid_filepath',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_S3_DELETE_FAILED]: {\n code: ERROR_CODES.DB_S3_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.file.s3_delete_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_S3_DOWNLOAD_FAILED]: {\n code: ERROR_CODES.DB_S3_DOWNLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.file.s3_download_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_S3_NOT_CONFIGURED]: {\n code: ERROR_CODES.DB_S3_NOT_CONFIGURED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'db.file.s3_not_configured',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_S3_UPLOAD_FAILED]: {\n code: ERROR_CODES.DB_S3_UPLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.file.s3_upload_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.timeout',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_NETWORK_ERROR]: {\n code: ERROR_CODES.PAYMENT_NETWORK_ERROR,\n status: HTTP_STATUS.NETWORK_AUTHENTICATION_REQUIRED,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.payment.network_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Misc\n [ERROR_CODES.DB_SCHEDULE_SETUP_FAILED]: {\n code: ERROR_CODES.DB_SCHEDULE_SETUP_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.misc.schedule_setup_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_DECRYPTION_FAILED]: {\n code: ERROR_CODES.DB_DECRYPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.misc.decryption_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_SHELL_ARG]: {\n code: ERROR_CODES.DB_INVALID_SHELL_ARG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_shell_arg',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_BETWEEN_OPERATOR]: {\n code: ERROR_CODES.DB_INVALID_BETWEEN_OPERATOR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_between_operator',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_IN_OPERATOR]: {\n code: ERROR_CODES.DB_INVALID_IN_OPERATOR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_in_operator',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_COUNT]: {\n code: ERROR_CODES.DB_INVALID_COUNT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_count',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // ===== Payments Package Error Definitions =====\n // ===== Refund Errors =====\n [ERROR_CODES.PAYMENT_REFUND_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_NOT_FOUND]: {\n code: ERROR_CODES.PAYMENT_REFUND_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED]: {\n code: ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.already_processed',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID]: {\n code: ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.refund.amount_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.refund.validation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_REFUND_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.refund.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_REFUND_NOT_ALLOWED]: {\n code: ERROR_CODES.PAYMENT_REFUND_NOT_ALLOWED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.not_allowed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_REFUND_AUTHORIZATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_AUTHORIZATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authorization,\n userMessage: 'errors.payment.refund.authorization_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_REFUND_PROCESSING_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.processing_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // ===== Provider Errors =====\n [ERROR_CODES.PAYMENT_PROVIDER_ERROR]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.generic',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.unavailable',\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.provider.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.invalid_response',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.provider.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.provider.auth_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // ===== Compliance Errors =====\n [ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.violation',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.check_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Limits,\n userMessage: 'errors.payment.compliance.limit_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.compliance.policy_missing',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_KYC_REQUIRED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_KYC_REQUIRED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.kyc_required',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.geographic_restriction',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // ===== Security Errors =====\n [ERROR_CODES.PAYMENT_SECURITY_VIOLATION]: {\n code: ERROR_CODES.PAYMENT_SECURITY_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.security.violation',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID]: {\n code: ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.security.invalid_signature',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED]: {\n code: ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.security.encryption_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED]: {\n code: ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Fraud,\n userMessage: 'errors.payment.security.fraud_detected',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID]: {\n code: ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.security.token_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Medium,\n userMessage: 'errors.payment.security.velocity_limit_exceed',\n retryable: false,\n },\n\n // ===== Validation Errors =====\n [ERROR_CODES.PAYMENT_VALIDATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_FAILED,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.amount_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.currency_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.metadata_invalid',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.required_field_missing',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // ===== Webhook Errors =====\n [ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.signature_invalid',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.processing_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.webhook.validation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.unsupported_event_type',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.handler_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // ===== Payment Adapter & Core Errors =====\n [ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.init_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.shutdown_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.adapter.hmac_computation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_provider',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_environment',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.adapter.missing_credentials',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_webhook_url',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_unregister_endpoint',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.unsupported_operation',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.response_mapping_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // ===== Idempotency & State Management =====\n [ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION]: {\n code: ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.idempotency.violation',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING]: {\n code: ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.idempotency.key_missing',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR]: {\n code: ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.payment.idempotency.store_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // ===== Routing & Strategy =====\n [ERROR_CODES.PAYMENT_ROUTING_FAILED]: {\n code: ERROR_CODES.PAYMENT_ROUTING_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Strategy,\n userMessage: 'errors.payment.routing.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.routing.configuration_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE]: {\n code: ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.routing.provider_unavailable',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n // Connection & Network\n [ERROR_CODES.DB_CONNECTION_FAILED]: {\n code: ERROR_CODES.DB_CONNECTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Network,\n userMessage: 'db.connection.failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_TIMEOUT]: {\n code: ERROR_CODES.DB_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'db.connection.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Constraints & Integrity\n [ERROR_CODES.DB_CONSTRAINT_VIOLATION]: {\n code: ERROR_CODES.DB_CONSTRAINT_VIOLATION,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.constraint.violation',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_DEADLOCK]: {\n code: ERROR_CODES.DB_DEADLOCK,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.constraint.deadlock',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_DUPLICATE_ENTRY]: {\n code: ERROR_CODES.DB_DUPLICATE_ENTRY,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.constraint.duplicate_entry',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Entity Operations\n [ERROR_CODES.DB_ENTITY_NOT_FOUND]: {\n code: ERROR_CODES.DB_ENTITY_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.entity.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Migration & Schema\n [ERROR_CODES.DB_MIGRATION_FAILED]: {\n code: ERROR_CODES.DB_MIGRATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.migration.failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // General\n [ERROR_CODES.DB_UNKNOWN_ERROR]: {\n code: ERROR_CODES.DB_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n userMessage: 'db.unknown_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED]: {\n code: ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.payment.routing.retry_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED]: {\n code: ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.system.not_initialized',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.context.operation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_INTERNAL_ERROR]: {\n code: ERROR_CODES.PAYMENT_INTERNAL_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.internal_error',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_UNKNOWN_ERROR]: {\n code: ERROR_CODES.PAYMENT_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n userMessage: 'errors.payment.unknown_error',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // ===== Event Lifecycle Errors =====\n [ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED]: {\n code: ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.event.emit_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE]: {\n code: ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.event.invalid_type',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.event.creation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.event.handler_timeout',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT]: {\n code: ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.event.handler_invalid_result',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE]: {\n code: ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.event.lifecycle_failure',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_AML_CHECK_FAILED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_AML_CHECK_FAILED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.aml_check_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_PSD2_STRONG_AUTH_REQUIRED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_PSD2_STRONG_AUTH_REQUIRED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.compliance.psd2_strong_auth_required',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_GDPR_DATA_ACCESS]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_GDPR_DATA_ACCESS,\n status: HTTP_STATUS.UNAVAILABLE_FOR_LEGAL_REASONS,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.gdpr_data_access',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_PCI_COMPLIANCE]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_PCI_COMPLIANCE,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.compliance.pci_compliance',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_LOCAL_BANKING_RESTRICTION]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_LOCAL_BANKING_RESTRICTION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Regional,\n userMessage: 'errors.payment.compliance.local_banking_restriction',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // === Processing Errors ===\n\n [ERROR_CODES.PAYMENT_PROCESSING_FAILED]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.processing.failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.processing.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.processing.gateway_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.processing.duplicate',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.processing.unexpected_state',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_PROVIDER_RATE_LIMIT]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_RATE_LIMIT,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n userMessage: 'errors.payment.provider.rate_limit',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PROVIDER_UNKNOWN]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_UNKNOWN,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.unknown',\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_CUSTOMER_CREATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_CUSTOMER_CREATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.customer.creation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_METHOD_SAVE_FAILED]: {\n code: ERROR_CODES.PAYMENT_METHOD_SAVE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.method.save_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_METHOD_DELETE_FAILED]: {\n code: ERROR_CODES.PAYMENT_METHOD_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.method.delete_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_SUBSCRIPTION_CREATE_FAILED]: {\n code: ERROR_CODES.PAYMENT_SUBSCRIPTION_CREATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.subscription.create_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_SUBSCRIPTION_CANCEL_FAILED]: {\n code: ERROR_CODES.PAYMENT_SUBSCRIPTION_CANCEL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.subscription.cancel_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PAYOUT_FAILED]: {\n code: ERROR_CODES.PAYMENT_PAYOUT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.payout.failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED]: {\n code: ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.transaction.history.fetch_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n // ===== Unsupported Operations =====\n [ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED]: {\n code: ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.method.save_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED]: {\n code: ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.method.delete_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED]: {\n code: ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.method.get_user_methods_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED]: {\n code: ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.subscription.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED]: {\n code: ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.subscription.cancel_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED]: {\n code: ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.payout.unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED]: {\n code: ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.transaction.history_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // Withdrawal Errors\n [ERROR_CODES.WITHDRAWAL_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.process_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.status_fetch_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.cancel_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE]: {\n code: ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Limits,\n userMessage: 'errors.payment.withdrawal.insufficient_balance',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT]: {\n code: ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.withdrawal.invalid_account',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_KYC_REQUIRED]: {\n code: ERROR_CODES.WITHDRAWAL_KYC_REQUIRED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.withdrawal.kyc_required',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Limits,\n userMessage: 'errors.payment.withdrawal.limit_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR]: {\n code: ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.provider_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.WITHDRAWAL_FAILED]: {\n code: ERROR_CODES.WITHDRAWAL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.WITHDRAWAL_TIMEOUT]: {\n code: ERROR_CODES.WITHDRAWAL_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.withdrawal.timeout',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Product Errors\n [ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.update_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.fetch_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.deactivate_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_NOT_FOUND]: {\n code: ERROR_CODES.PRODUCT_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.payment.product.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_INVALID_DATA]: {\n code: ERROR_CODES.PRODUCT_INVALID_DATA,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.product.invalid_data',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_PROVIDER_ERROR]: {\n code: ERROR_CODES.PRODUCT_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.provider_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PRODUCT_ALREADY_INACTIVE]: {\n code: ERROR_CODES.PRODUCT_ALREADY_INACTIVE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.payment.product.already_inactive',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_SYNC_FAILED]: {\n code: ERROR_CODES.PRODUCT_SYNC_FAILED,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.sync_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Pricing Errors\n [ERROR_CODES.PRICING_CREATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRICING_CREATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_UPDATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRICING_UPDATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.update_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.deactivate_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_NOT_FOUND]: {\n code: ERROR_CODES.PRICING_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.payment.pricing.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_INVALID_AMOUNT]: {\n code: ERROR_CODES.PRICING_INVALID_AMOUNT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.pricing.invalid_amount',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_INVALID_CURRENCY]: {\n code: ERROR_CODES.PRICING_INVALID_CURRENCY,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.pricing.invalid_currency',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_PROVIDER_ERROR]: {\n code: ERROR_CODES.PRICING_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.provider_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PRICING_ALREADY_INACTIVE]: {\n code: ERROR_CODES.PRICING_ALREADY_INACTIVE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.payment.pricing.already_inactive',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_SYNC_FAILED]: {\n code: ERROR_CODES.PRICING_SYNC_FAILED,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.sync_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PRICING_REQUIRES_NEW_VERSION]: {\n code: ERROR_CODES.PRICING_REQUIRES_NEW_VERSION,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.payment.pricing.requires_new_version',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n};\n","/**\n * Enum representing the types of events in the application.\n * Uses dot notation for event naming convention.\n *\n * @example\n * ```typescript\n * import { EVENT_TYPE } from '@plyaz/types';\n *\n * const eventType = EVENT_TYPE.AppInit; // 'app.init'\n * ```\n */\nexport const EVENT_TYPE = {\n /** Application initialization event. */\n AppInit: 'app.init',\n} as const;\n\n/**\n * Const representing the priority levels for events.\n * Used to determine processing order and resource allocation.\n *\n * @example\n * ```typescript\n * import { EVENT_PRIORITY } from '@plyaz/types';\n *\n * const priority = EVENT_PRIORITY.High; // 'high'\n * ```\n */\nexport const EVENT_PRIORITY = {\n /** Low priority event. */\n Low: 'low',\n /** Normal priority event. */\n Normal: 'normal',\n /** High priority event. */\n High: 'high',\n /** Critical priority event. */\n Critical: 'critical',\n} as const;\n\n/**\n * Const representing the status of an event.\n * Tracks the lifecycle of event processing from creation to completion.\n *\n * @example\n * ```typescript\n * import { EVENT_STATUS } from '@plyaz/types';\n *\n * const status = EVENT_STATUS.Processing; // 'processing'\n *\n * // Typical event lifecycle:\n * // Pending -> Processing -> Completed\n * // or\n * // Pending -> Processing -> Failed -> Retrying -> Processing -> Completed\n * ```\n */\nexport const EVENT_STATUS = {\n /** Event is pending and has not started processing. */\n Pending: 'pending',\n /** Event is currently being processed. */\n Processing: 'processing',\n /** Event has been completed successfully. */\n Completed: 'completed',\n /** Event processing failed. */\n Failed: 'failed',\n /** Event is being retried after a failure. */\n Retrying: 'retrying',\n} as const;\n","/**\n * Locale and Currency Types\n *\n * Type definitions for internationalization and currency handling.\n *\n * @module locale/types\n */\n\n/**\n * Common currency codes (ISO 4217)\n */\nexport const CURRENCY_CODES = {\n // Major currencies\n USD: 'USD', // US Dollar\n EUR: 'EUR', // Euro\n GBP: 'GBP', // British Pound Sterling\n JPY: 'JPY', // Japanese Yen\n CHF: 'CHF', // Swiss Franc\n CAD: 'CAD', // Canadian Dollar\n AUD: 'AUD', // Australian Dollar\n CNY: 'CNY', // Chinese Yuan Renminbi\n\n // Asian currencies\n INR: 'INR', // Indian Rupee\n KRW: 'KRW', // South Korean Won\n SGD: 'SGD', // Singapore Dollar\n HKD: 'HKD', // Hong Kong Dollar\n TWD: 'TWD', // Taiwan New Dollar\n THB: 'THB', // Thai Baht\n IDR: 'IDR', // Indonesian Rupiah\n MYR: 'MYR', // Malaysian Ringgit\n PHP: 'PHP', // Philippine Peso\n VND: 'VND', // Vietnamese Dong\n BDT: 'BDT', // Bangladeshi Taka\n PKR: 'PKR', // Pakistani Rupee\n LKR: 'LKR', // Sri Lankan Rupee\n\n // European currencies\n SEK: 'SEK', // Swedish Krona\n NOK: 'NOK', // Norwegian Krone\n DKK: 'DKK', // Danish Krone\n PLN: 'PLN', // Polish Zloty\n CZK: 'CZK', // Czech Koruna\n HUF: 'HUF', // Hungarian Forint\n RON: 'RON', // Romanian Leu\n BGN: 'BGN', // Bulgarian Lev\n HRK: 'HRK', // Croatian Kuna\n RSD: 'RSD', // Serbian Dinar\n ISK: 'ISK', // Icelandic Króna\n\n // Americas currencies\n BRL: 'BRL', // Brazilian Real\n MXN: 'MXN', // Mexican Peso\n ARS: 'ARS', // Argentine Peso\n CLP: 'CLP', // Chilean Peso\n COP: 'COP', // Colombian Peso\n PEN: 'PEN', // Peruvian Sol\n UYU: 'UYU', // Uruguayan Peso\n VES: 'VES', // Venezuelan Bolívar\n BOB: 'BOB', // Bolivian Boliviano\n PYG: 'PYG', // Paraguayan Guarani\n CRC: 'CRC', // Costa Rican Colón\n GTQ: 'GTQ', // Guatemalan Quetzal\n HNL: 'HNL', // Honduran Lempira\n NIO: 'NIO', // Nicaraguan Córdoba\n PAB: 'PAB', // Panamanian Balboa\n DOP: 'DOP', // Dominican Peso\n JMD: 'JMD', // Jamaican Dollar\n TTD: 'TTD', // Trinidad and Tobago Dollar\n BBD: 'BBD', // Barbadian Dollar\n\n // Middle Eastern currencies\n AED: 'AED', // UAE Dirham\n SAR: 'SAR', // Saudi Riyal\n QAR: 'QAR', // Qatari Riyal\n KWD: 'KWD', // Kuwaiti Dinar\n BHD: 'BHD', // Bahraini Dinar\n OMR: 'OMR', // Omani Rial\n JOD: 'JOD', // Jordanian Dinar\n ILS: 'ILS', // Israeli New Shekel\n TRY: 'TRY', // Turkish Lira\n IQD: 'IQD', // Iraqi Dinar\n IRR: 'IRR', // Iranian Rial\n LBP: 'LBP', // Lebanese Pound\n SYP: 'SYP', // Syrian Pound\n\n // African currencies\n ZAR: 'ZAR', // South African Rand\n NGN: 'NGN', // Nigerian Naira\n EGP: 'EGP', // Egyptian Pound\n KES: 'KES', // Kenyan Shilling\n GHS: 'GHS', // Ghanaian Cedi\n MAD: 'MAD', // Moroccan Dirham\n TND: 'TND', // Tunisian Dinar\n DZD: 'DZD', // Algerian Dinar\n ETB: 'ETB', // Ethiopian Birr\n TZS: 'TZS', // Tanzanian Shilling\n UGX: 'UGX', // Ugandan Shilling\n ZMW: 'ZMW', // Zambian Kwacha\n BWP: 'BWP', // Botswana Pula\n MUR: 'MUR', // Mauritian Rupee\n\n // Pacific currencies\n NZD: 'NZD', // New Zealand Dollar\n FJD: 'FJD', // Fijian Dollar\n PGK: 'PGK', // Papua New Guinean Kina\n\n // Former Soviet Union currencies\n RUB: 'RUB', // Russian Ruble\n UAH: 'UAH', // Ukrainian Hryvnia\n BYN: 'BYN', // Belarusian Ruble\n KZT: 'KZT', // Kazakhstani Tenge\n UZS: 'UZS', // Uzbekistani Som\n AZN: 'AZN', // Azerbaijani Manat\n GEL: 'GEL', // Georgian Lari\n AMD: 'AMD', // Armenian Dram\n\n // Cryptocurrency representations (unofficial)\n BTC: 'BTC', // Bitcoin\n ETH: 'ETH', // Ethereum\n USDT: 'USDT', // Tether\n USDC: 'USDC', // USD Coin\n} as const;\n\n/**\n * ISO 4217 Currency Code type\n */\nexport type CurrencyCode = (typeof CURRENCY_CODES)[keyof typeof CURRENCY_CODES];\n","/**\n * Enum representing supported EVM-compatible blockchain networks by their numeric chain IDs.\n * @description These IDs are used to identify the specific network when interacting with wallets or smart contracts.\n * @see https://chainlist.org for reference chain IDs\n *\n * @example\n * ```typescript\n * import { CHAIN_ID } from '@plyaz/types';\n *\n * const chainId = CHAIN_ID.EthereumMainnet; // 1\n * const isTestnet = chainId === CHAIN_ID.EthereumSepolia || chainId === CHAIN_ID.PolygonAmoy;\n * ```\n */\nexport const CHAIN_ID = {\n /** Ethereum Mainnet (Chain ID: 1). */\n EthereumMainnet: 1,\n\n /** Ethereum Sepolia Testnet (Chain ID: 11155111). */\n EthereumSepolia: 11_155_111,\n\n /** Optimism Mainnet (Chain ID: 10). */\n Optimism: 10,\n\n /** Optimism Sepolia Testnet (Chain ID: 11155420). */\n OptimismSepolia: 11_155_420,\n\n /** Arbitrum One Mainnet (Chain ID: 42161). */\n Arbitrum: 42_161,\n\n /** Arbitrum Sepolia Testnet (Chain ID: 421614). */\n ArbitrumSepolia: 421_614,\n\n /** Polygon Mainnet (Chain ID: 137). */\n Polygon: 137,\n\n /** Polygon Amoy Testnet (Chain ID: 80002). */\n PolygonAmoy: 80_002,\n\n /** Base Mainnet (Chain ID: 8453). */\n Base: 8_453,\n\n /** Base Sepolia Testnet (Chain ID: 84532). */\n BaseSepolia: 84_532,\n} as const;\n","/**\n * Object containing all supported country codes and their corresponding values.\n * Primarily covers European Union countries plus additional regions.\n */\nexport const COUNTRIES = {\n unitedKingdom: 'unitedKingdom',\n germany: 'germany',\n france: 'france',\n spain: 'spain',\n italy: 'italy',\n netherlands: 'netherlands',\n belgium: 'belgium',\n austria: 'austria',\n switzerland: 'switzerland',\n sweden: 'sweden',\n norway: 'norway',\n denmark: 'denmark',\n finland: 'finland',\n portugal: 'portugal',\n ireland: 'ireland',\n poland: 'poland',\n czechRepublic: 'czechRepublic',\n hungary: 'hungary',\n romania: 'romania',\n bulgaria: 'bulgaria',\n croatia: 'croatia',\n slovenia: 'slovenia',\n slovakia: 'slovakia',\n estonia: 'estonia',\n latvia: 'latvia',\n lithuania: 'lithuania',\n greece: 'greece',\n cyprus: 'cyprus',\n malta: 'malta',\n luxembourg: 'luxembourg',\n other: 'other',\n} as const;\n\n/**\n * Enum containing error message keys for basic profile form validation.\n * Contains localized error message keys that map to translation strings.\n */\nexport enum BASIC_PROFILE_ERRORS {\n /** Error when name is below minimum length */\n NameMin = 'components.BasicProfileForm.errors.nameMin',\n /** Error when name exceeds maximum length */\n NameMax = 'components.BasicProfileForm.errors.nameMax',\n /** Error when email format is invalid */\n EmailValid = 'components.BasicProfileForm.errors.emailValid',\n /** Error when email is required but not provided */\n EmailRequired = 'components.BasicProfileForm.errors.emailRequired',\n /** Error when country is required but not selected */\n CountryRequired = 'components.BasicProfileForm.errors.countryRequired',\n /** Error when bio exceeds maximum length */\n BioMax = 'components.BasicProfileForm.errors.bioMax',\n /** Error when profile image size exceeds limit */\n ProfileImageSize = 'components.BasicProfileForm.errors.profileImageSize',\n /** Error when profile image type is not supported */\n ProfileImageTypes = 'components.BasicProfileForm.errors.profileImageTypes',\n}\n\n/**\n * Enum containing error message keys for athlete profile form validation.\n * Contains localized error message keys that map to translation strings.\n */\nexport enum ATHLETE_PROFILE_ERRORS {\n /** Error when date of birth is too recent (maximum age validation) */\n DobMax = 'components.AthleteProfileForm.errors.dobMax',\n /** Error when date of birth is too old (minimum age validation) */\n DobMin = 'components.AthleteProfileForm.errors.dobMin',\n /** Error when height is below minimum value */\n HeightMin = 'components.AthleteProfileForm.errors.heightMin',\n /** Error when height exceeds maximum value */\n HeightMax = 'components.AthleteProfileForm.errors.heightMax',\n /** Error when height format is invalid */\n HeightInvalid = 'components.AthleteProfileForm.errors.heightInvalid',\n /** Error when weight is below minimum value */\n WeightMin = 'components.AthleteProfileForm.errors.weightMin',\n /** Error when weight exceeds maximum value */\n WeightMax = 'components.AthleteProfileForm.errors.weightMax',\n /** Error when weight format is invalid */\n WeightInvalid = 'components.AthleteProfileForm.errors.weightInvalid',\n /** Error when position is below minimum length */\n PositionMin = 'components.AthleteProfileForm.errors.positionMin',\n /** Error when position exceeds maximum length */\n PositionMax = 'components.AthleteProfileForm.errors.positionMax',\n /** Error when team name is below minimum length */\n TeamMin = 'components.AthleteProfileForm.errors.teamMin',\n /** Error when team name exceeds maximum length */\n TeamMax = 'components.AthleteProfileForm.errors.teamMax',\n /** Error when Instagram handle format is invalid */\n InstagramInvalid = 'components.AthleteProfileForm.errors.instagramInvalid',\n /** Error when TikTok handle format is invalid */\n TiktokInvalid = 'components.AthleteProfileForm.errors.tiktokInvalid',\n /** Error when highlight image size exceeds limit */\n HighlightImageSize = 'components.AthleteProfileForm.errors.highlightImageSize',\n /** Error when highlight image type is not supported */\n HighlightImageTypes = 'components.AthleteProfileForm.errors.highlightImageTypes',\n}\n\n/**\n * Type representing all possible error keys for basic profile form validation\n */\nexport type BasicProfileErrorKey = keyof typeof BASIC_PROFILE_ERRORS;\n\n/**\n * Type representing all possible error keys for athlete profile form validation\n */\nexport type AthleteProfileErrorKey = keyof typeof ATHLETE_PROFILE_ERRORS;\n","/* eslint-disable no-magic-numbers */\nimport { z } from 'zod';\nimport { ATHLETE_PROFILE_ERRORS, BASIC_PROFILE_ERRORS } from './enums';\n\nconst MIN_NAME_LENGTH = 2;\nconst MAX_NAME_LENGTH = 50;\nconst MAX_BIO_LENGTH = 275;\n\n/**\n * Zod schema for basic profile form validation.\n * Validates common user profile fields including name, email, country, bio, and profile image.\n */\nexport const basicProfileSchema = z.object({\n name: z\n .string()\n .min(MIN_NAME_LENGTH, BASIC_PROFILE_ERRORS.NameMin)\n .max(MAX_NAME_LENGTH, BASIC_PROFILE_ERRORS.NameMax),\n email: z\n .string()\n .email(BASIC_PROFILE_ERRORS.EmailValid)\n .min(1, BASIC_PROFILE_ERRORS.EmailRequired),\n country: z.string().min(1, BASIC_PROFILE_ERRORS.CountryRequired),\n bio: z.string().max(MAX_BIO_LENGTH, BASIC_PROFILE_ERRORS.BioMax).optional(),\n profileImage: z\n .union([\n z\n .instanceof(File)\n .refine(\n file => file.size <= 5 * 1024 * 1024, // 5MB\n BASIC_PROFILE_ERRORS.ProfileImageSize\n )\n .refine(\n file => ['image/png', 'image/jpeg', 'image/jpg', 'image/webp'].includes(file.type),\n BASIC_PROFILE_ERRORS.ProfileImageTypes\n ),\n z.string(),\n z.null(),\n ])\n .optional(),\n});\n\n/**\n * Zod schema for fan profile form validation.\n * Extends basicProfileSchema without additional fields.\n */\nexport const fanProfileSchema = basicProfileSchema.extend({});\n\n/**\n * Zod schema for athlete profile form validation.\n * Extends basicProfileSchema with athlete-specific fields including physical stats,\n * team information, social media handles, and highlight images.\n */\nexport const athleteProfileSchema = basicProfileSchema.extend({\n dateOfBirth: z\n .date()\n .max(new Date(), ATHLETE_PROFILE_ERRORS.DobMax)\n .min(new Date(1900, 0, 1), ATHLETE_PROFILE_ERRORS.DobMin)\n .optional(),\n height: z\n .number()\n .min(50, ATHLETE_PROFILE_ERRORS.HeightMin)\n .max(300, ATHLETE_PROFILE_ERRORS.HeightMax)\n .optional(),\n weight: z\n .number()\n .min(10, ATHLETE_PROFILE_ERRORS.WeightMin)\n .max(500, ATHLETE_PROFILE_ERRORS.WeightMax)\n .optional(),\n position: z\n .string()\n .min(2, ATHLETE_PROFILE_ERRORS.PositionMin)\n .max(50, ATHLETE_PROFILE_ERRORS.PositionMax)\n .optional(),\n teamName: z\n .string()\n .min(2, ATHLETE_PROFILE_ERRORS.TeamMin)\n .max(100, ATHLETE_PROFILE_ERRORS.TeamMax)\n .optional(),\n instagramHandle: z\n .string()\n .regex(/^$|^@?(?!.*\\.\\.)(?!.*\\.$)[a-zA-Z0-9._]{1,30}$/, ATHLETE_PROFILE_ERRORS.InstagramInvalid)\n .optional(),\n tiktokHandle: z\n .string()\n .regex(/^$|^@?[a-zA-Z0-9][a-zA-Z0-9._]{1,23}$/, ATHLETE_PROFILE_ERRORS.TiktokInvalid)\n .optional(),\n highlightImage: z\n .union([\n z\n .instanceof(File)\n .refine(\n file => file.size <= 5 * 1024 * 1024, // 5MB\n ATHLETE_PROFILE_ERRORS.HighlightImageSize\n )\n .refine(\n file => ['image/png', 'image/jpeg', 'image/jpg'].includes(file.type),\n ATHLETE_PROFILE_ERRORS.HighlightImageTypes\n ),\n z.string(),\n z.null(),\n ])\n .optional(),\n});\n\n/**\n * Type inferred from basicProfileSchema for basic profile form data\n */\nexport type BasicProfileFormData = z.infer<typeof basicProfileSchema>;\n\n/**\n * Type inferred from fanProfileSchema for fan profile form data\n */\nexport type FanProfileFormData = z.infer<typeof fanProfileSchema>;\n\n/**\n * Type inferred from athleteProfileSchema for athlete profile form data\n */\nexport type AthleteProfileFormData = z.infer<typeof athleteProfileSchema>;\n","/**\n * Enum containing error message keys for campaign creation form validation.\n * Contains localized error message keys that map to translation strings.\n */\nexport enum CREATE_CAMPAIGN_ERRORS {\n /** Error when campaign title is required but not provided */\n TitleRequired = 'components.CreateCampaign.Form.errors.titleRequired',\n /** Error when campaign title exceeds maximum length */\n TitleMax = 'components.CreateCampaign.Form.errors.titleMax',\n /** Error when campaign subtitle is required but not provided */\n SubtitleRequired = 'components.CreateCampaign.Form.errors.subtitleRequired',\n /** Error when campaign subtitle exceeds maximum length */\n SubtitleMax = 'components.CreateCampaign.Form.errors.subtitleMax',\n /** Error when campaign image is required but not provided */\n CampaignImageRequired = 'components.CreateCampaign.Form.errors.campaignImageRequired',\n /** Error when start date is required but not provided */\n StartDateRequired = 'components.CreateCampaign.Form.errors.startDateRequired',\n /** Error when start date format is invalid */\n StartDateInvalid = 'components.CreateCampaign.Form.errors.startDateInvalid',\n /** Error when start date is not in the future */\n StartDateFuture = 'components.CreateCampaign.Form.errors.startDateFuture',\n /** Error when campaign duration is required but not selected */\n DurationRequired = 'components.CreateCampaign.Form.errors.durationRequired',\n /** Error when campaign story is required but not provided */\n StoryRequired = 'components.CreateCampaign.Form.errors.storyRequired',\n /** Error when campaign story exceeds maximum length */\n StoryMax = 'components.CreateCampaign.Form.errors.storyMax',\n /** Error when video URL is from an unsupported provider */\n VideoInvalidProvider = 'components.CreateCampaign.Form.errors.videoInvalidProvider',\n /** Error when funding target is required but not provided */\n FundingRequired = 'components.CreateCampaign.Form.errors.fundingRequired',\n /** Error when funding target is outside allowed range */\n FundingRange = 'components.CreateCampaign.Form.errors.fundingRange',\n /** Error when Instagram handle exceeds maximum length */\n InstagramMax = 'components.CreateCampaign.Form.errors.instagramMax',\n /** Error when Instagram handle format is invalid */\n InstagramInvalid = 'components.CreateCampaign.Form.errors.instagramInvalid',\n /** Error when TikTok handle exceeds maximum length */\n TiktokMax = 'components.CreateCampaign.Form.errors.tiktokMax',\n /** Error when TikTok handle format is invalid */\n TiktokInvalid = 'components.CreateCampaign.Form.errors.tiktokInvalid',\n /** Error when YouTube handle exceeds maximum length */\n YoutubeMax = 'components.CreateCampaign.Form.errors.youtubeMax',\n /** Error when YouTube handle format is invalid */\n YoutubeInvalid = 'components.CreateCampaign.Form.errors.youtubeInvalid',\n}\n\n/**\n * Type representing all possible error keys for campaign creation form validation\n */\nexport type CreateCampaignErrorKey = keyof typeof CREATE_CAMPAIGN_ERRORS;\n","/* eslint-disable no-magic-numbers */\nimport { z } from 'zod';\n\nimport { CREATE_CAMPAIGN_ERRORS as ERR } from './enums';\n\n/**\n * Zod schema for campaign creation form validation.\n * Validates all required fields for creating a new campaign including:\n * - Basic info (title, subtitle, image)\n * - Timeline (start date, duration)\n * - Content (story, video highlight)\n * - Funding target\n * - Social media handles\n *\n * @param config - Configuration object\n * @param config.maxFunding - Maximum funding amount allowed for campaigns\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const formCampaignSchema = ({ maxFunding }: { maxFunding: number }) =>\n z.object({\n title: z.string().min(1, ERR.TitleRequired).max(60, ERR.TitleMax),\n subtitle: z.string().min(1, ERR.SubtitleRequired).max(200, ERR.SubtitleMax),\n campaignImage: z.any().refine(val => val instanceof File, {\n message: ERR.CampaignImageRequired,\n }),\n startDate: z\n .date({\n error: ERR.StartDateRequired,\n })\n .refine(date => date instanceof Date && !isNaN(date.getTime()), {\n message: ERR.StartDateInvalid,\n })\n .refine(date => date >= new Date(), {\n message: ERR.StartDateFuture,\n }),\n duration: z\n .union([z.literal(30), z.literal(60), z.literal(90)])\n .nullable()\n .refine(val => val !== null, {\n message: ERR.DurationRequired,\n }),\n story: z.string().min(1, ERR.StoryRequired).max(10000, ERR.StoryMax),\n videoHighlight: z\n .string()\n .refine(\n url => {\n if (!url || url.trim() === '') return true;\n try {\n const urlObj = new URL(url);\n const hostname = urlObj.hostname.toLowerCase();\n return (\n hostname.includes('youtube.com') ||\n hostname.includes('youtu.be') ||\n hostname.includes('tiktok.com') ||\n hostname.includes('vimeo.com')\n );\n } catch {\n return false;\n }\n },\n {\n message: ERR.VideoInvalidProvider,\n }\n )\n .optional(),\n fundingTarget: z\n .string()\n .min(1, ERR.FundingRequired)\n .refine(\n val => {\n const num = Number.parseFloat(val ?? '');\n return !isNaN(num) && num > 0 && num <= maxFunding;\n },\n {\n message: ERR.FundingRange,\n }\n ),\n instagramHandle: z\n .string()\n .max(30, ERR.InstagramMax)\n .regex(/^$|^@?(?!.*\\.\\.)(?!.*\\.$)[a-zA-Z0-9._]{1,30}$/, ERR.InstagramInvalid)\n .optional(),\n tiktokHandle: z\n .string()\n .max(24, ERR.TiktokMax)\n .regex(/^$|^@?[a-zA-Z0-9][a-zA-Z0-9._]{1,23}$/, ERR.TiktokInvalid)\n .optional(),\n youtubeHandle: z\n .string()\n .max(50, ERR.YoutubeMax)\n .regex(/^$|^@[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/, ERR.YoutubeInvalid)\n .optional(),\n });\n","/**\n * Standard service names for logger instances across packages\n *\n * These constants ensure consistency in service naming and prevent typos\n * when creating logger instances.\n */\nexport const LOGGER_SERVICES = {\n // API Package Services\n API_CLIENT: 'ApiClient',\n CLIENT_EVENT_MANAGER: 'ClientEventManager',\n INTERCEPTORS: 'Interceptors',\n PUB_SUB: 'PubSub',\n EVENT_MANAGER: 'EventManager',\n EVENT_QUEUE: 'EventQueue',\n CONFIG_QUEUE: 'ConfigQueue',\n OPERATION_TRACKER: 'OperationTracker',\n EXPRESS_FRAMEWORK: 'ExpressFramework',\n NESTJS_GUARD: 'NestJSGuard',\n NESTJS_INTERCEPTOR: 'NestJSInterceptor',\n NETWORK_CONFIGURATION: 'NetworkConfiguration',\n BASE_OPERATION_TRACKER: 'BaseOperationTracker',\n EVENT_QUEUE_MANAGER: 'EventQueueManager',\n QUEUE_ORCHESTRATOR: 'QueueOrchestrator',\n\n // Debug & Performance Services\n PERFORMANCE_MONITOR: 'PerformanceMonitor',\n DEBUG_REPORT: 'DebugReport',\n UNIFIED_DEBUGGER: 'UnifiedDebugger',\n DEBUGGER_QUEUE_MANAGER: 'DebuggerQueueManager',\n\n // Notification Package Services\n EMAIL_SERVICE: 'EmailService',\n SMS_SERVICE: 'SMSService',\n PUSH_SERVICE: 'PushService',\n WEBHOOK_SERVICE: 'WebhookService',\n TEMPLATE_ENGINE: 'TemplateEngine',\n ATTACHMENT_RESOLVER: 'AttachmentResolver',\n\n // Storage Package Services\n STORAGE_SERVICE: 'StorageService',\n STORAGE_ADAPTER: 'StorageAdapter',\n CLOUDFLARE_R2_ADAPTER: 'CloudflareR2Adapter',\n SUPABASE_STORAGE_ADAPTER: 'SupabaseStorageAdapter',\n ADAPTER_REGISTRY: 'AdapterRegistry',\n MEDIA_PROCESSOR: 'MediaProcessor',\n METADATA_EXTRACTOR: 'MetadataExtractor',\n VIRUS_SCANNER: 'VirusScanner',\n TEMPLATE_RENDERER: 'TemplateRenderer',\n COMPLIANCE_MANAGER: 'ComplianceManager',\n\n // Config Package Services\n CONFIG_MANAGER: 'ConfigManager',\n CONFIG_VALIDATOR: 'ConfigValidator',\n} as const;\n\nexport type LoggerService = (typeof LOGGER_SERVICES)[keyof typeof LOGGER_SERVICES];\n","/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENT_EVENT_TYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and audit events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENT_EVENT_CATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENT_EVENT_ERROR_CATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENT_PROCESSING_STATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped', // Skipped due to filters/rules\n}\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENT_PROVIDER_TYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider',\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENT_METHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay',\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENT_STATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured',\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTION_TYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer',\n}\n\n/**\n * User type enumeration.\n */\nexport enum USER_TYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system',\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCT_TYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product',\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","export enum PROVIDER_PRODUCT_STATUS {\n Active = 'active',\n Inactive = 'inactive',\n Archived = 'archived',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COST_OPTIMIZATION_STRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted',\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAIL_OVER_STRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic',\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORY_FRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking',\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOAD_BALANCING_STRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom',\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCE_METRIC_TYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost',\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTING_STRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom',\n}\n\n/**\n * Enumerates all routing rule identifiers used within RouterStrategy.\n *\n * Purpose:\n * - Avoid hardcoded strings for rule names\n * - Provide consistent naming for debugging and error contexts\n * - Improve developer experience via auto-completion\n */\nexport enum ROUTER_RULE_NAME {\n AmountBasedSelection = 'amountBasedSelection',\n CurrencySpecificProviders = 'currencySpecificProviders',\n RegionSelection = 'regionSelection',\n RegionCompliance = 'regionCompliance',\n UserTypeSelection = 'userTypeSelection',\n TimeBasedSelection = 'timeBasedSelection',\n CustomRuleEvaluation = 'customRuleEvaluation',\n ABTesting = 'abTesting',\n DefaultSelection = 'defaultSelection',\n}\n\nexport const CUSTOM_RULE_FIELD = {\n AMOUNT: 'request.amount',\n CURRENCY: 'request.currency',\n USER_TYPE: 'request.userType',\n REGION: 'request.metadata.geoInfo.region',\n} as const;\n\n// Type representing the **values** of CUSTOM_RULE_FIELD\nexport type CustomRuleField = (typeof CUSTOM_RULE_FIELD)[keyof typeof CUSTOM_RULE_FIELD];\n","/**\n * Payment-specific error categories\n */\n// TODO: check if this is correct\nexport const PAYMENT_ERROR_CATEGORY = {\n /** Payment method validation or processing error */\n PaymentMethod: 'payment.method',\n\n /** Transaction processing error */\n Transaction: 'transaction',\n\n /** Payment capture error */\n Capture: 'capture',\n\n /** Payment authorization error */\n Authorization: 'authorization',\n\n /** Payment settlement error */\n Settlement: 'settlement',\n\n /** Refund processing error */\n Refund: 'refund',\n\n /** Payment gateway or provider error */\n Gateway: 'gateway',\n\n /** Payment fraud detection error */\n Fraud: 'fraud',\n\n /** Payment compliance error (AML/KYC) */\n Compliance: 'compliance',\n\n /** Payment limits exceeded */\n Limits: 'limits',\n\n /** Payment webhook error */\n Webhook: 'webhook',\n\n /** Payment security error */\n Security: 'security',\n\n /** Payment processing timeout */\n Timeout: 'timeout',\n\n /** Payment configuration error */\n Configuration: 'configuration',\n} as const;\n\nexport enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\n}\n\n/**\n * Refund not allowed reasons.\n */\nexport enum REFUND_NOT_ALLOWED_REASON {\n AlreadyRefunded = 'already_refunded',\n PartialNotSupported = 'partial_not_supported',\n TimeLimitExceeded = 'time_limit_exceeded',\n InsufficientBalance = 'insufficient_balance',\n ProviderRestriction = 'provider_restriction',\n ComplianceRestriction = 'compliance_restriction',\n}\n\n/**\n * Security threat types.\n */\nexport enum SECURITY_THREAT_TYPE {\n FraudSuspected = 'fraud_suspected',\n VelocityExceeded = 'velocity_exceeded',\n SuspiciousPattern = 'suspicious_pattern',\n BlockedRegion = 'blocked_region',\n BlacklistedMethod = 'blacklisted_method',\n SystemThreat = 'system_threat',\n}\n\n/**\n * Webhook verification failure reasons.\n */\nexport enum WEBHOOK_VERIFICATION_REASON {\n InvalidSignature = 'invalid_signature',\n MissingSignature = 'missing_signature',\n ExpiredTimestamp = 'expired_timestamp',\n InvalidPayload = 'invalid_payload',\n UnknownEndpoint = 'unknown_endpoint',\n}\n\n/**\n * Central registry for all payment resolution translation keys.\n * Provides type safety and autocompletion for all PaymentError subclasses.\n */\n\nexport const PAYMENT_RESOLUTION_KEYS = {\n GENERIC: 'resolution.generic',\n PAYMENTS_PACKAGE_ERROR: 'resolution._package_error',\n\n // Validation\n PAYMENT_VALIDATION_ERROR: 'resolution.payment_validation_error',\n INVALID_AMOUNT_ERROR: 'resolution.invalid_amount_error',\n INVALID_PAYMENT_METHOD_ERROR: 'resolution.invalid_payment_method_error',\n\n // Processing\n PAYMENT_PROCESSING_ERROR: 'resolution.payment_processing_error',\n PAYMENT_DECLINED_ERROR: 'resolution.payment_declined_error',\n INSUFFICIENT_FUNDS_ERROR: 'resolution.insufficient_funds_error',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'resolution.payment_provider_error',\n PROVIDER_TIMEOUT_ERROR: 'resolution.provider_timeout_error',\n PROVIDER_RATE_LIMIT_ERROR: 'resolution.provider_rate_limit_error',\n\n // Security\n PAYMENT_SECURITY_ERROR: 'resolution.payment_security_error',\n FRAUD_DETECTED_ERROR: 'resolution.fraud_detected_error',\n VELOCITY_LIMIT_EXCEEDED_ERROR: 'resolution.velocity_limit_exceeded_error',\n\n // Refund\n REFUND_ERROR: 'resolution.refund_error',\n REFUND_NOT_ALLOWED_ERROR: 'resolution.refund_not_allowed_error',\n REFUND_AUTHORIZATION_ERROR: 'resolution.refund_authorization_error',\n\n COMPLIANCE_ERROR: 'resolution.compliance_error',\n KYC_VERIFICATION_REQUIRED: 'resolution.kyc_verification_required',\n GEOGRAPHIC_RESTRICTION: 'resolution.geographic_restriction',\n\n PAYMENT_WEBHOOK_PACKAGE_ERROR: 'resolution.payment_webhook_package_error',\n PAYMENT_WEBHOOK_VERIFICATION_ERROR: 'resolution.payment_webhook_verification_error',\n PAYMENT_WEBHOOK_PROCESSING_ERROR: 'resolution.payment_webhook_processing_error',\n PAYMENT_WEBHOOK_REPLAY_ERROR: 'resolution.payment_webhook_replay_error',\n} as const;\n\n/** Union type of all available resolution keys */\nexport type PaymentResolutionKey =\n (typeof PAYMENT_RESOLUTION_KEYS)[keyof typeof PAYMENT_RESOLUTION_KEYS];\n\n/**\n * Central registry for all payment recommendation translation keys.\n * Provides type safety and autocompletion for analytics, alerts, and monitoring logic.\n */\n\nexport const PAYMENT_RECOMMENDATION_KEYS = {\n RETRY_LOGIC: 'recommendation.retry_logic',\n CHECK_PROVIDER: 'recommendation.check_provider',\n CRITICAL_ALERT: 'recommendation.critical_alert',\n USER_FACING: 'recommendation.user_facing',\n SYSTEM_STABLE: 'recommendation.system_stable',\n} as const;\n\n/** Union type of all available recommendation keys */\nexport type PaymentRecommendationKey =\n (typeof PAYMENT_RECOMMENDATION_KEYS)[keyof typeof PAYMENT_RECOMMENDATION_KEYS];\n","import { PAYMENT_STATUS } from '../provider';\n\nexport enum IDEMPOTENCY_STATUS {\n PENDING = 'PENDING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport const IDEMPOTENCY_SAFE_STATUSES: PAYMENT_STATUS[] = [\n PAYMENT_STATUS.Completed,\n PAYMENT_STATUS.Settled,\n PAYMENT_STATUS.Refunded,\n PAYMENT_STATUS.PartiallyRefunded,\n PAYMENT_STATUS.Disputed,\n];\n","/**\n * Notification Constants and Enums\n *\n * Type-level constants and enum values for the notifications system.\n *\n * @module notifications/enums\n */\n\n/**\n * Notification Providers\n * Standard provider names to ensure consistency across the package\n */\nexport const NOTIFICATION_PROVIDERS = {\n /** Infobip omnichannel provider (Email, SMS, WhatsApp) - PRIMARY */\n INFOBIP: 'Infobip',\n\n /** SendGrid email provider - FALLBACK */\n SENDGRID: 'SendGrid',\n\n /** Mock email provider for testing */\n MOCK_EMAIL: 'MockEmail',\n\n /** Mock SMS provider for testing */\n MOCK_SMS: 'MockSMS',\n\n /** Mock push provider for testing */\n MOCK_PUSH: 'MockPush',\n} as const;\n\n/**\n * Notification Channels\n * Available notification delivery channels\n */\nexport const NOTIFICATION_CHANNELS = {\n EMAIL: 'email',\n SMS: 'sms',\n PUSH: 'push',\n} as const;\n\n/**\n * Notification Categories (FR-4.3)\n * Determines opt-out behavior for compliance\n */\nexport const NOTIFICATION_CATEGORIES = {\n /** Cannot be opted out - compliance requirement (password resets, order confirmations) */\n TRANSACTIONAL: 'transactional',\n\n /** User can opt-out (newsletters, promotions) */\n MARKETING: 'marketing',\n\n /** User can opt-out (likes, comments, follows) */\n SOCIAL: 'social',\n\n /** System alerts and notifications (security alerts, system status) */\n SYSTEM: 'system',\n\n /** Promotional offers and campaigns */\n PROMOTIONAL: 'promotional',\n} as const;\n\n/**\n * Signature verification method for webhooks\n */\nexport enum SIGNATURE_METHOD {\n HmacSha256 = 'hmac-sha256',\n HmacSha1 = 'hmac-sha1',\n HmacSha512 = 'hmac-sha512',\n Custom = 'custom',\n}\n\n/**\n * Webhook event types mapped to internal notification events\n */\nexport enum WEBHOOK_EVENT_TYPE {\n // Delivery events\n Delivered = 'delivered',\n Bounced = 'bounced',\n Deferred = 'deferred',\n Dropped = 'dropped',\n\n // Engagement events\n Opened = 'opened',\n Clicked = 'clicked',\n\n // Spam/unsubscribe events\n SpamReport = 'spam_report',\n Unsubscribed = 'unsubscribed',\n\n // SMS-specific\n SmsDelivered = 'sms_delivered',\n SmsFailed = 'sms_failed',\n\n // Push-specific\n PushDelivered = 'push_delivered',\n PushFailed = 'push_failed',\n\n // Generic\n Unknown = 'unknown',\n}\n\n/**\n * Webhook encryption method for PII-safe IDs\n */\nexport enum WEBHOOK_ENCRYPTION_METHOD {\n /** HMAC-SHA256 hashing (recommended for IDs) */\n HmacSha256 = 'hmac-sha256',\n /** HMAC-SHA512 hashing (stronger) */\n HmacSha512 = 'hmac-sha512',\n /** No encryption (not recommended) */\n None = 'none',\n}\n\n/**\n * Common MIME types for attachments\n */\nexport const MIME_TYPES = {\n // Documents\n PDF: 'application/pdf',\n DOC: 'application/msword',\n DOCX: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n XLS: 'application/vnd.ms-excel',\n XLSX: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n PPT: 'application/vnd.ms-powerpoint',\n PPTX: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n TXT: 'text/plain',\n CSV: 'text/csv',\n\n // Images\n PNG: 'image/png',\n JPG: 'image/jpeg',\n JPEG: 'image/jpeg',\n GIF: 'image/gif',\n SVG: 'image/svg+xml',\n WEBP: 'image/webp',\n\n // Archives\n ZIP: 'application/zip',\n RAR: 'application/x-rar-compressed',\n TAR: 'application/x-tar',\n GZIP: 'application/gzip',\n\n // Other\n JSON: 'application/json',\n XML: 'application/xml',\n} as const;\n\n/**\n * Common file extensions for attachments\n */\nexport const FILE_EXTENSIONS = {\n // Documents\n PDF: '.pdf',\n DOC: '.doc',\n DOCX: '.docx',\n XLS: '.xls',\n XLSX: '.xlsx',\n PPT: '.ppt',\n PPTX: '.pptx',\n TXT: '.txt',\n CSV: '.csv',\n\n // Images\n PNG: '.png',\n JPG: '.jpg',\n JPEG: '.jpeg',\n GIF: '.gif',\n SVG: '.svg',\n WEBP: '.webp',\n\n // Archives\n ZIP: '.zip',\n RAR: '.rar',\n TAR: '.tar',\n GZ: '.gz',\n GZIP: '.gzip',\n\n // Other\n JSON: '.json',\n XML: '.xml',\n} as const;\n","/**\n * Notification Validation Schemas\n *\n * Zod schemas for validating notification inputs\n * Ensures type safety and prevents invalid data from entering the system\n *\n * @module notifications/schemas\n */\n\nimport { z } from 'zod';\nimport { NOTIFICATION_CATEGORIES } from './enums';\n\n// Validation length constants\nconst MAX_EMAIL_LENGTH = 255;\nconst MAX_USER_ID_LENGTH = 255;\nconst MAX_TEMPLATE_ID_LENGTH = 255;\nconst MAX_DEVICE_TOKEN_LENGTH = 512;\n\n/**\n * Email address validation\n * - Must be valid email format\n * - Max 255 characters\n * - Automatically lowercased and trimmed\n */\nexport const EmailSchema = z\n .string()\n .email('Invalid email address format')\n .max(MAX_EMAIL_LENGTH, 'Email address must be 255 characters or less')\n .transform(val => val.trim().toLowerCase());\n\n/**\n * Phone number validation (E.164 format)\n * - Must start with optional + followed by country code\n * - 1-15 digits total (E.164 standard)\n * - Examples: +14155552671, +442071838750, +8613800000000\n */\nexport const PhoneSchema = z\n .string()\n .regex(/^\\+?[1-9]\\d{1,14}$/, 'Invalid phone number format (E.164 expected)')\n .describe('Phone number in E.164 format');\n\n/**\n * User ID validation\n * - Required, non-empty string\n * - Max 255 characters\n */\nexport const UserIdSchema = z\n .string()\n .min(1, 'User ID is required')\n .max(MAX_USER_ID_LENGTH, 'User ID must be 255 characters or less');\n\n/**\n * Template ID validation\n * - Only lowercase letters, numbers, hyphens, and slashes\n * - Used for file path construction, must be safe\n * - Examples: welcome, password-reset, order/confirmation\n */\nexport const TemplateIdSchema = z\n .string()\n .min(1, 'Template ID is required')\n .regex(\n /^[a-z0-9-/]+$/,\n 'Template ID must contain only lowercase letters, numbers, hyphens, and slashes'\n )\n .max(MAX_TEMPLATE_ID_LENGTH, 'Template ID must be 255 characters or less');\n\n/**\n * Locale validation\n * - ISO 639-1 language code (2 lowercase letters)\n * - Optional ISO 3166-1 country code (2 uppercase letters)\n * - Examples: en, en-US, es, es-MX, fr-FR\n */\nexport const LocaleSchema = z\n .string()\n .regex(/^[a-z]{2}(-[A-Z]{2})?$/, 'Locale must be in format: en, en-US, es, es-MX')\n .describe('Locale in ISO 639-1 format');\n\n/**\n * Notification category validation (FR-4.3)\n * - transactional: Cannot be opted out (compliance requirement)\n * - marketing: User can opt-out\n * - social: User can opt-out\n */\nexport const NotificationCategorySchema = z\n .enum([\n NOTIFICATION_CATEGORIES.TRANSACTIONAL,\n NOTIFICATION_CATEGORIES.MARKETING,\n NOTIFICATION_CATEGORIES.SOCIAL,\n NOTIFICATION_CATEGORIES.SYSTEM,\n NOTIFICATION_CATEGORIES.PROMOTIONAL,\n ] as const)\n .default(NOTIFICATION_CATEGORIES.TRANSACTIONAL)\n .describe('Notification category for compliance and user preferences');\n\n/**\n * Queue priority validation\n */\nexport const QueuePrioritySchema = z.enum(['high', 'normal', 'low']);\n\n/**\n * Correlation ID validation\n * - UUID v4 format\n * - Used for tracing across systems\n */\nexport const CorrelationIdSchema = z\n .string()\n .uuid('Correlation ID must be a valid UUID v4')\n .describe('UUID v4 correlation ID');\n\n/**\n * Template data validation\n * - Must be a valid object\n * - Can contain strings, numbers, booleans, or nested objects\n * - Arrays are allowed\n */\nexport const TemplateDataSchema = z.record(z.string(), z.unknown()).optional();\n\n/**\n * Device token validation (for push notifications)\n * - Non-empty string\n * - Max 512 characters (FCM tokens can be quite long)\n */\nexport const DeviceTokenSchema = z\n .string()\n .min(1, 'Device token is required')\n .max(MAX_DEVICE_TOKEN_LENGTH, 'Device token must be 512 characters or less');\n","/**\n * Webhook Validation Schemas\n *\n * Zod schemas for validating webhook payloads from notification providers\n * Provider-specific webhook event structures\n *\n * @module notifications/webhooks.schemas\n */\n\nimport { z } from 'zod';\n\n// ============================================================================\n// INFOBIP EMAIL DELIVERY WEBHOOK SCHEMAS\n// ============================================================================\n\n/**\n * Infobip Email Status schema\n */\nexport const InfobipEmailStatusSchema = z.object({\n groupId: z.number().optional(),\n groupName: z.string().optional(),\n id: z.number().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n action: z.string().optional(),\n});\n\n/**\n * Infobip Error Info schema\n */\nexport const InfobipErrorInfoSchema = z.object({\n groupId: z.number().optional(),\n groupName: z.string().optional(),\n id: z.number().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n permanent: z.boolean().optional(),\n});\n\n/**\n * Infobip Price Info schema\n */\nexport const InfobipPriceInfoSchema = z.object({\n pricePerMessage: z.number().optional(),\n currency: z.string().optional(),\n});\n\n/**\n * Infobip Delivery Result schema\n */\nexport const InfobipDeliveryResultSchema = z\n .object({\n messageId: z.string().optional(),\n to: z.string().optional(),\n bulkId: z.string().optional(),\n sentAt: z.string().optional(),\n doneAt: z.string().optional(),\n status: InfobipEmailStatusSchema.optional(),\n error: InfobipErrorInfoSchema.optional(),\n attemptCount: z.number().optional(),\n timeToFirstAttempt: z.number().optional(),\n sendingIp: z.string().optional(),\n price: InfobipPriceInfoSchema.optional(),\n smsCount: z.number().optional(),\n browserLink: z.string().optional(),\n applicationId: z.string().optional(),\n entityId: z.string().optional(),\n campaignReferenceId: z.string().optional(),\n callbackData: z.string().optional(),\n })\n .loose();\n\n/**\n * Infobip Delivery Webhook Payload schema\n */\nexport const InfobipDeliveryWebhookSchema = z.object({\n results: z.array(InfobipDeliveryResultSchema),\n});\n\n// ============================================================================\n// INFOBIP EMAIL TRACKING WEBHOOK SCHEMAS\n// ============================================================================\n\n/**\n * Infobip Geo Location schema\n */\nexport const InfobipGeoLocationSchema = z\n .object({\n countryName: z.string().optional(),\n countryCode: z.string().optional(),\n regionName: z.string().optional(),\n city: z.string().optional(),\n latitude: z.number().optional(),\n longitude: z.number().optional(),\n })\n .loose();\n\n/**\n * Infobip Recipient Info schema\n */\nexport const InfobipRecipientInfoSchema = z\n .object({\n messageId: z.number().optional(),\n to: z.string().optional(),\n requestId: z.string().optional(),\n sentDateTime: z.number().optional(),\n })\n .loose();\n\n/**\n * Infobip Tracking Event schema\n */\nexport const InfobipTrackingEventSchema = z\n .object({\n messageId: z.number().optional(),\n bulkId: z.string().optional(),\n recipient: z.string().optional(),\n sender: z.string().optional(),\n domain: z.string().optional(),\n notificationType: z.string().optional(), // OPENED, CLICKED, COMPLAINED, LATE_BOUNCE, UNSUBSCRIBED\n eventId: z.string().optional(),\n sendDateTime: z.number().optional(),\n url: z.string().optional(), // For CLICKED events\n applicationId: z.string().optional(),\n entityId: z.string().optional(),\n campaignReferenceId: z.string().optional(),\n callbackData: z.string().optional(),\n geoLocation: InfobipGeoLocationSchema.optional(),\n recipientInfo: InfobipRecipientInfoSchema.optional(),\n })\n .loose();\n\n/**\n * Infobip Tracking Webhook Payload schema\n * Note: Tracking webhooks send a single event object, not an array\n */\nexport const InfobipTrackingWebhookSchema = z\n .object({\n messageId: z.number().optional(),\n bulkId: z.string().optional(),\n recipient: z.string().optional(),\n sender: z.string().optional(),\n domain: z.string().optional(),\n notificationType: z.string().optional(),\n eventId: z.string().optional(),\n sendDateTime: z.number().optional(),\n url: z.string().optional(),\n applicationId: z.string().optional(),\n entityId: z.string().optional(),\n campaignReferenceId: z.string().optional(),\n callbackData: z.string().optional(),\n geoLocation: InfobipGeoLocationSchema.optional(),\n recipientInfo: InfobipRecipientInfoSchema.optional(),\n })\n .loose();\n\n// ============================================================================\n// SENDGRID WEBHOOK SCHEMAS\n// ============================================================================\n\n/**\n * SendGrid Event schema\n */\nexport const SendGridEventSchema = z\n .object({\n email: z.string().email(),\n timestamp: z.number(),\n event: z.enum([\n 'processed',\n 'dropped',\n 'delivered',\n 'deferred',\n 'bounce',\n 'open',\n 'click',\n 'spam_report',\n 'unsubscribe',\n 'group_unsubscribe',\n 'group_resubscribe',\n ]),\n sg_event_id: z.string(),\n sg_message_id: z.string(),\n\n // Custom args (our notification metadata)\n notification_id: z.string().optional(),\n recipient_id: z.string().optional(),\n category: z.string().optional(),\n\n // Event-specific fields\n url: z.string().optional(), // For click events\n reason: z.string().optional(), // For bounce/drop events\n status: z.string().optional(), // For drop/bounce events\n response: z.string().optional(), // For bounce events\n useragent: z.string().optional(), // For open/click events\n ip: z.string().optional(), // For open/click events\n\n // Unsubscribe-specific\n asm_group_id: z.number().optional(), // Unsubscribe group ID\n })\n .loose(); // Allow additional fields\n\n/**\n * SendGrid Webhook Payload schema (array of events)\n */\nexport const SendGridWebhookSchema = z.array(SendGridEventSchema);\n\n// ============================================================================\n// TYPE EXPORTS\n// ============================================================================\n\n// Infobip webhook-specific types (prefixed to avoid collision with API types)\nexport type InfobipWebhookEmailStatus = z.infer<typeof InfobipEmailStatusSchema>;\nexport type InfobipWebhookErrorInfo = z.infer<typeof InfobipErrorInfoSchema>;\nexport type InfobipWebhookPriceInfo = z.infer<typeof InfobipPriceInfoSchema>;\nexport type InfobipWebhookDeliveryResult = z.infer<typeof InfobipDeliveryResultSchema>;\nexport type InfobipWebhookDeliveryPayload = z.infer<typeof InfobipDeliveryWebhookSchema>;\n\nexport type InfobipWebhookGeoLocation = z.infer<typeof InfobipGeoLocationSchema>;\nexport type InfobipWebhookRecipientInfo = z.infer<typeof InfobipRecipientInfoSchema>;\nexport type InfobipWebhookTrackingEvent = z.infer<typeof InfobipTrackingEventSchema>;\nexport type InfobipWebhookTrackingPayload = z.infer<typeof InfobipTrackingWebhookSchema>;\n\n// SendGrid webhook types\nexport type SendGridWebhookEvent = z.infer<typeof SendGridEventSchema>;\nexport type SendGridWebhookPayload = z.infer<typeof SendGridWebhookSchema>;\n","/**\n * Media file extensions\n */\nexport const MEDIA_EXTENSIONS = {\n IMAGE: ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'ico', 'bmp', 'tiff'],\n VIDEO: ['mp4', 'webm', 'avi', 'mov', 'wmv', 'flv', 'mkv', '3gp'],\n AUDIO: ['mp3', 'wav', 'ogg', 'aac', 'flac', 'm4a', 'wma'],\n} as const;\n\n/**\n * Media MIME type prefixes\n */\nexport const MEDIA_MIME_PREFIXES = ['image/', 'video/', 'audio/'] as const;\n\n/**\n * ANSI color codes\n */\nexport const COLORS = {\n // Reset\n reset: '\\x1b[0m',\n\n // Text colors\n black: '\\x1b[30m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n magenta: '\\x1b[35m',\n cyan: '\\x1b[36m',\n white: '\\x1b[37m',\n gray: '\\x1b[90m',\n\n // Bright colors\n brightRed: '\\x1b[91m',\n brightGreen: '\\x1b[92m',\n brightYellow: '\\x1b[93m',\n brightBlue: '\\x1b[94m',\n brightMagenta: '\\x1b[95m',\n brightCyan: '\\x1b[96m',\n brightWhite: '\\x1b[97m',\n\n // Background colors\n bgRed: '\\x1b[41m',\n bgGreen: '\\x1b[42m',\n bgYellow: '\\x1b[43m',\n bgBlue: '\\x1b[44m',\n bgMagenta: '\\x1b[45m',\n bgCyan: '\\x1b[46m',\n bgWhite: '\\x1b[47m',\n\n // Text styles\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n italic: '\\x1b[3m',\n underline: '\\x1b[4m',\n blink: '\\x1b[5m',\n reverse: '\\x1b[7m',\n hidden: '\\x1b[8m',\n strikethrough: '\\x1b[9m',\n} as const;\n\n/**\n * Correlation ID types for different contexts\n * Used across packages for distributed tracing and event correlation\n */\nexport enum CORRELATION_TYPE {\n /** Network event correlation */\n NETWORK = 'net',\n /** API request correlation */\n API = 'api',\n /** User session correlation */\n SESSION = 'session',\n /** Transaction correlation */\n TRANSACTION = 'txn',\n /** Event correlation */\n EVENT = 'evt',\n /** Trace correlation */\n TRACE = 'trace',\n /** Generic correlation */\n GENERIC = 'corr',\n}\n","/**\n * Event Namespace Constants\n * Centralized constants for all event namespaces in the API package\n */\n\n/**\n * Main event namespaces for the API package\n */\nexport const EVENT_NAMESPACES = {\n HEADERS: 'headers',\n NETWORK: 'network',\n ERRORS: 'errors',\n DEBUG: 'debug',\n CONFIG: 'config',\n PERFORMANCE: 'performance',\n CLIENT: 'client',\n CACHE: 'cache',\n POLLING: 'polling',\n REQUEST: 'request',\n REVALIDATION: 'revalidation',\n EVENT_MANAGER: 'eventManager',\n} as const;\n\n/**\n * Header-specific event keys\n */\nexport const HEADER_EVENTS = {\n CHANGED: 'headers:changed',\n ENRICHED: 'headers:enriched',\n CONFLICT: 'headers:conflict',\n OVERRIDE: 'headers:override',\n TRACKED: 'headers:tracked',\n MERGED: 'headers:merged',\n FILTERED: 'headers:filtered',\n VALIDATED: 'headers:validated',\n CACHED: 'headers:cached',\n CACHE_HIT: 'headers:cache:hit',\n CACHE_MISS: 'headers:cache:miss',\n // Wildcard for all header events\n ANY: 'headers:*',\n} as const;\n\n/**\n * Network-specific event keys\n */\nexport const NETWORK_EVENTS = {\n QUALITY_CHANGE: 'network:quality:changed',\n INFO_UPDATE: 'network:info-update',\n CONFIG_OVERRIDE: 'network:config:override',\n CONFIG_RESTORED: 'network:config:restored',\n OVERRIDE_CHANGE: 'network:override-change',\n PRESET_APPLIED: 'network:preset-applied',\n PRESET_CHANGED: 'network:preset:changed',\n HINTS_UPDATED: 'network:hints:updated',\n AUTO_DETECTION: 'network:auto:detection',\n MANUAL_UPDATE: 'network:manual:update',\n // Wildcard for all network events\n ANY: 'network:*',\n} as const;\n\n/**\n * Error-specific event keys\n */\nexport const ERROR_EVENTS = {\n NETWORK_ERROR: 'errors:network',\n VALIDATION_ERROR: 'errors:validation',\n AUTHENTICATION_ERROR: 'errors:authentication',\n AUTHORIZATION_ERROR: 'errors:authorization',\n RATE_LIMIT_ERROR: 'errors:rate-limit',\n SERVER_ERROR: 'errors:server',\n CLIENT_ERROR: 'errors:client',\n TIMEOUT_ERROR: 'errors:timeout',\n CONFLICT_ERROR: 'errors:conflict',\n CACHE_ERROR: 'errors:cache',\n HEADERS_ERROR: 'errors:headers',\n RETRY_ERROR: 'errors:retry',\n STRATEGY_ERROR: 'errors:strategy',\n REGIONAL_ERROR: 'errors:regional',\n NOT_FOUND_ERROR: 'errors:not-found',\n EXTERNAL_SERVICE_ERROR: 'errors:external-service',\n UNKNOWN_ERROR: 'errors:unknown',\n GENERIC_ERROR: 'errors:generic',\n // Wildcard for all error events\n ANY: 'errors:*',\n} as const;\n\n/**\n * Handler scopes for different levels of event handlers\n * These prefixes are used for registering handlers at different priority levels\n * Can be used for any type of handler (error, request, response, debug, etc.)\n *\n * Priority order (lowest to highest):\n * 1. GLOBAL - Set via setGlobalErrorHandlers(), persists across all instances\n * 2. CONFIG - Set via setGlobalConfig({ errorHandlers }), global configuration\n * 3. CLIENT - Set via createApiClient({ errorHandlers }), instance-specific\n * 4. REQUEST/TEMPORARY - Set per-request or via updateConfig(), highest priority\n *\n * Usage:\n * - GLOBAL: For app-wide handlers that should always run (e.g., logging)\n * - CONFIG: For environment-specific handlers (e.g., dev vs prod)\n * - CLIENT: For instance-specific handlers (e.g., per-service client)\n * - REQUEST/TEMPORARY: For request-specific or runtime updates\n *\n * Note: REQUEST and TEMPORARY are aliases - both use 'request' scope\n *\n * Examples of namespaced handlers:\n * - Error handlers: 'global:error', 'config:error', 'client:error'\n * - Debug handlers: 'global:debug', 'config:debug', 'client:debug'\n * - Request handlers: 'global:request', 'config:request', 'client:request'\n */\nexport const HANDLER_SCOPES = {\n GLOBAL: 'global', // Global handlers (lowest priority, persists across all instances)\n CONFIG: 'config', // Config-level handlers (middle priority, from setGlobalConfig)\n CLIENT: 'client', // Client instance handlers (high priority, instance-specific)\n TEMPORARY: 'request', // Temporary handlers (alias for REQUEST, highest priority)\n REQUEST: 'request', // Request-level handlers (highest priority, per-request)\n} as const;\n\n/**\n * Core event scopes (excluding aliases)\n * These are the actual scope values used by the event system\n */\nexport const EVENT_SCOPES = [\n HANDLER_SCOPES.GLOBAL,\n HANDLER_SCOPES.CONFIG,\n HANDLER_SCOPES.CLIENT,\n HANDLER_SCOPES.REQUEST,\n] as const;\n\n/**\n * All event scopes including 'temporary' alias\n * Used in APIs where 'temporary' provides semantic clarity\n */\nexport const EVENT_SCOPES_WITH_TEMPORARY = [...EVENT_SCOPES, 'temporary' as const] as const;\n\n/**\n * Debug-specific event keys\n */\nexport const DEBUG_EVENTS = {\n CONFIG_CONFLICT: 'debug:config-conflict',\n CONFIG_CHANGE: 'debug:config-change',\n HEADERS_TRACKED: 'debug:headers-tracked',\n NETWORK_OVERRIDE: 'debug:network-override',\n NETWORK_STATE_CHANGED: 'debug:network-state-changed',\n NETWORK_DATA_CLEARED: 'debug:network-data-cleared',\n DEBUG_INFO: 'debug:info',\n PERFORMANCE_IMPACT: 'debug:performance-impact',\n MONITORING_ALERT: 'debug:monitoring-alert',\n CONFIG_TRACKED: 'debug:config-tracked',\n CONFLICTS_BATCH: 'debug:conflicts-batch',\n EVENT_OPERATION: 'debug:event-operation',\n // Wildcard for all debug events\n ANY: 'debug:*',\n} as const;\n\n/**\n * Configuration sources - where config updates originate from\n */\nexport const EVENTS_CONFIG_SOURCES = {\n GLOBAL: 'global',\n CREATE_API_CLIENT: 'createApiClient',\n UPDATE_CONFIG: 'updateConfig',\n MANUAL: 'manual',\n ENVIRONMENT: 'environment',\n PRESET: 'preset',\n NETWORK_AWARE: 'networkAware',\n ADAPTIVE: 'adaptive',\n} as const;\n\n/**\n * Configuration-specific event keys\n */\nexport const CONFIG_EVENTS = {\n GLOBAL_UPDATED: 'config:global-updated',\n GLOBAL_RESET: 'config:global-reset',\n ENVIRONMENT_CONFIGURED: 'config:environment-configured',\n PRESET_APPLIED: 'config:preset-applied',\n // Wildcard for all config events\n ANY: 'config:*',\n} as const;\n\n/**\n * Performance-specific event keys\n */\nexport const PERFORMANCE_EVENTS = {\n REQUEST_START: 'performance:request-start',\n REQUEST_COMPLETE: 'performance:request-complete',\n RETRY: 'performance:retry',\n THRESHOLD_EXCEEDED: 'performance:threshold-exceeded',\n OPTIMIZATION_APPLIED: 'performance:optimization-applied',\n METRIC_RECORDED: 'performance:metric-recorded',\n // Wildcard for all performance events\n ANY: 'performance:*',\n} as const;\n\n/**\n * Client-specific event keys\n */\nexport const CLIENT_EVENTS = {\n CONFLICT: 'client:conflict',\n DEBUG: 'client:debug',\n CREATED: 'client:created',\n // Wildcard for all client events\n ANY: 'client:*',\n} as const;\n\n/**\n * Cache-specific event keys\n */\nexport const CACHE_EVENTS = {\n HIT: 'cache:hit',\n MISS: 'cache:miss',\n INVALIDATE: 'cache:invalidate',\n // Wildcard for all cache events\n ANY: 'cache:*',\n} as const;\n\n/**\n * All event keys combined for easy access\n */\nexport const ALL_EVENTS = {\n ...HEADER_EVENTS,\n ...NETWORK_EVENTS,\n ...ERROR_EVENTS,\n ...DEBUG_EVENTS,\n ...CONFIG_EVENTS,\n ...PERFORMANCE_EVENTS,\n ...CLIENT_EVENTS,\n ...CACHE_EVENTS,\n} as const;\n\nexport type EventsConfigSource = (typeof EVENTS_CONFIG_SOURCES)[keyof typeof EVENTS_CONFIG_SOURCES];\n","/**\n * Queue System Enums\n */\n\n/**\n * Priority levels for queue operations\n * @description Defines the priority order for queued operations, from highest (CRITICAL) to lowest (IDLE)\n *\n * @example\n * ```typescript\n * import { PRIORITY_LEVEL } from '@plyaz/types';\n *\n * const priority = PRIORITY_LEVEL.HIGH; // 1\n * if (priority <= PRIORITY_LEVEL.HIGH) {\n * // Handle high-priority request\n * }\n * ```\n */\nexport const PRIORITY_LEVEL = {\n /** Critical priority - highest urgency (0) */\n CRITICAL: 0,\n /** High priority (1) */\n HIGH: 1,\n /** Medium priority (2) */\n MEDIUM: 2,\n /** Normal priority (3) */\n NORMAL: 3,\n /** Low priority (4) */\n LOW: 4,\n /** Idle priority - lowest urgency (5) */\n IDLE: 5,\n} as const;\n","import type { NetworkPresetConfig } from '..';\n\n/**\n * Data saver mode uses offline-optimized presets\n */\nexport const DATA_SAVER_PRESETS: NetworkPresetConfig = {\n performance: 'offline',\n cache: 'aggressive',\n retry: 'conservative',\n revalidation: 'static',\n};\n\n/**\n * Valid Client Hint header names\n */\nexport const CLIENT_HINT_HEADERS = {\n SAVE_DATA: 'save-data',\n ECT: 'ect',\n RTT: 'rtt',\n DOWNLINK: 'downlink',\n DEVICE_MEMORY: 'device-memory',\n ACCEPT_CH: 'Accept-CH',\n ACCEPT_CH_LIFETIME: 'Accept-CH-Lifetime',\n} as const;\n\n/**\n * Validation ranges for header values\n */\nexport const VALIDATION_RANGES = {\n RTT: { MIN: 0, MAX: 10000 }, // 0-10 seconds\n DOWNLINK: { MIN: 0, MAX: 10000 }, // 0-10 Gbps\n DEVICE_MEMORY: { MIN: 0, MAX: 128 }, // 0-128 GB\n} as const;\n","/**\n * Network Quality Enum\n */\n\n/**\n * Network quality levels enum\n */\nexport enum NETWORK_QUALITY {\n EXCELLENT = 'excellent', // 4G, low latency\n GOOD = 'good', // 3G or good 4G\n FAIR = 'fair', // 2G or poor 3G\n POOR = 'poor', // Slow 2G or worse\n OFFLINE = 'offline', // No connection\n UNKNOWN = 'unknown', // Unable to determine\n}\n\n/**\n * Event priority mapping\n */\nexport const EVENT_PRIORITY_MAP = {\n // Critical events\n error: 'critical',\n onNetworkError: 'critical',\n critical: 'critical',\n\n // High priority events\n config: 'high',\n auth: 'high',\n conflict: 'high',\n\n // Normal priority events\n network: 'normal',\n headers: 'normal',\n performance: 'normal',\n\n // Low priority events\n debug: 'low',\n metrics: 'low',\n tracking: 'low',\n} as const;\n\n/**\n * Export preset names for easy access\n */\nexport const NetworkPresetNames = {\n OFFLINE_FIRST: 'offline-first' as const,\n DATA_SAVER: 'data-saver' as const,\n SLOW_CONNECTION: 'slow-connection' as const,\n FAIR_CONNECTION: 'fair-connection' as const,\n GOOD_CONNECTION: 'good-connection' as const,\n EXCELLENT_CONNECTION: 'excellent-connection' as const,\n AGGRESSIVE_CACHE: 'aggressive-cache' as const,\n REALTIME: 'realtime' as const,\n BACKGROUND_SYNC: 'background-sync' as const,\n} as const;\n\n/**\n * Confidence levels for quality detection\n */\nexport const NETWORK_CONFIDENCE_LEVELS = {\n /** Excellent confidence (90%) */\n EXCELLENT: 0.9,\n /** High confidence (80%) */\n HIGH: 0.8,\n /** Medium confidence (70%) */\n MEDIUM: 0.7,\n /** Low confidence (50%) */\n LOW: 0.5,\n /** Threshold for high confidence classification */\n HIGH_THRESHOLD: 0.7,\n /** Threshold for medium confidence classification */\n MEDIUM_THRESHOLD: 0.4,\n} as const;\n\n/**\n * Network quality thresholds\n */\nexport interface QualityThresholds {\n excellentRTT: number; // < 50ms\n goodRTT: number; // < 150ms\n fairRTT: number; // < 400ms\n excellentSpeed: number; // > 10 Mbps\n goodSpeed: number; // > 2 Mbps\n fairSpeed: number; // > 0.5 Mbps\n}\n\n// Speed thresholds in Mbps\nexport const SPEED_THRESHOLDS = {\n EXCELLENT: 10,\n GOOD: 2,\n FAIR: 0.5,\n} as const;\n\n// RTT thresholds in milliseconds\nexport const RTT_THRESHOLDS = {\n EXCELLENT: 50,\n GOOD: 150,\n FAIR: 400,\n} as const;\n\nexport const DEFAULT_THRESHOLDS: QualityThresholds = {\n excellentRTT: RTT_THRESHOLDS.EXCELLENT,\n goodRTT: RTT_THRESHOLDS.GOOD,\n fairRTT: RTT_THRESHOLDS.FAIR,\n excellentSpeed: SPEED_THRESHOLDS.EXCELLENT,\n goodSpeed: SPEED_THRESHOLDS.GOOD,\n fairSpeed: SPEED_THRESHOLDS.FAIR,\n};\n","/**\n * Debugger Event Namespaces and Constants\n * Centralized definition of all debugger tracking operations and event types\n */\n\nimport type { HistoryType, UnifiedOperationType } from '..';\n\n/**\n * Factory operation types for tracking\n * Used when tracking factory-related operations\n */\nexport const FACTORY_OPERATIONS = {\n FACTORY_CREATED: 'factory_created',\n FACTORY_ACCESSED: 'factory_accessed',\n FACTORY_INITIALIZED: 'factory_initialized',\n FACTORIES_RESET: 'factories_reset',\n FACTORY_REGISTER: 'factory_register',\n HANDLER_REGISTERED: 'handler_registered',\n HANDLER_UNREGISTERED: 'handler_unregistered',\n /**\n * Indicates that a specific handler instance has been removed from a factory or scope.\n * Use this when removing a particular handler by reference or ID, as opposed to\n * HANDLER_UNREGISTERED, which refers to unregistering a handler type or all handlers.\n */\n SPECIFIC_HANDLER_REMOVED: 'specific_handler_removed',\n SCOPE_LISTENERS_CLEARED: 'scope_listeners_cleared',\n} as const;\n\n/**\n * Event system operation types\n * Used when tracking event system operations\n */\nexport const EVENT_OPERATIONS = {\n ON: 'on',\n ONCE: 'once',\n OFF: 'off',\n EMIT: 'emit',\n EMIT_ACROSS_SCOPES: 'emit_across_scopes',\n REMOVE_ALL_LISTENERS: 'removeAllListeners',\n ONCE_EXECUTED: 'once_executed',\n CONFIG_UPDATE: 'config_update',\n CONFIG_UPDATE_FAILED: 'config_update_failed',\n GLOBAL_CONFIG_UPDATE: 'global_config_update',\n GLOBAL_CONFIG_RESET: 'global_config_reset',\n SCOPE_CHANGE: 'scope_change',\n FACTORY_CREATE: 'factory_create',\n FACTORY_COORDINATION: 'factory_coordination',\n HANDLER_STRATEGY: 'handler_strategy',\n HANDLER_STRATEGY_APPLIED: 'handler_strategy_applied',\n} as const;\n\n/**\n * Queue operation types\n * Used when tracking queue operations\n */\nexport const QUEUE_OPERATIONS = {\n QUEUE_CREATED: 'queue_created',\n QUEUE_PROCESSED: 'queue_processed',\n QUEUE_CLEARED: 'queue_cleared',\n QUEUE_ERROR: 'queue_error',\n BATCH_PROCESSED: 'batch_processed',\n ITEM_ENQUEUED: 'item_enqueued',\n ITEM_DEQUEUED: 'item_dequeued',\n PRIORITY_CHANGED: 'priority_changed',\n} as const;\n\n/**\n * Config tracking sources\n * Used to identify the source of configuration changes\n */\nexport const DEBUGGER_CONFIG_SOURCES = {\n DEFAULT: 'default',\n DIRECT: 'direct',\n CLIENT: 'client',\n UNIFIED_STRATEGY: 'unifiedStrategy',\n PERFORMANCE_PRESET: 'performancePreset',\n DATA_PATTERN: 'dataPattern',\n CACHE_STRATEGY: 'cacheStrategy',\n RETRY_STRATEGY: 'retryStrategy',\n REVALIDATION_STRATEGY: 'revalidationStrategy',\n ADAPTIVE_CONFIG: 'adaptiveConfig',\n MONITORING_CONFIG: 'monitoringConfig',\n POLLING_CONFIG: 'pollingConfig',\n NETWORK_PRESET: 'networkPreset',\n NETWORK_AWARE: 'networkAware',\n NETWORK_QUALITY: 'networkQuality',\n USER_PREFERENCE: 'userPreference',\n TEMPORARY_OVERRIDE: 'temporaryOverride',\n AUTO_OPTIMIZATION: 'autoOptimization',\n NETWORK_CLIENT_HINTS: 'networkClientHints',\n HEADER_PRESET: 'headerPreset',\n ENRICHED_HEADERS: 'enrichedHeaders',\n USER_HEADERS: 'userHeaders',\n INTERCEPTOR: 'interceptor',\n CONTEXT_HEADERS: 'contextHeaders',\n ENCRYPTION: 'encryption',\n} as const;\n\n/**\n * Debug history entry types\n * Used to categorize history entries\n */\nexport const HISTORY_TYPES = {\n CONFIG: 'config',\n HEADER: 'header',\n NETWORK: 'network',\n PERFORMANCE: 'performance',\n EVENT: 'event',\n EVENT_OPERATION: 'event_operation',\n} as const;\n\n/**\n * Header transformation stages\n * Used to track header changes through the pipeline\n */\nexport const HEADER_STAGES = {\n BASE: 'base',\n ENRICHED: 'enriched',\n INTERCEPTOR: 'interceptor',\n FINAL: 'final',\n} as const;\n\n/**\n * Config update strategies\n * Used when updating configuration\n */\nexport const UPDATE_STRATEGIES = {\n MERGE: 'merge',\n REPLACE: 'replace',\n TEMPORARY: 'temporary',\n} as const;\n\n/**\n * Config change types\n * Used to categorize configuration changes\n */\nexport const CHANGE_TYPES = {\n OVERRIDE: 'override',\n RESTORE: 'restore',\n PRESET_CHANGE: 'preset_change',\n USER_PREFERENCE: 'user_preference',\n AUTO_OPTIMIZATION: 'auto_optimization',\n} as const;\n\n/**\n * Tracking phases\n * Used to identify when tracking occurs\n */\nexport const TRACKING_PHASES = {\n INITIALIZATION: 'initialization',\n RUNTIME: 'runtime',\n UPDATE: 'update',\n} as const;\n\n/**\n * Performance impact levels\n * Used to categorize performance impact\n */\nexport const IMPACT_LEVELS = {\n NONE: 'NONE',\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH',\n CRITICAL: 'CRITICAL',\n} as const;\n\n/**\n * Monitoring alert severities\n * Used to categorize alert severity\n */\nexport const ALERT_SEVERITIES = {\n INFO: 'info',\n WARNING: 'warning',\n ERROR: 'error',\n CRITICAL: 'critical',\n} as const;\n\n/**\n * Monitoring alert types\n * Used to categorize monitoring alerts\n */\nexport const ALERT_TYPES = {\n CONFLICT: 'conflict',\n PERFORMANCE: 'performance',\n NETWORK: 'network',\n} as const;\n\n/**\n * Combined operation types for unified tracking\n */\nexport const UNIFIED_OPERATIONS = {\n ...FACTORY_OPERATIONS,\n ...EVENT_OPERATIONS,\n ...QUEUE_OPERATIONS,\n} as const;\n\n// Type exports for TypeScript support\nexport type QueueOperationType = (typeof QUEUE_OPERATIONS)[keyof typeof QUEUE_OPERATIONS];\nexport type DebuggerConfigSource =\n (typeof DEBUGGER_CONFIG_SOURCES)[keyof typeof DEBUGGER_CONFIG_SOURCES];\nexport type ChangeType = (typeof CHANGE_TYPES)[keyof typeof CHANGE_TYPES];\n\n/**\n * Helper to check if a string is a valid operation type\n */\nexport function isValidOperation(operation: string): operation is UnifiedOperationType {\n return Object.values(UNIFIED_OPERATIONS).includes(operation as UnifiedOperationType);\n}\n\n/**\n * Helper to check if a string is a valid config source\n */\nexport function isValidConfigSource(source: string): source is DebuggerConfigSource {\n return Object.values(DEBUGGER_CONFIG_SOURCES).includes(source as DebuggerConfigSource);\n}\n\n/**\n * Helper to check if a string is a valid history type\n */\nexport function isValidHistoryType(type: string): type is HistoryType {\n return Object.values(HISTORY_TYPES).includes(type as HistoryType);\n}\n","/**\n * Event constants\n */\nexport const EVENT_CONSTANTS = {\n DEBUG_INFO_INTERVAL_MULTIPLIER: 5,\n IMPACT_THRESHOLDS: {\n NONE: 90,\n LOW: 70,\n MEDIUM: 50,\n HIGH: 30,\n },\n} as const;\n","/**\n * Regional detection constants\n */\n\n// Storage key for cached region\nexport const REGION_STORAGE_KEY = '@plyaz/api:userRegion';\n\n/**\n * Confidence levels for region detection\n */\nexport const REGIONAL_CONFIDENCE_LEVELS = {\n CDN_HEADER: 0.95,\n TIMEZONE_DIRECT: 0.9,\n TIMEZONE_PREFIX: 0.8,\n HIGH: 0.8,\n LOCALE_DIRECT: 0.7,\n MEDIUM: 0.7,\n GEOLOCATION: 0.6,\n LOCALE_LANGUAGE: 0.5,\n LOW: 0.5,\n GLOBAL_FALLBACK: 0.3,\n UNKNOWN_FALLBACK: 0.2,\n FINAL_FALLBACK: 0.1,\n} as const;\n\n/**\n * Geographic coordinates for region detection\n */\nexport const COORDINATES = {\n EU: {\n MIN_LAT: 35,\n MAX_LAT: 70,\n MIN_LON: -10,\n MAX_LON: 40,\n },\n US: {\n MIN_LAT: 25,\n MAX_LAT: 50,\n MIN_LON: -125,\n MAX_LON: -65,\n },\n US_WEST: {\n MIN_LAT: 32,\n MAX_LAT: 42,\n MIN_LON: -125,\n MAX_LON: -114,\n },\n US_EAST: {\n MIN_LAT: 38,\n MAX_LAT: 45,\n MIN_LON: -80,\n MAX_LON: -70,\n },\n ASIA: {\n MIN_LAT: 18,\n MAX_LAT: 54,\n MIN_LON: 73,\n MAX_LON: 135,\n },\n JAPAN: {\n MIN_LAT: 30,\n MAX_LAT: 46,\n MIN_LON: 129,\n MAX_LON: 146,\n },\n} as const;\n\n/**\n * Cache duration constants\n */\nconst HOURS_PER_DAY = 24;\nconst MINUTES_PER_HOUR = 60;\nconst SECONDS_PER_MINUTE = 60;\nconst MS_PER_SECOND = 1000;\n\n// Cache duration: 24 hours in milliseconds\nexport const CACHE_DURATION_MS =\n HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE * MS_PER_SECOND;\n\n/**\n * Map regions to presets\n */\nexport const REGION_TO_PRESET = {\n eu: 'gdpr',\n us: 'ccpa', // Map US to CCPA (California compliance)\n 'us-ca': 'ccpa',\n cn: 'pipl',\n jp: 'appi',\n ca: 'global', // Canada uses global preset\n global: 'global',\n} as const;\n","/**\n * Event types for pub/sub system\n */\nexport const PUB_SUB_EVENT = {\n CacheUpdate: 'cache:update',\n CacheDelete: 'cache:delete',\n CacheRevalidate: 'cache:revalidate',\n RequestStart: 'request:start',\n RequestSuccess: 'request:success',\n RequestError: 'request:error',\n RequestAbort: 'request:abort',\n} as const;\n","/**\n * @fileoverview Database adapter type definitions\n *\n * Defines the enumeration of supported database adapter types used throughout\n * the database package. This enum provides type-safe identification of different\n * database integrations and is used in configuration, factory methods, and\n * adapter selection logic.\n *\n * **Application Flow Context:**\n * ```\n * Configuration → ADAPTERS Enum → AdapterFactory → Concrete Adapter\n * ↓ ↓ ↓ ↓\n * User Config → Type Safety → Adapter Creation → Database Connection\n * ```\n *\n * **Adapter Types:**\n * - **DRIZZLE**: Type-safe ORM with excellent TypeScript support\n * - **SUPABASE**: Hosted PostgreSQL with real-time capabilities\n * - **SQL**: Raw SQL execution for maximum control\n * - **DATABASE**: Generic fallback adapter\n *\n * @example\n * ```typescript\n * // Adapter selection in configuration\n * const config = {\n * adapter: ADAPTERS.DRIZZLE,\n * connectionString: process.env.DATABASE_URL\n * };\n *\n * // Type-safe adapter factory usage\n * const adapter = AdapterFactory.create(ADAPTERS.SUPABASE, supabaseConfig);\n *\n * // Switch statement with exhaustive checking\n * switch (config.adapter) {\n * case ADAPTERS.DRIZZLE:\n * // Handle Drizzle-specific logic\n * break;\n * case ADAPTERS.SUPABASE:\n * // Handle Supabase-specific logic\n * break;\n * case ADAPTERS.SQL:\n * // Handle SQL-specific logic\n * break;\n * default:\n * // TypeScript ensures all cases are handled\n * throw new Error(`Unsupported adapter: ${config.adapter}`);\n * }\n * ```\n *\n */\n/**\n * @enum ADAPTERS\n * @description\n * Enumeration of supported database adapter types.\n *\n * This enum provides type-safe identification of different database integrations\n * and is used throughout the package for configuration, factory methods, and\n * adapter selection. Each adapter type represents a different approach to\n * database connectivity and operations.\n *\n * **Adapter Characteristics:**\n * - **DATABASE**: Generic fallback, minimal functionality\n * - **DRIZZLE**: Full ORM with type safety and query building\n * - **SUPABASE**: Hosted solution with real-time and auth features\n * - **SQL**: Raw SQL for performance-critical applications\n *\n * @example\n * ```typescript\n * // Configuration with adapter selection\n * const configs = {\n * development: { adapter: ADAPTERS.DRIZZLE },\n * production: { adapter: ADAPTERS.SUPABASE },\n * performance: { adapter: ADAPTERS.SQL }\n * };\n *\n * // Type-safe adapter validation\n * function validateAdapter(adapter: ADAPTERS): boolean {\n * return Object.values(ADAPTERS).includes(adapter);\n * }\n * ```\n */\nexport enum ADAPTERS {\n /** Generic database adapter (default when no specific integration is set) */\n DATABASE = 'database',\n\n /** Drizzle ORM adapter (PostgreSQL, MySQL, SQLite, etc.) */\n DRIZZLE = 'drizzle',\n\n /** Supabase adapter (PostgreSQL backend with REST + Realtime APIs) */\n SUPABASE = 'supabase',\n\n /** Raw SQL adapter (direct database queries without ORM) */\n SQL = 'sql',\n}\n\n// Event type enum\nexport enum DATABASE_EVENT_TYPE {\n BeforeQuery = 'beforeQuery',\n AfterQuery = 'afterQuery',\n QueryError = 'queryError',\n BeforeTransaction = 'beforeTransaction',\n AfterTransaction = 'afterTransaction',\n TransactionRollback = 'transactionRollback',\n HealthChange = 'healthChange',\n}\n\n/**\n * Strategy options for replica selection.\n */\nexport enum REPLICA_STRATEGY {\n /** Always use primary database */\n PRIMARY = 'primary',\n /** Use any available replica */\n REPLICA = 'replica',\n /** Use geographically closest replica */\n CLOSEST = 'closest',\n /** Use fastest responding replica */\n FASTEST = 'fastest',\n}\n\n/**\n * Enum for pool event types.\n */\nexport enum DB_POOL_EVENTS {\n CONNECT = 'connect',\n ACQUIRE = 'acquire',\n RELEASE = 'release',\n REMOVE = 'remove',\n}\n\n/**\n * Alert severity levels\n */\nexport enum ALERT_SEVERITY {\n CRITICAL = 'critical',\n ERROR = 'error',\n WARNING = 'warning',\n INFO = 'info',\n}\n\n/**\n * Alert source types\n */\nexport enum ALERT_SOURCE {\n DATABASE = 'database',\n POOL = 'pool',\n REPLICA = 'replica',\n CACHE = 'cache',\n BACKUP = 'backup',\n}\n\n/**\n * Audit operation types\n */\nexport enum AUDIT_OPERATION {\n CREATE = 'CREATE',\n UPDATE = 'UPDATE',\n DELETE = 'DELETE',\n}\n\n/**\n * Database Adapter Types - Enum for adapter selection\n */\nexport enum ADAPTER_TYPES {\n DRIZZLE = 'drizzle',\n SUPABASE = 'supabase',\n SQL = 'sql',\n}\n","/**\n * Encryption Extension Constants\n *\n * Centralized constants for encryption configuration to prevent\n * hardcoded values and ensure consistency across the codebase.\n */\n\nexport const ENCRYPTION_DEFAULTS = {\n /** Default encryption algorithm - AES-256-GCM provides authenticated encryption */\n ALGORITHM: 'aes-256-gcm' as const,\n\n /** IV length for AES-256-GCM in bytes */\n IV_LENGTH: 16,\n\n /** Expected parts in encrypted text format (iv:authTag:encrypted) */\n ENCRYPTED_PARTS_COUNT: 3,\n\n /** Default encryption key for testing (32 bytes for AES-256) */\n DEFAULT_KEY: 'abcdefghijklmnopqrstuvwxyz123456',\n} as const;\n\n/**\n * Alert rule IDs\n */\nexport const ALERT_RULE_ID = {\n POOL_EXHAUSTION: 'pool-exhaustion',\n SLOW_QUERY: 'slow-query',\n REPLICA_LAG: 'replica-lag',\n} as const;\n","/**\n * Storage Package Enums\n * @module @plyaz/types/storage\n */\n\n/**\n * File categories for organizing uploaded files\n */\nexport enum FILE_CATEGORY {\n // Profile & Identity\n ProfileImage = 'profile_image',\n ProfileBanner = 'profile_banner',\n ProfileData = 'profile_data',\n IdDocument = 'id_document',\n\n // Content\n PostImage = 'post_image',\n PostVideo = 'post_video',\n PostAudio = 'post_audio',\n PostDocument = 'post_document',\n PostArchive = 'post_archive',\n\n // Media\n GalleryImage = 'gallery_image',\n GalleryVideo = 'gallery_video',\n HighlightVideo = 'highlight_video',\n TrainingVideo = 'training_video',\n\n // Commerce\n ProductImage = 'product_image',\n ProductVideo = 'product_video',\n MerchandiseImage = 'merchandise_image',\n\n // Documents\n DOCUMENT = 'document',\n ContractDocument = 'contract_document',\n InvoiceDocument = 'invoice_document',\n ReceiptDocument = 'receipt_document',\n TaxDocument = 'tax_document',\n LegalDocument = 'legal_document',\n FinancialDocument = 'financial_document',\n\n // NFT & Digital Assets\n NftImage = 'nft_image',\n NftMetadata = 'nft_metadata',\n\n // Brand Assets\n BrandLogo = 'brand_logo',\n BrandAsset = 'brand_asset',\n MarketingAsset = 'marketing_asset',\n\n // Other\n AVATAR = 'avatar',\n ATTACHMENT = 'attachment',\n TempFile = 'temp_file',\n OTHER = 'other',\n}\n\n/**\n * Entity types that can own files\n */\nexport enum ENTITY_TYPE {\n USER = 'user',\n FAN = 'fan',\n ATHLETE = 'athlete',\n CLUB = 'club',\n BRAND = 'brand',\n ORGANIZATION = 'organization',\n EVENT = 'event',\n POST = 'post',\n PRODUCT = 'product',\n NFT = 'nft',\n SYSTEM = 'system',\n}\n\n/**\n * Storage adapter types\n */\nexport enum STORAGE_ADAPTER_TYPE {\n CloudflareR2 = 'cloudflare_r2',\n SupabaseStorage = 'supabase_storage',\n CUSTOM = 'custom',\n MOCK = 'mock',\n}\n\n/**\n * File access levels\n */\nexport enum FILE_ACCESS_LEVEL {\n PUBLIC = 'public',\n PRIVATE = 'private',\n SHARED = 'shared',\n RESTRICTED = 'restricted',\n}\n\n/**\n * Upload status\n */\nexport enum UPLOAD_STATUS {\n PENDING = 'pending',\n UPLOADING = 'uploading',\n PROCESSING = 'processing',\n COMPLETED = 'completed',\n FAILED = 'failed',\n CANCELLED = 'cancelled',\n}\n\n/**\n * Storage event types\n */\nexport enum STORAGE_EVENT_TYPE {\n // Upload events\n FileUploaded = 'file_uploaded',\n FileUploadFailed = 'file_upload_failed',\n UploadProgress = 'upload_progress',\n UploadAborted = 'upload_aborted',\n\n // Delete events\n FileDeleted = 'file_deleted',\n FileDeleteFailed = 'file_delete_failed',\n\n // Access events\n FileAccessed = 'file_accessed',\n SignedUrlGenerated = 'signed_url_generated',\n\n // Processing events\n MetadataExtracted = 'metadata_extracted',\n MediaProcessingStarted = 'media_processing_started',\n MediaProcessingCompleted = 'media_processing_completed',\n MediaProcessingFailed = 'media_processing_failed',\n TranscodeComplete = 'transcode_complete',\n TranscodeFailed = 'transcode_failed',\n TranscodeProgress = 'transcode_progress',\n ThumbnailGenerated = 'thumbnail_generated',\n ImageOptimized = 'image_optimized',\n\n // Security events\n VirusDetected = 'virus_detected',\n VirusScanCompleted = 'virus_scan_completed',\n\n // Adapter events\n AdapterHealthCheck = 'adapter_health_check',\n AdapterFailed = 'adapter_failed',\n\n // Compliance events\n RetentionPolicyApplied = 'retention_policy_applied',\n RetentionEnforced = 'retention_enforced',\n FileMarkedForDeletion = 'file_marked_for_deletion',\n ImmutabilityEnforced = 'immutability_enforced',\n SoftDeleteProcessed = 'soft_delete_processed',\n FileRestored = 'file_restored',\n FileArchived = 'file_archived',\n RetentionExpired = 'retention_expired',\n JurisdictionConflictResolved = 'jurisdiction_conflict_resolved',\n\n // Generation events\n FileGenerated = 'file_generated',\n FileGenerationFailed = 'file_generation_failed',\n FileUpdated = 'file_updated',\n FileUpdateFailed = 'file_update_failed',\n\n // File operations events\n FileReplaced = 'file_replaced',\n FileReplaceFailed = 'file_replace_failed',\n FileMoved = 'file_moved',\n FileMoveFailed = 'file_move_failed',\n FileCopied = 'file_copied',\n FileCopyFailed = 'file_copy_failed',\n\n // Audit events\n AuditLogCreated = 'audit_log_created',\n\n // Queue events\n QueueStarted = 'storage.queue.started',\n QueueStopped = 'storage.queue.stopped',\n OperationProcessing = 'storage.operation.processing',\n OperationCompleted = 'storage.operation.completed',\n OperationRetry = 'storage.operation.retry',\n OperationFailed = 'storage.operation.failed',\n\n // Error events\n StorageError = 'storage_error',\n\n // CDN events\n CdnInvalidated = 'cdn_invalidated',\n CdnInvalidationFailed = 'cdn_invalidation_failed',\n\n // Integrity events\n IntegrityCheckFailed = 'integrity_check_failed',\n CorruptionDetected = 'corruption_detected',\n\n // Quota events\n QuotaWarning = 'quota_warning',\n QuotaExceeded = 'quota_exceeded',\n\n // Webhook events\n WebhookReceived = 'webhook_received',\n WebhookProcessed = 'webhook_processed',\n WebhookFailed = 'webhook_failed',\n WebhookRetryExhausted = 'webhook_retry_exhausted',\n}\n\n/**\n * Retry strategies for adapter operations\n */\nexport enum RETRY_STRATEGY {\n ExponentialBackoff = 'exponential_backoff',\n LinearBackoff = 'linear_backoff',\n FixedDelay = 'fixed_delay',\n NoRetry = 'no_retry',\n}\n\n/**\n * Path generation strategies\n */\nexport enum PATH_GENERATION_STRATEGY {\n HashBased = 'hash_based',\n EntityBased = 'entity_based',\n DateBased = 'date_based',\n CategoryBased = 'category_based',\n FLAT = 'flat',\n}\n\n/**\n * File validation error types\n */\nexport enum FILE_VALIDATION_ERROR {\n InvalidMimeType = 'invalid_mime_type',\n FileTooLarge = 'file_too_large',\n FileTooSmall = 'file_too_small',\n InvalidExtension = 'invalid_extension',\n InvalidFilename = 'invalid_filename',\n ExecutableDetected = 'executable_detected',\n VirusDetected = 'virus_detected',\n}\n\n/**\n * Template output formats\n */\nexport enum TEMPLATE_OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n MARKDOWN = 'markdown',\n}\n\n/**\n * Document types for compliance storage (R2)\n * Financial and legal documents requiring strict compliance\n */\nexport enum DOCUMENT_TYPE {\n INVOICE = 'invoice',\n RECEIPT = 'receipt',\n TAX = 'tax',\n COMPLIANCE = 'compliance',\n CERTIFICATE = 'certificate',\n CONTRACT = 'contract',\n REPORT = 'report',\n}\n\n/**\n * Media entity types (for Supabase media storage)\n */\nexport enum MEDIA_ENTITY {\n TEAM = 'team',\n CLUB = 'club',\n ATHLETE = 'athlete',\n MATCH = 'match',\n LEAGUE = 'league',\n POST = 'post',\n CAMPAIGN = 'campaign',\n PRODUCT = 'product',\n BRAND = 'brand',\n USER = 'user',\n}\n\n/**\n * Storage visibility levels\n */\nexport enum STORAGE_VISIBILITY {\n PUBLIC = 'public',\n PRIVATE = 'private',\n}\n\n/**\n * Environment types for bucket naming\n */\nexport enum STORAGE_ENVIRONMENT {\n PRODUCTION = 'prod',\n STAGING = 'stg',\n DEVELOPMENT = 'dev',\n}\n\n/**\n * Business model types for organizational separation\n */\nexport enum BUSINESS_MODEL {\n B2B = 'b2b',\n B2C = 'b2c',\n B2B2C = 'b2b2c',\n INTERNAL = 'internal',\n}\n\n/**\n * Organization tier for dedicated resources\n */\nexport enum ORGANIZATION_TIER {\n ENTERPRISE = 'enterprise',\n PROFESSIONAL = 'professional',\n STANDARD = 'standard',\n STARTER = 'starter',\n}\n\n/**\n * Storage bucket purpose (provider-agnostic)\n * Describes what the bucket is used for, not how it's named\n */\nexport enum BUCKET_PURPOSE {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Image files (photos, graphics) */\n MediaImages = 'media-images',\n /** Video files */\n MediaVideos = 'media-videos',\n /** Static assets (CSS, JS, fonts) */\n MediaStatic = 'media-static',\n /** User uploads (attachments, documents) */\n UserUploads = 'user-uploads',\n /** Temporary files (processing, staging) */\n TEMPORARY = 'temporary',\n /** Archived/cold storage */\n ARCHIVES = 'archives',\n /** Backups */\n BACKUPS = 'backups',\n}\n\n/**\n * Path generation strategy type\n */\nexport enum PATH_STRATEGY {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Media files (images/videos) */\n MEDIA = 'media',\n /** General files */\n GENERAL = 'general',\n}\n\n/**\n * Media variant types\n */\nexport enum MEDIA_VARIANT_TYPE {\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n}\n\n/**\n * Storage queue priority levels\n */\nexport enum STORAGE_QUEUE_PRIORITY {\n HIGH = 'high',\n NORMAL = 'normal',\n LOW = 'low',\n}\n\n/**\n * Device types for device-aware variant optimization\n * Used to select optimal variants based on target device\n */\nexport enum STORAGE_DEVICE_TYPE {\n /** Mobile phones (320px - 480px) */\n MOBILE = 'mobile',\n /** Tablets (768px - 1024px) */\n TABLET = 'tablet',\n /** Desktop/laptop screens (1280px - 1920px) */\n DESKTOP = 'desktop',\n /** 4K/Retina displays (2560px+) */\n FourK = '4k',\n /** Smart TVs and large displays (3840px+) */\n TV = 'tv',\n /** Watch/wearable devices (small screens) */\n WATCH = 'watch',\n /** Auto-detect best variant (default) */\n AUTO = 'auto',\n}\n\n/**\n * Standard variant names for images and videos\n * Used to identify specific size/quality variants\n */\nexport enum STORAGE_VARIANT_NAME {\n // Image variants - Standard sizes\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n XLARGE = 'xlarge',\n\n // Device-specific image variants\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n RETINA = 'retina',\n\n // Video variants - Standard resolutions\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n Video4k = '4k-video',\n}\n\n/**\n * Adapter health status\n */\nexport enum ADAPTER_HEALTH_STATUS {\n HEALTHY = 'healthy',\n DEGRADED = 'degraded',\n UNHEALTHY = 'unhealthy',\n UNKNOWN = 'unknown',\n}\n\n/**\n * Renderer type (document/template rendering engines)\n */\nexport enum STORAGE_RENDERER_TYPE {\n PUPPETEER = 'puppeteer', // Headless Chrome (HTML → PDF/PNG)\n PLAYWRIGHT = 'playwright', // Headless browser (HTML → PDF/PNG)\n PDFKIT = 'pdfkit', // Lightweight PDF generation\n JSPDF = 'jspdf', // Client-side PDF generation\n WKHTMLTOPDF = 'wkhtmltopdf', // Standalone binary (HTML → PDF)\n EXCELJS = 'exceljs', // Excel generation\n DOCXTEMPLATER = 'docxtemplater', // Word document generation\n}\n\n/**\n * Output format for rendered documents\n */\nexport enum OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n PNG = 'png',\n JPEG = 'jpeg',\n EXCEL = 'excel', // .xlsx\n WORD = 'word', // .docx\n CSV = 'csv',\n JSON = 'json',\n}\n\n/**\n * Compliance jurisdictions\n *\n * Standardized jurisdiction codes for compliance enforcement\n */\nexport enum STORAGE_JURISDICTION {\n // Global\n GLOBAL = 'GLOBAL',\n\n // United States (Federal)\n US = 'US',\n\n // United States (States)\n UsCa = 'US-CA', // California (CCPA)\n UsNy = 'US-NY', // New York (NYDFS)\n UsTx = 'US-TX', // Texas\n UsFl = 'US-FL', // Florida\n UsIl = 'US-IL', // Illinois\n\n // European Union\n EU = 'EU',\n\n // European Countries\n EuDe = 'EU-DE', // Germany\n EuFr = 'EU-FR', // France\n EuGb = 'EU-GB', // United Kingdom (post-Brexit)\n EuIt = 'EU-IT', // Italy\n EuEs = 'EU-ES', // Spain\n EuNl = 'EU-NL', // Netherlands\n EuCh = 'EU-CH', // Switzerland\n\n // Asia Pacific\n JP = 'JP', // Japan\n SG = 'SG', // Singapore\n HK = 'HK', // Hong Kong\n AU = 'AU', // Australia\n NZ = 'NZ', // New Zealand\n KR = 'KR', // South Korea\n CN = 'CN', // China\n\n // Middle East & Africa\n AE = 'AE', // UAE\n SA = 'SA', // Saudi Arabia\n IL = 'IL', // Israel\n ZA = 'ZA', // South Africa\n\n // Americas\n CA = 'CA', // Canada\n BR = 'BR', // Brazil\n MX = 'MX', // Mexico\n AR = 'AR', // Argentina\n}\n\n/**\n * Regulatory frameworks for compliance\n *\n * Standardized framework codes to prevent arbitrary strings\n */\nexport enum STORAGE_REGULATORY_FRAMEWORK {\n // US Financial Regulations\n IRS = 'IRS', // Internal Revenue Service\n SEC = 'SEC', // Securities and Exchange Commission\n FINRA = 'FINRA', // Financial Industry Regulatory Authority\n SOX = 'SOX', // Sarbanes-Oxley Act\n GLBA = 'GLBA', // Gramm-Leach-Bliley Act\n FCRA = 'FCRA', // Fair Credit Reporting Act\n\n // US Crypto/FinTech Regulations\n FINCEN = 'FinCEN', // Financial Crimes Enforcement Network\n BSA = 'BSA', // Bank Secrecy Act\n AML = 'AML', // Anti-Money Laundering\n OFAC = 'OFAC', // Office of Foreign Assets Control\n NYDFS = 'NYDFS', // NY Department of Financial Services\n\n // US State Regulations\n CCPA = 'CCPA', // California Consumer Privacy Act\n CPRA = 'CPRA', // California Privacy Rights Act\n\n // European Regulations\n GDPR = 'GDPR', // General Data Protection Regulation\n MICA = 'MiCA', // Markets in Crypto-Assets Regulation\n AMLD5 = '5AMLD', // 5th Anti-Money Laundering Directive\n AMLD6 = '6AMLD', // 6th Anti-Money Laundering Directive\n PSD2 = 'PSD2', // Payment Services Directive 2\n EMIR = 'EMIR', // European Market Infrastructure Regulation\n\n // International Standards\n FATF = 'FATF', // Financial Action Task Force\n BaselIii = 'Basel III', // Basel III banking regulations\n ISO27001 = 'ISO27001', // Information security management\n SOC2 = 'SOC2', // Service Organization Control 2\n\n // Healthcare\n HIPAA = 'HIPAA', // Health Insurance Portability and Accountability Act\n HITECH = 'HITECH', // Health Information Technology for Economic and Clinical Health\n\n // Other Industries\n PciDss = 'PCI DSS', // Payment Card Industry Data Security Standard\n FERPA = 'FERPA', // Family Educational Rights and Privacy Act\n COPPA = 'COPPA', // Children's Online Privacy Protection Act\n\n // Internal/Custom\n InternalSecurity = 'Internal Security Policy',\n IndustryBestPractices = 'Industry Best Practices',\n}\n\n/**\n * Storage plugin types\n */\nexport enum STORAGE_PLUGIN_TYPE {\n VALIDATION = 'validation', // File validation (size, type, content)\n SECURITY = 'security', // Virus scanning, malware detection\n METADATA = 'metadata', // Metadata extraction (dimensions, duration)\n CDN = 'cdn', // CDN invalidation, cache management\n PROCESSING = 'processing', // Media processing, transcoding\n MONITORING = 'monitoring', // Access tracking, performance monitoring\n COMPLIANCE = 'compliance', // Compliance checks, retention policies\n AUDIT = 'audit', // Audit logging, compliance tracking\n CUSTOM = 'custom', // Custom user-defined plugins\n}\n\n/**\n * Storage Webhook Types\n *\n * Webhook system for handling external callbacks from:\n * - Cloud storage providers (R2, Supabase)\n * - Media processing services (AWS MediaConvert, Cloudinary)\n * - CDN providers (Cloudflare, CloudFront, Fastly)\n *\n * @module @plyaz/types/storage/webhooks\n *\n * Note: Validation schema implementation (Zod) is abstracted away.\n * Consumers don't need to know about or install Zod.\n */\n\n/**\n * Webhook event types for storage operations\n */\nexport enum STORAGE_WEBHOOK_EVENT_TYPE {\n // Object lifecycle events\n ObjectCreated = 'object.created',\n ObjectUpdated = 'object.updated',\n ObjectDeleted = 'object.deleted',\n ObjectRestored = 'object.restored',\n ObjectArchived = 'object.archived',\n\n // Processing events\n TranscodeComplete = 'transcode.complete',\n TranscodeFailed = 'transcode.failed',\n TranscodeProgress = 'transcode.progress',\n ThumbnailComplete = 'thumbnail.complete',\n ImageOptimizationComplete = 'image.optimization.complete',\n\n // CDN events\n CdnInvalidationComplete = 'cdn.invalidation.complete',\n CdnInvalidationFailed = 'cdn.invalidation.failed',\n\n // Storage integrity events\n ChecksumMismatch = 'checksum.mismatch',\n ObjectCorrupted = 'object.corrupted',\n\n // Quota/billing events\n QuotaWarning = 'quota.warning',\n QuotaExceeded = 'quota.exceeded',\n}\n\n/**\n * Storage operations\n */\nexport enum STORAGE_OPERATION {\n UPLOAD = 'upload',\n DELETE = 'delete',\n UPDATE = 'update',\n RESTORE = 'restore',\n ARCHIVE = 'archive',\n}\n\n/**\n * Signature verification methods for storage webhooks\n */\nexport enum STORAGE_SIGNATURE_METHOD {\n HmacSha256 = 'hmac-sha256',\n HmacSha512 = 'hmac-sha512',\n HmacSha1 = 'hmac-sha1',\n AwsSignatureV4 = 'aws-signature-v4',\n JWT = 'jwt',\n Custom = 'custom',\n}\n","/**\n * Event Handler Mapping\n *\n * Centralized mapping between camelCase handler names (StorageEventHandlers)\n * and enum-based event types (STORAGE_EVENT_TYPE).\n *\n * This mapping is used by:\n * - StorageService to register handlers\n * - Documentation generation\n * - Type utilities\n * - Testing utilities\n *\n * @module @plyaz/types/storage\n */\n\nimport type { StorageEventHandlers } from './interfaces';\nimport type { STORAGE_WEBHOOK_EVENT_TYPE } from './enums';\nimport { STORAGE_EVENT_TYPE } from './enums';\n\n/**\n * Mapping from camelCase handler method names to StorageEventType enum values\n *\n * This is the single source of truth for the handler name <-> event type relationship.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_HANDLER_MAPPING } from '@plyaz/types';\n *\n * // Get event type from handler name\n * const eventType = STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded;\n * // Returns: STORAGE_EVENT_TYPE.FileUploaded\n *\n * // Register handler\n * if (handlers.onFileUploaded) {\n * eventManager.on(STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded, handlers.onFileUploaded);\n * }\n * ```\n */\nexport const STORAGE_EVENT_HANDLER_MAPPING: Record<keyof StorageEventHandlers, STORAGE_EVENT_TYPE> =\n {\n // Upload events\n onFileUploaded: STORAGE_EVENT_TYPE.FileUploaded,\n onFileUploadFailed: STORAGE_EVENT_TYPE.FileUploadFailed,\n onUploadProgress: STORAGE_EVENT_TYPE.UploadProgress,\n onUploadAborted: STORAGE_EVENT_TYPE.UploadAborted,\n\n // Delete events\n onFileDeleted: STORAGE_EVENT_TYPE.FileDeleted,\n onFileDeleteFailed: STORAGE_EVENT_TYPE.FileDeleteFailed,\n\n // Access events\n onFileAccessed: STORAGE_EVENT_TYPE.FileAccessed,\n onSignedUrlGenerated: STORAGE_EVENT_TYPE.SignedUrlGenerated,\n\n // Processing events\n onMetadataExtracted: STORAGE_EVENT_TYPE.MetadataExtracted,\n onMediaProcessingStarted: STORAGE_EVENT_TYPE.MediaProcessingStarted,\n onMediaProcessingCompleted: STORAGE_EVENT_TYPE.MediaProcessingCompleted,\n onMediaProcessingFailed: STORAGE_EVENT_TYPE.MediaProcessingFailed,\n\n // Security events\n onVirusDetected: STORAGE_EVENT_TYPE.VirusDetected,\n onVirusScanCompleted: STORAGE_EVENT_TYPE.VirusScanCompleted,\n\n // Adapter events\n onAdapterHealthCheck: STORAGE_EVENT_TYPE.AdapterHealthCheck,\n onAdapterFailed: STORAGE_EVENT_TYPE.AdapterFailed,\n\n // Compliance events\n onRetentionPolicyApplied: STORAGE_EVENT_TYPE.RetentionPolicyApplied,\n onFileMarkedForDeletion: STORAGE_EVENT_TYPE.FileMarkedForDeletion,\n onImmutabilityEnforced: STORAGE_EVENT_TYPE.ImmutabilityEnforced,\n\n // File operations events\n onFileReplaced: STORAGE_EVENT_TYPE.FileReplaced,\n onFileReplaceFailed: STORAGE_EVENT_TYPE.FileReplaceFailed,\n onFileMoved: STORAGE_EVENT_TYPE.FileMoved,\n onFileMoveFailed: STORAGE_EVENT_TYPE.FileMoveFailed,\n onFileCopied: STORAGE_EVENT_TYPE.FileCopied,\n onFileCopyFailed: STORAGE_EVENT_TYPE.FileCopyFailed,\n\n // Audit events\n onAuditLogCreated: STORAGE_EVENT_TYPE.AuditLogCreated,\n\n // Queue events\n onQueueStarted: STORAGE_EVENT_TYPE.QueueStarted,\n onQueueStopped: STORAGE_EVENT_TYPE.QueueStopped,\n onOperationProcessing: STORAGE_EVENT_TYPE.OperationProcessing,\n onOperationCompleted: STORAGE_EVENT_TYPE.OperationCompleted,\n onOperationRetry: STORAGE_EVENT_TYPE.OperationRetry,\n onOperationFailed: STORAGE_EVENT_TYPE.OperationFailed,\n\n // Error events\n onStorageError: STORAGE_EVENT_TYPE.StorageError,\n } as const;\n\n/**\n * Webhook event type to internal storage event mapping\n *\n * Maps external webhook event types to internal StorageEventType enums\n * Used by WebhookManager to emit the correct storage events\n */\nexport const WEBHOOK_EVENT_TYPE_MAPPING: Record<\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE],\n STORAGE_EVENT_TYPE\n> = {\n 'object.created': STORAGE_EVENT_TYPE.FileUploaded,\n 'object.updated': STORAGE_EVENT_TYPE.FileUpdated,\n 'object.deleted': STORAGE_EVENT_TYPE.FileDeleted,\n 'object.restored': STORAGE_EVENT_TYPE.FileRestored,\n 'object.archived': STORAGE_EVENT_TYPE.FileArchived,\n 'transcode.complete': STORAGE_EVENT_TYPE.TranscodeComplete,\n 'transcode.failed': STORAGE_EVENT_TYPE.TranscodeFailed,\n 'transcode.progress': STORAGE_EVENT_TYPE.TranscodeProgress,\n 'thumbnail.complete': STORAGE_EVENT_TYPE.ThumbnailGenerated,\n 'image.optimization.complete': STORAGE_EVENT_TYPE.ImageOptimized,\n 'cdn.invalidation.complete': STORAGE_EVENT_TYPE.CdnInvalidated,\n 'cdn.invalidation.failed': STORAGE_EVENT_TYPE.CdnInvalidationFailed,\n 'checksum.mismatch': STORAGE_EVENT_TYPE.IntegrityCheckFailed,\n 'object.corrupted': STORAGE_EVENT_TYPE.CorruptionDetected,\n 'quota.warning': STORAGE_EVENT_TYPE.QuotaWarning,\n 'quota.exceeded': STORAGE_EVENT_TYPE.QuotaExceeded,\n} as const;\n\n/**\n * Reverse mapping from StorageEventType enum values to camelCase handler names\n *\n * Useful for generating handler names from event types, documentation, etc.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_TYPE_TO_HANDLER_NAME } from '@plyaz/types';\n *\n * // Get handler name from event type\n * const handlerName = STORAGE_EVENT_TYPE_TO_HANDLER_NAME[STORAGE_EVENT_TYPE.FileUploaded];\n * // Returns: 'onFileUploaded'\n * ```\n */\nexport const STORAGE_EVENT_TYPE_TO_HANDLER_NAME: Record<\n STORAGE_EVENT_TYPE,\n keyof StorageEventHandlers\n> = Object.entries(STORAGE_EVENT_HANDLER_MAPPING).reduce(\n (acc, [handlerName, eventType]) => {\n acc[eventType] = handlerName as keyof StorageEventHandlers;\n return acc;\n },\n {} as Record<STORAGE_EVENT_TYPE, keyof StorageEventHandlers>\n);\n\n/**\n * Type-safe helper to get all handler names\n */\nexport type StorageEventHandlerName = keyof StorageEventHandlers;\nexport type StorageWebhookEventHandlerName =\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE];\n\n/**\n * Type-safe helper to get all event types that have handlers\n */\nexport type MappedStorageEventType =\n (typeof STORAGE_EVENT_HANDLER_MAPPING)[StorageEventHandlerName];\nexport type MappedStorageWebhookEventType =\n (typeof WEBHOOK_EVENT_TYPE_MAPPING)[StorageWebhookEventHandlerName];\n","/**\n * Storage Package Zod Schemas\n * @module @plyaz/types/storage/schemas\n *\n * Validation schemas for storage webhooks and other features\n */\n\nimport { z } from 'zod';\n\n/**\n * Maximum progress percentage (0-100)\n */\nconst MAX_PROGRESS_PERCENTAGE = 100;\n\n/**\n * Storage media processing job status\n */\nexport enum STORAGE_PROCESSING_STATUS {\n Queued = 'queued',\n Processing = 'processing',\n Completed = 'completed',\n Failed = 'failed',\n}\n\n/**\n * Storage media processing output schema\n */\nexport const StorageProcessingOutputSchema = z.object({\n url: z.string().url(),\n format: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n duration: z.number().optional(),\n size: z.number(),\n bitrate: z.number().optional(),\n codec: z.string().optional(),\n});\n\nexport type StorageProcessingOutput = z.infer<typeof StorageProcessingOutputSchema>;\n\n/**\n * Storage media processing webhook payload schema\n */\nexport const StorageMediaProcessingPayloadSchema = z.object({\n jobId: z.string(),\n status: z.nativeEnum(STORAGE_PROCESSING_STATUS),\n input: z.object({\n url: z.string().url(),\n objectKey: z.string(),\n bucket: z.string().optional(),\n }),\n output: z\n .object({\n primary: StorageProcessingOutputSchema.optional(),\n thumbnail: StorageProcessingOutputSchema.optional(),\n variants: z.array(StorageProcessingOutputSchema).optional(),\n })\n .optional(),\n metadata: z\n .object({\n duration: z.number().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n format: z.string().optional(),\n codec: z.string().optional(),\n })\n .optional(),\n progress: z.number().min(0).max(MAX_PROGRESS_PERCENTAGE).optional(),\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n details: z.record(z.string(), z.unknown()).optional(),\n })\n .optional(),\n timestamp: z.union([z.string(), z.number()]),\n provider: z.string().optional(),\n});\n\nexport type StorageMediaProcessingPayload = z.infer<typeof StorageMediaProcessingPayloadSchema>;\n\n/**\n * ============================================================================\n * Cloudflare R2 Webhook Schemas\n * ============================================================================\n * S3-compatible event notifications\n * https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-content-structure.html\n */\nexport const R2EventRecordSchema = z.object({\n eventVersion: z.string(), // \"2.1\"\n eventSource: z.string(), // \"aws:s3\" or \"cloudflare:r2\"\n awsRegion: z.string().optional(), // R2 may not include this\n eventTime: z.string(), // ISO 8601 timestamp\n eventName: z.string(), // e.g., \"ObjectCreated:Put\", \"ObjectRemoved:Delete\"\n userIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n requestParameters: z\n .object({\n sourceIPAddress: z.string(),\n })\n .optional(),\n responseElements: z\n .object({\n 'x-amz-request-id': z.string().optional(),\n 'x-amz-id-2': z.string().optional(),\n })\n .optional(),\n s3: z.object({\n s3SchemaVersion: z.string(), // \"1.0\"\n configurationId: z.string().optional(),\n bucket: z.object({\n name: z.string(), // Bucket name\n ownerIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n arn: z.string().optional(),\n }),\n object: z.object({\n key: z.string(), // Object key\n size: z.number().optional(), // File size in bytes\n eTag: z.string().optional(), // Entity tag\n versionId: z.string().optional(),\n sequencer: z.string().optional(),\n }),\n }),\n});\n\nexport const R2WebhookPayloadSchema = z.object({\n Records: z.array(R2EventRecordSchema),\n});\n\nexport type R2WebhookPayload = z.infer<typeof R2WebhookPayloadSchema>;\nexport type R2EventRecord = z.infer<typeof R2EventRecordSchema>;\n\n/**\n * ============================================================================\n * Supabase Storage Webhook Schemas\n * ============================================================================\n * Database webhook events from storage.objects table\n */\nexport const SupabaseStorageObjectSchema = z.object({\n id: z.uuid(), // Object UUID\n bucket_id: z.string(), // Bucket name\n name: z.string(), // Object path/key\n owner: z.uuid().optional().nullable(), // Owner UUID\n created_at: z.string(), // ISO timestamp\n updated_at: z.string().optional().nullable(), // ISO timestamp\n last_accessed_at: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(), // Custom metadata\n version: z.string().optional().nullable(),\n owner_id: z.string().optional().nullable(),\n});\n\nexport const SupabaseWebhookPayloadSchema = z.object({\n type: z.enum(['INSERT', 'UPDATE', 'DELETE']), // Database event type\n table: z.literal('objects'), // Always 'objects' for storage\n schema: z.literal('storage'), // Always 'storage'\n record: SupabaseStorageObjectSchema.optional().nullable(), // New/updated record\n old_record: SupabaseStorageObjectSchema.optional().nullable(), // Old record (for UPDATE/DELETE)\n});\n\nexport type SupabaseWebhookPayload = z.infer<typeof SupabaseWebhookPayloadSchema>;\nexport type SupabaseStorageObject = z.infer<typeof SupabaseStorageObjectSchema>;\n"]}
1
+ {"version":3,"sources":["../src/auth/enums.ts","../src/auth/schemas.ts","../src/core/modules.ts","../src/core/tables/enum.ts","../src/core/featureFlag/enums.ts","../src/core/featureFlag/constants.ts","../src/errors/enums.ts","../src/http/constants.ts","../src/errors/codes.ts","../src/events/enums.ts","../src/locale/types.ts","../src/web3/enums.ts","../src/user/enums.ts","../src/user/schemas.ts","../src/campaign/enums.ts","../src/campaign/schemas.ts","../src/logger/enums.ts","../src/payments/events/enums.ts","../src/payments/events/unified-event/enums.ts","../src/payments/provider/provider-capability/enums.ts","../src/payments/request/enums.ts","../src/payments/gateways/provider/plans/enums.ts","../src/payments/gateways/routings/enums.ts","../src/payments/base-error/enum.ts","../src/payments/idempotency/enum.ts","../src/notifications/enums.ts","../src/notifications/schemas.ts","../src/notifications/webhooks.schemas.ts","../src/utils/enums.ts","../src/api/events/enum.ts","../src/api/queue/enums.ts","../src/api/headers/enum.ts","../src/api/network/enums.ts","../src/api/debugger/enums.ts","../src/api/client/enum.ts","../src/api/regional/enum.ts","../src/api/pubsub/enum.ts","../src/db/dbEnums.ts","../src/db/dbConstant.ts","../src/storage/enums.ts","../src/storage/event-handler-mapping.ts","../src/storage/schemas.ts"],"names":["AUTH_PROVIDER_TYPE","z","TABLES","SORT_DIRECTION","FEATURE_FLAG_TABLE","FEATURE_FLAG_FIELD","FEATURE_FLAG_RULE_FIELD","FEATURE_FLAG_PROVIDERS","NODE_ENVIRONMENTS","DATABASE_FIELDS","SYSTEM_USERS","EVALUATION_REASONS","FEATURE_FLAG_TYPES","BASIC_PROFILE_ERRORS","ATHLETE_PROFILE_ERRORS","CREATE_CAMPAIGN_ERRORS","PAYMENT_EVENT_TYPE","PAYMENT_EVENT_CATEGORY","PAYMENT_EVENT_ERROR_CATEGORY","EVENT_PROCESSING_STATUS","PAYMENT_PROVIDER_TYPE","PAYMENT_METHOD","PAYMENT_STATUS","TRANSACTION_TYPE","USER_TYPE","PRODUCT_TYPE","REQUIREDACTIONTYPE","PROVIDER_PRODUCT_STATUS","COST_OPTIMIZATION_STRATEGY","FAIL_OVER_STRATEGY","REGULATORY_FRAMEWORK","LOAD_BALANCING_STRATEGY","PERFORMANCE_METRIC_TYPE","ROUTING_STRATEGY","ROUTER_RULE_NAME","REFUND_ERROR_TYPES","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","IDEMPOTENCY_STATUS","SIGNATURE_METHOD","WEBHOOK_EVENT_TYPE","WEBHOOK_ENCRYPTION_METHOD","CORRELATION_TYPE","NETWORK_QUALITY","ADAPTERS","DATABASE_EVENT_TYPE","REPLICA_STRATEGY","DB_POOL_EVENTS","ALERT_SEVERITY","ALERT_SOURCE","AUDIT_OPERATION","EXTENSION_SOURCE","ADAPTER_TYPES","FILE_CATEGORY","ENTITY_TYPE","STORAGE_ADAPTER_TYPE","FILE_ACCESS_LEVEL","UPLOAD_STATUS","STORAGE_EVENT_TYPE","RETRY_STRATEGY","PATH_GENERATION_STRATEGY","FILE_VALIDATION_ERROR","TEMPLATE_OUTPUT_FORMAT","DOCUMENT_TYPE","MEDIA_ENTITY","STORAGE_VISIBILITY","STORAGE_ENVIRONMENT","BUSINESS_MODEL","ORGANIZATION_TIER","BUCKET_PURPOSE","PATH_STRATEGY","MEDIA_VARIANT_TYPE","STORAGE_QUEUE_PRIORITY","STORAGE_DEVICE_TYPE","STORAGE_VARIANT_NAME","ADAPTER_HEALTH_STATUS","STORAGE_RENDERER_TYPE","OUTPUT_FORMAT","STORAGE_JURISDICTION","STORAGE_REGULATORY_FRAMEWORK","STORAGE_PLUGIN_TYPE","STORAGE_WEBHOOK_EVENT_TYPE","STORAGE_OPERATION","STORAGE_SIGNATURE_METHOD","STORAGE_PROCESSING_STATUS"],"mappings":"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AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA;AAAA,EAGL,GAAA,EAAK,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","file":"index.cjs","sourcesContent":["/**\n * Enum representing the different roles a user can have within the system.\n * @description Roles are used to determine access levels, permissions, and user-specific experiences.\n *\n * @example\n * ```typescript\n * import { USER_ROLE } from '@plyaz/types';\n *\n * const userRole = USER_ROLE.Athlete; // 'athlete'\n * const isAdmin = userRole === USER_ROLE.Admin || userRole === USER_ROLE.SuperAdmin;\n * ```\n */\nexport const USER_ROLE = {\n /** A user who is an athlete and participates in sports activities. */\n Athlete: 'athlete',\n\n /** A user who scouts and discovers talent. */\n Scout: 'scout',\n\n /** A user who acts as an agent representing athletes or clubs. */\n Agent: 'agent',\n\n /** A user representing a sports club or organization. */\n Club: 'club',\n\n /** A fan or supporter of athletes or clubs. */\n Fan: 'fan',\n\n /** A system administrator with access to management tools. */\n Admin: 'admin',\n\n /** A super admin with the highest level of access and control. */\n SuperAdmin: 'super.admin',\n} as const;\n\n/**\n * Enum representing the current status of a user account.\n * @description Statuses are used to determine login availability, visibility, and user flow.\n *\n * @example\n * ```typescript\n * import { USER_STATUS } from '@plyaz/types';\n *\n * const isAccessible = status === USER_STATUS.Active;\n * const needsReview = status === USER_STATUS.Pending;\n * ```\n */\nexport const USER_STATUS = {\n /** Active user with full access. */\n Active: 'active',\n\n /** Inactive user, typically not currently using the platform. */\n Inactive: 'inactive',\n\n /** User account is awaiting approval or completion of setup. */\n Pending: 'pending',\n\n /** User has been temporarily suspended due to policy violations or manual review. */\n Suspended: 'suspended',\n\n /** User has been permanently banned from the platform. */\n Banned: 'banned',\n} as const;\n\n/**\n * Enum representing the supported authentication providers for user login.\n * @description Auth Providers allowed such as Email, Wallet, etc.\n *\n * @example\n * ```typescript\n * import { AUTH_PROVIDER } from '@plyaz/types';\n *\n * const provider = AUTH_PROVIDER.Wallet; // 'wallet'\n * const isWeb3Auth = provider === AUTH_PROVIDER.Wallet;\n * ```\n */\nexport const AUTH_PROVIDER = {\n /** Authentication via email and password. */\n Email: 'email',\n\n /** Authentication via connected blockchain wallet. */\n Wallet: 'wallet',\n} as const;\n\nexport enum AUTH_PROVIDER_TYPE {\n ClerkSupabase = 'CLERK_SUPABASE',\n InternalDb = 'INTERNAL_DB',\n}\n","import { z } from 'zod';\n\n/**\n * Password minimum character length\n */\nconst DEFAULT_PASSWORD = 8;\n\n/**\n * Contact Us Form Schema\n * Validates contact form submissions\n */\nexport const ContactUsFormSchema = z.object({\n name: z.string({ error: 'errors.form.missingField' }).min(1, 'errors.form.nameMissing'),\n email: z.email({ error: 'errors.form.emailInvalid' }),\n});\n\n/**\n * Contact Us Form Type\n */\nexport type ContactUsForm = z.infer<typeof ContactUsFormSchema>;\n\n/**\n * Signup Form Schema\n * Validates user registration form submissions\n */\nexport const SignupFormSchema = z.object({\n name: z.string({ error: 'errors.form.missingField' }).min(1, 'errors.form.nameMissing'),\n email: z.email({ error: 'errors.form.emailInvalid' }),\n password: z\n .string({ error: 'errors.form.missingField' })\n .min(DEFAULT_PASSWORD, 'errors.form.passwordTooShort'),\n});\n\n/**\n * Signup Form Type\n */\nexport type SignupForm = z.infer<typeof SignupFormSchema>;\n","/**\n * Core Module System Types\n *\n * Framework-agnostic module interface for @plyaz/core.\n * Modules implement this contract to integrate with Core.\n */\n\nimport type { DatabaseServiceInterface } from '../db/databaseService';\nimport type { HttpMethod } from '../api/config/types';\n\n// Re-export HttpMethod for convenience\nexport type { HttpMethod };\n\n/**\n * Core services available to modules\n */\nexport interface CoreServices {\n db: DatabaseServiceInterface;\n // api: ApiClientService;\n // cache: CacheService;\n // logger: LoggerService;\n env: Record<string, string | undefined>;\n}\n\n/**\n * Route handler context\n */\nexport interface CoreRouteContext {\n params: Record<string, string>;\n query: Record<string, string | string[]>;\n body: unknown;\n headers: Record<string, string>;\n services: CoreServices;\n}\n\n/**\n * Route handler function\n */\nexport type CoreRouteHandler = (ctx: CoreRouteContext) => Promise<{\n status?: number;\n body?: unknown;\n headers?: Record<string, string>;\n}>;\n\n/**\n * Route definition - framework agnostic\n */\nexport interface CoreRouteDefinition {\n method: HttpMethod;\n path: string;\n handler: CoreRouteHandler;\n middleware?: string[];\n description?: string;\n}\n\n/**\n * Module configuration schema (optional)\n */\nexport interface CoreModuleConfigSchema<T = unknown> {\n parse: (config: unknown) => T;\n safeParse: (config: unknown) => { success: boolean; data?: T; error?: Error };\n}\n\n/**\n * Service factory for creating module services\n */\nexport type CoreServiceFactory<T = unknown> = (\n services: CoreServices,\n config?: unknown\n) => T | Promise<T>;\n\n/**\n * Module lifecycle hooks\n */\nexport interface CoreModuleLifecycle {\n /**\n * Called when module is initialized\n * Use for setup, connections, etc.\n */\n onInit?(services: CoreServices): Promise<void>;\n\n /**\n * Called when module is being destroyed\n * Use for cleanup, closing connections, etc.\n */\n onDestroy?(): Promise<void>;\n\n /**\n * Called when Core is fully initialized (all modules loaded)\n */\n onReady?(services: CoreServices): Promise<void>;\n}\n\n/**\n * Core module definition - framework agnostic contract\n *\n * @example\n * ```typescript\n * const FeatureFlagModule: CoreModuleDefinition = {\n * name: 'featureFlags',\n * version: '1.0.0',\n * dependencies: ['db'],\n *\n * routes: [\n * { method: 'GET', path: '/flags', handler: listFlags },\n * { method: 'GET', path: '/flags/:key', handler: getFlag },\n * ],\n *\n * services: {\n * featureFlagService: (core) => new FeatureFlagService(core.db),\n * },\n *\n * async onInit(services) {\n * // Initialize feature flag provider\n * },\n * };\n * ```\n */\nexport interface CoreModuleDefinition<TConfig = unknown> extends CoreModuleLifecycle {\n /**\n * Unique module name (used for registration and access)\n */\n name: string;\n\n /**\n * Module version\n */\n version?: string;\n\n /**\n * Core services this module depends on\n */\n dependencies?: ('db' | 'api' | 'cache' | 'logger')[];\n\n /**\n * HTTP routes provided by this module\n */\n routes?: CoreRouteDefinition[];\n\n /**\n * Services exposed by this module\n */\n services?: Record<string, CoreServiceFactory>;\n\n /**\n * Configuration schema for validation\n */\n configSchema?: CoreModuleConfigSchema<TConfig>;\n\n /**\n * Default configuration\n */\n defaultConfig?: Partial<TConfig>;\n}\n\n/**\n * Registered module instance (after initialization)\n */\nexport interface CoreRegisteredModule<TConfig = unknown> {\n definition: CoreModuleDefinition<TConfig>;\n config: TConfig;\n services: Record<string, unknown>;\n initialized: boolean;\n}\n\n/**\n * Module with configuration (result of .forRoot())\n */\nexport interface CoreConfiguredModule<TConfig = unknown> {\n definition: CoreModuleDefinition<TConfig>;\n config: TConfig;\n}\n\n/**\n * Helper to create a module definition with forRoot pattern\n */\nexport interface CoreModuleFactory<TConfig = unknown> {\n /**\n * Module definition\n */\n definition: CoreModuleDefinition<TConfig>;\n\n /**\n * Configure module with options\n */\n forRoot(config?: Partial<TConfig>): CoreConfiguredModule<TConfig>;\n\n /**\n * Use module with default config\n */\n default: CoreConfiguredModule<TConfig>;\n}\n\n/**\n * Supported HTTP frameworks for server mode\n */\nexport type CoreFrameworkType =\n | 'node' // Plain Node.js http module\n | 'express' // Express.js\n | 'nestjs' // NestJS\n | 'nextjs'; // Next.js API routes (SSR/Edge)\n\n/**\n * Server configuration\n */\nexport interface CoreServerConfig {\n port: number;\n host?: string;\n framework?: CoreFrameworkType;\n prefix?: string; // API prefix like '/api/v1'\n cors?: {\n enabled: boolean;\n origins?: string[];\n };\n}\n\n/**\n * Framework adapter interface\n */\nexport interface CoreFrameworkAdapter {\n /**\n * Framework name\n */\n name: CoreFrameworkType;\n\n /**\n * Register routes from modules\n */\n registerRoutes(\n routes: Array<{ moduleName: string; routes: CoreRouteDefinition[] }>,\n services: CoreServices\n ): void | Promise<void>;\n\n /**\n * Start the server\n */\n start(config: CoreServerConfig): Promise<void>;\n\n /**\n * Stop the server\n */\n stop(): Promise<void>;\n\n /**\n * Get the underlying framework instance (express app, fastify instance, etc.)\n */\n getInstance(): unknown;\n}\n\n/**\n * Adapter factory function\n */\nexport type CoreAdapterFactory = () => CoreFrameworkAdapter;\n\n/**\n * Runtime environment detection\n */\nexport type CoreRuntimeEnvironment =\n | 'node' // Plain Node.js\n | 'nestjs' // NestJS backend\n | 'express' // Express.js\n | 'nuxt' // Nuxt.js (Vue SSR)\n | 'nextjs' // Next.js (React SSR)\n | 'browser' // Browser/SPA\n | 'edge' // Edge runtime (Cloudflare, Vercel Edge)\n | 'deno' // Deno runtime\n | 'bun' // Bun runtime\n | 'unknown';\n\n/**\n * Runtime context type\n */\nexport type CoreRuntimeContext = 'backend' | 'frontend' | 'universal';\n\n/**\n * Backend runtimes - always server-side\n */\nexport const BACKEND_RUNTIMES: readonly CoreRuntimeEnvironment[] = [\n 'node',\n 'nestjs',\n 'express',\n 'deno',\n 'bun',\n] as const;\n\n/**\n * Frontend runtimes - always client-side\n */\nexport const FRONTEND_RUNTIMES: readonly CoreRuntimeEnvironment[] = ['browser'] as const;\n\n/**\n * Universal runtimes - can be either (SSR)\n */\nexport const UNIVERSAL_RUNTIMES: readonly CoreRuntimeEnvironment[] = [\n 'nextjs',\n 'nuxt',\n 'edge',\n] as const;\n\n// ============================================================================\n// Next.js Handler Types\n// ============================================================================\n\n/**\n * Handler context for Next.js API routes\n * Provides services and parsed request data\n */\nexport interface CoreNextJsHandlerContext {\n /** Database service */\n db: unknown; // DbService - imported dynamically to avoid circular deps\n /** URL parameters (from dynamic routes like [id]) */\n params: Record<string, string>;\n /** Query string parameters */\n query: Record<string, string | string[]>;\n /** Request body (parsed JSON) */\n body: unknown;\n /** Request headers */\n headers: Record<string, string>;\n /** Original Request object */\n request: Request;\n}\n\n/**\n * Handler return type for Next.js API routes\n */\nexport interface CoreNextJsHandlerResult {\n /** Response body (will be JSON serialized) */\n [key: string]: unknown;\n /** HTTP status code (default: 200) */\n status?: number;\n /** Response headers */\n headers?: Record<string, string>;\n}\n\n/**\n * Handler function type for Next.js API routes\n */\nexport type CoreNextJsHandler = (\n ctx: CoreNextJsHandlerContext\n) => Promise<CoreNextJsHandlerResult | Response>;\n\n/**\n * Options for Next.js createHandler\n */\nexport interface CoreNextJsHandlerOptions {\n /** Core initialization options (used on first request) */\n coreOptions?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Core Initialization Types\n// ============================================================================\n\n/**\n * Core environment variables\n */\nexport interface CoreEnvVars {\n DATABASE_URL?: string;\n SUPABASE_URL?: string;\n SUPABASE_SERVICE_ROLE_KEY?: string;\n SUPABASE_ANON_PUBLIC_KEY?: string;\n ENCRYPTION_KEY?: string;\n API_BASE_URL?: string;\n API_TIMEOUT?: string;\n NODE_ENV?: string;\n [key: string]: string | undefined;\n}\n\n/**\n * Application environment type\n */\nexport type CoreAppEnvironment = 'development' | 'staging' | 'production' | 'test';\n\n/**\n * API client initialization options\n * Extends ApiClientOptions with Core-specific settings\n */\nexport interface CoreApiInitOptions {\n /** Environment for API client configuration */\n env?: CoreAppEnvironment;\n /** Set this client as the default */\n setAsDefault?: boolean;\n /** Base URL for API requests */\n baseURL?: string;\n /** Request timeout in milliseconds */\n timeout?: number;\n /** Additional options passed to ApiClientService */\n [key: string]: unknown;\n}\n\n/**\n * Core initialization options\n */\nexport interface CoreInitOptions<TDbConfig = unknown, TApiConfig = CoreApiInitOptions> {\n /** Path to .env file */\n envPath?: string;\n /** Global application environment */\n environment?: CoreAppEnvironment;\n /** Application context (webapp, backoffice, mobile, etc.) */\n appContext?: CoreAppContext;\n /** Explicit environment variables */\n env?: CoreEnvVars;\n /** Database configuration */\n db?: TDbConfig;\n /** API client configuration */\n api?: TApiConfig;\n /** Skip database initialization */\n skipDb?: boolean;\n /** Skip API client initialization */\n skipApi?: boolean;\n /** Enable verbose logging */\n verbose?: boolean;\n}\n\n/**\n * Core initialization result\n */\nexport interface CoreServicesResult<TDb = unknown, TApi = unknown> {\n db: TDb | null;\n api: TApi | null;\n env: CoreEnvVars;\n runtime: CoreRuntimeEnvironment;\n appContext: CoreAppContext;\n}\n\n// ============================================================================\n// NestJS Module Types\n// ============================================================================\n\n/**\n * Core module options for NestJS\n */\nexport interface CoreNestJsModuleOptions {\n /** Path to .env file */\n envPath?: string;\n /** Database configuration */\n db?: Record<string, unknown>;\n /** Whether to make Core services globally available */\n isGlobal?: boolean;\n}\n\n/**\n * Async options for NestJS CoreModule\n */\nexport interface CoreNestJsModuleAsyncOptions {\n imports?: unknown[];\n inject?: unknown[];\n useFactory: (...args: unknown[]) => CoreNestJsModuleOptions | Promise<CoreNestJsModuleOptions>;\n isGlobal?: boolean;\n}\n\n// ============================================================================\n// App Context Types\n// ============================================================================\n\n/**\n * Application context type\n *\n * Identifies which type of application is running.\n * Different apps may have different feature flags, API endpoints, or UI behaviors.\n */\nexport type CoreAppContext =\n | 'webapp' // Main web application\n | 'backoffice' // Admin/back-office portal\n | 'mobile' // Mobile apps (React Native, Capacitor, etc.)\n | 'microapp' // Embedded micro frontends\n | 'cli'; // CLI tools\n\n/**\n * App context constants for type-safe comparisons\n */\nexport const APP_CONTEXTS: readonly CoreAppContext[] = [\n 'webapp',\n 'backoffice',\n 'mobile',\n 'microapp',\n 'cli',\n] as const;\n\n// ============================================================================\n// Domain Service Types\n// ============================================================================\n\n/**\n * Service runtime compatibility\n *\n * Declares which runtimes a service can execute on.\n * Services can be restricted to specific runtimes for security\n * (e.g., backend-only services should never be bundled for frontend).\n */\nexport type CoreServiceRuntime =\n | 'frontend' // Browser, React, Vue, etc. (no DB access)\n | 'backend' // Node.js, NestJS, Express (has DB access)\n | 'universal'; // Works everywhere (SSR, Edge)\n\n/**\n * Domain service configuration\n *\n * Declares service metadata including runtime compatibility\n * and feature flag requirements.\n *\n * @example\n * ```typescript\n * class CampaignDomainService {\n * static readonly config: CoreDomainServiceConfig = {\n * name: 'CampaignDomainService',\n * runtimes: ['frontend', 'backend'],\n * requiresFeatureFlag: 'campaigns:enabled',\n * };\n * }\n * ```\n */\nexport interface CoreDomainServiceConfig {\n /** Service name for logging and debugging */\n name: string;\n\n /** Runtimes this service can run on */\n runtimes: readonly CoreServiceRuntime[];\n\n /** Feature flag required to use this service (optional) */\n requiresFeatureFlag?: string;\n\n /** App contexts this service is available in (optional, all if not specified) */\n appContexts?: readonly CoreAppContext[];\n}\n","export enum TABLES {\n User = 'users',\n}\n","/**\n * Sort direction for database queries\n */\nexport enum SORT_DIRECTION {\n Asc = 'asc',\n Desc = 'desc',\n}\n\n/**\n * Feature flag database table names enumeration\n */\nexport enum FEATURE_FLAG_TABLE {\n FeatureFlags = 'feature_flags',\n FeatureFlagRules = 'feature_flag_rules',\n FeatureFlagEvaluations = 'feature_flag_evaluations',\n FeatureFlagOverrides = 'feature_flag_overrides',\n}\n\n/**\n * Database field names for feature flags table\n */\nexport enum FEATURE_FLAG_FIELD {\n Key = 'key',\n Name = 'name',\n Value = 'value',\n Type = 'type',\n IsEnabled = 'is_enabled',\n Environments = 'environments',\n Description = 'description',\n CreatedAt = 'created_at',\n UpdatedAt = 'updated_at',\n}\n\n/**\n * Database field names for feature flag rules table\n */\nexport enum FEATURE_FLAG_RULE_FIELD {\n Id = 'id',\n FlagKey = 'flag_key',\n Name = 'name',\n Conditions = 'conditions',\n Value = 'value',\n Priority = 'priority',\n IsEnabled = 'is_enabled',\n}\n\n/**\n * Feature Flag Provider Types\n */\nexport enum FEATURE_FLAG_PROVIDERS {\n MEMORY = 'memory',\n FILE = 'file',\n REDIS = 'redis',\n API = 'api',\n DATABASE = 'database',\n}\n\n/**\n * Node Environment Types\n */\nexport enum NODE_ENVIRONMENTS {\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n STAGING = 'staging',\n TEST = 'test',\n}\n\n/**\n * Database Field Names\n */\nexport enum DATABASE_FIELDS {\n Key = 'key',\n FlagKey = 'flag_key',\n UserId = 'user_id',\n IsEnabled = 'is_enabled',\n CreatedAt = 'created_at',\n UpdatedAt = 'updated_at',\n ExpiresAt = 'expires_at',\n EvaluatedAt = 'evaluated_at',\n}\n\n/**\n * System User Constants\n */\nexport enum SYSTEM_USERS {\n SYSTEM = 'system',\n}\n\n/**\n * Evaluation Reasons\n * Must match database enum: evaluation_reason\n * Used when logging feature flag evaluations to audit table\n */\nexport enum EVALUATION_REASONS {\n Default = 'default', // Default flag value used\n RuleMatch = 'rule_match', // Matched a targeting rule\n Rollout = 'rollout', // Matched rollout percentage\n Override = 'override', // User-specific override applied\n Disabled = 'disabled', // Flag is disabled\n}\n\n/**\n * Feature Flag Types\n */\nexport enum FEATURE_FLAG_TYPES {\n BOOLEAN = 'boolean',\n STRING = 'string',\n NUMBER = 'number',\n OBJECT = 'object',\n}\n","/**\n * Default Configuration Values\n */\nexport const FEATURE_FLAG_DEFAULTS = {\n CACHE_TTL: 300,\n REFRESH_INTERVAL: 0,\n POOL_SIZE: 10,\n TIMEOUT: 30000,\n TABLE_NAME: 'feature_flags',\n} as const;\n\n/**\n * Metadata keys used for attaching feature flag information\n * to route handlers via decorators.\n */\nexport const FEATURE_FLAG_METADATA = {\n FLAG_CHECK: 'plyaz:feature_flag_check', // Single feature flag check\n RESOLVE_FLAGS: 'plyaz:resolve_feature_flags', // Multiple flags resolved at once\n};\n","/**\n * Enum representing standardized error types used across the application.\n * @description These error types help classify different categories of errors such as validation issues and system-level failures.\n *\n * @example\n * ```typescript\n * import { ERROR_TYPE } from '@plyaz/types';\n *\n * const errorType = ERROR_TYPE.ValidationError; // 'validation.error'\n *\n * // Error handling example\n * if (error.type === ERROR_TYPE.RateLimitExceeded) {\n * // Handle rate limiting\n * }\n * ```\n */\nexport const ERROR_TYPE = {\n /** A general validation error (e.g., form or input errors). */\n ValidationError: 'validation.error',\n\n /** Error related to schema validation, such as JSON schema or API payload checks. */\n SchemaValidationError: 'validation.schema.error',\n\n /** Unhandled or unexpected system error. */\n InternalError: 'system.internal.error',\n\n /** System dependency is currently unavailable (e.g., database or external API). */\n ServiceUnavailable: 'system.service.unavailable',\n\n /** The request took too long and timed out. */\n TimeoutError: 'system.timeout',\n\n /** Too many requests made in a short period of time. */\n RateLimitExceeded: 'system.rate.limit.exceeded',\n} as const;\n\n/**\n * Enum representing the severity level of an error.\n * @description This allows categorization of errors by their potential impact on the system or user.\n *\n * @example\n * ```typescript\n * import { ERROR_SEVERITY } from '@plyaz/types';\n *\n * const severity = ERROR_SEVERITY.Critical; // 'critical'\n * const shouldAlert = severity === ERROR_SEVERITY.High || severity === ERROR_SEVERITY.Critical;\n * ```\n */\nexport const ERROR_SEVERITY = {\n /** Low severity - does not impact functionality significantly. */\n Low: 'low',\n\n /** Medium severity - minor disruption or warning. */\n Medium: 'medium',\n\n /** High severity - major issue requiring attention. */\n High: 'high',\n\n /** Critical severity - blocking or crashing issue. */\n Critical: 'critical',\n} as const;\n\n/**\n * Enum representing the category or origin of an error.\n * @description Useful for filtering or logging errors based on their source or nature.\n *\n * @example\n * ```typescript\n * import { ERROR_CATEGORY } from '@plyaz/types';\n *\n * const category = ERROR_CATEGORY.Blockchain; // 'blockchain'\n * const isClientError = category === ERROR_CATEGORY.Client;\n * ```\n */\nexport const ERROR_CATEGORY = {\n /** Client-side error (e.g., invalid request). */\n Client: 'client',\n\n /** Server-side error (e.g., logic failure or exception). */\n Server: 'server',\n\n /** Network-related error (e.g., unreachable endpoint). */\n Network: 'network',\n\n /** Blockchain-related error (e.g., transaction failure, gas limit). */\n Blockchain: 'blockchain',\n\n /** Validation-specific error (e.g., failed constraints or field errors). */\n Validation: 'validation',\n\n /** Authentication-related error (e.g., invalid credentials, expired token). */\n Authentication: 'authentication',\n\n /** Authorization-related error (e.g., insufficient permissions). */\n Authorization: 'authorization',\n\n /** Resource not found error. */\n NotFound: 'not.found',\n\n /** Rate limiting error (too many requests). */\n RateLimit: 'rate.limit',\n\n /** External service error (e.g., third-party API failure). */\n ExternalService: 'external.service',\n\n /** Timeout error (request exceeded time limit). */\n Timeout: 'timeout',\n\n /** Conflict error (e.g., resource state conflict). */\n Conflict: 'conflict',\n\n /** Cache-related error. */\n Cache: 'cache',\n\n /** Headers-related error (e.g., missing or invalid headers). */\n Headers: 'headers',\n\n /** Retry-related error (e.g., max retries exceeded). */\n Retry: 'retry',\n\n /** Strategy-related error (e.g., invalid retry or caching strategy). */\n Strategy: 'strategy',\n\n /** Regional-related error (e.g., region detection failure). */\n Regional: 'regional',\n\n /** Provider-related error (e.g., notification service provider failure). */\n Provider: 'provider',\n\n /** Queue-related error (e.g., queue full or processing failed). */\n Queue: 'queue',\n\n /** Webhook-related error (e.g., invalid signature or processing failure). */\n Webhook: 'webhook',\n\n /** Template-related error (e.g., template not found or rendering failed). */\n Template: 'template',\n\n /** Configuration-related error (e.g., invalid or missing configuration). */\n Configuration: 'configuration',\n\n /** Payment processing-related error (e.g., capture or settlement failure). */\n Processing: 'processing',\n\n /** Fraud detection or prevention failure. */\n Fraud: 'fraud',\n\n /** Compliance-related error (e.g., AML/KYC validation failure). */\n Compliance: 'compliance',\n\n /** Limits or quota-related error (e.g., exceeded transaction limit). */\n Limits: 'limits',\n\n /** System-level error (unexpected internal issue). */\n System: 'system',\n\n /** Refund-related error (e.g., duplicate or failed refund). */\n Refund: 'refund',\n\n /** Security-related error (e.g., encryption or signature failure). */\n Security: 'security',\n\n /** File operation error (e.g., upload, download, delete failure). */\n FileOperation: 'file.operation',\n\n /** Plugin-related error (e.g., plugin initialization or execution failure). */\n Plugin: 'plugin',\n\n /** Quota or storage limit error (e.g., exceeded storage quota). */\n Quota: 'quota',\n\n /** Database-related error (e.g., query failure, connection error). */\n Database: 'database',\n\n /** Unknown or unclassified error. */\n Unknown: 'unknown',\n} as const;\n\n/**\n * Internal package status codes (non-HTTP)\n * Used for internal configuration and validation errors that aren't HTTP-related\n * These are in the 1xxx range to distinguish from HTTP status codes (which are typically 100-599)\n *\n * @example\n * ```typescript\n * import { INTERNAL_STATUS_CODES } from '@plyaz/types';\n *\n * const statusCode = INTERNAL_STATUS_CODES.INVALID_CONFIGURATION; // 1001\n * if (error.statusCode >= 1000 && error.statusCode < 2000) {\n * // Handle internal package error\n * }\n * ```\n */\nexport const INTERNAL_STATUS_CODES = {\n // Configuration errors (1001-1009)\n INVALID_CONFIGURATION: 1001,\n MISSING_CONFIGURATION: 1002,\n CONFIGURATION_CONFLICT: 1003,\n CONFIGURATION_TRACKING_FAILED: 1004,\n DEBUG_TRACKING_FAILED: 1005,\n\n // Resource errors (1010-1019)\n RESOURCE_NOT_FOUND: 1010,\n RESOURCE_ALREADY_EXISTS: 1011,\n RESOURCE_UNAVAILABLE: 1012,\n\n // Validation errors (1020-1029)\n INVALID_PARAMETER: 1020,\n MISSING_PARAMETER: 1021,\n PARAMETER_OUT_OF_RANGE: 1022,\n\n // Strategy/preset errors (1030-1039)\n STRATEGY_NOT_FOUND: 1030,\n PRESET_NOT_FOUND: 1031,\n INVALID_STRATEGY: 1032,\n\n // Request/Response errors (1035-1039)\n REQUEST_FAILED: 1035,\n\n // Internal system errors (1040-1049)\n INITIALIZATION_FAILED: 1040,\n OPERATION_FAILED: 1041,\n STATE_CORRUPTION: 1042,\n SERIALIZATION_FAILED: 1043,\n DESERIALIZATION_FAILED: 1044,\n CONFIGURATION_INVALID: 1045,\n HEADER_PROCESSING_ERROR: 1046,\n REGION_DETECTION_ERROR: 1047,\n NETWORK_OVERRIDE_ERROR: 1048,\n} as const;\n\n/**\n * Mapping of error category values to camelCase emitter keys\n * Used by event systems to route errors to appropriate handlers\n *\n * @example\n * ```typescript\n * import { ERROR_CATEGORY, ERROR_CATEGORY_TO_EMITTER_KEY } from '@plyaz/types';\n *\n * const category = ERROR_CATEGORY.RateLimit; // 'rate.limit'\n * const emitterKey = ERROR_CATEGORY_TO_EMITTER_KEY[category]; // 'rateLimit'\n *\n * // Use in event emitter\n * eventEmitter.emit(`error:${emitterKey}`, error);\n * ```\n */\nexport const ERROR_CATEGORY_TO_EMITTER_KEY = {\n [ERROR_CATEGORY.Network]: 'network',\n [ERROR_CATEGORY.Validation]: 'validation',\n [ERROR_CATEGORY.Authentication]: 'authentication',\n [ERROR_CATEGORY.Authorization]: 'authorization',\n [ERROR_CATEGORY.RateLimit]: 'rateLimit',\n [ERROR_CATEGORY.Server]: 'server',\n [ERROR_CATEGORY.Timeout]: 'timeout',\n [ERROR_CATEGORY.NotFound]: 'notFound',\n [ERROR_CATEGORY.Conflict]: 'conflict',\n [ERROR_CATEGORY.Client]: 'client',\n [ERROR_CATEGORY.ExternalService]: 'externalService',\n [ERROR_CATEGORY.Cache]: 'cache',\n [ERROR_CATEGORY.Headers]: 'headers',\n [ERROR_CATEGORY.Retry]: 'retry',\n [ERROR_CATEGORY.Blockchain]: 'blockchain',\n [ERROR_CATEGORY.Strategy]: 'strategy',\n [ERROR_CATEGORY.Regional]: 'regional',\n [ERROR_CATEGORY.Provider]: 'provider',\n [ERROR_CATEGORY.Queue]: 'queue',\n [ERROR_CATEGORY.Webhook]: 'webhook',\n [ERROR_CATEGORY.Template]: 'template',\n [ERROR_CATEGORY.Configuration]: 'configuration',\n [ERROR_CATEGORY.Processing]: 'processing',\n [ERROR_CATEGORY.Fraud]: 'fraud',\n [ERROR_CATEGORY.Compliance]: 'compliance',\n [ERROR_CATEGORY.Limits]: 'limits',\n [ERROR_CATEGORY.System]: 'system',\n [ERROR_CATEGORY.Refund]: 'refund',\n [ERROR_CATEGORY.Security]: 'security',\n [ERROR_CATEGORY.FileOperation]: 'fileOperation',\n [ERROR_CATEGORY.Plugin]: 'plugin',\n [ERROR_CATEGORY.Quota]: 'quota',\n [ERROR_CATEGORY.Database]: 'database',\n [ERROR_CATEGORY.Unknown]: 'unknown',\n} as const satisfies Record<(typeof ERROR_CATEGORY)[keyof typeof ERROR_CATEGORY], string>;\n\n/**\n * Common operation names used in error context\n * These are optional helpers - you can use any freeform string in context.operation\n *\n * @example\n * ```typescript\n * import { COMMON_OPERATIONS } from '@plyaz/types';\n *\n * const context = { operation: COMMON_OPERATIONS.STORAGE };\n * // Or just use a string:\n * const context2 = { operation: 'custom-operation' };\n * ```\n */\nexport const COMMON_OPERATIONS = {\n // Data operations\n STORAGE: 'storage',\n RETRIEVAL: 'retrieval',\n INVALIDATION: 'invalidation',\n DELETION: 'deletion',\n\n // Processing operations\n VALIDATION: 'validation',\n ENRICHMENT: 'enrichment',\n SERIALIZATION: 'serialization',\n DESERIALIZATION: 'deserialization',\n\n // API operations\n REQUEST: 'request',\n RESPONSE: 'response',\n RETRY: 'retry',\n REVALIDATION: 'revalidation',\n POLLING: 'polling',\n\n // Configuration operations\n INITIALIZATION: 'initialization',\n CONFIGURATION: 'configuration',\n PRESET_LOOKUP: 'preset-lookup',\n REGIONAL_DETECTION: 'regional-detection',\n\n // Strategy operations\n STRATEGY_EXECUTION: 'strategy-execution',\n FALLBACK: 'fallback',\n\n // Event operations\n SUBSCRIPTION: 'subscription',\n PUBLICATION: 'publication',\n EVENT_HANDLING: 'event-handling',\n\n // Debugging operations\n DEBUG: 'debug',\n DEBUG_TRACKING: 'debug-tracking',\n TRACKING: 'tracking',\n MONITORING: 'monitoring',\n\n // Network operations\n NETWORK_CHECK: 'network-check',\n ENDPOINT_BUILD: 'endpoint-build',\n CONTEXT_SETUP: 'context-setup',\n\n // Notification operations\n SEND: 'send',\n RENDER: 'render',\n QUEUE: 'queue',\n PROCESS: 'process',\n} as const;\n\n/**\n * Common field names used in error context\n * These are optional helpers - you can use any freeform string in context.field\n *\n * @example\n * ```typescript\n * import { COMMON_FIELDS } from '@plyaz/types';\n *\n * const context = { field: COMMON_FIELDS.EMAIL };\n * // Or just use a string:\n * const context2 = { field: 'customField' };\n * ```\n */\nexport const COMMON_FIELDS = {\n // Storage fields\n STORAGE: 'storage',\n CACHE: 'cache',\n\n // Configuration fields\n CONFIG: 'config',\n PRESET_NAME: 'presetName',\n PRESET_ID: 'presetId',\n\n // HTTP fields\n HEADERS: 'headers',\n URL: 'url',\n METHOD: 'method',\n\n // Strategy fields\n STRATEGY: 'strategy',\n\n // Retry fields\n RETRY_COUNT: 'retryCount',\n MAX_RETRIES: 'maxRetries',\n\n // Polling fields\n POLLING_INTERVAL: 'pollingInterval',\n\n // Event fields\n TOPIC: 'topic',\n CHANNEL: 'channel',\n\n // API fields\n ENDPOINT: 'endpoint',\n CLIENT: 'client',\n\n // Network fields\n NETWORK_TYPE: 'networkType',\n TIME_INTERVAL: 'timeInterval',\n\n // Notification fields\n EMAIL: 'email',\n PHONE: 'phoneNumber',\n RECIPIENT: 'recipient',\n TEMPLATE: 'template',\n PROVIDER: 'provider',\n} as const;\n\n/**\n * Common storage type names\n * These are optional helpers - you can use any freeform string in context.storageType\n *\n * @example\n * ```typescript\n * import { COMMON_STORAGE_TYPES } from '@plyaz/types';\n *\n * const context = { storageType: COMMON_STORAGE_TYPES.REDIS };\n * // Or just use a string:\n * const context2 = { storageType: 'custom-storage' };\n * ```\n */\nexport const COMMON_STORAGE_TYPES = {\n PRIMARY: 'primary',\n FALLBACK: 'fallback',\n MEMORY: 'memory',\n SESSION: 'session',\n LOCAL: 'local',\n REDIS: 'redis',\n DATABASE: 'database',\n} as const;\n\n/**\n * Namespaces for categorizing error exceptions classes in different packages and category based exceptions\n */\nexport const ERROR_EXCEPTIONS_NAMESPACES = {\n BASE: 'base',\n API: 'api',\n AUTH: 'auth',\n NOTIFICATIONS: 'notifications',\n STORAGE: 'storage',\n DB: 'db',\n VALIDATION: 'validation',\n GENERIC: 'generic',\n PAYMENTS: 'payments',\n ERRORS: 'errors',\n LOGGER: 'logger',\n TYPES: 'types',\n CONFIG: 'config',\n UTILS: 'utils',\n EVENTS: 'events',\n TRANSLATIONS: 'translations',\n UI: 'ui',\n TESTING: 'testing',\n CORE: 'core',\n STORE: 'store',\n WEB3: 'web3',\n MONITORING: 'monitoring',\n HOOKS: 'hooks',\n COMMON: 'common',\n COMPLIANCE: 'compliance',\n PAYMENT_WEBHOOKS: 'payment-webhook',\n};\n","/**\n * HTTP Status Code Constants\n *\n * Common HTTP status codes used throughout the application.\n * Based on RFC 9110 (HTTP Semantics) and common usage patterns.\n *\n * @module http/constants\n */\n\n/**\n * Standard HTTP status codes\n */\nexport const HTTP_STATUS = {\n // 1xx Informational\n /**\n * 100 Continue - The initial part of a request has been received\n */\n CONTINUE: 100,\n\n /**\n * 101 Switching Protocols - The server is switching protocols\n */\n SWITCHING_PROTOCOLS: 101,\n\n /**\n * 102 Processing - The server has received and is processing the request\n */\n PROCESSING: 102,\n\n /**\n * 103 Early Hints - Used to return some response headers before final HTTP message\n */\n EARLY_HINTS: 103,\n\n // 2xx Success\n /**\n * 200 OK - The request succeeded\n */\n OK: 200,\n\n /**\n * 201 Created - The request succeeded and a new resource was created\n */\n CREATED: 201,\n\n /**\n * 202 Accepted - The request has been received but not yet acted upon\n */\n ACCEPTED: 202,\n\n /**\n * 203 Non-Authoritative Information - The returned metadata is not from the origin server\n */\n NON_AUTHORITATIVE_INFORMATION: 203,\n\n /**\n * 204 No Content - There is no content to send for this request\n */\n NO_CONTENT: 204,\n\n /**\n * 205 Reset Content - Tells the user agent to reset the document\n */\n RESET_CONTENT: 205,\n\n /**\n * 206 Partial Content - The server is delivering only part of the resource\n */\n PARTIAL_CONTENT: 206,\n\n /**\n * 207 Multi-Status - Conveys information about multiple resources\n */\n MULTI_STATUS: 207,\n\n /**\n * 208 Already Reported - The members of a DAV binding have already been enumerated\n */\n ALREADY_REPORTED: 208,\n\n /**\n * 226 IM Used - The server has fulfilled a request for the resource\n */\n IM_USED: 226,\n\n // 3xx Redirection\n /**\n * 300 Multiple Choices - Multiple options for the resource are available\n */\n MULTIPLE_CHOICES: 300,\n\n /**\n * 301 Moved Permanently - The URL of the requested resource has been changed permanently\n */\n MOVED_PERMANENTLY: 301,\n\n /**\n * 302 Found - The resource resides temporarily under a different URI\n */\n FOUND: 302,\n\n /**\n * 303 See Other - Direct the client to get the resource at another URI\n */\n SEE_OTHER: 303,\n\n /**\n * 304 Not Modified - The cached version is still valid\n */\n NOT_MODIFIED: 304,\n\n /**\n * 305 Use Proxy - Defined in a previous version of the HTTP specification\n */\n USE_PROXY: 305,\n\n /**\n * 307 Temporary Redirect - The request should be repeated with another URI\n */\n TEMPORARY_REDIRECT: 307,\n\n /**\n * 308 Permanent Redirect - The resource is permanently located at another URI\n */\n PERMANENT_REDIRECT: 308,\n\n // 4xx Client Errors\n /**\n * 400 Bad Request - The server cannot process the request due to client error\n */\n BAD_REQUEST: 400,\n\n /**\n * 401 Unauthorized - Authentication is required and has failed or not been provided\n */\n UNAUTHORIZED: 401,\n\n /**\n * 402 Payment Required - Reserved for future use\n */\n PAYMENT_REQUIRED: 402,\n\n /**\n * 403 Forbidden - The server understood the request but refuses to authorize it\n */\n FORBIDDEN: 403,\n\n /**\n * 404 Not Found - The server cannot find the requested resource\n */\n NOT_FOUND: 404,\n\n /**\n * 405 Method Not Allowed - The request method is not supported for the requested resource\n */\n METHOD_NOT_ALLOWED: 405,\n\n /**\n * 406 Not Acceptable - The requested resource is not available in a format acceptable to the client\n */\n NOT_ACCEPTABLE: 406,\n\n /**\n * 407 Proxy Authentication Required - The client must authenticate itself with the proxy\n */\n PROXY_AUTHENTICATION_REQUIRED: 407,\n\n /**\n * 408 Request Timeout - The server timed out waiting for the request\n */\n REQUEST_TIMEOUT: 408,\n\n /**\n * 409 Conflict - The request conflicts with the current state of the server\n */\n CONFLICT: 409,\n\n /**\n * 410 Gone - The requested resource is no longer available and will not be available again\n */\n GONE: 410,\n\n /**\n * 411 Length Required - The request did not specify the length of its content\n */\n LENGTH_REQUIRED: 411,\n\n /**\n * 412 Precondition Failed - The server does not meet one of the preconditions\n */\n PRECONDITION_FAILED: 412,\n\n /**\n * 413 Payload Too Large - The request is larger than the server is willing to process\n */\n PAYLOAD_TOO_LARGE: 413,\n\n /**\n * 414 URI Too Long - The URI provided was too long for the server to process\n */\n URI_TOO_LONG: 414,\n\n /**\n * 415 Unsupported Media Type - The request entity has a media type not supported by the server\n */\n UNSUPPORTED_MEDIA_TYPE: 415,\n\n /**\n * 416 Range Not Satisfiable - The client has asked for a portion of the file that the server cannot supply\n */\n RANGE_NOT_SATISFIABLE: 416,\n\n /**\n * 417 Expectation Failed - The server cannot meet the requirements of the Expect request-header field\n */\n EXPECTATION_FAILED: 417,\n\n /**\n * 418 I'm a teapot - The server refuses to brew coffee because it is a teapot\n */\n IM_A_TEAPOT: 418,\n\n /**\n * 421 Misdirected Request - The request was directed at a server that is not able to produce a response\n */\n MISDIRECTED_REQUEST: 421,\n\n /**\n * 422 Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors\n */\n UNPROCESSABLE_ENTITY: 422,\n\n /**\n * 423 Locked - The resource that is being accessed is locked\n */\n LOCKED: 423,\n\n /**\n * 424 Failed Dependency - The request failed due to failure of a previous request\n */\n FAILED_DEPENDENCY: 424,\n\n /**\n * 425 Too Early - The server is unwilling to risk processing a request that might be replayed\n */\n TOO_EARLY: 425,\n\n /**\n * 426 Upgrade Required - The client should switch to a different protocol\n */\n UPGRADE_REQUIRED: 426,\n\n /**\n * 428 Precondition Required - The origin server requires the request to be conditional\n */\n PRECONDITION_REQUIRED: 428,\n\n /**\n * 429 Too Many Requests - The user has sent too many requests in a given amount of time\n */\n TOO_MANY_REQUESTS: 429,\n\n /**\n * 431 Request Header Fields Too Large - The server is unwilling to process the request because its header fields are too large\n */\n REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n\n /**\n * 451 Unavailable For Legal Reasons - The user requested a resource that cannot legally be provided\n */\n UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n\n // 5xx Server Errors\n /**\n * 500 Internal Server Error - The server encountered an unexpected condition\n */\n INTERNAL_SERVER_ERROR: 500,\n\n /**\n * 501 Not Implemented - The server does not support the functionality required to fulfill the request\n */\n NOT_IMPLEMENTED: 501,\n\n /**\n * 502 Bad Gateway - The server received an invalid response from the upstream server\n */\n BAD_GATEWAY: 502,\n\n /**\n * 503 Service Unavailable - The server is not ready to handle the request\n */\n SERVICE_UNAVAILABLE: 503,\n\n /**\n * 504 Gateway Timeout - The server did not get a response in time from the upstream server\n */\n GATEWAY_TIMEOUT: 504,\n\n /**\n * 505 HTTP Version Not Supported - The HTTP version used in the request is not supported by the server\n */\n HTTP_VERSION_NOT_SUPPORTED: 505,\n\n /**\n * 506 Variant Also Negotiates - The server has an internal configuration error\n */\n VARIANT_ALSO_NEGOTIATES: 506,\n\n /**\n * 507 Insufficient Storage - The server is unable to store the representation needed to complete the request\n */\n INSUFFICIENT_STORAGE: 507,\n\n /**\n * 508 Loop Detected - The server detected an infinite loop while processing the request\n */\n LOOP_DETECTED: 508,\n\n /**\n * 510 Not Extended - Further extensions to the request are required for the server to fulfill it\n */\n NOT_EXTENDED: 510,\n\n /**\n * 511 Network Authentication Required - The client needs to authenticate to gain network access\n */\n NETWORK_AUTHENTICATION_REQUIRED: 511,\n} as const;\n\n/**\n * Type for HTTP status codes\n */\nexport type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];\n","/**\n * Unified Error Codes and Definitions\n * Centralized source of truth for ALL error handling across @plyaz packages\n *\n * This file is the single source of truth for:\n * - All error codes\n * - All error definitions\n * - Error code to definition mappings\n */\n\nimport { HTTP_STATUS } from '../http/constants';\nimport { ERROR_CATEGORY, ERROR_SEVERITY } from './enums';\nimport type { ErrorDefinitions } from './types';\n\n/**\n * All Error Codes\n * Combined error codes from all @plyaz packages\n */\nexport const ERROR_CODES = {\n // ===== Generic/Common Errors =====\n // These are package-agnostic error codes that can be used across all packages\n NOT_IMPLEMENTED: 'not.implemented',\n PROVIDER_NOT_IMPLEMENTED: 'provider.not.implemented',\n FEATURE_NOT_SUPPORTED: 'feature.not.supported',\n\n // ===== API Package Errors =====\n // Client Configuration\n CLIENT_INITIALIZATION_FAILED: 'CLIENT_INITIALIZATION_FAILED',\n CLIENT_INVALID_CONFIG: 'CLIENT_INVALID_CONFIG',\n CLIENT_MISSING_BASE_URL: 'CLIENT_MISSING_BASE_URL',\n CLIENT_CANCELLED: 'CLIENT_CANCELLED',\n CONFIG_VALIDATION_FAILED: 'CONFIG_VALIDATION_FAILED',\n HEADER_PROCESSING_FAILED: 'HEADER_PROCESSING_FAILED',\n NETWORK_OVERRIDE_FAILED: 'NETWORK_OVERRIDE_FAILED',\n\n // Request\n REQUEST_TIMEOUT: 'REQUEST_TIMEOUT',\n REQUEST_ABORTED: 'REQUEST_ABORTED',\n REQUEST_INVALID_PARAMS: 'REQUEST_INVALID_PARAMS',\n REQUEST_PREPARATION_FAILED: 'REQUEST_PREPARATION_FAILED',\n\n // Response\n RESPONSE_INVALID_FORMAT: 'RESPONSE_INVALID_FORMAT',\n RESPONSE_PARSING_FAILED: 'RESPONSE_PARSING_FAILED',\n\n // Authentication/Authorization\n AUTH_UNAUTHORIZED: 'AUTH_UNAUTHORIZED',\n AUTH_FORBIDDEN: 'AUTH_FORBIDDEN',\n AUTH_TOKEN_EXPIRED: 'AUTH_TOKEN_EXPIRED',\n AUTH_INVALID_CREDENTIALS: 'AUTH_INVALID_CREDENTIALS',\n\n // Rate Limiting\n RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',\n\n // Resources\n RESOURCE_NOT_FOUND: 'RESOURCE_NOT_FOUND',\n RESOURCE_CONFLICT: 'RESOURCE_CONFLICT',\n\n // Validation\n API_VALIDATION_FAILED: 'API_VALIDATION_FAILED',\n API_INVALID_INPUT: 'API_INVALID_INPUT',\n VALIDATION_ERROR: 'VALIDATION_ERROR',\n REQUIRED_FIELD_MISSING: 'REQUIRED_FIELD_MISSING',\n INVALID_FORMAT: 'INVALID_FORMAT',\n VALIDATION_INVALID_FORMAT: 'VALIDATION_INVALID_FORMAT',\n STRING_TOO_SHORT: 'STRING_TOO_SHORT',\n STRING_TOO_LONG: 'STRING_TOO_LONG',\n\n // Network\n NETWORK_ERROR: 'NETWORK_ERROR',\n CONNECTION_FAILED: 'CONNECTION_FAILED',\n NETWORK_CONNECTION_FAILED: 'NETWORK_CONNECTION_FAILED',\n NETWORK_OFFLINE: 'NETWORK_OFFLINE',\n NETWORK_DNS_FAILED: 'NETWORK_DNS_FAILED',\n NETWORK_TIMEOUT: 'NETWORK_TIMEOUT',\n NETWORK_PRESET_NOT_FOUND: 'NETWORK_PRESET_NOT_FOUND',\n NETWORK_CONFIGURATION_INVALID: 'NETWORK_CONFIGURATION_INVALID',\n\n // Server\n SERVER_ERROR: 'SERVER_ERROR',\n INTERNAL_SERVER_ERROR: 'INTERNAL_SERVER_ERROR',\n SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',\n\n // Cache\n CACHE_READ_FAILED: 'CACHE_READ_FAILED',\n CACHE_WRITE_FAILED: 'CACHE_WRITE_FAILED',\n CACHE_INVALIDATION_FAILED: 'CACHE_INVALIDATION_FAILED',\n CACHE_STORAGE_FAILED: 'CACHE_STORAGE_FAILED',\n CACHE_RETRIEVAL_FAILED: 'CACHE_RETRIEVAL_FAILED',\n\n // Retry\n RETRY_LIMIT_EXCEEDED: 'RETRY_LIMIT_EXCEEDED',\n RETRY_FAILED: 'RETRY_FAILED',\n RETRY_EXHAUSTED: 'RETRY_EXHAUSTED',\n RETRY_STRATEGY_INVALID: 'RETRY_STRATEGY_INVALID',\n\n // Strategy\n STRATEGY_INVALID: 'STRATEGY_INVALID',\n STRATEGY_CONFLICT: 'STRATEGY_CONFLICT',\n STRATEGY_EXECUTION_FAILED: 'STRATEGY_EXECUTION_FAILED',\n\n // Headers\n HEADERS_ENRICHMENT_FAILED: 'HEADERS_ENRICHMENT_FAILED',\n HEADERS_VALIDATION_FAILED: 'HEADERS_VALIDATION_FAILED',\n HEADERS_MERGE_CONFLICT: 'HEADERS_MERGE_CONFLICT',\n\n // Regional\n REGION_DETECTION_FAILED: 'REGION_DETECTION_FAILED',\n REGIONAL_PRESET_NOT_FOUND: 'REGIONAL_PRESET_NOT_FOUND',\n\n // External Services\n EXTERNAL_SERVICE_ERROR: 'EXTERNAL_SERVICE_ERROR',\n\n // Timeout (generic)\n TIMEOUT: 'TIMEOUT',\n\n // Debugging\n DEBUG_TRACKING_FAILED: 'DEBUG_TRACKING_FAILED',\n\n // Polling\n POLLING_CANCELLED: 'POLLING_CANCELLED',\n POLLING_TIMEOUT: 'POLLING_TIMEOUT',\n POLLING_INVALID_CONFIG: 'POLLING_INVALID_CONFIG',\n\n // PubSub\n PUBSUB_SUBSCRIPTION_FAILED: 'PUBSUB_SUBSCRIPTION_FAILED',\n PUBSUB_PUBLICATION_FAILED: 'PUBSUB_PUBLICATION_FAILED',\n PUBSUB_INVALID_TOPIC: 'PUBSUB_INVALID_TOPIC',\n PUBSUB_CHANNEL_ERROR: 'PUBSUB_CHANNEL_ERROR',\n\n // Revalidation\n REVALIDATION_FAILED: 'REVALIDATION_FAILED',\n REVALIDATION_IN_PROGRESS: 'REVALIDATION_IN_PROGRESS',\n\n // Debugging\n DEBUG_OVERRIDE_FAILED: 'DEBUG_OVERRIDE_FAILED',\n DEBUG_CONFLICT_DETECTED: 'DEBUG_CONFLICT_DETECTED',\n\n // Endpoint\n ENDPOINT_BUILD_FAILED: 'ENDPOINT_BUILD_FAILED',\n ENDPOINT_NOT_FOUND: 'ENDPOINT_NOT_FOUND',\n ENDPOINT_INVALID_CONFIG: 'ENDPOINT_INVALID_CONFIG',\n\n // Event\n EVENT_HANDLER_FAILED: 'EVENT_HANDLER_FAILED',\n EVENT_EMISSION_FAILED: 'EVENT_EMISSION_FAILED',\n MONITORING_FAILED: 'MONITORING_FAILED',\n\n // Context\n CONTEXT_OPERATION_FAILED: 'CONTEXT_OPERATION_FAILED',\n\n // Generic\n CLIENT_ERROR: 'CLIENT_ERROR',\n UNKNOWN_ERROR: 'UNKNOWN_ERROR',\n\n // ===== Notification Package Errors =====\n // Provider\n NOTIFICATION_PROVIDER_SEND_FAILED: 'notification.provider.send.failed',\n NOTIFICATION_PROVIDER_CONFIGURATION_INVALID: 'notification.provider.configuration.invalid',\n NOTIFICATION_PROVIDER_RATE_LIMIT: 'notification.provider.rate.limit',\n NOTIFICATION_PROVIDER_AUTH_FAILED: 'notification.provider.auth.failed',\n NOTIFICATION_PROVIDER_TIMEOUT: 'notification.provider.timeout',\n NOTIFICATION_PROVIDER_UNAVAILABLE: 'notification.provider.unavailable',\n NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED: 'notification.provider.feature.not.supported',\n NOTIFICATION_ALL_PROVIDERS_FAILED: 'notification.all.providers.failed',\n\n // Validation\n NOTIFICATION_INVALID_INPUT: 'notification.validation.input.invalid',\n NOTIFICATION_INVALID_RECIPIENT: 'notification.validation.recipient.invalid',\n NOTIFICATION_INVALID_TEMPLATE: 'notification.validation.template.invalid',\n NOTIFICATION_INVALID_PAYLOAD: 'notification.validation.payload.invalid',\n NOTIFICATION_MISSING_REQUIRED_FIELD: 'notification.validation.field.required',\n NOTIFICATION_VALIDATION_FAILED: 'notification.validation.failed',\n\n // User Preferences\n NOTIFICATION_USER_OPTED_OUT: 'notification.user.opted.out',\n\n // Queue\n NOTIFICATION_QUEUE_FULL: 'notification.queue.full',\n NOTIFICATION_QUEUE_PROCESSING_FAILED: 'notification.queue.processing.failed',\n\n // Webhook\n NOTIFICATION_WEBHOOK_SIGNATURE_INVALID: 'notification.webhook.signature.invalid',\n NOTIFICATION_WEBHOOK_VALIDATION_FAILED: 'notification.webhook.validation.failed',\n NOTIFICATION_WEBHOOK_PROCESSING_FAILED: 'notification.webhook.processing.failed',\n\n // Template\n NOTIFICATION_TEMPLATE_NOT_FOUND: 'notification.template.not.found',\n NOTIFICATION_TEMPLATE_RENDER_FAILED: 'notification.template.render.failed',\n\n // General Notification\n NOTIFICATION_UNKNOWN_ERROR: 'notification.unknown.error',\n NOTIFICATION_INITIALIZATION_FAILED: 'notification.initialization.failed',\n\n // ===== Storage Package Errors =====\n // General\n STORAGE_UNKNOWN_ERROR: 'storage.unknown.error',\n STORAGE_INITIALIZATION_FAILED: 'storage.initialization.failed',\n\n // Adapter\n STORAGE_ADAPTER_NOT_FOUND: 'storage.adapter.not.found',\n STORAGE_ADAPTER_INITIALIZATION_FAILED: 'storage.adapter.initialization.failed',\n STORAGE_ADAPTER_CONFIGURATION_INVALID: 'storage.adapter.configuration.invalid',\n STORAGE_ADAPTER_ALREADY_REGISTERED: 'storage.adapter.already.registered',\n STORAGE_ADAPTER_CONNECTION_FAILED: 'storage.adapter.connection.failed',\n STORAGE_ADAPTER_AUTHENTICATION_FAILED: 'storage.adapter.authentication.failed',\n STORAGE_ADAPTER_OPERATION_FAILED: 'storage.adapter.operation.failed',\n STORAGE_ADAPTER_HEALTH_CHECK_FAILED: 'storage.adapter.health.check.failed',\n STORAGE_ADAPTER_UNAVAILABLE: 'storage.adapter.unavailable',\n STORAGE_ADAPTER_TIMEOUT: 'storage.adapter.timeout',\n STORAGE_ADAPTER_RATE_LIMIT: 'storage.adapter.rate.limit',\n STORAGE_ADAPTER_QUOTA_EXCEEDED: 'storage.adapter.quota.exceeded',\n STORAGE_ADAPTER_UNSUPPORTED_OPERATION: 'storage.adapter.unsupported.operation',\n STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED: 'storage.adapter.feature.not.supported',\n STORAGE_NO_HEALTHY_ADAPTERS: 'storage.no.healthy.adapters',\n STORAGE_ALL_ADAPTERS_FAILED: 'storage.all.adapters.failed',\n\n // File Validation\n STORAGE_FILE_TOO_LARGE: 'storage.file.too.large',\n STORAGE_FILE_TOO_SMALL: 'storage.file.too.small',\n STORAGE_FILE_SIZE_INVALID: 'storage.file.size.invalid',\n STORAGE_FILE_TYPE_NOT_ALLOWED: 'storage.file.type.not.allowed',\n STORAGE_INVALID_MIME_TYPE: 'storage.invalid.mime.type',\n STORAGE_INVALID_FILE_EXTENSION: 'storage.invalid.file.extension',\n STORAGE_FILE_EXTENSION_INVALID: 'storage.file.extension.invalid',\n STORAGE_FILE_EXTENSION_MISMATCH: 'storage.file.extension.mismatch',\n STORAGE_EXECUTABLE_NOT_ALLOWED: 'storage.executable.not.allowed',\n STORAGE_VALIDATION_FAILED: 'storage.validation.failed',\n STORAGE_INVALID_FILE_CONTENT: 'storage.invalid.file.content',\n\n // Security\n STORAGE_SECURITY_VIRUS_DETECTED: 'storage.security.virus.detected',\n STORAGE_SECURITY_SCAN_FAILED: 'storage.security.scan.failed',\n STORAGE_SECURITY_ACCESS_DENIED: 'storage.security.access.denied',\n STORAGE_SECURITY_ENCRYPTION_FAILED: 'storage.security.encryption.failed',\n\n // File Operations\n STORAGE_FILE_UPLOAD_FAILED: 'storage.file.upload.failed',\n STORAGE_FILE_DOWNLOAD_FAILED: 'storage.file.download.failed',\n STORAGE_FILE_DELETE_FAILED: 'storage.file.delete.failed',\n STORAGE_FILE_UPDATE_FAILED: 'storage.file.update.failed',\n STORAGE_FILE_NOT_FOUND: 'storage.file.not.found',\n STORAGE_FILE_ALREADY_EXISTS: 'storage.file.already.exists',\n STORAGE_FILE_MOVE_FAILED: 'storage.file.move.failed',\n STORAGE_FILE_COPY_FAILED: 'storage.file.copy.failed',\n STORAGE_FILE_READ_FAILED: 'storage.file.read.failed',\n STORAGE_FILE_WRITE_FAILED: 'storage.file.write.failed',\n STORAGE_FILE_CORRUPTED: 'storage.file.corrupted',\n STORAGE_INVALID_OPERATION: 'storage.invalid.operation',\n\n // Metadata\n STORAGE_METADATA_EXTRACTION_FAILED: 'storage.metadata.extraction.failed',\n STORAGE_METADATA_INVALID: 'storage.metadata.invalid',\n STORAGE_METADATA_UPDATE_FAILED: 'storage.metadata.update.failed',\n\n // Media Processing\n STORAGE_MEDIA_PROCESSING_FAILED: 'storage.media.processing.failed',\n STORAGE_MEDIA_RESIZE_FAILED: 'storage.media.resize.failed',\n STORAGE_MEDIA_FORMAT_UNSUPPORTED: 'storage.media.format.unsupported',\n STORAGE_MEDIA_TRANSCODE_FAILED: 'storage.media.transcode.failed',\n STORAGE_MEDIA_THUMBNAIL_FAILED: 'storage.media.thumbnail.failed',\n STORAGE_MEDIA_INVALID_DIMENSIONS: 'storage.media.invalid.dimensions',\n\n // Template & PDF\n STORAGE_TEMPLATE_NOT_FOUND: 'storage.template.not.found',\n STORAGE_TEMPLATE_RENDER_FAILED: 'storage.template.render.failed',\n STORAGE_PDF_GENERATION_FAILED: 'storage.pdf.generation.failed',\n STORAGE_PDF_RENDERING_TIMEOUT: 'storage.pdf.rendering.timeout',\n\n // Queue\n STORAGE_QUEUE_FULL: 'storage.queue.full',\n STORAGE_QUEUE_PROCESSING_FAILED: 'storage.queue.processing.failed',\n STORAGE_QUEUE_ITEM_NOT_FOUND: 'storage.queue.item.not.found',\n\n // Compliance\n STORAGE_COMPLIANCE_VIOLATION: 'storage.compliance.violation',\n STORAGE_COMPLIANCE_RETENTION_VIOLATION: 'storage.compliance.retention.violation',\n STORAGE_COMPLIANCE_RETENTION_EXPIRED: 'storage.compliance.retention.expired',\n STORAGE_COMPLIANCE_IMMUTABLE_FILE: 'storage.compliance.immutable.file',\n STORAGE_COMPLIANCE_POLICY_NOT_FOUND: 'storage.compliance.policy.not.found',\n STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED: 'storage.compliance.soft.delete.required',\n STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE: 'storage.compliance.grace.period.active',\n STORAGE_COMPLIANCE_DEFERRED_DELETION: 'storage.compliance.deferred.deletion',\n STORAGE_COMPLIANCE_PATTERN_PROTECTED: 'storage.compliance.pattern.protected',\n\n // Share Links\n STORAGE_SHARE_LINK_NOT_FOUND: 'storage.share.link.not.found',\n STORAGE_SHARE_LINK_EXPIRED: 'storage.share.link.expired',\n STORAGE_SHARE_LINK_MAX_DOWNLOADS: 'storage.share.link.max.downloads',\n STORAGE_SHARE_LINK_INVALID_PASSWORD: 'storage.share.link.invalid.password',\n\n // Plugin\n STORAGE_PLUGIN_NOT_FOUND: 'storage.plugin.not.found',\n STORAGE_PLUGIN_INITIALIZATION_FAILED: 'storage.plugin.initialization.failed',\n STORAGE_PLUGIN_EXECUTION_FAILED: 'storage.plugin.execution.failed',\n\n // VirusTotal Provider (Plugin)\n STORAGE_VIRUSTOTAL_BAD_REQUEST: 'storage.virustotal.bad_request',\n STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED: 'storage.virustotal.authentication_required',\n STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS: 'storage.virustotal.wrong_credentials',\n STORAGE_VIRUSTOTAL_FILE_TOO_LARGE: 'storage.virustotal.file_too_large',\n STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED: 'storage.virustotal.quota_exceeded',\n STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND: 'storage.virustotal.analysis_not_found',\n STORAGE_VIRUSTOTAL_SCAN_TIMEOUT: 'storage.virustotal.scan_timeout',\n STORAGE_VIRUSTOTAL_SCAN_FAILED: 'storage.virustotal.scan_failed',\n\n // CDN Provider Errors (Third-party services - cross-package)\n // Cloudflare CDN\n CLOUDFLARE_AUTHENTICATION_FAILED: 'cloudflare.authentication.failed',\n CLOUDFLARE_ZONE_NOT_FOUND: 'cloudflare.zone.not.found',\n CLOUDFLARE_PURGE_FAILED: 'cloudflare.purge.failed',\n CLOUDFLARE_RATE_LIMIT_EXCEEDED: 'cloudflare.rate.limit.exceeded',\n CLOUDFLARE_INVALID_URL: 'cloudflare.invalid.url',\n CLOUDFLARE_API_ERROR: 'cloudflare.api.error',\n\n // AWS CloudFront CDN\n CLOUDFRONT_AUTHENTICATION_FAILED: 'cloudfront.authentication.failed',\n CLOUDFRONT_DISTRIBUTION_NOT_FOUND: 'cloudfront.distribution.not.found',\n CLOUDFRONT_INVALIDATION_FAILED: 'cloudfront.invalidation.failed',\n CLOUDFRONT_QUOTA_EXCEEDED: 'cloudfront.quota.exceeded',\n CLOUDFRONT_INVALID_PATH: 'cloudfront.invalid.path',\n CLOUDFRONT_API_ERROR: 'cloudfront.api.error',\n\n // Fastly CDN\n FASTLY_AUTHENTICATION_FAILED: 'fastly.authentication.failed',\n FASTLY_SERVICE_NOT_FOUND: 'fastly.service.not.found',\n FASTLY_PURGE_FAILED: 'fastly.purge.failed',\n FASTLY_RATE_LIMIT_EXCEEDED: 'fastly.rate.limit.exceeded',\n FASTLY_INVALID_URL: 'fastly.invalid.url',\n FASTLY_API_ERROR: 'fastly.api.error',\n\n // Generic CDN Errors\n CDN_INVALIDATION_FAILED: 'cdn.invalidation.failed',\n CDN_CONFIGURATION_INVALID: 'cdn.configuration.invalid',\n CDN_PROVIDER_NOT_FOUND: 'cdn.provider.not.found',\n\n // Webhook Errors\n STORAGE_WEBHOOK_SIGNATURE_INVALID: 'storage.webhook.signature.invalid',\n STORAGE_WEBHOOK_PAYLOAD_INVALID: 'storage.webhook.payload.invalid',\n STORAGE_WEBHOOK_PROCESSING_FAILED: 'storage.webhook.processing.failed',\n STORAGE_WEBHOOK_TIMEOUT: 'storage.webhook.timeout',\n STORAGE_WEBHOOK_ADAPTER_NOT_FOUND: 'storage.webhook.adapter.not.found',\n STORAGE_WEBHOOK_DUPLICATE_DETECTED: 'storage.webhook.duplicate.detected',\n STORAGE_WEBHOOK_IDEMPOTENCY_ERROR: 'storage.webhook.idempotency.error',\n STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED: 'storage.webhook.rate.limit.exceeded',\n\n // Presigned URLs\n STORAGE_PRESIGNED_URL_GENERATION_FAILED: 'storage.presigned.url.generation.failed',\n STORAGE_PRESIGNED_URL_EXPIRED: 'storage.presigned.url.expired',\n STORAGE_PRESIGNED_URL_INVALID: 'storage.presigned.url.invalid',\n\n // Chunked Upload\n STORAGE_CHUNKED_UPLOAD_INIT_FAILED: 'storage.chunked.upload.init.failed',\n STORAGE_CHUNKED_UPLOAD_PART_FAILED: 'storage.chunked.upload.part.failed',\n STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED: 'storage.chunked.upload.complete.failed',\n STORAGE_CHUNKED_UPLOAD_ABORT_FAILED: 'storage.chunked.upload.abort.failed',\n STORAGE_CHUNKED_UPLOAD_NOT_FOUND: 'storage.chunked.upload.not.found',\n\n // CORS\n STORAGE_CORS_CONFIGURATION_INVALID: 'storage.cors.configuration.invalid',\n STORAGE_CORS_ORIGIN_NOT_ALLOWED: 'storage.cors.origin.not.allowed',\n\n // TTL\n STORAGE_TTL_EXPIRED: 'storage.ttl.expired',\n STORAGE_TTL_CLEANUP_FAILED: 'storage.ttl.cleanup.failed',\n\n // Audit\n STORAGE_AUDIT_LOG_FAILED: 'storage.audit.log.failed',\n\n // Timeout & Network\n STORAGE_TIMEOUT: 'storage.timeout',\n STORAGE_NETWORK_ERROR: 'storage.network.error',\n STORAGE_CONNECTION_LOST: 'storage.connection.lost',\n\n // Permission & Quota\n STORAGE_PERMISSION_DENIED: 'storage.permission.denied',\n STORAGE_QUOTA_EXCEEDED: 'storage.quota.exceeded',\n STORAGE_INSUFFICIENT_SPACE: 'storage.insufficient.space',\n\n // Feature Implementation\n STORAGE_FEATURE_NOT_IMPLEMENTED: 'storage.feature.not.implemented',\n\n // ===== Core Package Errors =====\n // Feature Flags\n CORE_FEATURE_FLAG_NOT_FOUND: 'core.feature_flag.not_found',\n CORE_FEATURE_FLAG_INVALID_CONFIG: 'core.feature_flag.invalid_config',\n CORE_FEATURE_FLAG_EVALUATION_FAILED: 'core.feature_flag.evaluation_failed',\n CORE_FEATURE_FLAG_PROVIDER_ERROR: 'core.feature_flag.provider_error',\n CORE_FEATURE_FLAG_CACHE_ERROR: 'core.feature_flag.cache_error',\n CORE_FEATURE_FLAG_CONTEXT_INVALID: 'core.feature_flag.context_invalid',\n CORE_FEATURE_FLAG_RULE_INVALID: 'core.feature_flag.rule_invalid',\n CORE_FEATURE_FLAG_TOGGLE_FAILED: 'core.feature_flag.toggle_failed',\n\n // Cache\n CORE_CACHE_INITIALIZATION_FAILED: 'core.cache.initialization_failed',\n CORE_CACHE_STRATEGY_NOT_FOUND: 'core.cache.strategy_not_found',\n CORE_CACHE_OPERATION_FAILED: 'core.cache.operation_failed',\n CORE_CACHE_INVALIDATION_FAILED: 'core.cache.invalidation_failed',\n CORE_CACHE_SERIALIZATION_FAILED: 'core.cache.serialization_failed',\n\n // API Client\n CORE_API_CLIENT_INITIALIZATION_FAILED: 'core.api_client.initialization_failed',\n CORE_API_CLIENT_REQUEST_FAILED: 'core.api_client.request_failed',\n CORE_API_CLIENT_TIMEOUT: 'core.api_client.timeout',\n CORE_API_CLIENT_INVALID_RESPONSE: 'core.api_client.invalid_response',\n CORE_API_CLIENT_AUTHENTICATION_FAILED: 'core.api_client.authentication_failed',\n\n // Database Service\n CORE_DATABASE_SERVICE_INITIALIZATION_FAILED: 'core.database_service.initialization_failed',\n CORE_DATABASE_SERVICE_CONNECTION_FAILED: 'core.database_service.connection_failed',\n CORE_DATABASE_SERVICE_QUERY_FAILED: 'core.database_service.query_failed',\n CORE_DATABASE_SERVICE_TRANSACTION_FAILED: 'core.database_service.transaction_failed',\n\n // Validation\n CORE_VALIDATION_FAILED: 'core.validation.failed',\n CORE_VALIDATION_SCHEMA_INVALID: 'core.validation.schema_invalid',\n CORE_VALIDATION_REQUIRED_FIELD_MISSING: 'core.validation.required_field_missing',\n\n // Hash Utilities\n CORE_HASH_GENERATION_FAILED: 'core.hash.generation_failed',\n CORE_HASH_VERIFICATION_FAILED: 'core.hash.verification_failed',\n\n // Engine\n CORE_ENGINE_INITIALIZATION_FAILED: 'core.engine.initialization_failed',\n CORE_ENGINE_EXECUTION_FAILED: 'core.engine.execution_failed',\n CORE_ENGINE_CONFIGURATION_INVALID: 'core.engine.configuration_invalid',\n\n // Provider\n CORE_PROVIDER_NOT_FOUND: 'core.provider.not_found',\n CORE_PROVIDER_INITIALIZATION_FAILED: 'core.provider.initialization_failed',\n CORE_PROVIDER_OPERATION_FAILED: 'core.provider.operation_failed',\n\n // Context\n CORE_CONTEXT_INVALID: 'core.context.invalid',\n CORE_CONTEXT_MISSING_REQUIRED_DATA: 'core.context.missing_required_data',\n\n // General Core\n CORE_INITIALIZATION_FAILED: 'core.initialization_failed',\n CORE_CONFIGURATION_INVALID: 'core.configuration_invalid',\n CORE_OPERATION_FAILED: 'core.operation_failed',\n CORE_UNKNOWN_ERROR: 'core.unknown_error',\n\n // ===== Errors Package Errors =====\n ERROR_SYSTEM_NOT_INITIALIZED: 'error.system.not.initialized',\n EVENT_FACTORY_NOT_REGISTERED: 'error.event.factory.not.registered',\n DATABASE_ERROR: 'error.database',\n\n // ===== Database Errors =====\n // Connection & Configuration\n DB_ACCESS_DENIED: 'db.access_denied',\n DB_CONFIG_REQUIRED: 'db.config_required',\n DB_CONNECT_FAILED: 'db.connect_failed',\n DB_DISCONNECT_FAILED: 'db.disconnect_failed',\n DB_INIT_FAILED: 'db.init_failed',\n\n // Query & Execution\n DB_QUERY_FAILED: 'db.query_failed',\n DB_BUILD_WHERE_FAILED: 'db.build_where_failed',\n DB_INVALID_SQL: 'db.invalid_sql',\n DB_TRANSACTION_FAILED: 'db.transaction_failed',\n DB_UNSUPPORTED_OPERATOR: 'db.unsupported_operator',\n\n // CRUD Operations\n DB_CREATE_FAILED: 'db.create_failed',\n DB_CREATION_FAILED: 'db.creation_failed',\n DB_FETCH_FAILED: 'db.fetch_failed',\n DB_FIND_FAILED: 'db.find_failed',\n DB_FIND_MANY_FAILED: 'db.find_many_failed',\n DB_FIND_BY_ID_FAILED: 'db.find_by_id_failed',\n DB_UPDATE_FAILED: 'db.update_failed',\n DB_UPDATE_NO_CHANGES: 'db.update_no_changes',\n DB_DELETE_FAILED: 'db.delete_failed',\n DB_INSERT_FAILED: 'db.insert_failed',\n DB_RECORD_NOT_FOUND: 'db.record_not_found',\n DB_EXISTS_FAILED: 'db.exists_failed',\n\n // Schema & Columns\n DB_COLUMN_NOT_EXISTS: 'db.column_not_exists',\n DB_TABLE_NOT_REGISTERED: 'db.table_not_registered',\n DB_TABLE_REGISTRATION_FAILED: 'db.table_registration_failed',\n DB_ID_COLUMN_NOT_REGISTERED: 'db.id_column_not_registered',\n DB_INVALID_COLUMN: 'db.invalid_column',\n DB_INVALID_TABLE_NAME: 'db.invalid_table_name',\n DB_GET_ID_COLUMN_FAILED: 'db.get_id_column_failed',\n DB_GET_TABLE_FAILED: 'db.get_table_failed',\n\n // Validation & Parameters\n DB_INVALID_PARAMETERS: 'db.invalid_parameters',\n DB_INVALID_PARAMS: 'db.invalid_params',\n DB_INVALID_FILTER: 'db.invalid_filter',\n DB_INVALID_ID: 'db.invalid_id',\n DB_INVALID_ENTITY: 'db.invalid_entity',\n DB_INVALID_UPDATE_PARAMS: 'db.invalid_update_params',\n DB_INVALID_FIELD_NAME: 'db.invalid_field_name',\n DB_INVALID_RESULT: 'db.invalid_result',\n DB_NO_UPDATE_FIELDS: 'db.no_update_fields',\n\n // Count & Data\n DB_COUNT_FAILED: 'db.count_failed',\n DB_COUNT_NO_RESULTS: 'db.count_no_results',\n DB_NO_DATA: 'db.no_data',\n\n // Multi-tenant Context\n DB_NO_TENANT_CONTEXT: 'db.no_tenant_context',\n DB_NO_TENANT_ID: 'db.no_tenant_id',\n DB_TENANT_VALIDATION_FAILED: 'db.tenant_validation_failed',\n\n // Backup & Restore\n DB_BACKUP_CLEANUP_FAILED: 'db.backup_cleanup_failed',\n DB_BACKUP_FILE_NOT_FOUND: 'db.backup_file_not_found',\n DB_LIST_BACKUPS_FAILED: 'db.list_backups_failed',\n DB_INVALID_BACKUP_INFO: 'db.invalid_backup_info',\n DB_RESTORE_FAILED: 'db.restore_failed',\n\n // Cache Operations\n DB_CACHE_DELETE_FAILED: 'db.cache_delete_failed',\n DB_CACHE_HEALTH_CHECK_FAILED: 'db.cache_health_check_failed',\n DB_CACHE_INVALIDATE_FAILED: 'db.cache_invalidate_failed',\n DB_CACHE_SET_FAILED: 'db.cache_set_failed',\n DB_CACHE_GET_FAILED: 'db.cache_get_failed',\n\n // File & Storage\n DB_INVALID_FILEPATH: 'db.invalid_filepath',\n DB_S3_DELETE_FAILED: 'db.s3_delete_failed',\n DB_S3_DOWNLOAD_FAILED: 'db.s3_download_failed',\n DB_S3_NOT_CONFIGURED: 'db.s3_not_configured',\n DB_S3_UPLOAD_FAILED: 'db.s3_upload_failed',\n\n // Misc\n DB_SCHEDULE_SETUP_FAILED: 'db.schedule_setup_failed',\n DB_DECRYPTION_FAILED: 'db.decryption_failed',\n DB_INVALID_SHELL_ARG: 'db.invalid_shell_arg',\n DB_INVALID_BETWEEN_OPERATOR: 'db.invalid_between_operator',\n DB_INVALID_IN_OPERATOR: 'db.invalid_in_operator',\n DB_INVALID_COUNT: 'db.invalid_count',\n\n // Connection & Network\n DB_CONNECTION_FAILED: 'db.connection_failed',\n DB_CONNECTION_ERROR: 'db.connection_error',\n DB_TIMEOUT: 'db.timeout',\n\n // Constraints & Integrity\n DB_CONSTRAINT_VIOLATION: 'db.constraint_violation',\n DB_DEADLOCK: 'db.deadlock',\n DB_DUPLICATE_ENTRY: 'db.duplicate_entry',\n\n // Entity Operations\n DB_ENTITY_NOT_FOUND: 'db.entity_not_found',\n\n // Migration & Schema\n DB_MIGRATION_FAILED: 'db.migration_failed',\n\n // Multi-Write Operations\n DB_MULTI_WRITE_FAILED: 'db.multi_write_failed',\n\n // General\n DB_UNKNOWN_ERROR: 'db.unknown_error',\n\n // ===== Payments Package Errors =====\n\n PAYMENT_TIMEOUT: 'payment.timeout',\n PAYMENT_NETWORK_ERROR: 'payment.network.error',\n\n // Refund\n PAYMENT_REFUND_FAILED: 'payment.refund.failed',\n PAYMENT_REFUND_NOT_FOUND: 'payment.refund.not.found',\n PAYMENT_REFUND_ALREADY_PROCESSED: 'payment.refund.already.processed',\n PAYMENT_REFUND_AMOUNT_INVALID: 'payment.refund.amount.invalid',\n PAYMENT_REFUND_VALIDATION_FAILED: 'payment.refund.validation.failed',\n PAYMENT_REFUND_TIMEOUT: 'payment.refund.timeout',\n PAYMENT_REFUND_NOT_ALLOWED: 'payment.refund.not.allowed',\n PAYMENT_REFUND_AUTHORIZATION_FAILED: 'payment.refund.authorization.failed',\n PAYMENT_REFUND_PROCESSING_FAILED: 'payment.refund.processing.failed',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'payment.provider.error',\n PAYMENT_PROVIDER_UNAVAILABLE: 'payment.provider.unavailable',\n PAYMENT_PROVIDER_CONFIGURATION_INVALID: 'payment.provider.configuration.invalid',\n PAYMENT_PROVIDER_RESPONSE_INVALID: 'payment.provider.response.invalid',\n PAYMENT_PROVIDER_TIMEOUT: 'payment.provider.timeout',\n PAYMENT_PROVIDER_AUTH_FAILED: 'payment.provider.auth.failed',\n PAYMENT_PROVIDER_RATE_LIMIT: 'payment.provider.rate.limit', // for HTTP 429\n PAYMENT_PROVIDER_UNKNOWN: 'payment.provider.unknown',\n PAYMENT_CUSTOMER_CREATION_FAILED: 'payment.customer.creation.failed',\n\n // Payment method errors\n PAYMENT_METHOD_SAVE_FAILED: 'payment.method.save.failed',\n PAYMENT_METHOD_DELETE_FAILED: 'payment.method.delete.failed',\n\n // Subscription errors\n PAYMENT_SUBSCRIPTION_CREATE_FAILED: 'payment.subscription.create.failed',\n PAYMENT_SUBSCRIPTION_CANCEL_FAILED: 'payment.subscription.cancel.failed',\n\n // Payout errors\n PAYMENT_PAYOUT_FAILED: 'payment.payout.failed',\n\n // Transaction history errors\n PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED: 'payment.transaction.history.fetch.failed',\n\n // Compliance\n PAYMENT_COMPLIANCE_VIOLATION: 'payment.compliance.violation',\n PAYMENT_COMPLIANCE_CHECK_FAILED: 'payment.compliance.check.failed',\n PAYMENT_COMPLIANCE_LIMIT_EXCEEDED: 'payment.compliance.limit.exceeded',\n PAYMENT_COMPLIANCE_POLICY_MISSING: 'payment.compliance.policy.missing',\n PAYMENT_COMPLIANCE_KYC_REQUIRED: 'payment.compliance.kyc.required',\n PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION: 'payment.compliance.geographic.restriction',\n PAYMENT_COMPLIANCE_AML_CHECK_FAILED: 'payment.compliance.aml.check.failed',\n PAYMENT_COMPLIANCE_PSD2_STRONG_AUTH_REQUIRED: 'payment.compliance.psd2.strong.auth.required',\n PAYMENT_COMPLIANCE_GDPR_DATA_ACCESS: 'payment.compliance.gdpr.data.access',\n PAYMENT_COMPLIANCE_PCI_COMPLIANCE: 'payment.compliance.pci.compliance',\n PAYMENT_COMPLIANCE_LOCAL_BANKING_RESTRICTION: 'payment.compliance.local.banking.restriction',\n\n // Processing\n PAYMENT_PROCESSING_FAILED: 'payment.processing.failed',\n PAYMENT_PROCESSING_TIMEOUT: 'payment.processing.timeout',\n PAYMENT_PROCESSING_GATEWAY_ERROR: 'payment.processing.gateway.error',\n PAYMENT_PROCESSING_DUPLICATE: 'payment.processing.duplicate',\n PAYMENT_PROCESSING_UNEXPECTED_STATE: 'payment.processing.unexpected.state',\n\n // Security\n PAYMENT_SECURITY_VIOLATION: 'payment.security.violation',\n PAYMENT_SECURITY_SIGNATURE_INVALID: 'payment.security.signature.invalid',\n PAYMENT_SECURITY_ENCRYPTION_FAILED: 'payment.security.encryption.failed',\n PAYMENT_SECURITY_FRAUD_DETECTED: 'payment.security.fraud.detected',\n PAYMENT_SECURITY_TOKEN_INVALID: 'payment.security.token.invalid',\n PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED: 'payment.security.velocity.limit.exceeded',\n\n // Validation\n PAYMENT_VALIDATION_FAILED: 'payment.validation.failed',\n PAYMENT_VALIDATION_AMOUNT_INVALID: 'payment.validation.amount.invalid',\n PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED: 'payment.validation.currency.unsupported',\n PAYMENT_VALIDATION_METADATA_INVALID: 'payment.validation.metadata.invalid',\n PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD: 'payment.validation.field.required',\n\n // Webhook\n PAYMENT_WEBHOOK_SIGNATURE_INVALID: 'payment.webhook.signature.invalid',\n PAYMENT_WEBHOOK_PROCESSING_FAILED: 'payment.webhook.processing.failed',\n PAYMENT_WEBHOOK_VALIDATION_FAILED: 'payment.webhook.validation.failed',\n PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED: 'payment.webhook.event.type.unsupported',\n PAYMENT_WEBHOOK_HANDLER_NOT_FOUND: 'payment.webhook.handler.not.found',\n\n // ===== Payment Adapter & Core Errors =====\n PAYMENT_ADAPTER_INIT_FAILED: 'payment.adapter.init.failed',\n PAYMENT_ADAPTER_SHUTDOWN_ERROR: 'payment.adapter.shutdown.error',\n PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED: 'payment.adapter.hmac.computation.failed',\n PAYMENT_ADAPTER_MISSING_PROVIDER: 'payment.adapter.missing.provider',\n PAYMENT_ADAPTER_MISSING_ENVIRONMENT: 'payment.adapter.missing.environment',\n PAYMENT_ADAPTER_MISSING_CREDENTIALS: 'payment.adapter.missing.credentials',\n PAYMENT_ADAPTER_MISSING_WEBHOOK_URL: 'payment.adapter.missing.webhook.url',\n PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT: 'payment.adapter.missing.unregister.endpoint',\n PAYMENT_ADAPTER_UNSUPPORTED_OPERATION: 'payment.adapter.unsupported.operation',\n PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED: 'payment.adapter.response.mapping.failed',\n\n // Idempotency & State Management\n PAYMENT_IDEMPOTENCY_VIOLATION: 'payment.idempotency.violation',\n PAYMENT_IDEMPOTENCY_KEY_MISSING: 'payment.idempotency.key.missing',\n PAYMENT_IDEMPOTENCY_STORE_ERROR: 'payment.idempotency.store.error',\n\n // Routing & Strategy\n PAYMENT_ROUTING_FAILED: 'payment.routing.failed',\n PAYMENT_ROUTING_CONFIGURATION_INVALID: 'payment.routing.configuration.invalid',\n PAYMENT_ROUTING_PROVIDER_UNAVAILABLE: 'payment.routing.provider.unavailable',\n PAYMENT_ROUTING_RETRY_EXCEEDED: 'payment.routing.retry.exceeded',\n\n // General Payment Framework Errors\n PAYMENT_SYSTEM_NOT_INITIALIZED: 'payment.system.not.initialized',\n PAYMENT_CONTEXT_OPERATION_FAILED: 'payment.context.operation.failed',\n PAYMENT_INTERNAL_ERROR: 'payment.internal.error',\n PAYMENT_UNKNOWN_ERROR: 'payment.unknown.error',\n\n /**\n * Thrown when an event could not be emitted due to internal state or creation errors.\n * Typically non-retryable, indicates a logic or validation fault.\n */\n PAYMENT_EVENT_EMIT_FAILED: 'PAYMENT_EVENT_EMIT_FAILED',\n PAYMENT_EVENT_INVALID_TYPE: 'PAYMENT_EVENT_INVALID_TYPE',\n PAYMENT_EVENT_CREATION_FAILED: 'PAYMENT_EVENT_CREATION_FAILED',\n PAYMENT_EVENT_HANDLER_TIMEOUT: 'PAYMENT_EVENT_HANDLER_TIMEOUT',\n PAYMENT_EVENT_HANDLER_INVALID_RESULT: 'PAYMENT_EVENT_HANDLER_INVALID_RESULT',\n PAYMENT_EVENT_LIFECYCLE_FAILURE: 'PAYMENT_EVENT_LIFECYCLE_FAILURE',\n\n // Unsupported feature errors (Payment Gateway)\n SAVE_PAYMENT_METHOD_UNSUPPORTED: 'payment.method.save.unsupported',\n DELETE_PAYMENT_METHOD_UNSUPPORTED: 'payment.method.delete.unsupported',\n GET_USER_PAYMENT_METHODS_UNSUPPORTED: 'payment.method.get.unsupported',\n CREATE_SUBSCRIPTION_UNSUPPORTED: 'payment.subscription.create.unsupported',\n CANCEL_SUBSCRIPTION_UNSUPPORTED: 'payment.subscription.cancel.unsupported',\n PROCESS_PAYOUT_UNSUPPORTED: 'payment.payout.unsupported',\n GET_TRANSACTION_HISTORY_UNSUPPORTED: 'payment.transaction.history.unsupported',\n\n WITHDRAWAL_UNSUPPORTED: 'payment.withdrawal.unsupported',\n WITHDRAWAL_CREATE_UNSUPPORTED: 'payment.withdrawal.create.unsupported',\n WITHDRAWAL_PROCESS_UNSUPPORTED: 'payment.withdrawal.process.unsupported',\n WITHDRAWAL_STATUS_FETCH_UNSUPPORTED: 'payment.withdrawal.status.fetch.unsupported',\n WITHDRAWAL_CANCEL_UNSUPPORTED: 'payment.withdrawal.cancel.unsupported',\n\n WITHDRAWAL_INSUFFICIENT_BALANCE: 'payment.withdrawal.insufficient.balance',\n WITHDRAWAL_INVALID_ACCOUNT: 'payment.withdrawal.invalid.account',\n WITHDRAWAL_KYC_REQUIRED: 'payment.withdrawal.kyc.required',\n WITHDRAWAL_LIMIT_EXCEEDED: 'payment.withdrawal.limit.exceeded',\n WITHDRAWAL_PROVIDER_ERROR: 'payment.withdrawal.provider.error',\n WITHDRAWAL_FAILED: 'payment.withdrawal.failed',\n WITHDRAWAL_TIMEOUT: 'payment.withdrawal.timeout',\n\n // Product\n PRODUCT_CREATE_UNSUPPORTED: 'payment.product.create.unsupported',\n PRODUCT_UPDATE_UNSUPPORTED: 'payment.product.update.unsupported',\n PRODUCT_FETCH_UNSUPPORTED: 'payment.product.fetch.unsupported',\n PRODUCT_DEACTIVATE_UNSUPPORTED: 'payment.product.deactivate.unsupported',\n\n PRODUCT_NOT_FOUND: 'payment.product.not_found',\n PRODUCT_INVALID_DATA: 'payment.product.invalid.data',\n PRODUCT_PROVIDER_ERROR: 'payment.product.provider.error',\n PRODUCT_ALREADY_INACTIVE: 'payment.product.already.inactive',\n PRODUCT_SYNC_FAILED: 'payment.product.sync.failed',\n\n // Pricing\n PRICING_CREATE_UNSUPPORTED: 'payment.pricing.create.unsupported',\n PRICING_UPDATE_UNSUPPORTED: 'payment.pricing.update.unsupported',\n PRICING_DEACTIVATE_UNSUPPORTED: 'payment.pricing.deactivate.unsupported',\n\n PRICING_NOT_FOUND: 'payment.pricing.not_found',\n PRICING_INVALID_AMOUNT: 'payment.pricing.invalid.amount',\n PRICING_INVALID_CURRENCY: 'payment.pricing.invalid.currency',\n PRICING_PROVIDER_ERROR: 'payment.pricing.provider.error',\n PRICING_ALREADY_INACTIVE: 'payment.pricing.already.inactive',\n PRICING_SYNC_FAILED: 'payment.pricing.sync.failed',\n PRICING_REQUIRES_NEW_VERSION: 'payment.pricing.requires.new.version',\n} as const;\n\n/**\n * Type for all error code values\n */\nexport type ErrorCodeValue = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\n\n// ===== Package-Specific Error Code Subsets =====\n// These are convenience exports for backwards compatibility and easier imports\n\n/**\n * API-specific error codes\n * Subset of ERROR_CODES for @plyaz/api package\n */\nexport const API_ERROR_CODES = {\n CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,\n CLIENT_INVALID_CONFIG: ERROR_CODES.CLIENT_INVALID_CONFIG,\n CLIENT_MISSING_BASE_URL: ERROR_CODES.CLIENT_MISSING_BASE_URL,\n CLIENT_CANCELLED: ERROR_CODES.CLIENT_CANCELLED,\n CONFIG_VALIDATION_FAILED: ERROR_CODES.CONFIG_VALIDATION_FAILED,\n HEADER_PROCESSING_FAILED: ERROR_CODES.HEADER_PROCESSING_FAILED,\n NETWORK_OVERRIDE_FAILED: ERROR_CODES.NETWORK_OVERRIDE_FAILED,\n REQUEST_TIMEOUT: ERROR_CODES.REQUEST_TIMEOUT,\n REQUEST_ABORTED: ERROR_CODES.REQUEST_ABORTED,\n REQUEST_INVALID_PARAMS: ERROR_CODES.REQUEST_INVALID_PARAMS,\n REQUEST_PREPARATION_FAILED: ERROR_CODES.REQUEST_PREPARATION_FAILED,\n RESPONSE_INVALID_FORMAT: ERROR_CODES.RESPONSE_INVALID_FORMAT,\n RESPONSE_PARSING_FAILED: ERROR_CODES.RESPONSE_PARSING_FAILED,\n AUTH_UNAUTHORIZED: ERROR_CODES.AUTH_UNAUTHORIZED,\n AUTH_FORBIDDEN: ERROR_CODES.AUTH_FORBIDDEN,\n AUTH_TOKEN_EXPIRED: ERROR_CODES.AUTH_TOKEN_EXPIRED,\n AUTH_INVALID_CREDENTIALS: ERROR_CODES.AUTH_INVALID_CREDENTIALS,\n RATE_LIMIT_EXCEEDED: ERROR_CODES.RATE_LIMIT_EXCEEDED,\n RESOURCE_NOT_FOUND: ERROR_CODES.RESOURCE_NOT_FOUND,\n RESOURCE_CONFLICT: ERROR_CODES.RESOURCE_CONFLICT,\n VALIDATION_FAILED: ERROR_CODES.API_VALIDATION_FAILED,\n INVALID_INPUT: ERROR_CODES.API_INVALID_INPUT,\n VALIDATION_ERROR: ERROR_CODES.VALIDATION_ERROR,\n REQUIRED_FIELD_MISSING: ERROR_CODES.REQUIRED_FIELD_MISSING,\n INVALID_FORMAT: ERROR_CODES.INVALID_FORMAT,\n VALIDATION_INVALID_FORMAT: ERROR_CODES.VALIDATION_INVALID_FORMAT,\n STRING_TOO_SHORT: ERROR_CODES.STRING_TOO_SHORT,\n STRING_TOO_LONG: ERROR_CODES.STRING_TOO_LONG,\n NETWORK_ERROR: ERROR_CODES.NETWORK_ERROR,\n CONNECTION_FAILED: ERROR_CODES.CONNECTION_FAILED,\n NETWORK_CONNECTION_FAILED: ERROR_CODES.NETWORK_CONNECTION_FAILED,\n NETWORK_OFFLINE: ERROR_CODES.NETWORK_OFFLINE,\n NETWORK_DNS_FAILED: ERROR_CODES.NETWORK_DNS_FAILED,\n NETWORK_TIMEOUT: ERROR_CODES.NETWORK_TIMEOUT,\n NETWORK_CONFIGURATION_INVALID: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,\n SERVER_ERROR: ERROR_CODES.SERVER_ERROR,\n INTERNAL_SERVER_ERROR: ERROR_CODES.INTERNAL_SERVER_ERROR,\n SERVICE_UNAVAILABLE: ERROR_CODES.SERVICE_UNAVAILABLE,\n CACHE_READ_FAILED: ERROR_CODES.CACHE_READ_FAILED,\n CACHE_WRITE_FAILED: ERROR_CODES.CACHE_WRITE_FAILED,\n CACHE_INVALIDATION_FAILED: ERROR_CODES.CACHE_INVALIDATION_FAILED,\n CACHE_STORAGE_FAILED: ERROR_CODES.CACHE_STORAGE_FAILED,\n CACHE_RETRIEVAL_FAILED: ERROR_CODES.CACHE_RETRIEVAL_FAILED,\n RETRY_LIMIT_EXCEEDED: ERROR_CODES.RETRY_LIMIT_EXCEEDED,\n RETRY_FAILED: ERROR_CODES.RETRY_FAILED,\n RETRY_EXHAUSTED: ERROR_CODES.RETRY_EXHAUSTED,\n RETRY_STRATEGY_INVALID: ERROR_CODES.RETRY_STRATEGY_INVALID,\n STRATEGY_INVALID: ERROR_CODES.STRATEGY_INVALID,\n STRATEGY_CONFLICT: ERROR_CODES.STRATEGY_CONFLICT,\n STRATEGY_EXECUTION_FAILED: ERROR_CODES.STRATEGY_EXECUTION_FAILED,\n HEADERS_ENRICHMENT_FAILED: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,\n HEADERS_VALIDATION_FAILED: ERROR_CODES.HEADERS_VALIDATION_FAILED,\n HEADERS_MERGE_CONFLICT: ERROR_CODES.HEADERS_MERGE_CONFLICT,\n REGION_DETECTION_FAILED: ERROR_CODES.REGION_DETECTION_FAILED,\n REGIONAL_PRESET_NOT_FOUND: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,\n EXTERNAL_SERVICE_ERROR: ERROR_CODES.EXTERNAL_SERVICE_ERROR,\n NETWORK_PRESET_NOT_FOUND: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,\n TIMEOUT: ERROR_CODES.TIMEOUT,\n DEBUG_TRACKING_FAILED: ERROR_CODES.DEBUG_TRACKING_FAILED,\n DEBUG_OVERRIDE_FAILED: ERROR_CODES.DEBUG_OVERRIDE_FAILED,\n DEBUG_CONFLICT_DETECTED: ERROR_CODES.DEBUG_CONFLICT_DETECTED,\n POLLING_CANCELLED: ERROR_CODES.POLLING_CANCELLED,\n POLLING_TIMEOUT: ERROR_CODES.POLLING_TIMEOUT,\n POLLING_INVALID_CONFIG: ERROR_CODES.POLLING_INVALID_CONFIG,\n PUBSUB_SUBSCRIPTION_FAILED: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,\n PUBSUB_PUBLICATION_FAILED: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,\n PUBSUB_INVALID_TOPIC: ERROR_CODES.PUBSUB_INVALID_TOPIC,\n PUBSUB_CHANNEL_ERROR: ERROR_CODES.PUBSUB_CHANNEL_ERROR,\n REVALIDATION_FAILED: ERROR_CODES.REVALIDATION_FAILED,\n REVALIDATION_IN_PROGRESS: ERROR_CODES.REVALIDATION_IN_PROGRESS,\n ENDPOINT_BUILD_FAILED: ERROR_CODES.ENDPOINT_BUILD_FAILED,\n ENDPOINT_NOT_FOUND: ERROR_CODES.ENDPOINT_NOT_FOUND,\n ENDPOINT_INVALID_CONFIG: ERROR_CODES.ENDPOINT_INVALID_CONFIG,\n EVENT_HANDLER_FAILED: ERROR_CODES.EVENT_HANDLER_FAILED,\n EVENT_EMISSION_FAILED: ERROR_CODES.EVENT_EMISSION_FAILED,\n MONITORING_FAILED: ERROR_CODES.MONITORING_FAILED,\n CONTEXT_OPERATION_FAILED: ERROR_CODES.CONTEXT_OPERATION_FAILED,\n CLIENT_ERROR: ERROR_CODES.CLIENT_ERROR,\n UNKNOWN_ERROR: ERROR_CODES.UNKNOWN_ERROR,\n\n // CDN Provider Errors (Third-party services)\n // Cloudflare\n CLOUDFLARE_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED,\n CLOUDFLARE_ZONE_NOT_FOUND: ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND,\n CLOUDFLARE_PURGE_FAILED: ERROR_CODES.CLOUDFLARE_PURGE_FAILED,\n CLOUDFLARE_RATE_LIMIT_EXCEEDED: ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED,\n CLOUDFLARE_INVALID_URL: ERROR_CODES.CLOUDFLARE_INVALID_URL,\n CLOUDFLARE_API_ERROR: ERROR_CODES.CLOUDFLARE_API_ERROR,\n\n // CloudFront\n CLOUDFRONT_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED,\n CLOUDFRONT_DISTRIBUTION_NOT_FOUND: ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND,\n CLOUDFRONT_INVALIDATION_FAILED: ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED,\n CLOUDFRONT_QUOTA_EXCEEDED: ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED,\n CLOUDFRONT_INVALID_PATH: ERROR_CODES.CLOUDFRONT_INVALID_PATH,\n CLOUDFRONT_API_ERROR: ERROR_CODES.CLOUDFRONT_API_ERROR,\n\n // Fastly\n FASTLY_AUTHENTICATION_FAILED: ERROR_CODES.FASTLY_AUTHENTICATION_FAILED,\n FASTLY_SERVICE_NOT_FOUND: ERROR_CODES.FASTLY_SERVICE_NOT_FOUND,\n FASTLY_PURGE_FAILED: ERROR_CODES.FASTLY_PURGE_FAILED,\n FASTLY_RATE_LIMIT_EXCEEDED: ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED,\n FASTLY_INVALID_URL: ERROR_CODES.FASTLY_INVALID_URL,\n FASTLY_API_ERROR: ERROR_CODES.FASTLY_API_ERROR,\n\n // Generic CDN\n CDN_INVALIDATION_FAILED: ERROR_CODES.CDN_INVALIDATION_FAILED,\n CDN_CONFIGURATION_INVALID: ERROR_CODES.CDN_CONFIGURATION_INVALID,\n CDN_PROVIDER_NOT_FOUND: ERROR_CODES.CDN_PROVIDER_NOT_FOUND,\n} as const;\n\n/**\n * Notification-specific error codes\n * Subset of ERROR_CODES for @plyaz/notifications package\n */\nexport const NOTIFICATION_ERROR_CODES = {\n PROVIDER_SEND_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,\n PROVIDER_CONFIGURATION_INVALID: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,\n PROVIDER_RATE_LIMIT: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,\n PROVIDER_AUTH_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,\n PROVIDER_TIMEOUT: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,\n PROVIDER_UNAVAILABLE: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,\n PROVIDER_FEATURE_NOT_SUPPORTED: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,\n ALL_PROVIDERS_FAILED: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,\n INVALID_INPUT: ERROR_CODES.NOTIFICATION_INVALID_INPUT,\n INVALID_RECIPIENT: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,\n INVALID_TEMPLATE: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,\n INVALID_PAYLOAD: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,\n MISSING_REQUIRED_FIELD: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,\n VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,\n USER_OPTED_OUT: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,\n QUEUE_FULL: ERROR_CODES.NOTIFICATION_QUEUE_FULL,\n QUEUE_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,\n WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,\n WEBHOOK_VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,\n WEBHOOK_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,\n TEMPLATE_NOT_FOUND: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,\n TEMPLATE_RENDER_FAILED: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,\n UNKNOWN_ERROR: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,\n INITIALIZATION_FAILED: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,\n} as const;\n\n/**\n * Storage-specific error codes\n * Subset of ERROR_CODES for @plyaz/storage package\n */\nexport const STORAGE_ERROR_CODES = {\n // General\n UNKNOWN_ERROR: ERROR_CODES.STORAGE_UNKNOWN_ERROR,\n INITIALIZATION_FAILED: ERROR_CODES.STORAGE_INITIALIZATION_FAILED,\n\n // Adapter\n ADAPTER_NOT_FOUND: ERROR_CODES.STORAGE_ADAPTER_NOT_FOUND,\n ADAPTER_INITIALIZATION_FAILED: ERROR_CODES.STORAGE_ADAPTER_INITIALIZATION_FAILED,\n ADAPTER_CONFIGURATION_INVALID: ERROR_CODES.STORAGE_ADAPTER_CONFIGURATION_INVALID,\n ADAPTER_ALREADY_REGISTERED: ERROR_CODES.STORAGE_ADAPTER_ALREADY_REGISTERED,\n ADAPTER_CONNECTION_FAILED: ERROR_CODES.STORAGE_ADAPTER_CONNECTION_FAILED,\n ADAPTER_AUTHENTICATION_FAILED: ERROR_CODES.STORAGE_ADAPTER_AUTHENTICATION_FAILED,\n ADAPTER_OPERATION_FAILED: ERROR_CODES.STORAGE_ADAPTER_OPERATION_FAILED,\n ADAPTER_HEALTH_CHECK_FAILED: ERROR_CODES.STORAGE_ADAPTER_HEALTH_CHECK_FAILED,\n ADAPTER_UNAVAILABLE: ERROR_CODES.STORAGE_ADAPTER_UNAVAILABLE,\n ADAPTER_TIMEOUT: ERROR_CODES.STORAGE_ADAPTER_TIMEOUT,\n ADAPTER_RATE_LIMIT: ERROR_CODES.STORAGE_ADAPTER_RATE_LIMIT,\n ADAPTER_QUOTA_EXCEEDED: ERROR_CODES.STORAGE_ADAPTER_QUOTA_EXCEEDED,\n ADAPTER_UNSUPPORTED_OPERATION: ERROR_CODES.STORAGE_ADAPTER_UNSUPPORTED_OPERATION,\n ADAPTER_FEATURE_NOT_SUPPORTED: ERROR_CODES.STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED,\n NO_HEALTHY_ADAPTERS: ERROR_CODES.STORAGE_NO_HEALTHY_ADAPTERS,\n ALL_ADAPTERS_FAILED: ERROR_CODES.STORAGE_ALL_ADAPTERS_FAILED,\n\n // File Validation\n FILE_TOO_LARGE: ERROR_CODES.STORAGE_FILE_TOO_LARGE,\n FILE_TOO_SMALL: ERROR_CODES.STORAGE_FILE_TOO_SMALL,\n FILE_SIZE_INVALID: ERROR_CODES.STORAGE_FILE_SIZE_INVALID,\n FILE_TYPE_NOT_ALLOWED: ERROR_CODES.STORAGE_FILE_TYPE_NOT_ALLOWED,\n INVALID_MIME_TYPE: ERROR_CODES.STORAGE_INVALID_MIME_TYPE,\n INVALID_FILE_EXTENSION: ERROR_CODES.STORAGE_INVALID_FILE_EXTENSION,\n FILE_EXTENSION_INVALID: ERROR_CODES.STORAGE_FILE_EXTENSION_INVALID,\n FILE_EXTENSION_MISMATCH: ERROR_CODES.STORAGE_FILE_EXTENSION_MISMATCH,\n EXECUTABLE_NOT_ALLOWED: ERROR_CODES.STORAGE_EXECUTABLE_NOT_ALLOWED,\n VALIDATION_FAILED: ERROR_CODES.STORAGE_VALIDATION_FAILED,\n INVALID_FILE_CONTENT: ERROR_CODES.STORAGE_INVALID_FILE_CONTENT,\n\n // Security\n SECURITY_VIRUS_DETECTED: ERROR_CODES.STORAGE_SECURITY_VIRUS_DETECTED,\n SECURITY_SCAN_FAILED: ERROR_CODES.STORAGE_SECURITY_SCAN_FAILED,\n SECURITY_ACCESS_DENIED: ERROR_CODES.STORAGE_SECURITY_ACCESS_DENIED,\n SECURITY_ENCRYPTION_FAILED: ERROR_CODES.STORAGE_SECURITY_ENCRYPTION_FAILED,\n\n // File Operations\n FILE_UPLOAD_FAILED: ERROR_CODES.STORAGE_FILE_UPLOAD_FAILED,\n FILE_DOWNLOAD_FAILED: ERROR_CODES.STORAGE_FILE_DOWNLOAD_FAILED,\n FILE_DELETE_FAILED: ERROR_CODES.STORAGE_FILE_DELETE_FAILED,\n STORAGE_FILE_UPDATE_FAILED: ERROR_CODES.STORAGE_FILE_UPDATE_FAILED,\n FILE_NOT_FOUND: ERROR_CODES.STORAGE_FILE_NOT_FOUND,\n FILE_ALREADY_EXISTS: ERROR_CODES.STORAGE_FILE_ALREADY_EXISTS,\n FILE_MOVE_FAILED: ERROR_CODES.STORAGE_FILE_MOVE_FAILED,\n FILE_COPY_FAILED: ERROR_CODES.STORAGE_FILE_COPY_FAILED,\n FILE_READ_FAILED: ERROR_CODES.STORAGE_FILE_READ_FAILED,\n FILE_WRITE_FAILED: ERROR_CODES.STORAGE_FILE_WRITE_FAILED,\n FILE_CORRUPTED: ERROR_CODES.STORAGE_FILE_CORRUPTED,\n INVALID_OPERATION: ERROR_CODES.STORAGE_INVALID_OPERATION,\n\n // Metadata\n METADATA_EXTRACTION_FAILED: ERROR_CODES.STORAGE_METADATA_EXTRACTION_FAILED,\n METADATA_INVALID: ERROR_CODES.STORAGE_METADATA_INVALID,\n METADATA_UPDATE_FAILED: ERROR_CODES.STORAGE_METADATA_UPDATE_FAILED,\n\n // Media Processing\n MEDIA_PROCESSING_FAILED: ERROR_CODES.STORAGE_MEDIA_PROCESSING_FAILED,\n MEDIA_RESIZE_FAILED: ERROR_CODES.STORAGE_MEDIA_RESIZE_FAILED,\n MEDIA_FORMAT_UNSUPPORTED: ERROR_CODES.STORAGE_MEDIA_FORMAT_UNSUPPORTED,\n MEDIA_TRANSCODE_FAILED: ERROR_CODES.STORAGE_MEDIA_TRANSCODE_FAILED,\n MEDIA_THUMBNAIL_FAILED: ERROR_CODES.STORAGE_MEDIA_THUMBNAIL_FAILED,\n MEDIA_INVALID_DIMENSIONS: ERROR_CODES.STORAGE_MEDIA_INVALID_DIMENSIONS,\n\n // Template & PDF\n TEMPLATE_NOT_FOUND: ERROR_CODES.STORAGE_TEMPLATE_NOT_FOUND,\n TEMPLATE_RENDER_FAILED: ERROR_CODES.STORAGE_TEMPLATE_RENDER_FAILED,\n PDF_GENERATION_FAILED: ERROR_CODES.STORAGE_PDF_GENERATION_FAILED,\n PDF_RENDERING_TIMEOUT: ERROR_CODES.STORAGE_PDF_RENDERING_TIMEOUT,\n\n // Queue\n QUEUE_FULL: ERROR_CODES.STORAGE_QUEUE_FULL,\n QUEUE_PROCESSING_FAILED: ERROR_CODES.STORAGE_QUEUE_PROCESSING_FAILED,\n QUEUE_ITEM_NOT_FOUND: ERROR_CODES.STORAGE_QUEUE_ITEM_NOT_FOUND,\n\n // Compliance\n COMPLIANCE_VIOLATION: ERROR_CODES.STORAGE_COMPLIANCE_VIOLATION,\n COMPLIANCE_RETENTION_VIOLATION: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_VIOLATION,\n COMPLIANCE_RETENTION_EXPIRED: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_EXPIRED,\n COMPLIANCE_IMMUTABLE_FILE: ERROR_CODES.STORAGE_COMPLIANCE_IMMUTABLE_FILE,\n COMPLIANCE_POLICY_NOT_FOUND: ERROR_CODES.STORAGE_COMPLIANCE_POLICY_NOT_FOUND,\n COMPLIANCE_SOFT_DELETE_REQUIRED: ERROR_CODES.STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED,\n COMPLIANCE_GRACE_PERIOD_ACTIVE: ERROR_CODES.STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE,\n COMPLIANCE_DEFERRED_DELETION: ERROR_CODES.STORAGE_COMPLIANCE_DEFERRED_DELETION,\n COMPLIANCE_PATTERN_PROTECTED: ERROR_CODES.STORAGE_COMPLIANCE_PATTERN_PROTECTED,\n\n // Share Links\n SHARE_LINK_NOT_FOUND: ERROR_CODES.STORAGE_SHARE_LINK_NOT_FOUND,\n SHARE_LINK_EXPIRED: ERROR_CODES.STORAGE_SHARE_LINK_EXPIRED,\n SHARE_LINK_MAX_DOWNLOADS: ERROR_CODES.STORAGE_SHARE_LINK_MAX_DOWNLOADS,\n SHARE_LINK_INVALID_PASSWORD: ERROR_CODES.STORAGE_SHARE_LINK_INVALID_PASSWORD,\n\n // Plugin\n PLUGIN_NOT_FOUND: ERROR_CODES.STORAGE_PLUGIN_NOT_FOUND,\n PLUGIN_INITIALIZATION_FAILED: ERROR_CODES.STORAGE_PLUGIN_INITIALIZATION_FAILED,\n PLUGIN_EXECUTION_FAILED: ERROR_CODES.STORAGE_PLUGIN_EXECUTION_FAILED,\n\n // VirusTotal Provider (Plugin)\n VIRUSTOTAL_BAD_REQUEST: ERROR_CODES.STORAGE_VIRUSTOTAL_BAD_REQUEST,\n VIRUSTOTAL_AUTHENTICATION_REQUIRED: ERROR_CODES.STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED,\n VIRUSTOTAL_WRONG_CREDENTIALS: ERROR_CODES.STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS,\n VIRUSTOTAL_FILE_TOO_LARGE: ERROR_CODES.STORAGE_VIRUSTOTAL_FILE_TOO_LARGE,\n VIRUSTOTAL_QUOTA_EXCEEDED: ERROR_CODES.STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED,\n VIRUSTOTAL_ANALYSIS_NOT_FOUND: ERROR_CODES.STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND,\n VIRUSTOTAL_SCAN_TIMEOUT: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_TIMEOUT,\n VIRUSTOTAL_SCAN_FAILED: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_FAILED,\n\n // CDN Providers (Plugins) - Reference cross-package CDN errors\n // Cloudflare CDN\n CLOUDFLARE_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED,\n CLOUDFLARE_ZONE_NOT_FOUND: ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND,\n CLOUDFLARE_PURGE_FAILED: ERROR_CODES.CLOUDFLARE_PURGE_FAILED,\n CLOUDFLARE_RATE_LIMIT_EXCEEDED: ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED,\n CLOUDFLARE_INVALID_URL: ERROR_CODES.CLOUDFLARE_INVALID_URL,\n CLOUDFLARE_API_ERROR: ERROR_CODES.CLOUDFLARE_API_ERROR,\n\n // AWS CloudFront CDN\n CLOUDFRONT_AUTHENTICATION_FAILED: ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED,\n CLOUDFRONT_DISTRIBUTION_NOT_FOUND: ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND,\n CLOUDFRONT_INVALIDATION_FAILED: ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED,\n CLOUDFRONT_QUOTA_EXCEEDED: ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED,\n CLOUDFRONT_INVALID_PATH: ERROR_CODES.CLOUDFRONT_INVALID_PATH,\n CLOUDFRONT_API_ERROR: ERROR_CODES.CLOUDFRONT_API_ERROR,\n\n // Fastly CDN\n FASTLY_AUTHENTICATION_FAILED: ERROR_CODES.FASTLY_AUTHENTICATION_FAILED,\n FASTLY_SERVICE_NOT_FOUND: ERROR_CODES.FASTLY_SERVICE_NOT_FOUND,\n FASTLY_PURGE_FAILED: ERROR_CODES.FASTLY_PURGE_FAILED,\n FASTLY_RATE_LIMIT_EXCEEDED: ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED,\n FASTLY_INVALID_URL: ERROR_CODES.FASTLY_INVALID_URL,\n FASTLY_API_ERROR: ERROR_CODES.FASTLY_API_ERROR,\n\n // Generic CDN Errors\n CDN_INVALIDATION_FAILED: ERROR_CODES.CDN_INVALIDATION_FAILED,\n CDN_CONFIGURATION_INVALID: ERROR_CODES.CDN_CONFIGURATION_INVALID,\n CDN_PROVIDER_NOT_FOUND: ERROR_CODES.CDN_PROVIDER_NOT_FOUND,\n\n // Presigned URLs\n PRESIGNED_URL_GENERATION_FAILED: ERROR_CODES.STORAGE_PRESIGNED_URL_GENERATION_FAILED,\n PRESIGNED_URL_EXPIRED: ERROR_CODES.STORAGE_PRESIGNED_URL_EXPIRED,\n PRESIGNED_URL_INVALID: ERROR_CODES.STORAGE_PRESIGNED_URL_INVALID,\n\n // Chunked Upload\n CHUNKED_UPLOAD_INIT_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_INIT_FAILED,\n CHUNKED_UPLOAD_PART_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_PART_FAILED,\n CHUNKED_UPLOAD_COMPLETE_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED,\n CHUNKED_UPLOAD_ABORT_FAILED: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_ABORT_FAILED,\n CHUNKED_UPLOAD_NOT_FOUND: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_NOT_FOUND,\n\n // CORS\n CORS_CONFIGURATION_INVALID: ERROR_CODES.STORAGE_CORS_CONFIGURATION_INVALID,\n CORS_ORIGIN_NOT_ALLOWED: ERROR_CODES.STORAGE_CORS_ORIGIN_NOT_ALLOWED,\n\n // TTL\n TTL_EXPIRED: ERROR_CODES.STORAGE_TTL_EXPIRED,\n TTL_CLEANUP_FAILED: ERROR_CODES.STORAGE_TTL_CLEANUP_FAILED,\n\n // Audit\n AUDIT_LOG_FAILED: ERROR_CODES.STORAGE_AUDIT_LOG_FAILED,\n\n // Webhook\n WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.STORAGE_WEBHOOK_SIGNATURE_INVALID,\n WEBHOOK_PAYLOAD_INVALID: ERROR_CODES.STORAGE_WEBHOOK_PAYLOAD_INVALID,\n WEBHOOK_PROCESSING_FAILED: ERROR_CODES.STORAGE_WEBHOOK_PROCESSING_FAILED,\n WEBHOOK_TIMEOUT: ERROR_CODES.STORAGE_WEBHOOK_TIMEOUT,\n WEBHOOK_ADAPTER_NOT_FOUND: ERROR_CODES.STORAGE_WEBHOOK_ADAPTER_NOT_FOUND,\n WEBHOOK_DUPLICATE_DETECTED: ERROR_CODES.STORAGE_WEBHOOK_DUPLICATE_DETECTED,\n WEBHOOK_IDEMPOTENCY_ERROR: ERROR_CODES.STORAGE_WEBHOOK_IDEMPOTENCY_ERROR,\n WEBHOOK_RATE_LIMIT_EXCEEDED: ERROR_CODES.STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED,\n\n // Timeout & Network\n TIMEOUT: ERROR_CODES.STORAGE_TIMEOUT,\n NETWORK_ERROR: ERROR_CODES.STORAGE_NETWORK_ERROR,\n CONNECTION_LOST: ERROR_CODES.STORAGE_CONNECTION_LOST,\n\n // Permission & Quota\n PERMISSION_DENIED: ERROR_CODES.STORAGE_PERMISSION_DENIED,\n QUOTA_EXCEEDED: ERROR_CODES.STORAGE_QUOTA_EXCEEDED,\n INSUFFICIENT_SPACE: ERROR_CODES.STORAGE_INSUFFICIENT_SPACE,\n\n // Feature Implementation\n FEATURE_NOT_IMPLEMENTED: ERROR_CODES.STORAGE_FEATURE_NOT_IMPLEMENTED,\n} as const;\n\n/**\n * Core-specific error codes\n * Subset of ERROR_CODES for @plyaz/core package\n */\nexport const CORE_ERROR_CODES = {\n // Feature Flags\n FEATURE_FLAG_NOT_FOUND: ERROR_CODES.CORE_FEATURE_FLAG_NOT_FOUND,\n FEATURE_FLAG_INVALID_CONFIG: ERROR_CODES.CORE_FEATURE_FLAG_INVALID_CONFIG,\n FEATURE_FLAG_EVALUATION_FAILED: ERROR_CODES.CORE_FEATURE_FLAG_EVALUATION_FAILED,\n FEATURE_FLAG_PROVIDER_ERROR: ERROR_CODES.CORE_FEATURE_FLAG_PROVIDER_ERROR,\n FEATURE_FLAG_CACHE_ERROR: ERROR_CODES.CORE_FEATURE_FLAG_CACHE_ERROR,\n FEATURE_FLAG_CONTEXT_INVALID: ERROR_CODES.CORE_FEATURE_FLAG_CONTEXT_INVALID,\n FEATURE_FLAG_RULE_INVALID: ERROR_CODES.CORE_FEATURE_FLAG_RULE_INVALID,\n FEATURE_FLAG_TOGGLE_FAILED: ERROR_CODES.CORE_FEATURE_FLAG_TOGGLE_FAILED,\n\n // Cache\n CACHE_INITIALIZATION_FAILED: ERROR_CODES.CORE_CACHE_INITIALIZATION_FAILED,\n CACHE_STRATEGY_NOT_FOUND: ERROR_CODES.CORE_CACHE_STRATEGY_NOT_FOUND,\n CACHE_OPERATION_FAILED: ERROR_CODES.CORE_CACHE_OPERATION_FAILED,\n CACHE_INVALIDATION_FAILED: ERROR_CODES.CORE_CACHE_INVALIDATION_FAILED,\n CACHE_SERIALIZATION_FAILED: ERROR_CODES.CORE_CACHE_SERIALIZATION_FAILED,\n\n // API Client\n API_CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CORE_API_CLIENT_INITIALIZATION_FAILED,\n API_CLIENT_REQUEST_FAILED: ERROR_CODES.CORE_API_CLIENT_REQUEST_FAILED,\n API_CLIENT_TIMEOUT: ERROR_CODES.CORE_API_CLIENT_TIMEOUT,\n API_CLIENT_INVALID_RESPONSE: ERROR_CODES.CORE_API_CLIENT_INVALID_RESPONSE,\n API_CLIENT_AUTHENTICATION_FAILED: ERROR_CODES.CORE_API_CLIENT_AUTHENTICATION_FAILED,\n\n // Database Service\n DATABASE_SERVICE_INITIALIZATION_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_INITIALIZATION_FAILED,\n DATABASE_SERVICE_CONNECTION_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_CONNECTION_FAILED,\n DATABASE_SERVICE_QUERY_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_QUERY_FAILED,\n DATABASE_SERVICE_TRANSACTION_FAILED: ERROR_CODES.CORE_DATABASE_SERVICE_TRANSACTION_FAILED,\n\n // Validation\n VALIDATION_FAILED: ERROR_CODES.CORE_VALIDATION_FAILED,\n VALIDATION_SCHEMA_INVALID: ERROR_CODES.CORE_VALIDATION_SCHEMA_INVALID,\n VALIDATION_REQUIRED_FIELD_MISSING: ERROR_CODES.CORE_VALIDATION_REQUIRED_FIELD_MISSING,\n\n // Hash Utilities\n HASH_GENERATION_FAILED: ERROR_CODES.CORE_HASH_GENERATION_FAILED,\n HASH_VERIFICATION_FAILED: ERROR_CODES.CORE_HASH_VERIFICATION_FAILED,\n\n // Engine\n ENGINE_INITIALIZATION_FAILED: ERROR_CODES.CORE_ENGINE_INITIALIZATION_FAILED,\n ENGINE_EXECUTION_FAILED: ERROR_CODES.CORE_ENGINE_EXECUTION_FAILED,\n ENGINE_CONFIGURATION_INVALID: ERROR_CODES.CORE_ENGINE_CONFIGURATION_INVALID,\n\n // Provider\n PROVIDER_NOT_FOUND: ERROR_CODES.CORE_PROVIDER_NOT_FOUND,\n PROVIDER_INITIALIZATION_FAILED: ERROR_CODES.CORE_PROVIDER_INITIALIZATION_FAILED,\n PROVIDER_OPERATION_FAILED: ERROR_CODES.CORE_PROVIDER_OPERATION_FAILED,\n\n // Context\n CONTEXT_INVALID: ERROR_CODES.CORE_CONTEXT_INVALID,\n CONTEXT_MISSING_REQUIRED_DATA: ERROR_CODES.CORE_CONTEXT_MISSING_REQUIRED_DATA,\n\n // General Core\n INITIALIZATION_FAILED: ERROR_CODES.CORE_INITIALIZATION_FAILED,\n CONFIGURATION_INVALID: ERROR_CODES.CORE_CONFIGURATION_INVALID,\n OPERATION_FAILED: ERROR_CODES.CORE_OPERATION_FAILED,\n UNKNOWN_ERROR: ERROR_CODES.CORE_UNKNOWN_ERROR,\n} as const;\n\n/**\n * PAYMENT-specific error codes\n * Subset of ERROR_CODES for @plyaz/payments package\n */\nexport const PAYMENT_ERROR_CODES = {\n // Timeout & Network\n PAYMENT_TIMEOUT: ERROR_CODES.PAYMENT_TIMEOUT,\n PAYMENT_NETWORK_ERROR: ERROR_CODES.PAYMENT_NETWORK_ERROR,\n\n // Refund\n PAYMENT_REFUND_FAILED: ERROR_CODES.PAYMENT_REFUND_FAILED,\n PAYMENT_REFUND_NOT_FOUND: ERROR_CODES.PAYMENT_REFUND_NOT_FOUND,\n PAYMENT_REFUND_ALREADY_PROCESSED: ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED,\n PAYMENT_REFUND_AMOUNT_INVALID: ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID,\n PAYMENT_REFUND_VALIDATION_FAILED: ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED,\n PAYMENT_REFUND_TIMEOUT: ERROR_CODES.PAYMENT_REFUND_TIMEOUT,\n PAYMENT_REFUND_NOT_ALLOWED: ERROR_CODES.PAYMENT_REFUND_NOT_ALLOWED,\n PAYMENT_REFUND_AUTHORIZATION_FAILED: ERROR_CODES.PAYMENT_REFUND_AUTHORIZATION_FAILED,\n PAYMENT_REFUND_PROCESSING_FAILED: ERROR_CODES.PAYMENT_REFUND_PROCESSING_FAILED,\n\n // Provider\n PAYMENT_PROVIDER_ERROR: ERROR_CODES.PAYMENT_PROVIDER_ERROR,\n PAYMENT_PROVIDER_UNAVAILABLE: ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE,\n PAYMENT_PROVIDER_CONFIGURATION_INVALID: ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID,\n PAYMENT_PROVIDER_RESPONSE_INVALID: ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID,\n PAYMENT_PROVIDER_TIMEOUT: ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT,\n PAYMENT_PROVIDER_AUTH_FAILED: ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED,\n PAYMENT_PROVIDER_RATE_LIMIT: ERROR_CODES.PAYMENT_PROVIDER_RATE_LIMIT,\n PAYMENT_PROVIDER_UNKNOWN: ERROR_CODES.PAYMENT_PROVIDER_UNKNOWN,\n PAYMENT_CUSTOMER_CREATION_FAILED: ERROR_CODES.PAYMENT_CUSTOMER_CREATION_FAILED,\n\n // Payment method\n PAYMENT_METHOD_SAVE_FAILED: ERROR_CODES.PAYMENT_METHOD_SAVE_FAILED,\n PAYMENT_METHOD_DELETE_FAILED: ERROR_CODES.PAYMENT_METHOD_DELETE_FAILED,\n\n // Subscription\n PAYMENT_SUBSCRIPTION_CREATE_FAILED: ERROR_CODES.PAYMENT_SUBSCRIPTION_CREATE_FAILED,\n PAYMENT_SUBSCRIPTION_CANCEL_FAILED: ERROR_CODES.PAYMENT_SUBSCRIPTION_CANCEL_FAILED,\n\n // Payout\n PAYMENT_PAYOUT_FAILED: ERROR_CODES.PAYMENT_PAYOUT_FAILED,\n\n // Transaction history\n PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED: ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED,\n\n // Compliance\n PAYMENT_COMPLIANCE_VIOLATION: ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION,\n PAYMENT_COMPLIANCE_CHECK_FAILED: ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED,\n PAYMENT_COMPLIANCE_LIMIT_EXCEEDED: ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED,\n PAYMENT_COMPLIANCE_POLICY_MISSING: ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING,\n PAYMENT_COMPLIANCE_KYC_REQUIRED: ERROR_CODES.PAYMENT_COMPLIANCE_KYC_REQUIRED,\n PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION: ERROR_CODES.PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION,\n\n // Processing\n PAYMENT_PROCESSING_FAILED: ERROR_CODES.PAYMENT_PROCESSING_FAILED,\n PAYMENT_PROCESSING_TIMEOUT: ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT,\n PAYMENT_PROCESSING_GATEWAY_ERROR: ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR,\n PAYMENT_PROCESSING_DUPLICATE: ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE,\n PAYMENT_PROCESSING_UNEXPECTED_STATE: ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE,\n\n // Security\n PAYMENT_SECURITY_VIOLATION: ERROR_CODES.PAYMENT_SECURITY_VIOLATION,\n PAYMENT_SECURITY_SIGNATURE_INVALID: ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID,\n PAYMENT_SECURITY_ENCRYPTION_FAILED: ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED,\n PAYMENT_SECURITY_FRAUD_DETECTED: ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED,\n PAYMENT_SECURITY_TOKEN_INVALID: ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID,\n PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED: ERROR_CODES.PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED,\n\n // Validation\n PAYMENT_VALIDATION_FAILED: ERROR_CODES.PAYMENT_VALIDATION_FAILED,\n PAYMENT_VALIDATION_AMOUNT_INVALID: ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID,\n PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED: ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED,\n PAYMENT_VALIDATION_METADATA_INVALID: ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID,\n PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD: ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD,\n\n // Webhook\n PAYMENT_WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID,\n PAYMENT_WEBHOOK_PROCESSING_FAILED: ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED,\n PAYMENT_WEBHOOK_VALIDATION_FAILED: ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED,\n PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED: ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED,\n PAYMENT_WEBHOOK_HANDLER_NOT_FOUND: ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND,\n\n // Adapter & Core\n PAYMENT_ADAPTER_INIT_FAILED: ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED,\n PAYMENT_ADAPTER_SHUTDOWN_ERROR: ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR,\n PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED: ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED,\n PAYMENT_ADAPTER_MISSING_PROVIDER: ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER,\n PAYMENT_ADAPTER_MISSING_ENVIRONMENT: ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT,\n PAYMENT_ADAPTER_MISSING_CREDENTIALS: ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS,\n PAYMENT_ADAPTER_MISSING_WEBHOOK_URL: ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL,\n PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT:\n ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT,\n PAYMENT_ADAPTER_UNSUPPORTED_OPERATION: ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION,\n PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED: ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED,\n\n // Unsupported Operations\n SAVE_PAYMENT_METHOD_UNSUPPORTED: ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED,\n DELETE_PAYMENT_METHOD_UNSUPPORTED: ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED,\n GET_USER_PAYMENT_METHODS_UNSUPPORTED: ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED,\n CREATE_SUBSCRIPTION_UNSUPPORTED: ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED,\n CANCEL_SUBSCRIPTION_UNSUPPORTED: ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED,\n PROCESS_PAYOUT_UNSUPPORTED: ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED,\n GET_TRANSACTION_HISTORY_UNSUPPORTED: ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED,\n\n // Idempotency\n PAYMENT_IDEMPOTENCY_VIOLATION: ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION,\n PAYMENT_IDEMPOTENCY_KEY_MISSING: ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING,\n PAYMENT_IDEMPOTENCY_STORE_ERROR: ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR,\n\n // Routing\n PAYMENT_ROUTING_FAILED: ERROR_CODES.PAYMENT_ROUTING_FAILED,\n PAYMENT_ROUTING_CONFIGURATION_INVALID: ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID,\n PAYMENT_ROUTING_PROVIDER_UNAVAILABLE: ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE,\n PAYMENT_ROUTING_RETRY_EXCEEDED: ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED,\n\n // General\n PAYMENT_SYSTEM_NOT_INITIALIZED: ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED,\n PAYMENT_CONTEXT_OPERATION_FAILED: ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED,\n PAYMENT_INTERNAL_ERROR: ERROR_CODES.PAYMENT_INTERNAL_ERROR,\n PAYMENT_UNKNOWN_ERROR: ERROR_CODES.PAYMENT_UNKNOWN_ERROR,\n\n // Event\n PAYMENT_EVENT_EMIT_FAILED: ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED,\n PAYMENT_EVENT_INVALID_TYPE: ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE,\n PAYMENT_EVENT_CREATION_FAILED: ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED,\n PAYMENT_EVENT_HANDLER_TIMEOUT: ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT,\n PAYMENT_EVENT_HANDLER_INVALID_RESULT: ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT,\n PAYMENT_EVENT_LIFECYCLE_FAILURE: ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE,\n\n // Withdrawal\n PAYMENT_WITHDRAWAL_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_CREATE_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_PROCESS_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_STATUS_FETCH_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED,\n PAYMENT_WITHDRAWAL_CANCEL_UNSUPPORTED: ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED,\n\n PAYMENT_WITHDRAWAL_INSUFFICIENT_BALANCE: ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE,\n PAYMENT_WITHDRAWAL_INVALID_ACCOUNT: ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT,\n PAYMENT_WITHDRAWAL_KYC_REQUIRED: ERROR_CODES.WITHDRAWAL_KYC_REQUIRED,\n PAYMENT_WITHDRAWAL_LIMIT_EXCEEDED: ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED,\n PAYMENT_WITHDRAWAL_PROVIDER_ERROR: ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR,\n PAYMENT_WITHDRAWAL_FAILED: ERROR_CODES.WITHDRAWAL_FAILED,\n PAYMENT_WITHDRAWAL_TIMEOUT: ERROR_CODES.WITHDRAWAL_TIMEOUT,\n\n // Product\n PAYMENT_PRODUCT_CREATE_UNSUPPORTED: ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED,\n PAYMENT_PRODUCT_UPDATE_UNSUPPORTED: ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED,\n PAYMENT_PRODUCT_FETCH_UNSUPPORTED: ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED,\n PAYMENT_PRODUCT_DEACTIVATE_UNSUPPORTED: ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED,\n\n PAYMENT_PRODUCT_NOT_FOUND: ERROR_CODES.PRODUCT_NOT_FOUND,\n PAYMENT_PRODUCT_INVALID_DATA: ERROR_CODES.PRODUCT_INVALID_DATA,\n PAYMENT_PRODUCT_PROVIDER_ERROR: ERROR_CODES.PRODUCT_PROVIDER_ERROR,\n PAYMENT_PRODUCT_ALREADY_INACTIVE: ERROR_CODES.PRODUCT_ALREADY_INACTIVE,\n PAYMENT_PRODUCT_SYNC_FAILED: ERROR_CODES.PRODUCT_SYNC_FAILED,\n\n // Pricing\n PAYMENT_PRICING_CREATE_UNSUPPORTED: ERROR_CODES.PRICING_CREATE_UNSUPPORTED,\n PAYMENT_PRICING_UPDATE_UNSUPPORTED: ERROR_CODES.PRICING_UPDATE_UNSUPPORTED,\n PAYMENT_PRICING_DEACTIVATE_UNSUPPORTED: ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED,\n\n PAYMENT_PRICING_NOT_FOUND: ERROR_CODES.PRICING_NOT_FOUND,\n PAYMENT_PRICING_INVALID_AMOUNT: ERROR_CODES.PRICING_INVALID_AMOUNT,\n PAYMENT_PRICING_INVALID_CURRENCY: ERROR_CODES.PRICING_INVALID_CURRENCY,\n PAYMENT_PRICING_PROVIDER_ERROR: ERROR_CODES.PRICING_PROVIDER_ERROR,\n PAYMENT_PRICING_ALREADY_INACTIVE: ERROR_CODES.PRICING_ALREADY_INACTIVE,\n PAYMENT_PRICING_SYNC_FAILED: ERROR_CODES.PRICING_SYNC_FAILED,\n PAYMENT_PRICING_REQUIRES_NEW_VERSION: ERROR_CODES.PRICING_REQUIRES_NEW_VERSION,\n} as const;\n\n/** Database-specific error codes\n * Subset of ERROR_CODES for database operations\n */\nexport const DATABASE_ERROR_CODES = {\n ACCESS_DENIED: ERROR_CODES.DB_ACCESS_DENIED,\n CONFIG_REQUIRED: ERROR_CODES.DB_CONFIG_REQUIRED,\n CONNECT_FAILED: ERROR_CODES.DB_CONNECT_FAILED,\n DISCONNECT_FAILED: ERROR_CODES.DB_DISCONNECT_FAILED,\n INIT_FAILED: ERROR_CODES.DB_INIT_FAILED,\n QUERY_FAILED: ERROR_CODES.DB_QUERY_FAILED,\n BUILD_WHERE_FAILED: ERROR_CODES.DB_BUILD_WHERE_FAILED,\n INVALID_SQL: ERROR_CODES.DB_INVALID_SQL,\n TRANSACTION_FAILED: ERROR_CODES.DB_TRANSACTION_FAILED,\n UNSUPPORTED_OPERATOR: ERROR_CODES.DB_UNSUPPORTED_OPERATOR,\n CREATE_FAILED: ERROR_CODES.DB_CREATE_FAILED,\n CREATION_FAILED: ERROR_CODES.DB_CREATION_FAILED,\n FETCH_FAILED: ERROR_CODES.DB_FETCH_FAILED,\n FIND_FAILED: ERROR_CODES.DB_FIND_FAILED,\n FIND_MANY_FAILED: ERROR_CODES.DB_FIND_MANY_FAILED,\n FIND_BY_ID_FAILED: ERROR_CODES.DB_FIND_BY_ID_FAILED,\n UPDATE_FAILED: ERROR_CODES.DB_UPDATE_FAILED,\n UPDATE_NO_CHANGES: ERROR_CODES.DB_UPDATE_NO_CHANGES,\n DELETE_FAILED: ERROR_CODES.DB_DELETE_FAILED,\n INSERT_FAILED: ERROR_CODES.DB_INSERT_FAILED,\n RECORD_NOT_FOUND: ERROR_CODES.DB_RECORD_NOT_FOUND,\n EXISTS_FAILED: ERROR_CODES.DB_EXISTS_FAILED,\n COLUMN_NOT_EXISTS: ERROR_CODES.DB_COLUMN_NOT_EXISTS,\n TABLE_NOT_REGISTERED: ERROR_CODES.DB_TABLE_NOT_REGISTERED,\n TABLE_REGISTRATION_FAILED: ERROR_CODES.DB_TABLE_REGISTRATION_FAILED,\n ID_COLUMN_NOT_REGISTERED: ERROR_CODES.DB_ID_COLUMN_NOT_REGISTERED,\n INVALID_COLUMN: ERROR_CODES.DB_INVALID_COLUMN,\n INVALID_TABLE_NAME: ERROR_CODES.DB_INVALID_TABLE_NAME,\n GET_ID_COLUMN_FAILED: ERROR_CODES.DB_GET_ID_COLUMN_FAILED,\n GET_TABLE_FAILED: ERROR_CODES.DB_GET_TABLE_FAILED,\n INVALID_PARAMETERS: ERROR_CODES.DB_INVALID_PARAMETERS,\n INVALID_PARAMS: ERROR_CODES.DB_INVALID_PARAMS,\n INVALID_FILTER: ERROR_CODES.DB_INVALID_FILTER,\n INVALID_ID: ERROR_CODES.DB_INVALID_ID,\n INVALID_ENTITY: ERROR_CODES.DB_INVALID_ENTITY,\n INVALID_UPDATE_PARAMS: ERROR_CODES.DB_INVALID_UPDATE_PARAMS,\n INVALID_FIELD_NAME: ERROR_CODES.DB_INVALID_FIELD_NAME,\n INVALID_RESULT: ERROR_CODES.DB_INVALID_RESULT,\n NO_UPDATE_FIELDS: ERROR_CODES.DB_NO_UPDATE_FIELDS,\n COUNT_FAILED: ERROR_CODES.DB_COUNT_FAILED,\n COUNT_NO_RESULTS: ERROR_CODES.DB_COUNT_NO_RESULTS,\n NO_DATA: ERROR_CODES.DB_NO_DATA,\n NO_TENANT_CONTEXT: ERROR_CODES.DB_NO_TENANT_CONTEXT,\n NO_TENANT_ID: ERROR_CODES.DB_NO_TENANT_ID,\n TENANT_VALIDATION_FAILED: ERROR_CODES.DB_TENANT_VALIDATION_FAILED,\n BACKUP_CLEANUP_FAILED: ERROR_CODES.DB_BACKUP_CLEANUP_FAILED,\n BACKUP_FILE_NOT_FOUND: ERROR_CODES.DB_BACKUP_FILE_NOT_FOUND,\n LIST_BACKUPS_FAILED: ERROR_CODES.DB_LIST_BACKUPS_FAILED,\n INVALID_BACKUP_INFO: ERROR_CODES.DB_INVALID_BACKUP_INFO,\n RESTORE_FAILED: ERROR_CODES.DB_RESTORE_FAILED,\n CACHE_DELETE_FAILED: ERROR_CODES.DB_CACHE_DELETE_FAILED,\n CACHE_HEALTH_CHECK_FAILED: ERROR_CODES.DB_CACHE_HEALTH_CHECK_FAILED,\n CACHE_INVALIDATE_FAILED: ERROR_CODES.DB_CACHE_INVALIDATE_FAILED,\n CACHE_SET_FAILED: ERROR_CODES.DB_CACHE_SET_FAILED,\n CACHE_GET_FAILED: ERROR_CODES.DB_CACHE_GET_FAILED,\n INVALID_FILEPATH: ERROR_CODES.DB_INVALID_FILEPATH,\n S3_DELETE_FAILED: ERROR_CODES.DB_S3_DELETE_FAILED,\n S3_DOWNLOAD_FAILED: ERROR_CODES.DB_S3_DOWNLOAD_FAILED,\n S3_NOT_CONFIGURED: ERROR_CODES.DB_S3_NOT_CONFIGURED,\n S3_UPLOAD_FAILED: ERROR_CODES.DB_S3_UPLOAD_FAILED,\n SCHEDULE_SETUP_FAILED: ERROR_CODES.DB_SCHEDULE_SETUP_FAILED,\n DECRYPTION_FAILED: ERROR_CODES.DB_DECRYPTION_FAILED,\n INVALID_SHELL_ARG: ERROR_CODES.DB_INVALID_SHELL_ARG,\n INVALID_BETWEEN_OPERATOR: ERROR_CODES.DB_INVALID_BETWEEN_OPERATOR,\n INVALID_IN_OPERATOR: ERROR_CODES.DB_INVALID_IN_OPERATOR,\n INVALID_COUNT: ERROR_CODES.DB_INVALID_COUNT,\n CONNECTION_FAILED: ERROR_CODES.DB_CONNECTION_FAILED,\n CONNECTION_ERROR: ERROR_CODES.DB_CONNECTION_ERROR,\n CONSTRAINT_VIOLATION: ERROR_CODES.DB_CONSTRAINT_VIOLATION,\n TIMEOUT: ERROR_CODES.DB_TIMEOUT,\n DEADLOCK: ERROR_CODES.DB_DEADLOCK,\n ENTITY_NOT_FOUND: ERROR_CODES.DB_ENTITY_NOT_FOUND,\n DUPLICATE_ENTRY: ERROR_CODES.DB_DUPLICATE_ENTRY,\n MIGRATION_FAILED: ERROR_CODES.DB_MIGRATION_FAILED,\n MULTI_WRITE_FAILED: ERROR_CODES.DB_MULTI_WRITE_FAILED,\n NOT_FOUND: ERROR_CODES.DB_RECORD_NOT_FOUND,\n UNKNOWN_ERROR: ERROR_CODES.DB_UNKNOWN_ERROR,\n} as const;\n\nexport type ApiErrorCodeValue =\n | (typeof API_ERROR_CODES)[keyof typeof API_ERROR_CODES]\n | `HTTP_${number}`;\nexport type NotificationErrorCodeValue =\n (typeof NOTIFICATION_ERROR_CODES)[keyof typeof NOTIFICATION_ERROR_CODES];\n\nexport type StorageErrorCode = (typeof STORAGE_ERROR_CODES)[keyof typeof STORAGE_ERROR_CODES];\n\nexport type DatabaseErrorCodeValue =\n (typeof DATABASE_ERROR_CODES)[keyof typeof DATABASE_ERROR_CODES];\n\nexport type CoreErrorCodeValue = (typeof CORE_ERROR_CODES)[keyof typeof CORE_ERROR_CODES];\n\nexport type PaymentErrorCodeValue = (typeof PAYMENT_ERROR_CODES)[keyof typeof PAYMENT_ERROR_CODES];\n\n/**\n * Unified ERROR_DEFINITIONS\n * Single source of truth for ALL error definitions across all @plyaz packages\n *\n * Combines:\n * - API error definitions (basic: code, status, category, fieldsLeft)\n * - Notification error definitions (extended: includes severity, retryable, userMessage)\n *\n * All packages can access ANY error definition for cross-package error handling\n */\nexport const ERROR_DEFINITIONS: ErrorDefinitions = {\n // ===== Generic/Common Error Definitions =====\n [ERROR_CODES.NOT_IMPLEMENTED]: {\n code: ERROR_CODES.NOT_IMPLEMENTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.not_implemented',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PROVIDER_NOT_IMPLEMENTED]: {\n code: ERROR_CODES.PROVIDER_NOT_IMPLEMENTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.provider.not_implemented',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.FEATURE_NOT_SUPPORTED]: {\n code: ERROR_CODES.FEATURE_NOT_SUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.feature.not_supported',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n\n // ===== API Package Error Definitions =====\n // Authentication\n [ERROR_CODES.AUTH_UNAUTHORIZED]: {\n code: ERROR_CODES.AUTH_UNAUTHORIZED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.auth.unauthorized',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.AUTH_FORBIDDEN]: {\n code: ERROR_CODES.AUTH_FORBIDDEN,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n userMessage: 'errors.auth.forbidden',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.AUTH_TOKEN_EXPIRED]: {\n code: ERROR_CODES.AUTH_TOKEN_EXPIRED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.auth.token_expired',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {\n code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.auth.invalid_credentials',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Rate Limiting\n [ERROR_CODES.RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n userMessage: 'errors.rate_limit.exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Resources\n [ERROR_CODES.RESOURCE_NOT_FOUND]: {\n code: ERROR_CODES.RESOURCE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.resource.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.RESOURCE_CONFLICT]: {\n code: ERROR_CODES.RESOURCE_CONFLICT,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.resource.conflict',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Validation\n [ERROR_CODES.API_VALIDATION_FAILED]: {\n code: ERROR_CODES.API_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.API_INVALID_INPUT]: {\n code: ERROR_CODES.API_INVALID_INPUT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.invalid_input',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.VALIDATION_ERROR]: {\n code: ERROR_CODES.VALIDATION_ERROR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REQUIRED_FIELD_MISSING]: {\n code: ERROR_CODES.REQUIRED_FIELD_MISSING,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.required_field_missing',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.INVALID_FORMAT]: {\n code: ERROR_CODES.INVALID_FORMAT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.invalid_format',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.VALIDATION_INVALID_FORMAT]: {\n code: ERROR_CODES.VALIDATION_INVALID_FORMAT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.invalid_format',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRING_TOO_SHORT]: {\n code: ERROR_CODES.STRING_TOO_SHORT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.string_too_short',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRING_TOO_LONG]: {\n code: ERROR_CODES.STRING_TOO_LONG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.validation.string_too_long',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Network\n [ERROR_CODES.NETWORK_ERROR]: {\n code: ERROR_CODES.NETWORK_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.CONNECTION_FAILED]: {\n code: ERROR_CODES.CONNECTION_FAILED,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.connection_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_CONNECTION_FAILED]: {\n code: ERROR_CODES.NETWORK_CONNECTION_FAILED,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.connection_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_OFFLINE]: {\n code: ERROR_CODES.NETWORK_OFFLINE,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.offline',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_DNS_FAILED]: {\n code: ERROR_CODES.NETWORK_DNS_FAILED,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.dns_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_TIMEOUT]: {\n code: ERROR_CODES.NETWORK_TIMEOUT,\n status: 0,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.network.configuration_invalid',\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n },\n [ERROR_CODES.NETWORK_PRESET_NOT_FOUND]: {\n code: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.network.preset_not_found',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Server\n [ERROR_CODES.SERVER_ERROR]: {\n code: ERROR_CODES.SERVER_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.server.error',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.INTERNAL_SERVER_ERROR]: {\n code: ERROR_CODES.INTERNAL_SERVER_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.server.internal_error',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.SERVICE_UNAVAILABLE]: {\n code: ERROR_CODES.SERVICE_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.server.service_unavailable',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Cache\n [ERROR_CODES.CACHE_READ_FAILED]: {\n code: ERROR_CODES.CACHE_READ_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.read_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_WRITE_FAILED]: {\n code: ERROR_CODES.CACHE_WRITE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.write_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CACHE_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.invalidation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_STORAGE_FAILED]: {\n code: ERROR_CODES.CACHE_STORAGE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.storage_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {\n code: ERROR_CODES.CACHE_RETRIEVAL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.cache.retrieval_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Retry\n [ERROR_CODES.RETRY_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.RETRY_LIMIT_EXCEEDED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.retry.limit_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.RETRY_FAILED]: {\n code: ERROR_CODES.RETRY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.retry.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.RETRY_EXHAUSTED]: {\n code: ERROR_CODES.RETRY_EXHAUSTED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.retry.exhausted',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.RETRY_STRATEGY_INVALID]: {\n code: ERROR_CODES.RETRY_STRATEGY_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.retry.strategy_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Strategy\n [ERROR_CODES.STRATEGY_INVALID]: {\n code: ERROR_CODES.STRATEGY_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.strategy.invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRATEGY_CONFLICT]: {\n code: ERROR_CODES.STRATEGY_CONFLICT,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.strategy.conflict',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.STRATEGY_EXECUTION_FAILED]: {\n code: ERROR_CODES.STRATEGY_EXECUTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.strategy.execution_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Headers\n [ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {\n code: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.enrichment_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.HEADERS_VALIDATION_FAILED]: {\n code: ERROR_CODES.HEADERS_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.validation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.HEADERS_MERGE_CONFLICT]: {\n code: ERROR_CODES.HEADERS_MERGE_CONFLICT,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.merge_conflict',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Regional\n [ERROR_CODES.REGION_DETECTION_FAILED]: {\n code: ERROR_CODES.REGION_DETECTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.regional.detection_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {\n code: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.regional.preset_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // External Services\n [ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {\n code: ERROR_CODES.EXTERNAL_SERVICE_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.external.service_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Timeout\n [ERROR_CODES.TIMEOUT]: {\n code: ERROR_CODES.TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.timeout.generic',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Debugging\n [ERROR_CODES.DEBUG_TRACKING_FAILED]: {\n code: ERROR_CODES.DEBUG_TRACKING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.debug.tracking_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DEBUG_OVERRIDE_FAILED]: {\n code: ERROR_CODES.DEBUG_OVERRIDE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.debug.override_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DEBUG_CONFLICT_DETECTED]: {\n code: ERROR_CODES.DEBUG_CONFLICT_DETECTED,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.debug.conflict_detected',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Endpoint\n [ERROR_CODES.ENDPOINT_BUILD_FAILED]: {\n code: ERROR_CODES.ENDPOINT_BUILD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.endpoint.build_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.ENDPOINT_NOT_FOUND]: {\n code: ERROR_CODES.ENDPOINT_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.endpoint.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.ENDPOINT_INVALID_CONFIG]: {\n code: ERROR_CODES.ENDPOINT_INVALID_CONFIG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.endpoint.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // Event\n [ERROR_CODES.EVENT_HANDLER_FAILED]: {\n code: ERROR_CODES.EVENT_HANDLER_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.event.handler_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.EVENT_EMISSION_FAILED]: {\n code: ERROR_CODES.EVENT_EMISSION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.event.emission_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.MONITORING_FAILED]: {\n code: ERROR_CODES.MONITORING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.monitoring.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Polling\n [ERROR_CODES.POLLING_CANCELLED]: {\n code: ERROR_CODES.POLLING_CANCELLED,\n status: 0,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.polling.cancelled',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.POLLING_TIMEOUT]: {\n code: ERROR_CODES.POLLING_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.polling.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.POLLING_INVALID_CONFIG]: {\n code: ERROR_CODES.POLLING_INVALID_CONFIG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.polling.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // PubSub\n [ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED]: {\n code: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.pubsub.subscription_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PUBSUB_PUBLICATION_FAILED]: {\n code: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.pubsub.publication_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PUBSUB_INVALID_TOPIC]: {\n code: ERROR_CODES.PUBSUB_INVALID_TOPIC,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.pubsub.invalid_topic',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PUBSUB_CHANNEL_ERROR]: {\n code: ERROR_CODES.PUBSUB_CHANNEL_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.pubsub.channel_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Revalidation\n [ERROR_CODES.REVALIDATION_FAILED]: {\n code: ERROR_CODES.REVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.revalidation.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REVALIDATION_IN_PROGRESS]: {\n code: ERROR_CODES.REVALIDATION_IN_PROGRESS,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.revalidation.in_progress',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Context\n [ERROR_CODES.CONTEXT_OPERATION_FAILED]: {\n code: ERROR_CODES.CONTEXT_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.context.operation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Request\n [ERROR_CODES.REQUEST_TIMEOUT]: {\n code: ERROR_CODES.REQUEST_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.request.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.REQUEST_ABORTED]: {\n code: ERROR_CODES.REQUEST_ABORTED,\n status: 0,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.request.aborted',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.REQUEST_INVALID_PARAMS]: {\n code: ERROR_CODES.REQUEST_INVALID_PARAMS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.request.invalid_params',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.REQUEST_PREPARATION_FAILED]: {\n code: ERROR_CODES.REQUEST_PREPARATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.request.preparation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Response\n [ERROR_CODES.RESPONSE_INVALID_FORMAT]: {\n code: ERROR_CODES.RESPONSE_INVALID_FORMAT,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.response.invalid_format',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.RESPONSE_PARSING_FAILED]: {\n code: ERROR_CODES.RESPONSE_PARSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'errors.response.parsing_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Client\n [ERROR_CODES.CLIENT_ERROR]: {\n code: ERROR_CODES.CLIENT_ERROR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.initialization_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_INVALID_CONFIG]: {\n code: ERROR_CODES.CLIENT_INVALID_CONFIG,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_MISSING_BASE_URL]: {\n code: ERROR_CODES.CLIENT_MISSING_BASE_URL,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.client.missing_base_url',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.CLIENT_CANCELLED]: {\n code: ERROR_CODES.CLIENT_CANCELLED,\n status: 0,\n category: ERROR_CATEGORY.Client,\n userMessage: 'errors.client.cancelled',\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n },\n\n // Configuration\n [ERROR_CODES.CONFIG_VALIDATION_FAILED]: {\n code: ERROR_CODES.CONFIG_VALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.config.validation_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.HEADER_PROCESSING_FAILED]: {\n code: ERROR_CODES.HEADER_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Headers,\n userMessage: 'errors.headers.processing_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {\n code: ERROR_CODES.NETWORK_OVERRIDE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.network.override_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Generic\n [ERROR_CODES.UNKNOWN_ERROR]: {\n code: ERROR_CODES.UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n userMessage: 'errors.unknown',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // ===== Notification Package Error Definitions =====\n // Provider errors (retryable)\n [ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.provider.send_failed',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.provider.configuration_invalid',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.notification.provider.rate_limit',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.provider.auth_failed',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.notification.provider.timeout',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.provider.unavailable',\n },\n [ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED]: {\n code: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.notification.provider.feature_not_supported',\n },\n [ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.all_providers_failed',\n },\n\n // Validation errors (non-retryable)\n [ERROR_CODES.NOTIFICATION_INVALID_INPUT]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_INPUT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_input',\n },\n [ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_recipient',\n },\n [ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_template',\n },\n [ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD]: {\n code: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.invalid_payload',\n },\n [ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD]: {\n code: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.required_field_missing',\n },\n [ERROR_CODES.NOTIFICATION_VALIDATION_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.validation.failed',\n },\n\n // User Preferences\n [ERROR_CODES.NOTIFICATION_USER_OPTED_OUT]: {\n code: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,\n status: HTTP_STATUS.OK,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.notification.user.opted_out',\n },\n\n // Queue errors (retryable)\n [ERROR_CODES.NOTIFICATION_QUEUE_FULL]: {\n code: ERROR_CODES.NOTIFICATION_QUEUE_FULL,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.queue.full',\n },\n [ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.queue.processing_failed',\n },\n\n // Webhook errors\n [ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID]: {\n code: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Webhook,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.notification.webhook.signature_invalid',\n },\n [ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Webhook,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.webhook.validation_failed',\n },\n [ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Webhook,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.notification.webhook.processing_failed',\n },\n\n // Template errors\n [ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND]: {\n code: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.notification.template.not_found',\n },\n [ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.notification.template.render_failed',\n },\n\n // General notification errors\n [ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR]: {\n code: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.notification.unknown',\n },\n [ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.notification.initialization_failed',\n },\n\n // ===== Storage Package Error Definitions =====\n\n // General\n [ERROR_CODES.STORAGE_UNKNOWN_ERROR]: {\n code: ERROR_CODES.STORAGE_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.unknown',\n },\n [ERROR_CODES.STORAGE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.STORAGE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.initialization_failed',\n },\n\n // Adapter errors\n [ERROR_CODES.STORAGE_ADAPTER_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_ADAPTER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.not_found',\n },\n [ERROR_CODES.STORAGE_ADAPTER_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.initialization_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.STORAGE_ADAPTER_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.configuration_invalid',\n },\n [ERROR_CODES.STORAGE_ADAPTER_ALREADY_REGISTERED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_ALREADY_REGISTERED,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.adapter.already_registered',\n },\n [ERROR_CODES.STORAGE_ADAPTER_CONNECTION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_CONNECTION_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.adapter.connection_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.adapter.authentication_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_OPERATION_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.adapter.operation_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_HEALTH_CHECK_FAILED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_HEALTH_CHECK_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.adapter.health_check_failed',\n },\n [ERROR_CODES.STORAGE_ADAPTER_UNAVAILABLE]: {\n code: ERROR_CODES.STORAGE_ADAPTER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.adapter.unavailable',\n },\n [ERROR_CODES.STORAGE_ADAPTER_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_ADAPTER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.adapter.timeout',\n },\n [ERROR_CODES.STORAGE_ADAPTER_RATE_LIMIT]: {\n code: ERROR_CODES.STORAGE_ADAPTER_RATE_LIMIT,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.adapter.rate_limit',\n },\n [ERROR_CODES.STORAGE_ADAPTER_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_QUOTA_EXCEEDED,\n status: HTTP_STATUS.INSUFFICIENT_STORAGE,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.adapter.quota_exceeded',\n },\n [ERROR_CODES.STORAGE_ADAPTER_UNSUPPORTED_OPERATION]: {\n code: ERROR_CODES.STORAGE_ADAPTER_UNSUPPORTED_OPERATION,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.adapter.unsupported_operation',\n },\n [ERROR_CODES.STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED]: {\n code: ERROR_CODES.STORAGE_ADAPTER_FEATURE_NOT_SUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.adapter.feature_not_supported',\n },\n [ERROR_CODES.STORAGE_NO_HEALTHY_ADAPTERS]: {\n code: ERROR_CODES.STORAGE_NO_HEALTHY_ADAPTERS,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n userMessage: 'errors.storage.no_healthy_adapters',\n },\n [ERROR_CODES.STORAGE_ALL_ADAPTERS_FAILED]: {\n code: ERROR_CODES.STORAGE_ALL_ADAPTERS_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n userMessage: 'errors.storage.all_adapters_failed',\n },\n\n // File Validation\n [ERROR_CODES.STORAGE_FILE_TOO_LARGE]: {\n code: ERROR_CODES.STORAGE_FILE_TOO_LARGE,\n status: HTTP_STATUS.PAYLOAD_TOO_LARGE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.too_large',\n },\n [ERROR_CODES.STORAGE_FILE_TOO_SMALL]: {\n code: ERROR_CODES.STORAGE_FILE_TOO_SMALL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.too_small',\n },\n [ERROR_CODES.STORAGE_FILE_SIZE_INVALID]: {\n code: ERROR_CODES.STORAGE_FILE_SIZE_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.size.invalid',\n },\n [ERROR_CODES.STORAGE_FILE_TYPE_NOT_ALLOWED]: {\n code: ERROR_CODES.STORAGE_FILE_TYPE_NOT_ALLOWED,\n status: HTTP_STATUS.UNSUPPORTED_MEDIA_TYPE,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.file.type.not_allowed',\n },\n [ERROR_CODES.STORAGE_INVALID_MIME_TYPE]: {\n code: ERROR_CODES.STORAGE_INVALID_MIME_TYPE,\n status: HTTP_STATUS.UNSUPPORTED_MEDIA_TYPE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.mime_type.invalid',\n },\n [ERROR_CODES.STORAGE_INVALID_FILE_EXTENSION]: {\n code: ERROR_CODES.STORAGE_INVALID_FILE_EXTENSION,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.extension.invalid',\n },\n [ERROR_CODES.STORAGE_FILE_EXTENSION_INVALID]: {\n code: ERROR_CODES.STORAGE_FILE_EXTENSION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.extension.invalid',\n },\n [ERROR_CODES.STORAGE_FILE_EXTENSION_MISMATCH]: {\n code: ERROR_CODES.STORAGE_FILE_EXTENSION_MISMATCH,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.file.extension.mismatch',\n },\n [ERROR_CODES.STORAGE_EXECUTABLE_NOT_ALLOWED]: {\n code: ERROR_CODES.STORAGE_EXECUTABLE_NOT_ALLOWED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.executable_not_allowed',\n },\n [ERROR_CODES.STORAGE_VALIDATION_FAILED]: {\n code: ERROR_CODES.STORAGE_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.validation.failed',\n },\n [ERROR_CODES.STORAGE_INVALID_FILE_CONTENT]: {\n code: ERROR_CODES.STORAGE_INVALID_FILE_CONTENT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.validation.invalid_file_content',\n },\n\n // Security\n [ERROR_CODES.STORAGE_SECURITY_VIRUS_DETECTED]: {\n code: ERROR_CODES.STORAGE_SECURITY_VIRUS_DETECTED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.security.virus_detected',\n },\n [ERROR_CODES.STORAGE_SECURITY_SCAN_FAILED]: {\n code: ERROR_CODES.STORAGE_SECURITY_SCAN_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.security.scan_failed',\n },\n [ERROR_CODES.STORAGE_SECURITY_ACCESS_DENIED]: {\n code: ERROR_CODES.STORAGE_SECURITY_ACCESS_DENIED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.security.access_denied',\n },\n [ERROR_CODES.STORAGE_SECURITY_ENCRYPTION_FAILED]: {\n code: ERROR_CODES.STORAGE_SECURITY_ENCRYPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.security.encryption_failed',\n },\n\n // File Operations\n [ERROR_CODES.STORAGE_FILE_UPLOAD_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_UPLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.upload_failed',\n },\n [ERROR_CODES.STORAGE_FILE_DOWNLOAD_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_DOWNLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.download_failed',\n },\n [ERROR_CODES.STORAGE_FILE_DELETE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.delete_failed',\n },\n [ERROR_CODES.STORAGE_FILE_UPDATE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_UPDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.update_failed',\n },\n [ERROR_CODES.STORAGE_FILE_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_FILE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.not_found',\n },\n [ERROR_CODES.STORAGE_FILE_ALREADY_EXISTS]: {\n code: ERROR_CODES.STORAGE_FILE_ALREADY_EXISTS,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.file.already_exists',\n },\n [ERROR_CODES.STORAGE_FILE_MOVE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_MOVE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.file.move_failed',\n },\n [ERROR_CODES.STORAGE_FILE_COPY_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_COPY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.file.copy_failed',\n },\n [ERROR_CODES.STORAGE_FILE_READ_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_READ_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.read_failed',\n },\n [ERROR_CODES.STORAGE_FILE_WRITE_FAILED]: {\n code: ERROR_CODES.STORAGE_FILE_WRITE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.file.write_failed',\n },\n [ERROR_CODES.STORAGE_FILE_CORRUPTED]: {\n code: ERROR_CODES.STORAGE_FILE_CORRUPTED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.file.corrupted',\n },\n [ERROR_CODES.STORAGE_INVALID_OPERATION]: {\n code: ERROR_CODES.STORAGE_INVALID_OPERATION,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.invalid_operation',\n },\n\n // Metadata\n [ERROR_CODES.STORAGE_METADATA_EXTRACTION_FAILED]: {\n code: ERROR_CODES.STORAGE_METADATA_EXTRACTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n userMessage: 'errors.storage.metadata.extraction_failed',\n },\n [ERROR_CODES.STORAGE_METADATA_INVALID]: {\n code: ERROR_CODES.STORAGE_METADATA_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.metadata.invalid',\n },\n [ERROR_CODES.STORAGE_METADATA_UPDATE_FAILED]: {\n code: ERROR_CODES.STORAGE_METADATA_UPDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.metadata.update_failed',\n },\n\n // Media Processing\n [ERROR_CODES.STORAGE_MEDIA_PROCESSING_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.media.processing_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_RESIZE_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_RESIZE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.media.resize_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_FORMAT_UNSUPPORTED]: {\n code: ERROR_CODES.STORAGE_MEDIA_FORMAT_UNSUPPORTED,\n status: HTTP_STATUS.UNSUPPORTED_MEDIA_TYPE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.media.format_unsupported',\n },\n [ERROR_CODES.STORAGE_MEDIA_TRANSCODE_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_TRANSCODE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.media.transcode_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_THUMBNAIL_FAILED]: {\n code: ERROR_CODES.STORAGE_MEDIA_THUMBNAIL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n userMessage: 'errors.storage.media.thumbnail_failed',\n },\n [ERROR_CODES.STORAGE_MEDIA_INVALID_DIMENSIONS]: {\n code: ERROR_CODES.STORAGE_MEDIA_INVALID_DIMENSIONS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.media.invalid_dimensions',\n },\n\n // Template & PDF\n [ERROR_CODES.STORAGE_TEMPLATE_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_TEMPLATE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.template.not_found',\n },\n [ERROR_CODES.STORAGE_TEMPLATE_RENDER_FAILED]: {\n code: ERROR_CODES.STORAGE_TEMPLATE_RENDER_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Template,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.template.render_failed',\n },\n [ERROR_CODES.STORAGE_PDF_GENERATION_FAILED]: {\n code: ERROR_CODES.STORAGE_PDF_GENERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.pdf.generation_failed',\n },\n [ERROR_CODES.STORAGE_PDF_RENDERING_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_PDF_RENDERING_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.pdf.rendering_timeout',\n },\n\n // Queue\n [ERROR_CODES.STORAGE_QUEUE_FULL]: {\n code: ERROR_CODES.STORAGE_QUEUE_FULL,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.queue.full',\n },\n [ERROR_CODES.STORAGE_QUEUE_PROCESSING_FAILED]: {\n code: ERROR_CODES.STORAGE_QUEUE_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Queue,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.queue.processing_failed',\n },\n [ERROR_CODES.STORAGE_QUEUE_ITEM_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_QUEUE_ITEM_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.queue.item_not_found',\n },\n\n // Compliance\n [ERROR_CODES.STORAGE_COMPLIANCE_VIOLATION]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.compliance.violation',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_EXPIRED]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.retention_expired',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_IMMUTABLE_FILE]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_IMMUTABLE_FILE,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.immutable_file',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_POLICY_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_POLICY_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.policy_not_found',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_VIOLATION]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_RETENTION_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.compliance.retention_violation',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_SOFT_DELETE_REQUIRED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.compliance.soft_delete_required',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_GRACE_PERIOD_ACTIVE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.compliance.grace_period_active',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_DEFERRED_DELETION]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_DEFERRED_DELETION,\n status: HTTP_STATUS.ACCEPTED,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.compliance.deferred_deletion',\n },\n [ERROR_CODES.STORAGE_COMPLIANCE_PATTERN_PROTECTED]: {\n code: ERROR_CODES.STORAGE_COMPLIANCE_PATTERN_PROTECTED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.compliance.pattern_protected',\n },\n\n // Share Links\n [ERROR_CODES.STORAGE_SHARE_LINK_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.not_found',\n },\n [ERROR_CODES.STORAGE_SHARE_LINK_EXPIRED]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.expired',\n },\n [ERROR_CODES.STORAGE_SHARE_LINK_MAX_DOWNLOADS]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_MAX_DOWNLOADS,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Limits,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.max_downloads',\n },\n [ERROR_CODES.STORAGE_SHARE_LINK_INVALID_PASSWORD]: {\n code: ERROR_CODES.STORAGE_SHARE_LINK_INVALID_PASSWORD,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.share_link.invalid_password',\n },\n\n // Plugin\n [ERROR_CODES.STORAGE_PLUGIN_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_PLUGIN_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.plugin.not_found',\n },\n [ERROR_CODES.STORAGE_PLUGIN_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.STORAGE_PLUGIN_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.plugin.initialization_failed',\n },\n [ERROR_CODES.STORAGE_PLUGIN_EXECUTION_FAILED]: {\n code: ERROR_CODES.STORAGE_PLUGIN_EXECUTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.plugin.execution_failed',\n },\n\n // VirusTotal Provider (Plugin)\n [ERROR_CODES.STORAGE_VIRUSTOTAL_BAD_REQUEST]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_BAD_REQUEST,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.virustotal.bad_request',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_AUTHENTICATION_REQUIRED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.virustotal.authentication_required',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_WRONG_CREDENTIALS,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.virustotal.wrong_credentials',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_FILE_TOO_LARGE]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_FILE_TOO_LARGE,\n status: HTTP_STATUS.PAYLOAD_TOO_LARGE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.virustotal.file_too_large',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_QUOTA_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.virustotal.quota_exceeded',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_ANALYSIS_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.virustotal.analysis_not_found',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.virustotal.scan_timeout',\n },\n [ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_FAILED]: {\n code: ERROR_CODES.STORAGE_VIRUSTOTAL_SCAN_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.virustotal.scan_failed',\n },\n\n // CDN Providers (Plugins)\n // Cloudflare\n [ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.CLOUDFLARE_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudflare.authentication.failed',\n },\n [ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND]: {\n code: ERROR_CODES.CLOUDFLARE_ZONE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudflare.zone.not.found',\n },\n [ERROR_CODES.CLOUDFLARE_PURGE_FAILED]: {\n code: ERROR_CODES.CLOUDFLARE_PURGE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudflare.purge.failed',\n },\n [ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.CLOUDFLARE_RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudflare.rate.limit.exceeded',\n },\n [ERROR_CODES.CLOUDFLARE_INVALID_URL]: {\n code: ERROR_CODES.CLOUDFLARE_INVALID_URL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.cloudflare.invalid.url',\n },\n [ERROR_CODES.CLOUDFLARE_API_ERROR]: {\n code: ERROR_CODES.CLOUDFLARE_API_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.cloudflare.api.error',\n },\n\n // CloudFront\n [ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.CLOUDFRONT_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudfront.authentication.failed',\n },\n [ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND]: {\n code: ERROR_CODES.CLOUDFRONT_DISTRIBUTION_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cloudfront.distribution.not.found',\n },\n [ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CLOUDFRONT_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudfront.invalidation.failed',\n },\n [ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.CLOUDFRONT_QUOTA_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cloudfront.quota.exceeded',\n },\n [ERROR_CODES.CLOUDFRONT_INVALID_PATH]: {\n code: ERROR_CODES.CLOUDFRONT_INVALID_PATH,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.cloudfront.invalid.path',\n },\n [ERROR_CODES.CLOUDFRONT_API_ERROR]: {\n code: ERROR_CODES.CLOUDFRONT_API_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.cloudfront.api.error',\n },\n\n // Fastly\n [ERROR_CODES.FASTLY_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.FASTLY_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.fastly.authentication.failed',\n },\n [ERROR_CODES.FASTLY_SERVICE_NOT_FOUND]: {\n code: ERROR_CODES.FASTLY_SERVICE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.fastly.service.not.found',\n },\n [ERROR_CODES.FASTLY_PURGE_FAILED]: {\n code: ERROR_CODES.FASTLY_PURGE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.fastly.purge.failed',\n },\n [ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.FASTLY_RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.fastly.rate.limit.exceeded',\n },\n [ERROR_CODES.FASTLY_INVALID_URL]: {\n code: ERROR_CODES.FASTLY_INVALID_URL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.fastly.invalid.url',\n },\n [ERROR_CODES.FASTLY_API_ERROR]: {\n code: ERROR_CODES.FASTLY_API_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.fastly.api.error',\n },\n\n // Generic CDN\n [ERROR_CODES.CDN_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CDN_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Plugin,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.cdn.invalidation.failed',\n },\n [ERROR_CODES.CDN_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.CDN_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cdn.configuration.invalid',\n },\n [ERROR_CODES.CDN_PROVIDER_NOT_FOUND]: {\n code: ERROR_CODES.CDN_PROVIDER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.cdn.provider.not.found',\n },\n\n // Webhook Errors\n [ERROR_CODES.STORAGE_WEBHOOK_SIGNATURE_INVALID]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.storage.webhook.signature_invalid',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_PAYLOAD_INVALID]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_PAYLOAD_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.webhook.payload_invalid',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_PROCESSING_FAILED]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.webhook.processing_failed',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.webhook.timeout',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_ADAPTER_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_ADAPTER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.webhook.adapter_not_found',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_DUPLICATE_DETECTED]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_DUPLICATE_DETECTED,\n status: HTTP_STATUS.OK,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.webhook.duplicate_detected',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_IDEMPOTENCY_ERROR]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_IDEMPOTENCY_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.webhook.idempotency_error',\n },\n [ERROR_CODES.STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_WEBHOOK_RATE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.webhook.rate_limit_exceeded',\n },\n\n // Presigned URLs\n [ERROR_CODES.STORAGE_PRESIGNED_URL_GENERATION_FAILED]: {\n code: ERROR_CODES.STORAGE_PRESIGNED_URL_GENERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.ExternalService,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.presigned_url.generation_failed',\n },\n [ERROR_CODES.STORAGE_PRESIGNED_URL_EXPIRED]: {\n code: ERROR_CODES.STORAGE_PRESIGNED_URL_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.presigned_url.expired',\n },\n [ERROR_CODES.STORAGE_PRESIGNED_URL_INVALID]: {\n code: ERROR_CODES.STORAGE_PRESIGNED_URL_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.presigned_url.invalid',\n },\n\n // Chunked Upload\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_INIT_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_INIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.init_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_PART_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_PART_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.part_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_COMPLETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.complete_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_ABORT_FAILED]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_ABORT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.FileOperation,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.chunked_upload.abort_failed',\n },\n [ERROR_CODES.STORAGE_CHUNKED_UPLOAD_NOT_FOUND]: {\n code: ERROR_CODES.STORAGE_CHUNKED_UPLOAD_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.chunked_upload.not_found',\n },\n\n // CORS\n [ERROR_CODES.STORAGE_CORS_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.STORAGE_CORS_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.cors.configuration_invalid',\n },\n [ERROR_CODES.STORAGE_CORS_ORIGIN_NOT_ALLOWED]: {\n code: ERROR_CODES.STORAGE_CORS_ORIGIN_NOT_ALLOWED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.cors.origin_not_allowed',\n },\n\n // TTL\n [ERROR_CODES.STORAGE_TTL_EXPIRED]: {\n code: ERROR_CODES.STORAGE_TTL_EXPIRED,\n status: HTTP_STATUS.GONE,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.ttl.expired',\n },\n [ERROR_CODES.STORAGE_TTL_CLEANUP_FAILED]: {\n code: ERROR_CODES.STORAGE_TTL_CLEANUP_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Low,\n retryable: true,\n userMessage: 'errors.storage.ttl.cleanup_failed',\n },\n\n // Audit\n [ERROR_CODES.STORAGE_AUDIT_LOG_FAILED]: {\n code: ERROR_CODES.STORAGE_AUDIT_LOG_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n userMessage: 'errors.storage.audit.log_failed',\n },\n\n // Timeout & Network\n [ERROR_CODES.STORAGE_TIMEOUT]: {\n code: ERROR_CODES.STORAGE_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.storage.timeout',\n },\n [ERROR_CODES.STORAGE_NETWORK_ERROR]: {\n code: ERROR_CODES.STORAGE_NETWORK_ERROR,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.network_error',\n },\n [ERROR_CODES.STORAGE_CONNECTION_LOST]: {\n code: ERROR_CODES.STORAGE_CONNECTION_LOST,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.storage.connection_lost',\n },\n\n // Permission & Quota\n [ERROR_CODES.STORAGE_PERMISSION_DENIED]: {\n code: ERROR_CODES.STORAGE_PERMISSION_DENIED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.permission_denied',\n },\n [ERROR_CODES.STORAGE_QUOTA_EXCEEDED]: {\n code: ERROR_CODES.STORAGE_QUOTA_EXCEEDED,\n status: HTTP_STATUS.INSUFFICIENT_STORAGE,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.quota_exceeded',\n },\n [ERROR_CODES.STORAGE_INSUFFICIENT_SPACE]: {\n code: ERROR_CODES.STORAGE_INSUFFICIENT_SPACE,\n status: HTTP_STATUS.INSUFFICIENT_STORAGE,\n category: ERROR_CATEGORY.Quota,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.storage.insufficient_space',\n },\n [ERROR_CODES.STORAGE_FEATURE_NOT_IMPLEMENTED]: {\n code: ERROR_CODES.STORAGE_FEATURE_NOT_IMPLEMENTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.storage.feature.not_implemented',\n },\n\n // ===== Core Package Error Definitions =====\n // Feature Flags\n [ERROR_CODES.CORE_FEATURE_FLAG_NOT_FOUND]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.feature_flag.not_found',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_INVALID_CONFIG]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_INVALID_CONFIG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.feature_flag.invalid_config',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_EVALUATION_FAILED]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_EVALUATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.feature_flag.evaluation_failed',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_PROVIDER_ERROR]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.feature_flag.provider_error',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_CACHE_ERROR]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_CACHE_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.core.feature_flag.cache_error',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_CONTEXT_INVALID]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_CONTEXT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.feature_flag.context_invalid',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_RULE_INVALID]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_RULE_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.feature_flag.rule_invalid',\n },\n [ERROR_CODES.CORE_FEATURE_FLAG_TOGGLE_FAILED]: {\n code: ERROR_CODES.CORE_FEATURE_FLAG_TOGGLE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.feature_flag.toggle_failed',\n },\n\n // Cache\n [ERROR_CODES.CORE_CACHE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.cache.initialization_failed',\n },\n [ERROR_CODES.CORE_CACHE_STRATEGY_NOT_FOUND]: {\n code: ERROR_CODES.CORE_CACHE_STRATEGY_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.cache.strategy_not_found',\n },\n [ERROR_CODES.CORE_CACHE_OPERATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.core.cache.operation_failed',\n },\n [ERROR_CODES.CORE_CACHE_INVALIDATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_INVALIDATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n userMessage: 'errors.core.cache.invalidation_failed',\n },\n [ERROR_CODES.CORE_CACHE_SERIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_CACHE_SERIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.cache.serialization_failed',\n },\n\n // API Client\n [ERROR_CODES.CORE_API_CLIENT_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_API_CLIENT_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.api_client.initialization_failed',\n },\n [ERROR_CODES.CORE_API_CLIENT_REQUEST_FAILED]: {\n code: ERROR_CODES.CORE_API_CLIENT_REQUEST_FAILED,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.api_client.request_failed',\n },\n [ERROR_CODES.CORE_API_CLIENT_TIMEOUT]: {\n code: ERROR_CODES.CORE_API_CLIENT_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.api_client.timeout',\n },\n [ERROR_CODES.CORE_API_CLIENT_INVALID_RESPONSE]: {\n code: ERROR_CODES.CORE_API_CLIENT_INVALID_RESPONSE,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.api_client.invalid_response',\n },\n [ERROR_CODES.CORE_API_CLIENT_AUTHENTICATION_FAILED]: {\n code: ERROR_CODES.CORE_API_CLIENT_AUTHENTICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.api_client.authentication_failed',\n },\n\n // Database Service\n [ERROR_CODES.CORE_DATABASE_SERVICE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.database_service.initialization_failed',\n },\n [ERROR_CODES.CORE_DATABASE_SERVICE_CONNECTION_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_CONNECTION_FAILED,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.database_service.connection_failed',\n },\n [ERROR_CODES.CORE_DATABASE_SERVICE_QUERY_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_QUERY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.database_service.query_failed',\n },\n [ERROR_CODES.CORE_DATABASE_SERVICE_TRANSACTION_FAILED]: {\n code: ERROR_CODES.CORE_DATABASE_SERVICE_TRANSACTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.database_service.transaction_failed',\n },\n\n // Validation\n [ERROR_CODES.CORE_VALIDATION_FAILED]: {\n code: ERROR_CODES.CORE_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.validation.failed',\n },\n [ERROR_CODES.CORE_VALIDATION_SCHEMA_INVALID]: {\n code: ERROR_CODES.CORE_VALIDATION_SCHEMA_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.validation.schema_invalid',\n },\n [ERROR_CODES.CORE_VALIDATION_REQUIRED_FIELD_MISSING]: {\n code: ERROR_CODES.CORE_VALIDATION_REQUIRED_FIELD_MISSING,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.validation.required_field_missing',\n },\n\n // Hash Utilities\n [ERROR_CODES.CORE_HASH_GENERATION_FAILED]: {\n code: ERROR_CODES.CORE_HASH_GENERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.hash.generation_failed',\n },\n [ERROR_CODES.CORE_HASH_VERIFICATION_FAILED]: {\n code: ERROR_CODES.CORE_HASH_VERIFICATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.hash.verification_failed',\n },\n\n // Engine\n [ERROR_CODES.CORE_ENGINE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_ENGINE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.engine.initialization_failed',\n },\n [ERROR_CODES.CORE_ENGINE_EXECUTION_FAILED]: {\n code: ERROR_CODES.CORE_ENGINE_EXECUTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.engine.execution_failed',\n },\n [ERROR_CODES.CORE_ENGINE_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.CORE_ENGINE_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.engine.configuration_invalid',\n },\n\n // Provider\n [ERROR_CODES.CORE_PROVIDER_NOT_FOUND]: {\n code: ERROR_CODES.CORE_PROVIDER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.provider.not_found',\n },\n [ERROR_CODES.CORE_PROVIDER_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_PROVIDER_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.provider.initialization_failed',\n },\n [ERROR_CODES.CORE_PROVIDER_OPERATION_FAILED]: {\n code: ERROR_CODES.CORE_PROVIDER_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.provider.operation_failed',\n },\n\n // Context\n [ERROR_CODES.CORE_CONTEXT_INVALID]: {\n code: ERROR_CODES.CORE_CONTEXT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.context.invalid',\n },\n [ERROR_CODES.CORE_CONTEXT_MISSING_REQUIRED_DATA]: {\n code: ERROR_CODES.CORE_CONTEXT_MISSING_REQUIRED_DATA,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.context.missing_required_data',\n },\n\n // General Core\n [ERROR_CODES.CORE_INITIALIZATION_FAILED]: {\n code: ERROR_CODES.CORE_INITIALIZATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.core.initialization_failed',\n },\n [ERROR_CODES.CORE_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.CORE_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.core.configuration_invalid',\n },\n [ERROR_CODES.CORE_OPERATION_FAILED]: {\n code: ERROR_CODES.CORE_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n severity: ERROR_SEVERITY.High,\n retryable: true,\n userMessage: 'errors.core.operation_failed',\n },\n [ERROR_CODES.CORE_UNKNOWN_ERROR]: {\n code: ERROR_CODES.CORE_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n userMessage: 'errors.core.unknown_error',\n },\n\n // ===== Errors Package Errors =====\n [ERROR_CODES.ERROR_SYSTEM_NOT_INITIALIZED]: {\n code: ERROR_CODES.ERROR_SYSTEM_NOT_INITIALIZED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n userMessage: 'errors.system.not_initialized',\n },\n [ERROR_CODES.EVENT_FACTORY_NOT_REGISTERED]: {\n code: ERROR_CODES.EVENT_FACTORY_NOT_REGISTERED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.event.factory.not_registered',\n },\n [ERROR_CODES.DATABASE_ERROR]: {\n code: ERROR_CODES.DATABASE_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n severity: ERROR_SEVERITY.High,\n retryable: false,\n userMessage: 'errors.database',\n },\n\n // ===== Database Error Definitions =====\n // Connection & Configuration\n [ERROR_CODES.DB_ACCESS_DENIED]: {\n code: ERROR_CODES.DB_ACCESS_DENIED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'db.connection.access_denied',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_CONFIG_REQUIRED]: {\n code: ERROR_CODES.DB_CONFIG_REQUIRED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'db.connection.config_required',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_CONNECT_FAILED]: {\n code: ERROR_CODES.DB_CONNECT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.connection.connect_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_DISCONNECT_FAILED]: {\n code: ERROR_CODES.DB_DISCONNECT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.connection.disconnect_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INIT_FAILED]: {\n code: ERROR_CODES.DB_INIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.connection.init_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // Query & Execution\n [ERROR_CODES.DB_QUERY_FAILED]: {\n code: ERROR_CODES.DB_QUERY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.query.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_BUILD_WHERE_FAILED]: {\n code: ERROR_CODES.DB_BUILD_WHERE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.query.build_where_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_SQL]: {\n code: ERROR_CODES.DB_INVALID_SQL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.query.invalid_sql',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_TRANSACTION_FAILED]: {\n code: ERROR_CODES.DB_TRANSACTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.query.transaction_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_UNSUPPORTED_OPERATOR]: {\n code: ERROR_CODES.DB_UNSUPPORTED_OPERATOR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.query.unsupported_operator',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // CRUD Operations\n [ERROR_CODES.DB_CREATE_FAILED]: {\n code: ERROR_CODES.DB_CREATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.create_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_CREATION_FAILED]: {\n code: ERROR_CODES.DB_CREATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.create_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FETCH_FAILED]: {\n code: ERROR_CODES.DB_FETCH_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.fetch_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FIND_FAILED]: {\n code: ERROR_CODES.DB_FIND_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.find_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FIND_MANY_FAILED]: {\n code: ERROR_CODES.DB_FIND_MANY_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.find_many_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_FIND_BY_ID_FAILED]: {\n code: ERROR_CODES.DB_FIND_BY_ID_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.find_by_id_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_UPDATE_FAILED]: {\n code: ERROR_CODES.DB_UPDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.update_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_UPDATE_NO_CHANGES]: {\n code: ERROR_CODES.DB_UPDATE_NO_CHANGES,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.crud.update_no_changes',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.DB_DELETE_FAILED]: {\n code: ERROR_CODES.DB_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.delete_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_INSERT_FAILED]: {\n code: ERROR_CODES.DB_INSERT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.insert_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_RECORD_NOT_FOUND]: {\n code: ERROR_CODES.DB_RECORD_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.crud.record_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_EXISTS_FAILED]: {\n code: ERROR_CODES.DB_EXISTS_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.crud.exists_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // Schema & Columns\n [ERROR_CODES.DB_COLUMN_NOT_EXISTS]: {\n code: ERROR_CODES.DB_COLUMN_NOT_EXISTS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.schema.column_not_exists',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_TABLE_NOT_REGISTERED]: {\n code: ERROR_CODES.DB_TABLE_NOT_REGISTERED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.table_not_registered',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_TABLE_REGISTRATION_FAILED]: {\n code: ERROR_CODES.DB_TABLE_REGISTRATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.table_registration_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_ID_COLUMN_NOT_REGISTERED]: {\n code: ERROR_CODES.DB_ID_COLUMN_NOT_REGISTERED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.id_column_not_registered',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_COLUMN]: {\n code: ERROR_CODES.DB_INVALID_COLUMN,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.schema.invalid_column',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_TABLE_NAME]: {\n code: ERROR_CODES.DB_INVALID_TABLE_NAME,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.schema.invalid_table_name',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_GET_ID_COLUMN_FAILED]: {\n code: ERROR_CODES.DB_GET_ID_COLUMN_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.get_id_column_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_GET_TABLE_FAILED]: {\n code: ERROR_CODES.DB_GET_TABLE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.schema.get_table_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // Validation & Parameters\n [ERROR_CODES.DB_INVALID_PARAMETERS]: {\n code: ERROR_CODES.DB_INVALID_PARAMETERS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_parameters',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_PARAMS]: {\n code: ERROR_CODES.DB_INVALID_PARAMS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_parameters',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_FILTER]: {\n code: ERROR_CODES.DB_INVALID_FILTER,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_filter',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_ID]: {\n code: ERROR_CODES.DB_INVALID_ID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_id',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_ENTITY]: {\n code: ERROR_CODES.DB_INVALID_ENTITY,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_entity',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_UPDATE_PARAMS]: {\n code: ERROR_CODES.DB_INVALID_UPDATE_PARAMS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_update_params',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_FIELD_NAME]: {\n code: ERROR_CODES.DB_INVALID_FIELD_NAME,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.invalid_field_name',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_RESULT]: {\n code: ERROR_CODES.DB_INVALID_RESULT,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.validation.invalid_result',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_NO_UPDATE_FIELDS]: {\n code: ERROR_CODES.DB_NO_UPDATE_FIELDS,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.validation.no_update_fields',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Count & Data\n [ERROR_CODES.DB_COUNT_FAILED]: {\n code: ERROR_CODES.DB_COUNT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.count.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_COUNT_NO_RESULTS]: {\n code: ERROR_CODES.DB_COUNT_NO_RESULTS,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.count.no_results',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_NO_DATA]: {\n code: ERROR_CODES.DB_NO_DATA,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.count.no_results',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Multi-tenant Context\n [ERROR_CODES.DB_NO_TENANT_CONTEXT]: {\n code: ERROR_CODES.DB_NO_TENANT_CONTEXT,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.tenant.no_context',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_NO_TENANT_ID]: {\n code: ERROR_CODES.DB_NO_TENANT_ID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.tenant.no_tenant_id',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_TENANT_VALIDATION_FAILED]: {\n code: ERROR_CODES.DB_TENANT_VALIDATION_FAILED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Authorization,\n userMessage: 'db.tenant.validation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // Backup & Restore\n [ERROR_CODES.DB_BACKUP_CLEANUP_FAILED]: {\n code: ERROR_CODES.DB_BACKUP_CLEANUP_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.backup.cleanup_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_BACKUP_FILE_NOT_FOUND]: {\n code: ERROR_CODES.DB_BACKUP_FILE_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.backup.file_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_LIST_BACKUPS_FAILED]: {\n code: ERROR_CODES.DB_LIST_BACKUPS_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.backup.list_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_BACKUP_INFO]: {\n code: ERROR_CODES.DB_INVALID_BACKUP_INFO,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.backup.invalid_info',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_RESTORE_FAILED]: {\n code: ERROR_CODES.DB_RESTORE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.backup.restore_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // Cache Operations\n [ERROR_CODES.DB_CACHE_DELETE_FAILED]: {\n code: ERROR_CODES.DB_CACHE_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.delete_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_HEALTH_CHECK_FAILED]: {\n code: ERROR_CODES.DB_CACHE_HEALTH_CHECK_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.health_check_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_INVALIDATE_FAILED]: {\n code: ERROR_CODES.DB_CACHE_INVALIDATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.invalidate_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_SET_FAILED]: {\n code: ERROR_CODES.DB_CACHE_SET_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.set_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n [ERROR_CODES.DB_CACHE_GET_FAILED]: {\n code: ERROR_CODES.DB_CACHE_GET_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'db.cache.get_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // File & Storage\n [ERROR_CODES.DB_INVALID_FILEPATH]: {\n code: ERROR_CODES.DB_INVALID_FILEPATH,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.file.invalid_filepath',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_S3_DELETE_FAILED]: {\n code: ERROR_CODES.DB_S3_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.file.s3_delete_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_S3_DOWNLOAD_FAILED]: {\n code: ERROR_CODES.DB_S3_DOWNLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.file.s3_download_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_S3_NOT_CONFIGURED]: {\n code: ERROR_CODES.DB_S3_NOT_CONFIGURED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'db.file.s3_not_configured',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_S3_UPLOAD_FAILED]: {\n code: ERROR_CODES.DB_S3_UPLOAD_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.file.s3_upload_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.timeout',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_NETWORK_ERROR]: {\n code: ERROR_CODES.PAYMENT_NETWORK_ERROR,\n status: HTTP_STATUS.NETWORK_AUTHENTICATION_REQUIRED,\n category: ERROR_CATEGORY.Network,\n userMessage: 'errors.payment.network_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Misc\n [ERROR_CODES.DB_SCHEDULE_SETUP_FAILED]: {\n code: ERROR_CODES.DB_SCHEDULE_SETUP_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.misc.schedule_setup_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_DECRYPTION_FAILED]: {\n code: ERROR_CODES.DB_DECRYPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.misc.decryption_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_SHELL_ARG]: {\n code: ERROR_CODES.DB_INVALID_SHELL_ARG,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_shell_arg',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_BETWEEN_OPERATOR]: {\n code: ERROR_CODES.DB_INVALID_BETWEEN_OPERATOR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_between_operator',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_IN_OPERATOR]: {\n code: ERROR_CODES.DB_INVALID_IN_OPERATOR,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_in_operator',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_INVALID_COUNT]: {\n code: ERROR_CODES.DB_INVALID_COUNT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.misc.invalid_count',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // ===== Payments Package Error Definitions =====\n // ===== Refund Errors =====\n [ERROR_CODES.PAYMENT_REFUND_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_NOT_FOUND]: {\n code: ERROR_CODES.PAYMENT_REFUND_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED]: {\n code: ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.already_processed',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID]: {\n code: ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.refund.amount_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.refund.validation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_REFUND_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_REFUND_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.refund.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_REFUND_NOT_ALLOWED]: {\n code: ERROR_CODES.PAYMENT_REFUND_NOT_ALLOWED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.not_allowed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_REFUND_AUTHORIZATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_AUTHORIZATION_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authorization,\n userMessage: 'errors.payment.refund.authorization_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_REFUND_PROCESSING_FAILED]: {\n code: ERROR_CODES.PAYMENT_REFUND_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Refund,\n userMessage: 'errors.payment.refund.processing_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // ===== Provider Errors =====\n [ERROR_CODES.PAYMENT_PROVIDER_ERROR]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.generic',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.unavailable',\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.provider.invalid_config',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.invalid_response',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.provider.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.provider.auth_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // ===== Compliance Errors =====\n [ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.violation',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.check_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Limits,\n userMessage: 'errors.payment.compliance.limit_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.compliance.policy_missing',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_KYC_REQUIRED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_KYC_REQUIRED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.kyc_required',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_GEOGRAPHIC_RESTRICTION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.geographic_restriction',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // ===== Security Errors =====\n [ERROR_CODES.PAYMENT_SECURITY_VIOLATION]: {\n code: ERROR_CODES.PAYMENT_SECURITY_VIOLATION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.security.violation',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID]: {\n code: ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.security.invalid_signature',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED]: {\n code: ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.security.encryption_failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED]: {\n code: ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Fraud,\n userMessage: 'errors.payment.security.fraud_detected',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID]: {\n code: ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.security.token_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.PAYMENT_SECURITY_VELOCITY_LIMIT_EXCEEDED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Security,\n severity: ERROR_SEVERITY.Medium,\n userMessage: 'errors.payment.security.velocity_limit_exceed',\n retryable: false,\n },\n\n // ===== Validation Errors =====\n [ERROR_CODES.PAYMENT_VALIDATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_FAILED,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.amount_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.currency_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.metadata_invalid',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD]: {\n code: ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.validation.required_field_missing',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // ===== Webhook Errors =====\n [ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.signature_invalid',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.processing_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.webhook.validation_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.unsupported_event_type',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND]: {\n code: ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.Webhook,\n userMessage: 'errors.payment.webhook.handler_not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // ===== Payment Adapter & Core Errors =====\n [ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.init_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.shutdown_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.adapter.hmac_computation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_provider',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_environment',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.adapter.missing_credentials',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_webhook_url',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.adapter.missing_unregister_endpoint',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.unsupported_operation',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED]: {\n code: ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.adapter.response_mapping_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n // ===== Idempotency & State Management =====\n [ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION]: {\n code: ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.idempotency.violation',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING]: {\n code: ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.idempotency.key_missing',\n severity: ERROR_SEVERITY.Low,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR]: {\n code: ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Cache,\n userMessage: 'errors.payment.idempotency.store_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // ===== Routing & Strategy =====\n [ERROR_CODES.PAYMENT_ROUTING_FAILED]: {\n code: ERROR_CODES.PAYMENT_ROUTING_FAILED,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Strategy,\n userMessage: 'errors.payment.routing.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID]: {\n code: ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Configuration,\n userMessage: 'errors.payment.routing.configuration_invalid',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE]: {\n code: ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.routing.provider_unavailable',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n // Connection & Network\n [ERROR_CODES.DB_CONNECTION_FAILED]: {\n code: ERROR_CODES.DB_CONNECTION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Network,\n userMessage: 'db.connection.failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_CONNECTION_ERROR]: {\n code: ERROR_CODES.DB_CONNECTION_ERROR,\n status: HTTP_STATUS.SERVICE_UNAVAILABLE,\n category: ERROR_CATEGORY.Network,\n userMessage: 'db.connection.error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_MULTI_WRITE_FAILED]: {\n code: ERROR_CODES.DB_MULTI_WRITE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Database,\n userMessage: 'db.multi_write.failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.DB_TIMEOUT]: {\n code: ERROR_CODES.DB_TIMEOUT,\n status: HTTP_STATUS.REQUEST_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'db.connection.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Constraints & Integrity\n [ERROR_CODES.DB_CONSTRAINT_VIOLATION]: {\n code: ERROR_CODES.DB_CONSTRAINT_VIOLATION,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.constraint.violation',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n [ERROR_CODES.DB_DEADLOCK]: {\n code: ERROR_CODES.DB_DEADLOCK,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.constraint.deadlock',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n [ERROR_CODES.DB_DUPLICATE_ENTRY]: {\n code: ERROR_CODES.DB_DUPLICATE_ENTRY,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'db.constraint.duplicate_entry',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Entity Operations\n [ERROR_CODES.DB_ENTITY_NOT_FOUND]: {\n code: ERROR_CODES.DB_ENTITY_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'db.entity.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // Migration & Schema\n [ERROR_CODES.DB_MIGRATION_FAILED]: {\n code: ERROR_CODES.DB_MIGRATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Server,\n userMessage: 'db.migration.failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // General\n [ERROR_CODES.DB_UNKNOWN_ERROR]: {\n code: ERROR_CODES.DB_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n userMessage: 'db.unknown_error',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED]: {\n code: ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.Retry,\n userMessage: 'errors.payment.routing.retry_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED]: {\n code: ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.system.not_initialized',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.context.operation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_INTERNAL_ERROR]: {\n code: ERROR_CODES.PAYMENT_INTERNAL_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.internal_error',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_UNKNOWN_ERROR]: {\n code: ERROR_CODES.PAYMENT_UNKNOWN_ERROR,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Unknown,\n userMessage: 'errors.payment.unknown_error',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n // ===== Event Lifecycle Errors =====\n [ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED]: {\n code: ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.event.emit_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE]: {\n code: ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.event.invalid_type',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.event.creation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.event.handler_timeout',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT]: {\n code: ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.event.handler_invalid_result',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE]: {\n code: ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.event.lifecycle_failure',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n [ERROR_CODES.PAYMENT_COMPLIANCE_AML_CHECK_FAILED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_AML_CHECK_FAILED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.aml_check_failed',\n severity: ERROR_SEVERITY.High,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_PSD2_STRONG_AUTH_REQUIRED]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_PSD2_STRONG_AUTH_REQUIRED,\n status: HTTP_STATUS.UNAUTHORIZED,\n category: ERROR_CATEGORY.Authentication,\n userMessage: 'errors.payment.compliance.psd2_strong_auth_required',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_GDPR_DATA_ACCESS]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_GDPR_DATA_ACCESS,\n status: HTTP_STATUS.UNAVAILABLE_FOR_LEGAL_REASONS,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.compliance.gdpr_data_access',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_PCI_COMPLIANCE]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_PCI_COMPLIANCE,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Security,\n userMessage: 'errors.payment.compliance.pci_compliance',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_COMPLIANCE_LOCAL_BANKING_RESTRICTION]: {\n code: ERROR_CODES.PAYMENT_COMPLIANCE_LOCAL_BANKING_RESTRICTION,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Regional,\n userMessage: 'errors.payment.compliance.local_banking_restriction',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n // === Processing Errors ===\n\n [ERROR_CODES.PAYMENT_PROCESSING_FAILED]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.processing.failed',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.processing.timeout',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.processing.gateway_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.processing.duplicate',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE]: {\n code: ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE,\n status: HTTP_STATUS.UNPROCESSABLE_ENTITY,\n category: ERROR_CATEGORY.System,\n userMessage: 'errors.payment.processing.unexpected_state',\n severity: ERROR_SEVERITY.Critical,\n retryable: false,\n },\n\n [ERROR_CODES.PAYMENT_PROVIDER_RATE_LIMIT]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_RATE_LIMIT,\n status: HTTP_STATUS.TOO_MANY_REQUESTS,\n category: ERROR_CATEGORY.RateLimit,\n userMessage: 'errors.payment.provider.rate_limit',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PROVIDER_UNKNOWN]: {\n code: ERROR_CODES.PAYMENT_PROVIDER_UNKNOWN,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.provider.unknown',\n severity: ERROR_SEVERITY.Critical,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_CUSTOMER_CREATION_FAILED]: {\n code: ERROR_CODES.PAYMENT_CUSTOMER_CREATION_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.customer.creation_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_METHOD_SAVE_FAILED]: {\n code: ERROR_CODES.PAYMENT_METHOD_SAVE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.method.save_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_METHOD_DELETE_FAILED]: {\n code: ERROR_CODES.PAYMENT_METHOD_DELETE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.method.delete_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_SUBSCRIPTION_CREATE_FAILED]: {\n code: ERROR_CODES.PAYMENT_SUBSCRIPTION_CREATE_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.subscription.create_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_SUBSCRIPTION_CANCEL_FAILED]: {\n code: ERROR_CODES.PAYMENT_SUBSCRIPTION_CANCEL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.subscription.cancel_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_PAYOUT_FAILED]: {\n code: ERROR_CODES.PAYMENT_PAYOUT_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.payout.failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED]: {\n code: ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Processing,\n userMessage: 'errors.payment.transaction.history.fetch_failed',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n // ===== Unsupported Operations =====\n [ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED]: {\n code: ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.method.save_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED]: {\n code: ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.method.delete_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED]: {\n code: ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.method.get_user_methods_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED]: {\n code: ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.subscription.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED]: {\n code: ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.subscription.cancel_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED]: {\n code: ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.payout.unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED]: {\n code: ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.transaction.history_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n // Withdrawal Errors\n [ERROR_CODES.WITHDRAWAL_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.process_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.status_fetch_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED]: {\n code: ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.cancel_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE]: {\n code: ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Limits,\n userMessage: 'errors.payment.withdrawal.insufficient_balance',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT]: {\n code: ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.withdrawal.invalid_account',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_KYC_REQUIRED]: {\n code: ERROR_CODES.WITHDRAWAL_KYC_REQUIRED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Compliance,\n userMessage: 'errors.payment.withdrawal.kyc_required',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED]: {\n code: ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED,\n status: HTTP_STATUS.FORBIDDEN,\n category: ERROR_CATEGORY.Limits,\n userMessage: 'errors.payment.withdrawal.limit_exceeded',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR]: {\n code: ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.provider_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.WITHDRAWAL_FAILED]: {\n code: ERROR_CODES.WITHDRAWAL_FAILED,\n status: HTTP_STATUS.INTERNAL_SERVER_ERROR,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.withdrawal.failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.WITHDRAWAL_TIMEOUT]: {\n code: ERROR_CODES.WITHDRAWAL_TIMEOUT,\n status: HTTP_STATUS.GATEWAY_TIMEOUT,\n category: ERROR_CATEGORY.Timeout,\n userMessage: 'errors.payment.withdrawal.timeout',\n severity: ERROR_SEVERITY.Medium,\n retryable: true,\n },\n\n // Product Errors\n [ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.update_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.fetch_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.deactivate_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_NOT_FOUND]: {\n code: ERROR_CODES.PRODUCT_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.payment.product.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_INVALID_DATA]: {\n code: ERROR_CODES.PRODUCT_INVALID_DATA,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.product.invalid_data',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_PROVIDER_ERROR]: {\n code: ERROR_CODES.PRODUCT_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.provider_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PRODUCT_ALREADY_INACTIVE]: {\n code: ERROR_CODES.PRODUCT_ALREADY_INACTIVE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.payment.product.already_inactive',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRODUCT_SYNC_FAILED]: {\n code: ERROR_CODES.PRODUCT_SYNC_FAILED,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.product.sync_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n // Pricing Errors\n [ERROR_CODES.PRICING_CREATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRICING_CREATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.create_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_UPDATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRICING_UPDATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.update_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED]: {\n code: ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED,\n status: HTTP_STATUS.NOT_IMPLEMENTED,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.deactivate_unsupported',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_NOT_FOUND]: {\n code: ERROR_CODES.PRICING_NOT_FOUND,\n status: HTTP_STATUS.NOT_FOUND,\n category: ERROR_CATEGORY.NotFound,\n userMessage: 'errors.payment.pricing.not_found',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_INVALID_AMOUNT]: {\n code: ERROR_CODES.PRICING_INVALID_AMOUNT,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.pricing.invalid_amount',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_INVALID_CURRENCY]: {\n code: ERROR_CODES.PRICING_INVALID_CURRENCY,\n status: HTTP_STATUS.BAD_REQUEST,\n category: ERROR_CATEGORY.Validation,\n userMessage: 'errors.payment.pricing.invalid_currency',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_PROVIDER_ERROR]: {\n code: ERROR_CODES.PRICING_PROVIDER_ERROR,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.provider_error',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PRICING_ALREADY_INACTIVE]: {\n code: ERROR_CODES.PRICING_ALREADY_INACTIVE,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.payment.pricing.already_inactive',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n\n [ERROR_CODES.PRICING_SYNC_FAILED]: {\n code: ERROR_CODES.PRICING_SYNC_FAILED,\n status: HTTP_STATUS.BAD_GATEWAY,\n category: ERROR_CATEGORY.Provider,\n userMessage: 'errors.payment.pricing.sync_failed',\n severity: ERROR_SEVERITY.High,\n retryable: true,\n },\n\n [ERROR_CODES.PRICING_REQUIRES_NEW_VERSION]: {\n code: ERROR_CODES.PRICING_REQUIRES_NEW_VERSION,\n status: HTTP_STATUS.CONFLICT,\n category: ERROR_CATEGORY.Conflict,\n userMessage: 'errors.payment.pricing.requires_new_version',\n severity: ERROR_SEVERITY.Medium,\n retryable: false,\n },\n};\n","/**\n * Enum representing the types of events in the application.\n * Uses dot notation for event naming convention.\n *\n * @example\n * ```typescript\n * import { EVENT_TYPE } from '@plyaz/types';\n *\n * const eventType = EVENT_TYPE.AppInit; // 'app.init'\n * ```\n */\nexport const EVENT_TYPE = {\n /** Application initialization event. */\n AppInit: 'app.init',\n} as const;\n\n/**\n * Const representing the priority levels for events.\n * Used to determine processing order and resource allocation.\n *\n * @example\n * ```typescript\n * import { EVENT_PRIORITY } from '@plyaz/types';\n *\n * const priority = EVENT_PRIORITY.High; // 'high'\n * ```\n */\nexport const EVENT_PRIORITY = {\n /** Low priority event. */\n Low: 'low',\n /** Normal priority event. */\n Normal: 'normal',\n /** High priority event. */\n High: 'high',\n /** Critical priority event. */\n Critical: 'critical',\n} as const;\n\n/**\n * Const representing the status of an event.\n * Tracks the lifecycle of event processing from creation to completion.\n *\n * @example\n * ```typescript\n * import { EVENT_STATUS } from '@plyaz/types';\n *\n * const status = EVENT_STATUS.Processing; // 'processing'\n *\n * // Typical event lifecycle:\n * // Pending -> Processing -> Completed\n * // or\n * // Pending -> Processing -> Failed -> Retrying -> Processing -> Completed\n * ```\n */\nexport const EVENT_STATUS = {\n /** Event is pending and has not started processing. */\n Pending: 'pending',\n /** Event is currently being processed. */\n Processing: 'processing',\n /** Event has been completed successfully. */\n Completed: 'completed',\n /** Event processing failed. */\n Failed: 'failed',\n /** Event is being retried after a failure. */\n Retrying: 'retrying',\n} as const;\n","/**\n * Locale and Currency Types\n *\n * Type definitions for internationalization and currency handling.\n *\n * @module locale/types\n */\n\n/**\n * Common currency codes (ISO 4217)\n */\nexport const CURRENCY_CODES = {\n // Major currencies\n USD: 'USD', // US Dollar\n EUR: 'EUR', // Euro\n GBP: 'GBP', // British Pound Sterling\n JPY: 'JPY', // Japanese Yen\n CHF: 'CHF', // Swiss Franc\n CAD: 'CAD', // Canadian Dollar\n AUD: 'AUD', // Australian Dollar\n CNY: 'CNY', // Chinese Yuan Renminbi\n\n // Asian currencies\n INR: 'INR', // Indian Rupee\n KRW: 'KRW', // South Korean Won\n SGD: 'SGD', // Singapore Dollar\n HKD: 'HKD', // Hong Kong Dollar\n TWD: 'TWD', // Taiwan New Dollar\n THB: 'THB', // Thai Baht\n IDR: 'IDR', // Indonesian Rupiah\n MYR: 'MYR', // Malaysian Ringgit\n PHP: 'PHP', // Philippine Peso\n VND: 'VND', // Vietnamese Dong\n BDT: 'BDT', // Bangladeshi Taka\n PKR: 'PKR', // Pakistani Rupee\n LKR: 'LKR', // Sri Lankan Rupee\n\n // European currencies\n SEK: 'SEK', // Swedish Krona\n NOK: 'NOK', // Norwegian Krone\n DKK: 'DKK', // Danish Krone\n PLN: 'PLN', // Polish Zloty\n CZK: 'CZK', // Czech Koruna\n HUF: 'HUF', // Hungarian Forint\n RON: 'RON', // Romanian Leu\n BGN: 'BGN', // Bulgarian Lev\n HRK: 'HRK', // Croatian Kuna\n RSD: 'RSD', // Serbian Dinar\n ISK: 'ISK', // Icelandic Króna\n\n // Americas currencies\n BRL: 'BRL', // Brazilian Real\n MXN: 'MXN', // Mexican Peso\n ARS: 'ARS', // Argentine Peso\n CLP: 'CLP', // Chilean Peso\n COP: 'COP', // Colombian Peso\n PEN: 'PEN', // Peruvian Sol\n UYU: 'UYU', // Uruguayan Peso\n VES: 'VES', // Venezuelan Bolívar\n BOB: 'BOB', // Bolivian Boliviano\n PYG: 'PYG', // Paraguayan Guarani\n CRC: 'CRC', // Costa Rican Colón\n GTQ: 'GTQ', // Guatemalan Quetzal\n HNL: 'HNL', // Honduran Lempira\n NIO: 'NIO', // Nicaraguan Córdoba\n PAB: 'PAB', // Panamanian Balboa\n DOP: 'DOP', // Dominican Peso\n JMD: 'JMD', // Jamaican Dollar\n TTD: 'TTD', // Trinidad and Tobago Dollar\n BBD: 'BBD', // Barbadian Dollar\n\n // Middle Eastern currencies\n AED: 'AED', // UAE Dirham\n SAR: 'SAR', // Saudi Riyal\n QAR: 'QAR', // Qatari Riyal\n KWD: 'KWD', // Kuwaiti Dinar\n BHD: 'BHD', // Bahraini Dinar\n OMR: 'OMR', // Omani Rial\n JOD: 'JOD', // Jordanian Dinar\n ILS: 'ILS', // Israeli New Shekel\n TRY: 'TRY', // Turkish Lira\n IQD: 'IQD', // Iraqi Dinar\n IRR: 'IRR', // Iranian Rial\n LBP: 'LBP', // Lebanese Pound\n SYP: 'SYP', // Syrian Pound\n\n // African currencies\n ZAR: 'ZAR', // South African Rand\n NGN: 'NGN', // Nigerian Naira\n EGP: 'EGP', // Egyptian Pound\n KES: 'KES', // Kenyan Shilling\n GHS: 'GHS', // Ghanaian Cedi\n MAD: 'MAD', // Moroccan Dirham\n TND: 'TND', // Tunisian Dinar\n DZD: 'DZD', // Algerian Dinar\n ETB: 'ETB', // Ethiopian Birr\n TZS: 'TZS', // Tanzanian Shilling\n UGX: 'UGX', // Ugandan Shilling\n ZMW: 'ZMW', // Zambian Kwacha\n BWP: 'BWP', // Botswana Pula\n MUR: 'MUR', // Mauritian Rupee\n\n // Pacific currencies\n NZD: 'NZD', // New Zealand Dollar\n FJD: 'FJD', // Fijian Dollar\n PGK: 'PGK', // Papua New Guinean Kina\n\n // Former Soviet Union currencies\n RUB: 'RUB', // Russian Ruble\n UAH: 'UAH', // Ukrainian Hryvnia\n BYN: 'BYN', // Belarusian Ruble\n KZT: 'KZT', // Kazakhstani Tenge\n UZS: 'UZS', // Uzbekistani Som\n AZN: 'AZN', // Azerbaijani Manat\n GEL: 'GEL', // Georgian Lari\n AMD: 'AMD', // Armenian Dram\n\n // Cryptocurrency representations (unofficial)\n BTC: 'BTC', // Bitcoin\n ETH: 'ETH', // Ethereum\n USDT: 'USDT', // Tether\n USDC: 'USDC', // USD Coin\n} as const;\n\n/**\n * ISO 4217 Currency Code type\n */\nexport type CurrencyCode = (typeof CURRENCY_CODES)[keyof typeof CURRENCY_CODES];\n","/**\n * Enum representing supported EVM-compatible blockchain networks by their numeric chain IDs.\n * @description These IDs are used to identify the specific network when interacting with wallets or smart contracts.\n * @see https://chainlist.org for reference chain IDs\n *\n * @example\n * ```typescript\n * import { CHAIN_ID } from '@plyaz/types';\n *\n * const chainId = CHAIN_ID.EthereumMainnet; // 1\n * const isTestnet = chainId === CHAIN_ID.EthereumSepolia || chainId === CHAIN_ID.PolygonAmoy;\n * ```\n */\nexport const CHAIN_ID = {\n /** Ethereum Mainnet (Chain ID: 1). */\n EthereumMainnet: 1,\n\n /** Ethereum Sepolia Testnet (Chain ID: 11155111). */\n EthereumSepolia: 11_155_111,\n\n /** Optimism Mainnet (Chain ID: 10). */\n Optimism: 10,\n\n /** Optimism Sepolia Testnet (Chain ID: 11155420). */\n OptimismSepolia: 11_155_420,\n\n /** Arbitrum One Mainnet (Chain ID: 42161). */\n Arbitrum: 42_161,\n\n /** Arbitrum Sepolia Testnet (Chain ID: 421614). */\n ArbitrumSepolia: 421_614,\n\n /** Polygon Mainnet (Chain ID: 137). */\n Polygon: 137,\n\n /** Polygon Amoy Testnet (Chain ID: 80002). */\n PolygonAmoy: 80_002,\n\n /** Base Mainnet (Chain ID: 8453). */\n Base: 8_453,\n\n /** Base Sepolia Testnet (Chain ID: 84532). */\n BaseSepolia: 84_532,\n} as const;\n","/**\n * Object containing all supported country codes and their corresponding values.\n * Primarily covers European Union countries plus additional regions.\n */\nexport const COUNTRIES = {\n unitedKingdom: 'unitedKingdom',\n germany: 'germany',\n france: 'france',\n spain: 'spain',\n italy: 'italy',\n netherlands: 'netherlands',\n belgium: 'belgium',\n austria: 'austria',\n switzerland: 'switzerland',\n sweden: 'sweden',\n norway: 'norway',\n denmark: 'denmark',\n finland: 'finland',\n portugal: 'portugal',\n ireland: 'ireland',\n poland: 'poland',\n czechRepublic: 'czechRepublic',\n hungary: 'hungary',\n romania: 'romania',\n bulgaria: 'bulgaria',\n croatia: 'croatia',\n slovenia: 'slovenia',\n slovakia: 'slovakia',\n estonia: 'estonia',\n latvia: 'latvia',\n lithuania: 'lithuania',\n greece: 'greece',\n cyprus: 'cyprus',\n malta: 'malta',\n luxembourg: 'luxembourg',\n other: 'other',\n} as const;\n\n/**\n * Enum containing error message keys for basic profile form validation.\n * Contains localized error message keys that map to translation strings.\n */\nexport enum BASIC_PROFILE_ERRORS {\n /** Error when name is below minimum length */\n NameMin = 'components.BasicProfileForm.errors.nameMin',\n /** Error when name exceeds maximum length */\n NameMax = 'components.BasicProfileForm.errors.nameMax',\n /** Error when email format is invalid */\n EmailValid = 'components.BasicProfileForm.errors.emailValid',\n /** Error when email is required but not provided */\n EmailRequired = 'components.BasicProfileForm.errors.emailRequired',\n /** Error when country is required but not selected */\n CountryRequired = 'components.BasicProfileForm.errors.countryRequired',\n /** Error when bio exceeds maximum length */\n BioMax = 'components.BasicProfileForm.errors.bioMax',\n /** Error when profile image size exceeds limit */\n ProfileImageSize = 'components.BasicProfileForm.errors.profileImageSize',\n /** Error when profile image type is not supported */\n ProfileImageTypes = 'components.BasicProfileForm.errors.profileImageTypes',\n}\n\n/**\n * Enum containing error message keys for athlete profile form validation.\n * Contains localized error message keys that map to translation strings.\n */\nexport enum ATHLETE_PROFILE_ERRORS {\n /** Error when date of birth is too recent (maximum age validation) */\n DobMax = 'components.AthleteProfileForm.errors.dobMax',\n /** Error when date of birth is too old (minimum age validation) */\n DobMin = 'components.AthleteProfileForm.errors.dobMin',\n /** Error when height is below minimum value */\n HeightMin = 'components.AthleteProfileForm.errors.heightMin',\n /** Error when height exceeds maximum value */\n HeightMax = 'components.AthleteProfileForm.errors.heightMax',\n /** Error when height format is invalid */\n HeightInvalid = 'components.AthleteProfileForm.errors.heightInvalid',\n /** Error when weight is below minimum value */\n WeightMin = 'components.AthleteProfileForm.errors.weightMin',\n /** Error when weight exceeds maximum value */\n WeightMax = 'components.AthleteProfileForm.errors.weightMax',\n /** Error when weight format is invalid */\n WeightInvalid = 'components.AthleteProfileForm.errors.weightInvalid',\n /** Error when position is below minimum length */\n PositionMin = 'components.AthleteProfileForm.errors.positionMin',\n /** Error when position exceeds maximum length */\n PositionMax = 'components.AthleteProfileForm.errors.positionMax',\n /** Error when team name is below minimum length */\n TeamMin = 'components.AthleteProfileForm.errors.teamMin',\n /** Error when team name exceeds maximum length */\n TeamMax = 'components.AthleteProfileForm.errors.teamMax',\n /** Error when Instagram handle format is invalid */\n InstagramInvalid = 'components.AthleteProfileForm.errors.instagramInvalid',\n /** Error when TikTok handle format is invalid */\n TiktokInvalid = 'components.AthleteProfileForm.errors.tiktokInvalid',\n /** Error when highlight image size exceeds limit */\n HighlightImageSize = 'components.AthleteProfileForm.errors.highlightImageSize',\n /** Error when highlight image type is not supported */\n HighlightImageTypes = 'components.AthleteProfileForm.errors.highlightImageTypes',\n}\n\n/**\n * Type representing all possible error keys for basic profile form validation\n */\nexport type BasicProfileErrorKey = keyof typeof BASIC_PROFILE_ERRORS;\n\n/**\n * Type representing all possible error keys for athlete profile form validation\n */\nexport type AthleteProfileErrorKey = keyof typeof ATHLETE_PROFILE_ERRORS;\n","/* eslint-disable no-magic-numbers */\nimport { z } from 'zod';\nimport { ATHLETE_PROFILE_ERRORS, BASIC_PROFILE_ERRORS } from './enums';\n\nconst MIN_NAME_LENGTH = 2;\nconst MAX_NAME_LENGTH = 50;\nconst MAX_BIO_LENGTH = 275;\n\n/**\n * Zod schema for basic profile form validation.\n * Validates common user profile fields including name, email, country, bio, and profile image.\n */\nexport const basicProfileSchema = z.object({\n name: z\n .string()\n .min(MIN_NAME_LENGTH, BASIC_PROFILE_ERRORS.NameMin)\n .max(MAX_NAME_LENGTH, BASIC_PROFILE_ERRORS.NameMax),\n email: z\n .string()\n .email(BASIC_PROFILE_ERRORS.EmailValid)\n .min(1, BASIC_PROFILE_ERRORS.EmailRequired),\n country: z.string().min(1, BASIC_PROFILE_ERRORS.CountryRequired),\n bio: z.string().max(MAX_BIO_LENGTH, BASIC_PROFILE_ERRORS.BioMax).optional(),\n profileImage: z\n .union([\n z\n .instanceof(File)\n .refine(\n file => file.size <= 5 * 1024 * 1024, // 5MB\n BASIC_PROFILE_ERRORS.ProfileImageSize\n )\n .refine(\n file => ['image/png', 'image/jpeg', 'image/jpg', 'image/webp'].includes(file.type),\n BASIC_PROFILE_ERRORS.ProfileImageTypes\n ),\n z.string(),\n z.null(),\n ])\n .optional(),\n});\n\n/**\n * Zod schema for fan profile form validation.\n * Extends basicProfileSchema without additional fields.\n */\nexport const fanProfileSchema = basicProfileSchema.extend({});\n\n/**\n * Zod schema for athlete profile form validation.\n * Extends basicProfileSchema with athlete-specific fields including physical stats,\n * team information, social media handles, and highlight images.\n */\nexport const athleteProfileSchema = basicProfileSchema.extend({\n dateOfBirth: z\n .date()\n .max(new Date(), ATHLETE_PROFILE_ERRORS.DobMax)\n .min(new Date(1900, 0, 1), ATHLETE_PROFILE_ERRORS.DobMin)\n .optional(),\n height: z\n .number()\n .min(50, ATHLETE_PROFILE_ERRORS.HeightMin)\n .max(300, ATHLETE_PROFILE_ERRORS.HeightMax)\n .optional(),\n weight: z\n .number()\n .min(10, ATHLETE_PROFILE_ERRORS.WeightMin)\n .max(500, ATHLETE_PROFILE_ERRORS.WeightMax)\n .optional(),\n position: z\n .string()\n .min(2, ATHLETE_PROFILE_ERRORS.PositionMin)\n .max(50, ATHLETE_PROFILE_ERRORS.PositionMax)\n .optional(),\n teamName: z\n .string()\n .min(2, ATHLETE_PROFILE_ERRORS.TeamMin)\n .max(100, ATHLETE_PROFILE_ERRORS.TeamMax)\n .optional(),\n instagramHandle: z\n .string()\n .regex(/^$|^@?(?!.*\\.\\.)(?!.*\\.$)[a-zA-Z0-9._]{1,30}$/, ATHLETE_PROFILE_ERRORS.InstagramInvalid)\n .optional(),\n tiktokHandle: z\n .string()\n .regex(/^$|^@?[a-zA-Z0-9][a-zA-Z0-9._]{1,23}$/, ATHLETE_PROFILE_ERRORS.TiktokInvalid)\n .optional(),\n highlightImage: z\n .union([\n z\n .instanceof(File)\n .refine(\n file => file.size <= 5 * 1024 * 1024, // 5MB\n ATHLETE_PROFILE_ERRORS.HighlightImageSize\n )\n .refine(\n file => ['image/png', 'image/jpeg', 'image/jpg'].includes(file.type),\n ATHLETE_PROFILE_ERRORS.HighlightImageTypes\n ),\n z.string(),\n z.null(),\n ])\n .optional(),\n});\n\n/**\n * Type inferred from basicProfileSchema for basic profile form data\n */\nexport type BasicProfileFormData = z.infer<typeof basicProfileSchema>;\n\n/**\n * Type inferred from fanProfileSchema for fan profile form data\n */\nexport type FanProfileFormData = z.infer<typeof fanProfileSchema>;\n\n/**\n * Type inferred from athleteProfileSchema for athlete profile form data\n */\nexport type AthleteProfileFormData = z.infer<typeof athleteProfileSchema>;\n","/**\n * Enum containing error message keys for campaign creation form validation.\n * Contains localized error message keys that map to translation strings.\n */\nexport enum CREATE_CAMPAIGN_ERRORS {\n /** Error when campaign title is required but not provided */\n TitleRequired = 'components.CreateCampaign.Form.errors.titleRequired',\n /** Error when campaign title exceeds maximum length */\n TitleMax = 'components.CreateCampaign.Form.errors.titleMax',\n /** Error when campaign subtitle is required but not provided */\n SubtitleRequired = 'components.CreateCampaign.Form.errors.subtitleRequired',\n /** Error when campaign subtitle exceeds maximum length */\n SubtitleMax = 'components.CreateCampaign.Form.errors.subtitleMax',\n /** Error when campaign image is required but not provided */\n CampaignImageRequired = 'components.CreateCampaign.Form.errors.campaignImageRequired',\n /** Error when start date is required but not provided */\n StartDateRequired = 'components.CreateCampaign.Form.errors.startDateRequired',\n /** Error when start date format is invalid */\n StartDateInvalid = 'components.CreateCampaign.Form.errors.startDateInvalid',\n /** Error when start date is not in the future */\n StartDateFuture = 'components.CreateCampaign.Form.errors.startDateFuture',\n /** Error when campaign duration is required but not selected */\n DurationRequired = 'components.CreateCampaign.Form.errors.durationRequired',\n /** Error when campaign story is required but not provided */\n StoryRequired = 'components.CreateCampaign.Form.errors.storyRequired',\n /** Error when campaign story exceeds maximum length */\n StoryMax = 'components.CreateCampaign.Form.errors.storyMax',\n /** Error when video URL is from an unsupported provider */\n VideoInvalidProvider = 'components.CreateCampaign.Form.errors.videoInvalidProvider',\n /** Error when funding target is required but not provided */\n FundingRequired = 'components.CreateCampaign.Form.errors.fundingRequired',\n /** Error when funding target is outside allowed range */\n FundingRange = 'components.CreateCampaign.Form.errors.fundingRange',\n /** Error when Instagram handle exceeds maximum length */\n InstagramMax = 'components.CreateCampaign.Form.errors.instagramMax',\n /** Error when Instagram handle format is invalid */\n InstagramInvalid = 'components.CreateCampaign.Form.errors.instagramInvalid',\n /** Error when TikTok handle exceeds maximum length */\n TiktokMax = 'components.CreateCampaign.Form.errors.tiktokMax',\n /** Error when TikTok handle format is invalid */\n TiktokInvalid = 'components.CreateCampaign.Form.errors.tiktokInvalid',\n /** Error when YouTube handle exceeds maximum length */\n YoutubeMax = 'components.CreateCampaign.Form.errors.youtubeMax',\n /** Error when YouTube handle format is invalid */\n YoutubeInvalid = 'components.CreateCampaign.Form.errors.youtubeInvalid',\n}\n\n/**\n * Type representing all possible error keys for campaign creation form validation\n */\nexport type CreateCampaignErrorKey = keyof typeof CREATE_CAMPAIGN_ERRORS;\n","/* eslint-disable no-magic-numbers */\nimport { z } from 'zod';\n\nimport { CREATE_CAMPAIGN_ERRORS as ERR } from './enums';\n\n/**\n * Zod schema for campaign creation form validation.\n * Validates all required fields for creating a new campaign including:\n * - Basic info (title, subtitle, image)\n * - Timeline (start date, duration)\n * - Content (story, video highlight)\n * - Funding target\n * - Social media handles\n *\n * @param config - Configuration object\n * @param config.maxFunding - Maximum funding amount allowed for campaigns\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const formCampaignSchema = ({ maxFunding }: { maxFunding: number }) =>\n z.object({\n title: z.string().min(1, ERR.TitleRequired).max(60, ERR.TitleMax),\n subtitle: z.string().min(1, ERR.SubtitleRequired).max(200, ERR.SubtitleMax),\n campaignImage: z.any().refine(val => val instanceof File, {\n message: ERR.CampaignImageRequired,\n }),\n startDate: z\n .date({\n error: ERR.StartDateRequired,\n })\n .refine(date => date instanceof Date && !isNaN(date.getTime()), {\n message: ERR.StartDateInvalid,\n })\n .refine(date => date >= new Date(), {\n message: ERR.StartDateFuture,\n }),\n duration: z\n .union([z.literal(30), z.literal(60), z.literal(90)])\n .nullable()\n .refine(val => val !== null, {\n message: ERR.DurationRequired,\n }),\n story: z.string().min(1, ERR.StoryRequired).max(10000, ERR.StoryMax),\n videoHighlight: z\n .string()\n .refine(\n url => {\n if (!url || url.trim() === '') return true;\n try {\n const urlObj = new URL(url);\n const hostname = urlObj.hostname.toLowerCase();\n return (\n hostname.includes('youtube.com') ||\n hostname.includes('youtu.be') ||\n hostname.includes('tiktok.com') ||\n hostname.includes('vimeo.com')\n );\n } catch {\n return false;\n }\n },\n {\n message: ERR.VideoInvalidProvider,\n }\n )\n .optional(),\n fundingTarget: z\n .string()\n .min(1, ERR.FundingRequired)\n .refine(\n val => {\n const num = Number.parseFloat(val ?? '');\n return !isNaN(num) && num > 0 && num <= maxFunding;\n },\n {\n message: ERR.FundingRange,\n }\n ),\n instagramHandle: z\n .string()\n .max(30, ERR.InstagramMax)\n .regex(/^$|^@?(?!.*\\.\\.)(?!.*\\.$)[a-zA-Z0-9._]{1,30}$/, ERR.InstagramInvalid)\n .optional(),\n tiktokHandle: z\n .string()\n .max(24, ERR.TiktokMax)\n .regex(/^$|^@?[a-zA-Z0-9][a-zA-Z0-9._]{1,23}$/, ERR.TiktokInvalid)\n .optional(),\n youtubeHandle: z\n .string()\n .max(50, ERR.YoutubeMax)\n .regex(/^$|^@[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/, ERR.YoutubeInvalid)\n .optional(),\n });\n","/**\n * Standard service names for logger instances across packages\n *\n * These constants ensure consistency in service naming and prevent typos\n * when creating logger instances.\n */\nexport const LOGGER_SERVICES = {\n // API Package Services\n API_CLIENT: 'ApiClient',\n CLIENT_EVENT_MANAGER: 'ClientEventManager',\n INTERCEPTORS: 'Interceptors',\n PUB_SUB: 'PubSub',\n EVENT_MANAGER: 'EventManager',\n EVENT_QUEUE: 'EventQueue',\n CONFIG_QUEUE: 'ConfigQueue',\n OPERATION_TRACKER: 'OperationTracker',\n EXPRESS_FRAMEWORK: 'ExpressFramework',\n NESTJS_GUARD: 'NestJSGuard',\n NESTJS_INTERCEPTOR: 'NestJSInterceptor',\n NETWORK_CONFIGURATION: 'NetworkConfiguration',\n BASE_OPERATION_TRACKER: 'BaseOperationTracker',\n EVENT_QUEUE_MANAGER: 'EventQueueManager',\n QUEUE_ORCHESTRATOR: 'QueueOrchestrator',\n\n // Debug & Performance Services\n PERFORMANCE_MONITOR: 'PerformanceMonitor',\n DEBUG_REPORT: 'DebugReport',\n UNIFIED_DEBUGGER: 'UnifiedDebugger',\n DEBUGGER_QUEUE_MANAGER: 'DebuggerQueueManager',\n\n // Notification Package Services\n EMAIL_SERVICE: 'EmailService',\n SMS_SERVICE: 'SMSService',\n PUSH_SERVICE: 'PushService',\n WEBHOOK_SERVICE: 'WebhookService',\n TEMPLATE_ENGINE: 'TemplateEngine',\n ATTACHMENT_RESOLVER: 'AttachmentResolver',\n\n // Storage Package Services\n STORAGE_SERVICE: 'StorageService',\n STORAGE_ADAPTER: 'StorageAdapter',\n CLOUDFLARE_R2_ADAPTER: 'CloudflareR2Adapter',\n SUPABASE_STORAGE_ADAPTER: 'SupabaseStorageAdapter',\n ADAPTER_REGISTRY: 'AdapterRegistry',\n MEDIA_PROCESSOR: 'MediaProcessor',\n METADATA_EXTRACTOR: 'MetadataExtractor',\n VIRUS_SCANNER: 'VirusScanner',\n TEMPLATE_RENDERER: 'TemplateRenderer',\n COMPLIANCE_MANAGER: 'ComplianceManager',\n\n // Config Package Services\n CONFIG_MANAGER: 'ConfigManager',\n CONFIG_VALIDATOR: 'ConfigValidator',\n} as const;\n\nexport type LoggerService = (typeof LOGGER_SERVICES)[keyof typeof LOGGER_SERVICES];\n","/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENT_EVENT_TYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and audit events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENT_EVENT_CATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENT_EVENT_ERROR_CATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENT_PROCESSING_STATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped', // Skipped due to filters/rules\n}\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENT_PROVIDER_TYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider',\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENT_METHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay',\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENT_STATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured',\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTION_TYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer',\n}\n\n/**\n * User type enumeration.\n */\nexport enum USER_TYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system',\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCT_TYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product',\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","export enum PROVIDER_PRODUCT_STATUS {\n Active = 'active',\n Inactive = 'inactive',\n Archived = 'archived',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COST_OPTIMIZATION_STRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted',\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAIL_OVER_STRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic',\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORY_FRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking',\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOAD_BALANCING_STRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom',\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCE_METRIC_TYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost',\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTING_STRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom',\n}\n\n/**\n * Enumerates all routing rule identifiers used within RouterStrategy.\n *\n * Purpose:\n * - Avoid hardcoded strings for rule names\n * - Provide consistent naming for debugging and error contexts\n * - Improve developer experience via auto-completion\n */\nexport enum ROUTER_RULE_NAME {\n AmountBasedSelection = 'amountBasedSelection',\n CurrencySpecificProviders = 'currencySpecificProviders',\n RegionSelection = 'regionSelection',\n RegionCompliance = 'regionCompliance',\n UserTypeSelection = 'userTypeSelection',\n TimeBasedSelection = 'timeBasedSelection',\n CustomRuleEvaluation = 'customRuleEvaluation',\n ABTesting = 'abTesting',\n DefaultSelection = 'defaultSelection',\n}\n\nexport const CUSTOM_RULE_FIELD = {\n AMOUNT: 'request.amount',\n CURRENCY: 'request.currency',\n USER_TYPE: 'request.userType',\n REGION: 'request.metadata.geoInfo.region',\n} as const;\n\n// Type representing the **values** of CUSTOM_RULE_FIELD\nexport type CustomRuleField = (typeof CUSTOM_RULE_FIELD)[keyof typeof CUSTOM_RULE_FIELD];\n","/**\n * Payment-specific error categories\n */\n// TODO: check if this is correct\nexport const PAYMENT_ERROR_CATEGORY = {\n /** Payment method validation or processing error */\n PaymentMethod: 'payment.method',\n\n /** Transaction processing error */\n Transaction: 'transaction',\n\n /** Payment capture error */\n Capture: 'capture',\n\n /** Payment authorization error */\n Authorization: 'authorization',\n\n /** Payment settlement error */\n Settlement: 'settlement',\n\n /** Refund processing error */\n Refund: 'refund',\n\n /** Payment gateway or provider error */\n Gateway: 'gateway',\n\n /** Payment fraud detection error */\n Fraud: 'fraud',\n\n /** Payment compliance error (AML/KYC) */\n Compliance: 'compliance',\n\n /** Payment limits exceeded */\n Limits: 'limits',\n\n /** Payment webhook error */\n Webhook: 'webhook',\n\n /** Payment security error */\n Security: 'security',\n\n /** Payment processing timeout */\n Timeout: 'timeout',\n\n /** Payment configuration error */\n Configuration: 'configuration',\n} as const;\n\nexport enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\n}\n\n/**\n * Refund not allowed reasons.\n */\nexport enum REFUND_NOT_ALLOWED_REASON {\n AlreadyRefunded = 'already_refunded',\n PartialNotSupported = 'partial_not_supported',\n TimeLimitExceeded = 'time_limit_exceeded',\n InsufficientBalance = 'insufficient_balance',\n ProviderRestriction = 'provider_restriction',\n ComplianceRestriction = 'compliance_restriction',\n}\n\n/**\n * Security threat types.\n */\nexport enum SECURITY_THREAT_TYPE {\n FraudSuspected = 'fraud_suspected',\n VelocityExceeded = 'velocity_exceeded',\n SuspiciousPattern = 'suspicious_pattern',\n BlockedRegion = 'blocked_region',\n BlacklistedMethod = 'blacklisted_method',\n SystemThreat = 'system_threat',\n}\n\n/**\n * Webhook verification failure reasons.\n */\nexport enum WEBHOOK_VERIFICATION_REASON {\n InvalidSignature = 'invalid_signature',\n MissingSignature = 'missing_signature',\n ExpiredTimestamp = 'expired_timestamp',\n InvalidPayload = 'invalid_payload',\n UnknownEndpoint = 'unknown_endpoint',\n}\n\n/**\n * Central registry for all payment resolution translation keys.\n * Provides type safety and autocompletion for all PaymentError subclasses.\n */\n\nexport const PAYMENT_RESOLUTION_KEYS = {\n GENERIC: 'resolution.generic',\n PAYMENTS_PACKAGE_ERROR: 'resolution._package_error',\n\n // Validation\n PAYMENT_VALIDATION_ERROR: 'resolution.payment_validation_error',\n INVALID_AMOUNT_ERROR: 'resolution.invalid_amount_error',\n INVALID_PAYMENT_METHOD_ERROR: 'resolution.invalid_payment_method_error',\n\n // Processing\n PAYMENT_PROCESSING_ERROR: 'resolution.payment_processing_error',\n PAYMENT_DECLINED_ERROR: 'resolution.payment_declined_error',\n INSUFFICIENT_FUNDS_ERROR: 'resolution.insufficient_funds_error',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'resolution.payment_provider_error',\n PROVIDER_TIMEOUT_ERROR: 'resolution.provider_timeout_error',\n PROVIDER_RATE_LIMIT_ERROR: 'resolution.provider_rate_limit_error',\n\n // Security\n PAYMENT_SECURITY_ERROR: 'resolution.payment_security_error',\n FRAUD_DETECTED_ERROR: 'resolution.fraud_detected_error',\n VELOCITY_LIMIT_EXCEEDED_ERROR: 'resolution.velocity_limit_exceeded_error',\n\n // Refund\n REFUND_ERROR: 'resolution.refund_error',\n REFUND_NOT_ALLOWED_ERROR: 'resolution.refund_not_allowed_error',\n REFUND_AUTHORIZATION_ERROR: 'resolution.refund_authorization_error',\n\n COMPLIANCE_ERROR: 'resolution.compliance_error',\n KYC_VERIFICATION_REQUIRED: 'resolution.kyc_verification_required',\n GEOGRAPHIC_RESTRICTION: 'resolution.geographic_restriction',\n\n PAYMENT_WEBHOOK_PACKAGE_ERROR: 'resolution.payment_webhook_package_error',\n PAYMENT_WEBHOOK_VERIFICATION_ERROR: 'resolution.payment_webhook_verification_error',\n PAYMENT_WEBHOOK_PROCESSING_ERROR: 'resolution.payment_webhook_processing_error',\n PAYMENT_WEBHOOK_REPLAY_ERROR: 'resolution.payment_webhook_replay_error',\n} as const;\n\n/** Union type of all available resolution keys */\nexport type PaymentResolutionKey =\n (typeof PAYMENT_RESOLUTION_KEYS)[keyof typeof PAYMENT_RESOLUTION_KEYS];\n\n/**\n * Central registry for all payment recommendation translation keys.\n * Provides type safety and autocompletion for analytics, alerts, and monitoring logic.\n */\n\nexport const PAYMENT_RECOMMENDATION_KEYS = {\n RETRY_LOGIC: 'recommendation.retry_logic',\n CHECK_PROVIDER: 'recommendation.check_provider',\n CRITICAL_ALERT: 'recommendation.critical_alert',\n USER_FACING: 'recommendation.user_facing',\n SYSTEM_STABLE: 'recommendation.system_stable',\n} as const;\n\n/** Union type of all available recommendation keys */\nexport type PaymentRecommendationKey =\n (typeof PAYMENT_RECOMMENDATION_KEYS)[keyof typeof PAYMENT_RECOMMENDATION_KEYS];\n","import { PAYMENT_STATUS } from '../provider';\n\nexport enum IDEMPOTENCY_STATUS {\n PENDING = 'PENDING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport const IDEMPOTENCY_SAFE_STATUSES: PAYMENT_STATUS[] = [\n PAYMENT_STATUS.Completed,\n PAYMENT_STATUS.Settled,\n PAYMENT_STATUS.Refunded,\n PAYMENT_STATUS.PartiallyRefunded,\n PAYMENT_STATUS.Disputed,\n];\n","/**\n * Notification Constants and Enums\n *\n * Type-level constants and enum values for the notifications system.\n *\n * @module notifications/enums\n */\n\n/**\n * Notification Providers\n * Standard provider names to ensure consistency across the package\n */\nexport const NOTIFICATION_PROVIDERS = {\n /** Infobip omnichannel provider (Email, SMS, WhatsApp) - PRIMARY */\n INFOBIP: 'Infobip',\n\n /** SendGrid email provider - FALLBACK */\n SENDGRID: 'SendGrid',\n\n /** Mock email provider for testing */\n MOCK_EMAIL: 'MockEmail',\n\n /** Mock SMS provider for testing */\n MOCK_SMS: 'MockSMS',\n\n /** Mock push provider for testing */\n MOCK_PUSH: 'MockPush',\n} as const;\n\n/**\n * Notification Channels\n * Available notification delivery channels\n */\nexport const NOTIFICATION_CHANNELS = {\n EMAIL: 'email',\n SMS: 'sms',\n PUSH: 'push',\n} as const;\n\n/**\n * Notification Categories (FR-4.3)\n * Determines opt-out behavior for compliance\n */\nexport const NOTIFICATION_CATEGORIES = {\n /** Cannot be opted out - compliance requirement (password resets, order confirmations) */\n TRANSACTIONAL: 'transactional',\n\n /** User can opt-out (newsletters, promotions) */\n MARKETING: 'marketing',\n\n /** User can opt-out (likes, comments, follows) */\n SOCIAL: 'social',\n\n /** System alerts and notifications (security alerts, system status) */\n SYSTEM: 'system',\n\n /** Promotional offers and campaigns */\n PROMOTIONAL: 'promotional',\n} as const;\n\n/**\n * Signature verification method for webhooks\n */\nexport enum SIGNATURE_METHOD {\n HmacSha256 = 'hmac-sha256',\n HmacSha1 = 'hmac-sha1',\n HmacSha512 = 'hmac-sha512',\n Custom = 'custom',\n}\n\n/**\n * Webhook event types mapped to internal notification events\n */\nexport enum WEBHOOK_EVENT_TYPE {\n // Delivery events\n Delivered = 'delivered',\n Bounced = 'bounced',\n Deferred = 'deferred',\n Dropped = 'dropped',\n\n // Engagement events\n Opened = 'opened',\n Clicked = 'clicked',\n\n // Spam/unsubscribe events\n SpamReport = 'spam_report',\n Unsubscribed = 'unsubscribed',\n\n // SMS-specific\n SmsDelivered = 'sms_delivered',\n SmsFailed = 'sms_failed',\n\n // Push-specific\n PushDelivered = 'push_delivered',\n PushFailed = 'push_failed',\n\n // Generic\n Unknown = 'unknown',\n}\n\n/**\n * Webhook encryption method for PII-safe IDs\n */\nexport enum WEBHOOK_ENCRYPTION_METHOD {\n /** HMAC-SHA256 hashing (recommended for IDs) */\n HmacSha256 = 'hmac-sha256',\n /** HMAC-SHA512 hashing (stronger) */\n HmacSha512 = 'hmac-sha512',\n /** No encryption (not recommended) */\n None = 'none',\n}\n\n/**\n * Common MIME types for attachments\n */\nexport const MIME_TYPES = {\n // Documents\n PDF: 'application/pdf',\n DOC: 'application/msword',\n DOCX: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n XLS: 'application/vnd.ms-excel',\n XLSX: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n PPT: 'application/vnd.ms-powerpoint',\n PPTX: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n TXT: 'text/plain',\n CSV: 'text/csv',\n\n // Images\n PNG: 'image/png',\n JPG: 'image/jpeg',\n JPEG: 'image/jpeg',\n GIF: 'image/gif',\n SVG: 'image/svg+xml',\n WEBP: 'image/webp',\n\n // Archives\n ZIP: 'application/zip',\n RAR: 'application/x-rar-compressed',\n TAR: 'application/x-tar',\n GZIP: 'application/gzip',\n\n // Other\n JSON: 'application/json',\n XML: 'application/xml',\n} as const;\n\n/**\n * Common file extensions for attachments\n */\nexport const FILE_EXTENSIONS = {\n // Documents\n PDF: '.pdf',\n DOC: '.doc',\n DOCX: '.docx',\n XLS: '.xls',\n XLSX: '.xlsx',\n PPT: '.ppt',\n PPTX: '.pptx',\n TXT: '.txt',\n CSV: '.csv',\n\n // Images\n PNG: '.png',\n JPG: '.jpg',\n JPEG: '.jpeg',\n GIF: '.gif',\n SVG: '.svg',\n WEBP: '.webp',\n\n // Archives\n ZIP: '.zip',\n RAR: '.rar',\n TAR: '.tar',\n GZ: '.gz',\n GZIP: '.gzip',\n\n // Other\n JSON: '.json',\n XML: '.xml',\n} as const;\n","/**\n * Notification Validation Schemas\n *\n * Zod schemas for validating notification inputs\n * Ensures type safety and prevents invalid data from entering the system\n *\n * @module notifications/schemas\n */\n\nimport { z } from 'zod';\nimport { NOTIFICATION_CATEGORIES } from './enums';\n\n// Validation length constants\nconst MAX_EMAIL_LENGTH = 255;\nconst MAX_USER_ID_LENGTH = 255;\nconst MAX_TEMPLATE_ID_LENGTH = 255;\nconst MAX_DEVICE_TOKEN_LENGTH = 512;\n\n/**\n * Email address validation\n * - Must be valid email format\n * - Max 255 characters\n * - Automatically lowercased and trimmed\n */\nexport const EmailSchema = z\n .string()\n .email('Invalid email address format')\n .max(MAX_EMAIL_LENGTH, 'Email address must be 255 characters or less')\n .transform(val => val.trim().toLowerCase());\n\n/**\n * Phone number validation (E.164 format)\n * - Must start with optional + followed by country code\n * - 1-15 digits total (E.164 standard)\n * - Examples: +14155552671, +442071838750, +8613800000000\n */\nexport const PhoneSchema = z\n .string()\n .regex(/^\\+?[1-9]\\d{1,14}$/, 'Invalid phone number format (E.164 expected)')\n .describe('Phone number in E.164 format');\n\n/**\n * User ID validation\n * - Required, non-empty string\n * - Max 255 characters\n */\nexport const UserIdSchema = z\n .string()\n .min(1, 'User ID is required')\n .max(MAX_USER_ID_LENGTH, 'User ID must be 255 characters or less');\n\n/**\n * Template ID validation\n * - Only lowercase letters, numbers, hyphens, and slashes\n * - Used for file path construction, must be safe\n * - Examples: welcome, password-reset, order/confirmation\n */\nexport const TemplateIdSchema = z\n .string()\n .min(1, 'Template ID is required')\n .regex(\n /^[a-z0-9-/]+$/,\n 'Template ID must contain only lowercase letters, numbers, hyphens, and slashes'\n )\n .max(MAX_TEMPLATE_ID_LENGTH, 'Template ID must be 255 characters or less');\n\n/**\n * Locale validation\n * - ISO 639-1 language code (2 lowercase letters)\n * - Optional ISO 3166-1 country code (2 uppercase letters)\n * - Examples: en, en-US, es, es-MX, fr-FR\n */\nexport const LocaleSchema = z\n .string()\n .regex(/^[a-z]{2}(-[A-Z]{2})?$/, 'Locale must be in format: en, en-US, es, es-MX')\n .describe('Locale in ISO 639-1 format');\n\n/**\n * Notification category validation (FR-4.3)\n * - transactional: Cannot be opted out (compliance requirement)\n * - marketing: User can opt-out\n * - social: User can opt-out\n */\nexport const NotificationCategorySchema = z\n .enum([\n NOTIFICATION_CATEGORIES.TRANSACTIONAL,\n NOTIFICATION_CATEGORIES.MARKETING,\n NOTIFICATION_CATEGORIES.SOCIAL,\n NOTIFICATION_CATEGORIES.SYSTEM,\n NOTIFICATION_CATEGORIES.PROMOTIONAL,\n ] as const)\n .default(NOTIFICATION_CATEGORIES.TRANSACTIONAL)\n .describe('Notification category for compliance and user preferences');\n\n/**\n * Queue priority validation\n */\nexport const QueuePrioritySchema = z.enum(['high', 'normal', 'low']);\n\n/**\n * Correlation ID validation\n * - UUID v4 format\n * - Used for tracing across systems\n */\nexport const CorrelationIdSchema = z\n .string()\n .uuid('Correlation ID must be a valid UUID v4')\n .describe('UUID v4 correlation ID');\n\n/**\n * Template data validation\n * - Must be a valid object\n * - Can contain strings, numbers, booleans, or nested objects\n * - Arrays are allowed\n */\nexport const TemplateDataSchema = z.record(z.string(), z.unknown()).optional();\n\n/**\n * Device token validation (for push notifications)\n * - Non-empty string\n * - Max 512 characters (FCM tokens can be quite long)\n */\nexport const DeviceTokenSchema = z\n .string()\n .min(1, 'Device token is required')\n .max(MAX_DEVICE_TOKEN_LENGTH, 'Device token must be 512 characters or less');\n","/**\n * Webhook Validation Schemas\n *\n * Zod schemas for validating webhook payloads from notification providers\n * Provider-specific webhook event structures\n *\n * @module notifications/webhooks.schemas\n */\n\nimport { z } from 'zod';\n\n// ============================================================================\n// INFOBIP EMAIL DELIVERY WEBHOOK SCHEMAS\n// ============================================================================\n\n/**\n * Infobip Email Status schema\n */\nexport const InfobipEmailStatusSchema = z.object({\n groupId: z.number().optional(),\n groupName: z.string().optional(),\n id: z.number().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n action: z.string().optional(),\n});\n\n/**\n * Infobip Error Info schema\n */\nexport const InfobipErrorInfoSchema = z.object({\n groupId: z.number().optional(),\n groupName: z.string().optional(),\n id: z.number().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n permanent: z.boolean().optional(),\n});\n\n/**\n * Infobip Price Info schema\n */\nexport const InfobipPriceInfoSchema = z.object({\n pricePerMessage: z.number().optional(),\n currency: z.string().optional(),\n});\n\n/**\n * Infobip Delivery Result schema\n */\nexport const InfobipDeliveryResultSchema = z\n .object({\n messageId: z.string().optional(),\n to: z.string().optional(),\n bulkId: z.string().optional(),\n sentAt: z.string().optional(),\n doneAt: z.string().optional(),\n status: InfobipEmailStatusSchema.optional(),\n error: InfobipErrorInfoSchema.optional(),\n attemptCount: z.number().optional(),\n timeToFirstAttempt: z.number().optional(),\n sendingIp: z.string().optional(),\n price: InfobipPriceInfoSchema.optional(),\n smsCount: z.number().optional(),\n browserLink: z.string().optional(),\n applicationId: z.string().optional(),\n entityId: z.string().optional(),\n campaignReferenceId: z.string().optional(),\n callbackData: z.string().optional(),\n })\n .loose();\n\n/**\n * Infobip Delivery Webhook Payload schema\n */\nexport const InfobipDeliveryWebhookSchema = z.object({\n results: z.array(InfobipDeliveryResultSchema),\n});\n\n// ============================================================================\n// INFOBIP EMAIL TRACKING WEBHOOK SCHEMAS\n// ============================================================================\n\n/**\n * Infobip Geo Location schema\n */\nexport const InfobipGeoLocationSchema = z\n .object({\n countryName: z.string().optional(),\n countryCode: z.string().optional(),\n regionName: z.string().optional(),\n city: z.string().optional(),\n latitude: z.number().optional(),\n longitude: z.number().optional(),\n })\n .loose();\n\n/**\n * Infobip Recipient Info schema\n */\nexport const InfobipRecipientInfoSchema = z\n .object({\n messageId: z.number().optional(),\n to: z.string().optional(),\n requestId: z.string().optional(),\n sentDateTime: z.number().optional(),\n })\n .loose();\n\n/**\n * Infobip Tracking Event schema\n */\nexport const InfobipTrackingEventSchema = z\n .object({\n messageId: z.number().optional(),\n bulkId: z.string().optional(),\n recipient: z.string().optional(),\n sender: z.string().optional(),\n domain: z.string().optional(),\n notificationType: z.string().optional(), // OPENED, CLICKED, COMPLAINED, LATE_BOUNCE, UNSUBSCRIBED\n eventId: z.string().optional(),\n sendDateTime: z.number().optional(),\n url: z.string().optional(), // For CLICKED events\n applicationId: z.string().optional(),\n entityId: z.string().optional(),\n campaignReferenceId: z.string().optional(),\n callbackData: z.string().optional(),\n geoLocation: InfobipGeoLocationSchema.optional(),\n recipientInfo: InfobipRecipientInfoSchema.optional(),\n })\n .loose();\n\n/**\n * Infobip Tracking Webhook Payload schema\n * Note: Tracking webhooks send a single event object, not an array\n */\nexport const InfobipTrackingWebhookSchema = z\n .object({\n messageId: z.number().optional(),\n bulkId: z.string().optional(),\n recipient: z.string().optional(),\n sender: z.string().optional(),\n domain: z.string().optional(),\n notificationType: z.string().optional(),\n eventId: z.string().optional(),\n sendDateTime: z.number().optional(),\n url: z.string().optional(),\n applicationId: z.string().optional(),\n entityId: z.string().optional(),\n campaignReferenceId: z.string().optional(),\n callbackData: z.string().optional(),\n geoLocation: InfobipGeoLocationSchema.optional(),\n recipientInfo: InfobipRecipientInfoSchema.optional(),\n })\n .loose();\n\n// ============================================================================\n// SENDGRID WEBHOOK SCHEMAS\n// ============================================================================\n\n/**\n * SendGrid Event schema\n */\nexport const SendGridEventSchema = z\n .object({\n email: z.string().email(),\n timestamp: z.number(),\n event: z.enum([\n 'processed',\n 'dropped',\n 'delivered',\n 'deferred',\n 'bounce',\n 'open',\n 'click',\n 'spam_report',\n 'unsubscribe',\n 'group_unsubscribe',\n 'group_resubscribe',\n ]),\n sg_event_id: z.string(),\n sg_message_id: z.string(),\n\n // Custom args (our notification metadata)\n notification_id: z.string().optional(),\n recipient_id: z.string().optional(),\n category: z.string().optional(),\n\n // Event-specific fields\n url: z.string().optional(), // For click events\n reason: z.string().optional(), // For bounce/drop events\n status: z.string().optional(), // For drop/bounce events\n response: z.string().optional(), // For bounce events\n useragent: z.string().optional(), // For open/click events\n ip: z.string().optional(), // For open/click events\n\n // Unsubscribe-specific\n asm_group_id: z.number().optional(), // Unsubscribe group ID\n })\n .loose(); // Allow additional fields\n\n/**\n * SendGrid Webhook Payload schema (array of events)\n */\nexport const SendGridWebhookSchema = z.array(SendGridEventSchema);\n\n// ============================================================================\n// TYPE EXPORTS\n// ============================================================================\n\n// Infobip webhook-specific types (prefixed to avoid collision with API types)\nexport type InfobipWebhookEmailStatus = z.infer<typeof InfobipEmailStatusSchema>;\nexport type InfobipWebhookErrorInfo = z.infer<typeof InfobipErrorInfoSchema>;\nexport type InfobipWebhookPriceInfo = z.infer<typeof InfobipPriceInfoSchema>;\nexport type InfobipWebhookDeliveryResult = z.infer<typeof InfobipDeliveryResultSchema>;\nexport type InfobipWebhookDeliveryPayload = z.infer<typeof InfobipDeliveryWebhookSchema>;\n\nexport type InfobipWebhookGeoLocation = z.infer<typeof InfobipGeoLocationSchema>;\nexport type InfobipWebhookRecipientInfo = z.infer<typeof InfobipRecipientInfoSchema>;\nexport type InfobipWebhookTrackingEvent = z.infer<typeof InfobipTrackingEventSchema>;\nexport type InfobipWebhookTrackingPayload = z.infer<typeof InfobipTrackingWebhookSchema>;\n\n// SendGrid webhook types\nexport type SendGridWebhookEvent = z.infer<typeof SendGridEventSchema>;\nexport type SendGridWebhookPayload = z.infer<typeof SendGridWebhookSchema>;\n","/**\n * Media file extensions\n */\nexport const MEDIA_EXTENSIONS = {\n IMAGE: ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'ico', 'bmp', 'tiff'],\n VIDEO: ['mp4', 'webm', 'avi', 'mov', 'wmv', 'flv', 'mkv', '3gp'],\n AUDIO: ['mp3', 'wav', 'ogg', 'aac', 'flac', 'm4a', 'wma'],\n} as const;\n\n/**\n * Media MIME type prefixes\n */\nexport const MEDIA_MIME_PREFIXES = ['image/', 'video/', 'audio/'] as const;\n\n/**\n * ANSI color codes\n */\nexport const COLORS = {\n // Reset\n reset: '\\x1b[0m',\n\n // Text colors\n black: '\\x1b[30m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n magenta: '\\x1b[35m',\n cyan: '\\x1b[36m',\n white: '\\x1b[37m',\n gray: '\\x1b[90m',\n\n // Bright colors\n brightRed: '\\x1b[91m',\n brightGreen: '\\x1b[92m',\n brightYellow: '\\x1b[93m',\n brightBlue: '\\x1b[94m',\n brightMagenta: '\\x1b[95m',\n brightCyan: '\\x1b[96m',\n brightWhite: '\\x1b[97m',\n\n // Background colors\n bgRed: '\\x1b[41m',\n bgGreen: '\\x1b[42m',\n bgYellow: '\\x1b[43m',\n bgBlue: '\\x1b[44m',\n bgMagenta: '\\x1b[45m',\n bgCyan: '\\x1b[46m',\n bgWhite: '\\x1b[47m',\n\n // Text styles\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n italic: '\\x1b[3m',\n underline: '\\x1b[4m',\n blink: '\\x1b[5m',\n reverse: '\\x1b[7m',\n hidden: '\\x1b[8m',\n strikethrough: '\\x1b[9m',\n} as const;\n\n/**\n * Correlation ID types for different contexts\n * Used across packages for distributed tracing and event correlation\n */\nexport enum CORRELATION_TYPE {\n /** Network event correlation */\n NETWORK = 'net',\n /** API request correlation */\n API = 'api',\n /** User session correlation */\n SESSION = 'session',\n /** Transaction correlation */\n TRANSACTION = 'txn',\n /** Event correlation */\n EVENT = 'evt',\n /** Trace correlation */\n TRACE = 'trace',\n /** Generic correlation */\n GENERIC = 'corr',\n}\n","/**\n * Event Namespace Constants\n * Centralized constants for all event namespaces in the API package\n */\n\n/**\n * Main event namespaces for the API package\n */\nexport const EVENT_NAMESPACES = {\n HEADERS: 'headers',\n NETWORK: 'network',\n ERRORS: 'errors',\n DEBUG: 'debug',\n CONFIG: 'config',\n PERFORMANCE: 'performance',\n CLIENT: 'client',\n CACHE: 'cache',\n POLLING: 'polling',\n REQUEST: 'request',\n REVALIDATION: 'revalidation',\n EVENT_MANAGER: 'eventManager',\n} as const;\n\n/**\n * Header-specific event keys\n */\nexport const HEADER_EVENTS = {\n CHANGED: 'headers:changed',\n ENRICHED: 'headers:enriched',\n CONFLICT: 'headers:conflict',\n OVERRIDE: 'headers:override',\n TRACKED: 'headers:tracked',\n MERGED: 'headers:merged',\n FILTERED: 'headers:filtered',\n VALIDATED: 'headers:validated',\n CACHED: 'headers:cached',\n CACHE_HIT: 'headers:cache:hit',\n CACHE_MISS: 'headers:cache:miss',\n // Wildcard for all header events\n ANY: 'headers:*',\n} as const;\n\n/**\n * Network-specific event keys\n */\nexport const NETWORK_EVENTS = {\n QUALITY_CHANGE: 'network:quality:changed',\n INFO_UPDATE: 'network:info-update',\n CONFIG_OVERRIDE: 'network:config:override',\n CONFIG_RESTORED: 'network:config:restored',\n OVERRIDE_CHANGE: 'network:override-change',\n PRESET_APPLIED: 'network:preset-applied',\n PRESET_CHANGED: 'network:preset:changed',\n HINTS_UPDATED: 'network:hints:updated',\n AUTO_DETECTION: 'network:auto:detection',\n MANUAL_UPDATE: 'network:manual:update',\n // Wildcard for all network events\n ANY: 'network:*',\n} as const;\n\n/**\n * Error-specific event keys\n */\nexport const ERROR_EVENTS = {\n NETWORK_ERROR: 'errors:network',\n VALIDATION_ERROR: 'errors:validation',\n AUTHENTICATION_ERROR: 'errors:authentication',\n AUTHORIZATION_ERROR: 'errors:authorization',\n RATE_LIMIT_ERROR: 'errors:rate-limit',\n SERVER_ERROR: 'errors:server',\n CLIENT_ERROR: 'errors:client',\n TIMEOUT_ERROR: 'errors:timeout',\n CONFLICT_ERROR: 'errors:conflict',\n CACHE_ERROR: 'errors:cache',\n HEADERS_ERROR: 'errors:headers',\n RETRY_ERROR: 'errors:retry',\n STRATEGY_ERROR: 'errors:strategy',\n REGIONAL_ERROR: 'errors:regional',\n NOT_FOUND_ERROR: 'errors:not-found',\n EXTERNAL_SERVICE_ERROR: 'errors:external-service',\n UNKNOWN_ERROR: 'errors:unknown',\n GENERIC_ERROR: 'errors:generic',\n // Wildcard for all error events\n ANY: 'errors:*',\n} as const;\n\n/**\n * Handler scopes for different levels of event handlers\n * These prefixes are used for registering handlers at different priority levels\n * Can be used for any type of handler (error, request, response, debug, etc.)\n *\n * Priority order (lowest to highest):\n * 1. GLOBAL - Set via setGlobalErrorHandlers(), persists across all instances\n * 2. CONFIG - Set via setGlobalConfig({ errorHandlers }), global configuration\n * 3. CLIENT - Set via createApiClient({ errorHandlers }), instance-specific\n * 4. REQUEST/TEMPORARY - Set per-request or via updateConfig(), highest priority\n *\n * Usage:\n * - GLOBAL: For app-wide handlers that should always run (e.g., logging)\n * - CONFIG: For environment-specific handlers (e.g., dev vs prod)\n * - CLIENT: For instance-specific handlers (e.g., per-service client)\n * - REQUEST/TEMPORARY: For request-specific or runtime updates\n *\n * Note: REQUEST and TEMPORARY are aliases - both use 'request' scope\n *\n * Examples of namespaced handlers:\n * - Error handlers: 'global:error', 'config:error', 'client:error'\n * - Debug handlers: 'global:debug', 'config:debug', 'client:debug'\n * - Request handlers: 'global:request', 'config:request', 'client:request'\n */\nexport const HANDLER_SCOPES = {\n GLOBAL: 'global', // Global handlers (lowest priority, persists across all instances)\n CONFIG: 'config', // Config-level handlers (middle priority, from setGlobalConfig)\n CLIENT: 'client', // Client instance handlers (high priority, instance-specific)\n TEMPORARY: 'request', // Temporary handlers (alias for REQUEST, highest priority)\n REQUEST: 'request', // Request-level handlers (highest priority, per-request)\n} as const;\n\n/**\n * Core event scopes (excluding aliases)\n * These are the actual scope values used by the event system\n */\nexport const EVENT_SCOPES = [\n HANDLER_SCOPES.GLOBAL,\n HANDLER_SCOPES.CONFIG,\n HANDLER_SCOPES.CLIENT,\n HANDLER_SCOPES.REQUEST,\n] as const;\n\n/**\n * All event scopes including 'temporary' alias\n * Used in APIs where 'temporary' provides semantic clarity\n */\nexport const EVENT_SCOPES_WITH_TEMPORARY = [...EVENT_SCOPES, 'temporary' as const] as const;\n\n/**\n * Debug-specific event keys\n */\nexport const DEBUG_EVENTS = {\n CONFIG_CONFLICT: 'debug:config-conflict',\n CONFIG_CHANGE: 'debug:config-change',\n HEADERS_TRACKED: 'debug:headers-tracked',\n NETWORK_OVERRIDE: 'debug:network-override',\n NETWORK_STATE_CHANGED: 'debug:network-state-changed',\n NETWORK_DATA_CLEARED: 'debug:network-data-cleared',\n DEBUG_INFO: 'debug:info',\n PERFORMANCE_IMPACT: 'debug:performance-impact',\n MONITORING_ALERT: 'debug:monitoring-alert',\n CONFIG_TRACKED: 'debug:config-tracked',\n CONFLICTS_BATCH: 'debug:conflicts-batch',\n EVENT_OPERATION: 'debug:event-operation',\n // Wildcard for all debug events\n ANY: 'debug:*',\n} as const;\n\n/**\n * Configuration sources - where config updates originate from\n */\nexport const EVENTS_CONFIG_SOURCES = {\n GLOBAL: 'global',\n CREATE_API_CLIENT: 'createApiClient',\n UPDATE_CONFIG: 'updateConfig',\n MANUAL: 'manual',\n ENVIRONMENT: 'environment',\n PRESET: 'preset',\n NETWORK_AWARE: 'networkAware',\n ADAPTIVE: 'adaptive',\n} as const;\n\n/**\n * Configuration-specific event keys\n */\nexport const CONFIG_EVENTS = {\n GLOBAL_UPDATED: 'config:global-updated',\n GLOBAL_RESET: 'config:global-reset',\n ENVIRONMENT_CONFIGURED: 'config:environment-configured',\n PRESET_APPLIED: 'config:preset-applied',\n // Wildcard for all config events\n ANY: 'config:*',\n} as const;\n\n/**\n * Performance-specific event keys\n */\nexport const PERFORMANCE_EVENTS = {\n REQUEST_START: 'performance:request-start',\n REQUEST_COMPLETE: 'performance:request-complete',\n RETRY: 'performance:retry',\n THRESHOLD_EXCEEDED: 'performance:threshold-exceeded',\n OPTIMIZATION_APPLIED: 'performance:optimization-applied',\n METRIC_RECORDED: 'performance:metric-recorded',\n // Wildcard for all performance events\n ANY: 'performance:*',\n} as const;\n\n/**\n * Client-specific event keys\n */\nexport const CLIENT_EVENTS = {\n CONFLICT: 'client:conflict',\n DEBUG: 'client:debug',\n CREATED: 'client:created',\n // Wildcard for all client events\n ANY: 'client:*',\n} as const;\n\n/**\n * Cache-specific event keys\n */\nexport const CACHE_EVENTS = {\n HIT: 'cache:hit',\n MISS: 'cache:miss',\n INVALIDATE: 'cache:invalidate',\n // Wildcard for all cache events\n ANY: 'cache:*',\n} as const;\n\n/**\n * All event keys combined for easy access\n */\nexport const ALL_EVENTS = {\n ...HEADER_EVENTS,\n ...NETWORK_EVENTS,\n ...ERROR_EVENTS,\n ...DEBUG_EVENTS,\n ...CONFIG_EVENTS,\n ...PERFORMANCE_EVENTS,\n ...CLIENT_EVENTS,\n ...CACHE_EVENTS,\n} as const;\n\nexport type EventsConfigSource = (typeof EVENTS_CONFIG_SOURCES)[keyof typeof EVENTS_CONFIG_SOURCES];\n","/**\n * Queue System Enums\n */\n\n/**\n * Priority levels for queue operations\n * @description Defines the priority order for queued operations, from highest (CRITICAL) to lowest (IDLE)\n *\n * @example\n * ```typescript\n * import { PRIORITY_LEVEL } from '@plyaz/types';\n *\n * const priority = PRIORITY_LEVEL.HIGH; // 1\n * if (priority <= PRIORITY_LEVEL.HIGH) {\n * // Handle high-priority request\n * }\n * ```\n */\nexport const PRIORITY_LEVEL = {\n /** Critical priority - highest urgency (0) */\n CRITICAL: 0,\n /** High priority (1) */\n HIGH: 1,\n /** Medium priority (2) */\n MEDIUM: 2,\n /** Normal priority (3) */\n NORMAL: 3,\n /** Low priority (4) */\n LOW: 4,\n /** Idle priority - lowest urgency (5) */\n IDLE: 5,\n} as const;\n","import type { NetworkPresetConfig } from '..';\n\n/**\n * Data saver mode uses offline-optimized presets\n */\nexport const DATA_SAVER_PRESETS: NetworkPresetConfig = {\n performance: 'offline',\n cache: 'aggressive',\n retry: 'conservative',\n revalidation: 'static',\n};\n\n/**\n * Valid Client Hint header names\n */\nexport const CLIENT_HINT_HEADERS = {\n SAVE_DATA: 'save-data',\n ECT: 'ect',\n RTT: 'rtt',\n DOWNLINK: 'downlink',\n DEVICE_MEMORY: 'device-memory',\n ACCEPT_CH: 'Accept-CH',\n ACCEPT_CH_LIFETIME: 'Accept-CH-Lifetime',\n} as const;\n\n/**\n * Validation ranges for header values\n */\nexport const VALIDATION_RANGES = {\n RTT: { MIN: 0, MAX: 10000 }, // 0-10 seconds\n DOWNLINK: { MIN: 0, MAX: 10000 }, // 0-10 Gbps\n DEVICE_MEMORY: { MIN: 0, MAX: 128 }, // 0-128 GB\n} as const;\n","/**\n * Network Quality Enum\n */\n\n/**\n * Network quality levels enum\n */\nexport enum NETWORK_QUALITY {\n EXCELLENT = 'excellent', // 4G, low latency\n GOOD = 'good', // 3G or good 4G\n FAIR = 'fair', // 2G or poor 3G\n POOR = 'poor', // Slow 2G or worse\n OFFLINE = 'offline', // No connection\n UNKNOWN = 'unknown', // Unable to determine\n}\n\n/**\n * Event priority mapping\n */\nexport const EVENT_PRIORITY_MAP = {\n // Critical events\n error: 'critical',\n onNetworkError: 'critical',\n critical: 'critical',\n\n // High priority events\n config: 'high',\n auth: 'high',\n conflict: 'high',\n\n // Normal priority events\n network: 'normal',\n headers: 'normal',\n performance: 'normal',\n\n // Low priority events\n debug: 'low',\n metrics: 'low',\n tracking: 'low',\n} as const;\n\n/**\n * Export preset names for easy access\n */\nexport const NetworkPresetNames = {\n OFFLINE_FIRST: 'offline-first' as const,\n DATA_SAVER: 'data-saver' as const,\n SLOW_CONNECTION: 'slow-connection' as const,\n FAIR_CONNECTION: 'fair-connection' as const,\n GOOD_CONNECTION: 'good-connection' as const,\n EXCELLENT_CONNECTION: 'excellent-connection' as const,\n AGGRESSIVE_CACHE: 'aggressive-cache' as const,\n REALTIME: 'realtime' as const,\n BACKGROUND_SYNC: 'background-sync' as const,\n} as const;\n\n/**\n * Confidence levels for quality detection\n */\nexport const NETWORK_CONFIDENCE_LEVELS = {\n /** Excellent confidence (90%) */\n EXCELLENT: 0.9,\n /** High confidence (80%) */\n HIGH: 0.8,\n /** Medium confidence (70%) */\n MEDIUM: 0.7,\n /** Low confidence (50%) */\n LOW: 0.5,\n /** Threshold for high confidence classification */\n HIGH_THRESHOLD: 0.7,\n /** Threshold for medium confidence classification */\n MEDIUM_THRESHOLD: 0.4,\n} as const;\n\n/**\n * Network quality thresholds\n */\nexport interface QualityThresholds {\n excellentRTT: number; // < 50ms\n goodRTT: number; // < 150ms\n fairRTT: number; // < 400ms\n excellentSpeed: number; // > 10 Mbps\n goodSpeed: number; // > 2 Mbps\n fairSpeed: number; // > 0.5 Mbps\n}\n\n// Speed thresholds in Mbps\nexport const SPEED_THRESHOLDS = {\n EXCELLENT: 10,\n GOOD: 2,\n FAIR: 0.5,\n} as const;\n\n// RTT thresholds in milliseconds\nexport const RTT_THRESHOLDS = {\n EXCELLENT: 50,\n GOOD: 150,\n FAIR: 400,\n} as const;\n\nexport const DEFAULT_THRESHOLDS: QualityThresholds = {\n excellentRTT: RTT_THRESHOLDS.EXCELLENT,\n goodRTT: RTT_THRESHOLDS.GOOD,\n fairRTT: RTT_THRESHOLDS.FAIR,\n excellentSpeed: SPEED_THRESHOLDS.EXCELLENT,\n goodSpeed: SPEED_THRESHOLDS.GOOD,\n fairSpeed: SPEED_THRESHOLDS.FAIR,\n};\n","/**\n * Debugger Event Namespaces and Constants\n * Centralized definition of all debugger tracking operations and event types\n */\n\nimport type { HistoryType, UnifiedOperationType } from '..';\n\n/**\n * Factory operation types for tracking\n * Used when tracking factory-related operations\n */\nexport const FACTORY_OPERATIONS = {\n FACTORY_CREATED: 'factory_created',\n FACTORY_ACCESSED: 'factory_accessed',\n FACTORY_INITIALIZED: 'factory_initialized',\n FACTORIES_RESET: 'factories_reset',\n FACTORY_REGISTER: 'factory_register',\n HANDLER_REGISTERED: 'handler_registered',\n HANDLER_UNREGISTERED: 'handler_unregistered',\n /**\n * Indicates that a specific handler instance has been removed from a factory or scope.\n * Use this when removing a particular handler by reference or ID, as opposed to\n * HANDLER_UNREGISTERED, which refers to unregistering a handler type or all handlers.\n */\n SPECIFIC_HANDLER_REMOVED: 'specific_handler_removed',\n SCOPE_LISTENERS_CLEARED: 'scope_listeners_cleared',\n} as const;\n\n/**\n * Event system operation types\n * Used when tracking event system operations\n */\nexport const EVENT_OPERATIONS = {\n ON: 'on',\n ONCE: 'once',\n OFF: 'off',\n EMIT: 'emit',\n EMIT_ACROSS_SCOPES: 'emit_across_scopes',\n REMOVE_ALL_LISTENERS: 'removeAllListeners',\n ONCE_EXECUTED: 'once_executed',\n CONFIG_UPDATE: 'config_update',\n CONFIG_UPDATE_FAILED: 'config_update_failed',\n GLOBAL_CONFIG_UPDATE: 'global_config_update',\n GLOBAL_CONFIG_RESET: 'global_config_reset',\n SCOPE_CHANGE: 'scope_change',\n FACTORY_CREATE: 'factory_create',\n FACTORY_COORDINATION: 'factory_coordination',\n HANDLER_STRATEGY: 'handler_strategy',\n HANDLER_STRATEGY_APPLIED: 'handler_strategy_applied',\n} as const;\n\n/**\n * Queue operation types\n * Used when tracking queue operations\n */\nexport const QUEUE_OPERATIONS = {\n QUEUE_CREATED: 'queue_created',\n QUEUE_PROCESSED: 'queue_processed',\n QUEUE_CLEARED: 'queue_cleared',\n QUEUE_ERROR: 'queue_error',\n BATCH_PROCESSED: 'batch_processed',\n ITEM_ENQUEUED: 'item_enqueued',\n ITEM_DEQUEUED: 'item_dequeued',\n PRIORITY_CHANGED: 'priority_changed',\n} as const;\n\n/**\n * Config tracking sources\n * Used to identify the source of configuration changes\n */\nexport const DEBUGGER_CONFIG_SOURCES = {\n DEFAULT: 'default',\n DIRECT: 'direct',\n CLIENT: 'client',\n UNIFIED_STRATEGY: 'unifiedStrategy',\n PERFORMANCE_PRESET: 'performancePreset',\n DATA_PATTERN: 'dataPattern',\n CACHE_STRATEGY: 'cacheStrategy',\n RETRY_STRATEGY: 'retryStrategy',\n REVALIDATION_STRATEGY: 'revalidationStrategy',\n ADAPTIVE_CONFIG: 'adaptiveConfig',\n MONITORING_CONFIG: 'monitoringConfig',\n POLLING_CONFIG: 'pollingConfig',\n NETWORK_PRESET: 'networkPreset',\n NETWORK_AWARE: 'networkAware',\n NETWORK_QUALITY: 'networkQuality',\n USER_PREFERENCE: 'userPreference',\n TEMPORARY_OVERRIDE: 'temporaryOverride',\n AUTO_OPTIMIZATION: 'autoOptimization',\n NETWORK_CLIENT_HINTS: 'networkClientHints',\n HEADER_PRESET: 'headerPreset',\n ENRICHED_HEADERS: 'enrichedHeaders',\n USER_HEADERS: 'userHeaders',\n INTERCEPTOR: 'interceptor',\n CONTEXT_HEADERS: 'contextHeaders',\n ENCRYPTION: 'encryption',\n} as const;\n\n/**\n * Debug history entry types\n * Used to categorize history entries\n */\nexport const HISTORY_TYPES = {\n CONFIG: 'config',\n HEADER: 'header',\n NETWORK: 'network',\n PERFORMANCE: 'performance',\n EVENT: 'event',\n EVENT_OPERATION: 'event_operation',\n} as const;\n\n/**\n * Header transformation stages\n * Used to track header changes through the pipeline\n */\nexport const HEADER_STAGES = {\n BASE: 'base',\n ENRICHED: 'enriched',\n INTERCEPTOR: 'interceptor',\n FINAL: 'final',\n} as const;\n\n/**\n * Config update strategies\n * Used when updating configuration\n */\nexport const UPDATE_STRATEGIES = {\n MERGE: 'merge',\n REPLACE: 'replace',\n TEMPORARY: 'temporary',\n} as const;\n\n/**\n * Config change types\n * Used to categorize configuration changes\n */\nexport const CHANGE_TYPES = {\n OVERRIDE: 'override',\n RESTORE: 'restore',\n PRESET_CHANGE: 'preset_change',\n USER_PREFERENCE: 'user_preference',\n AUTO_OPTIMIZATION: 'auto_optimization',\n} as const;\n\n/**\n * Tracking phases\n * Used to identify when tracking occurs\n */\nexport const TRACKING_PHASES = {\n INITIALIZATION: 'initialization',\n RUNTIME: 'runtime',\n UPDATE: 'update',\n} as const;\n\n/**\n * Performance impact levels\n * Used to categorize performance impact\n */\nexport const IMPACT_LEVELS = {\n NONE: 'NONE',\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH',\n CRITICAL: 'CRITICAL',\n} as const;\n\n/**\n * Monitoring alert severities\n * Used to categorize alert severity\n */\nexport const ALERT_SEVERITIES = {\n INFO: 'info',\n WARNING: 'warning',\n ERROR: 'error',\n CRITICAL: 'critical',\n} as const;\n\n/**\n * Monitoring alert types\n * Used to categorize monitoring alerts\n */\nexport const ALERT_TYPES = {\n CONFLICT: 'conflict',\n PERFORMANCE: 'performance',\n NETWORK: 'network',\n} as const;\n\n/**\n * Combined operation types for unified tracking\n */\nexport const UNIFIED_OPERATIONS = {\n ...FACTORY_OPERATIONS,\n ...EVENT_OPERATIONS,\n ...QUEUE_OPERATIONS,\n} as const;\n\n// Type exports for TypeScript support\nexport type QueueOperationType = (typeof QUEUE_OPERATIONS)[keyof typeof QUEUE_OPERATIONS];\nexport type DebuggerConfigSource =\n (typeof DEBUGGER_CONFIG_SOURCES)[keyof typeof DEBUGGER_CONFIG_SOURCES];\nexport type ChangeType = (typeof CHANGE_TYPES)[keyof typeof CHANGE_TYPES];\n\n/**\n * Helper to check if a string is a valid operation type\n */\nexport function isValidOperation(operation: string): operation is UnifiedOperationType {\n return Object.values(UNIFIED_OPERATIONS).includes(operation as UnifiedOperationType);\n}\n\n/**\n * Helper to check if a string is a valid config source\n */\nexport function isValidConfigSource(source: string): source is DebuggerConfigSource {\n return Object.values(DEBUGGER_CONFIG_SOURCES).includes(source as DebuggerConfigSource);\n}\n\n/**\n * Helper to check if a string is a valid history type\n */\nexport function isValidHistoryType(type: string): type is HistoryType {\n return Object.values(HISTORY_TYPES).includes(type as HistoryType);\n}\n","/**\n * Event constants\n */\nexport const EVENT_CONSTANTS = {\n DEBUG_INFO_INTERVAL_MULTIPLIER: 5,\n IMPACT_THRESHOLDS: {\n NONE: 90,\n LOW: 70,\n MEDIUM: 50,\n HIGH: 30,\n },\n} as const;\n","/**\n * Regional detection constants\n */\n\n// Storage key for cached region\nexport const REGION_STORAGE_KEY = '@plyaz/api:userRegion';\n\n/**\n * Confidence levels for region detection\n */\nexport const REGIONAL_CONFIDENCE_LEVELS = {\n CDN_HEADER: 0.95,\n TIMEZONE_DIRECT: 0.9,\n TIMEZONE_PREFIX: 0.8,\n HIGH: 0.8,\n LOCALE_DIRECT: 0.7,\n MEDIUM: 0.7,\n GEOLOCATION: 0.6,\n LOCALE_LANGUAGE: 0.5,\n LOW: 0.5,\n GLOBAL_FALLBACK: 0.3,\n UNKNOWN_FALLBACK: 0.2,\n FINAL_FALLBACK: 0.1,\n} as const;\n\n/**\n * Geographic coordinates for region detection\n */\nexport const COORDINATES = {\n EU: {\n MIN_LAT: 35,\n MAX_LAT: 70,\n MIN_LON: -10,\n MAX_LON: 40,\n },\n US: {\n MIN_LAT: 25,\n MAX_LAT: 50,\n MIN_LON: -125,\n MAX_LON: -65,\n },\n US_WEST: {\n MIN_LAT: 32,\n MAX_LAT: 42,\n MIN_LON: -125,\n MAX_LON: -114,\n },\n US_EAST: {\n MIN_LAT: 38,\n MAX_LAT: 45,\n MIN_LON: -80,\n MAX_LON: -70,\n },\n ASIA: {\n MIN_LAT: 18,\n MAX_LAT: 54,\n MIN_LON: 73,\n MAX_LON: 135,\n },\n JAPAN: {\n MIN_LAT: 30,\n MAX_LAT: 46,\n MIN_LON: 129,\n MAX_LON: 146,\n },\n} as const;\n\n/**\n * Cache duration constants\n */\nconst HOURS_PER_DAY = 24;\nconst MINUTES_PER_HOUR = 60;\nconst SECONDS_PER_MINUTE = 60;\nconst MS_PER_SECOND = 1000;\n\n// Cache duration: 24 hours in milliseconds\nexport const CACHE_DURATION_MS =\n HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE * MS_PER_SECOND;\n\n/**\n * Map regions to presets\n */\nexport const REGION_TO_PRESET = {\n eu: 'gdpr',\n us: 'ccpa', // Map US to CCPA (California compliance)\n 'us-ca': 'ccpa',\n cn: 'pipl',\n jp: 'appi',\n ca: 'global', // Canada uses global preset\n global: 'global',\n} as const;\n","/**\n * Event types for pub/sub system\n */\nexport const PUB_SUB_EVENT = {\n CacheUpdate: 'cache:update',\n CacheDelete: 'cache:delete',\n CacheRevalidate: 'cache:revalidate',\n RequestStart: 'request:start',\n RequestSuccess: 'request:success',\n RequestError: 'request:error',\n RequestAbort: 'request:abort',\n} as const;\n","/**\n * @fileoverview Database adapter type definitions\n *\n * Defines the enumeration of supported database adapter types used throughout\n * the database package. This enum provides type-safe identification of different\n * database integrations and is used in configuration, factory methods, and\n * adapter selection logic.\n *\n * **Application Flow Context:**\n * ```\n * Configuration → ADAPTERS Enum → AdapterFactory → Concrete Adapter\n * ↓ ↓ ↓ ↓\n * User Config → Type Safety → Adapter Creation → Database Connection\n * ```\n *\n * **Adapter Types:**\n * - **DRIZZLE**: Type-safe ORM with excellent TypeScript support\n * - **SUPABASE**: Hosted PostgreSQL with real-time capabilities\n * - **SQL**: Raw SQL execution for maximum control\n * - **DATABASE**: Generic fallback adapter\n *\n * @example\n * ```typescript\n * // Adapter selection in configuration\n * const config = {\n * adapter: ADAPTERS.DRIZZLE,\n * connectionString: process.env.DATABASE_URL\n * };\n *\n * // Type-safe adapter factory usage\n * const adapter = AdapterFactory.create(ADAPTERS.SUPABASE, supabaseConfig);\n *\n * // Switch statement with exhaustive checking\n * switch (config.adapter) {\n * case ADAPTERS.DRIZZLE:\n * // Handle Drizzle-specific logic\n * break;\n * case ADAPTERS.SUPABASE:\n * // Handle Supabase-specific logic\n * break;\n * case ADAPTERS.SQL:\n * // Handle SQL-specific logic\n * break;\n * default:\n * // TypeScript ensures all cases are handled\n * throw new Error(`Unsupported adapter: ${config.adapter}`);\n * }\n * ```\n *\n */\n/**\n * @enum ADAPTERS\n * @description\n * Enumeration of supported database adapter types.\n *\n * This enum provides type-safe identification of different database integrations\n * and is used throughout the package for configuration, factory methods, and\n * adapter selection. Each adapter type represents a different approach to\n * database connectivity and operations.\n *\n * **Adapter Characteristics:**\n * - **DATABASE**: Generic fallback, minimal functionality\n * - **DRIZZLE**: Full ORM with type safety and query building\n * - **SUPABASE**: Hosted solution with real-time and auth features\n * - **SQL**: Raw SQL for performance-critical applications\n *\n * @example\n * ```typescript\n * // Configuration with adapter selection\n * const configs = {\n * development: { adapter: ADAPTERS.DRIZZLE },\n * production: { adapter: ADAPTERS.SUPABASE },\n * performance: { adapter: ADAPTERS.SQL }\n * };\n *\n * // Type-safe adapter validation\n * function validateAdapter(adapter: ADAPTERS): boolean {\n * return Object.values(ADAPTERS).includes(adapter);\n * }\n * ```\n */\nexport enum ADAPTERS {\n /** Generic database adapter (default when no specific integration is set) */\n DATABASE = 'database',\n\n /** Drizzle ORM adapter (PostgreSQL, MySQL, SQLite, etc.) */\n DRIZZLE = 'drizzle',\n\n /** Supabase adapter (PostgreSQL backend with REST + Realtime APIs) */\n SUPABASE = 'supabase',\n\n /** Raw SQL adapter (direct database queries without ORM) */\n SQL = 'sql',\n\n /** Mock adapter (in-memory database for testing) */\n MOCK = 'mock',\n}\n\n// Event type enum\nexport enum DATABASE_EVENT_TYPE {\n BeforeQuery = 'beforeQuery',\n AfterQuery = 'afterQuery',\n QueryError = 'queryError',\n BeforeTransaction = 'beforeTransaction',\n AfterTransaction = 'afterTransaction',\n TransactionRollback = 'transactionRollback',\n HealthChange = 'healthChange',\n}\n\n/**\n * Strategy options for replica selection.\n */\nexport enum REPLICA_STRATEGY {\n /** Always use primary database */\n PRIMARY = 'primary',\n /** Use any available replica */\n REPLICA = 'replica',\n /** Use geographically closest replica */\n CLOSEST = 'closest',\n /** Use fastest responding replica */\n FASTEST = 'fastest',\n}\n\n/**\n * Enum for pool event types.\n */\nexport enum DB_POOL_EVENTS {\n CONNECT = 'connect',\n ACQUIRE = 'acquire',\n RELEASE = 'release',\n REMOVE = 'remove',\n}\n\n/**\n * Alert severity levels\n */\nexport enum ALERT_SEVERITY {\n CRITICAL = 'critical',\n ERROR = 'error',\n WARNING = 'warning',\n INFO = 'info',\n}\n\n/**\n * Alert source types\n */\nexport enum ALERT_SOURCE {\n DATABASE = 'database',\n POOL = 'pool',\n REPLICA = 'replica',\n CACHE = 'cache',\n BACKUP = 'backup',\n}\n\n/**\n * Audit operation types\n */\nexport enum AUDIT_OPERATION {\n Create = 'CREATE',\n Update = 'UPDATE',\n Delete = 'DELETE',\n CreateFailed = 'CREATE_FAILED',\n UpdateFailed = 'UPDATE_FAILED',\n DeleteFailed = 'DELETE_FAILED',\n}\n\n/**\n * Extension source identifiers for audit logging\n * Used to track which extension caused an operation failure\n */\nexport enum EXTENSION_SOURCE {\n /** Base database adapter (Drizzle, Supabase, SQL, Mock) */\n DatabaseAdapter = 'DatabaseAdapter',\n /** Encryption extension - field-level encryption */\n Encryption = 'EncryptionExtension',\n /** Soft delete extension - logical deletion */\n SoftDelete = 'SoftDeleteExtension',\n /** Caching extension - query result caching */\n Caching = 'CachingExtension',\n /** Audit extension - operation logging */\n Audit = 'AuditExtension',\n /** Read replica extension - read/write splitting */\n ReadReplica = 'ReadReplicaExtension',\n /** Multi-write extension - write replication */\n MultiWrite = 'MultiWriteExtension',\n /** Unknown source */\n Unknown = 'Unknown',\n}\n\n/**\n * Database Adapter Types - Enum for adapter selection\n */\nexport enum ADAPTER_TYPES {\n DRIZZLE = 'drizzle',\n SUPABASE = 'supabase',\n SQL = 'sql',\n MOCK = 'mock',\n}\n","/**\n * Encryption Extension Constants\n *\n * Centralized constants for encryption configuration to prevent\n * hardcoded values and ensure consistency across the codebase.\n */\n\nexport const ENCRYPTION_DEFAULTS = {\n /** Default encryption algorithm - AES-256-GCM provides authenticated encryption */\n ALGORITHM: 'aes-256-gcm' as const,\n\n /** IV length for AES-256-GCM in bytes */\n IV_LENGTH: 16,\n\n /** Expected parts in encrypted text format (iv:authTag:encrypted) */\n ENCRYPTED_PARTS_COUNT: 3,\n\n /** Default encryption key for testing (32 bytes for AES-256) */\n DEFAULT_KEY: 'abcdefghijklmnopqrstuvwxyz123456',\n} as const;\n\n/**\n * Alert rule IDs\n */\nexport const ALERT_RULE_ID = {\n POOL_EXHAUSTION: 'pool-exhaustion',\n SLOW_QUERY: 'slow-query',\n REPLICA_LAG: 'replica-lag',\n} as const;\n","/**\n * Storage Package Enums\n * @module @plyaz/types/storage\n */\n\n/**\n * File categories for organizing uploaded files\n */\nexport enum FILE_CATEGORY {\n // Profile & Identity\n ProfileImage = 'profile_image',\n ProfileBanner = 'profile_banner',\n ProfileData = 'profile_data',\n IdDocument = 'id_document',\n\n // Content\n PostImage = 'post_image',\n PostVideo = 'post_video',\n PostAudio = 'post_audio',\n PostDocument = 'post_document',\n PostArchive = 'post_archive',\n\n // Media\n GalleryImage = 'gallery_image',\n GalleryVideo = 'gallery_video',\n HighlightVideo = 'highlight_video',\n TrainingVideo = 'training_video',\n\n // Commerce\n ProductImage = 'product_image',\n ProductVideo = 'product_video',\n MerchandiseImage = 'merchandise_image',\n\n // Documents\n DOCUMENT = 'document',\n ContractDocument = 'contract_document',\n InvoiceDocument = 'invoice_document',\n ReceiptDocument = 'receipt_document',\n TaxDocument = 'tax_document',\n LegalDocument = 'legal_document',\n FinancialDocument = 'financial_document',\n\n // NFT & Digital Assets\n NftImage = 'nft_image',\n NftMetadata = 'nft_metadata',\n\n // Brand Assets\n BrandLogo = 'brand_logo',\n BrandAsset = 'brand_asset',\n MarketingAsset = 'marketing_asset',\n\n // Other\n AVATAR = 'avatar',\n ATTACHMENT = 'attachment',\n TempFile = 'temp_file',\n OTHER = 'other',\n}\n\n/**\n * Entity types that can own files\n */\nexport enum ENTITY_TYPE {\n USER = 'user',\n FAN = 'fan',\n ATHLETE = 'athlete',\n CLUB = 'club',\n BRAND = 'brand',\n ORGANIZATION = 'organization',\n EVENT = 'event',\n POST = 'post',\n PRODUCT = 'product',\n NFT = 'nft',\n SYSTEM = 'system',\n}\n\n/**\n * Storage adapter types\n */\nexport enum STORAGE_ADAPTER_TYPE {\n CloudflareR2 = 'cloudflare_r2',\n SupabaseStorage = 'supabase_storage',\n CUSTOM = 'custom',\n MOCK = 'mock',\n}\n\n/**\n * File access levels\n */\nexport enum FILE_ACCESS_LEVEL {\n PUBLIC = 'public',\n PRIVATE = 'private',\n SHARED = 'shared',\n RESTRICTED = 'restricted',\n}\n\n/**\n * Upload status\n */\nexport enum UPLOAD_STATUS {\n PENDING = 'pending',\n UPLOADING = 'uploading',\n PROCESSING = 'processing',\n COMPLETED = 'completed',\n FAILED = 'failed',\n CANCELLED = 'cancelled',\n}\n\n/**\n * Storage event types\n */\nexport enum STORAGE_EVENT_TYPE {\n // Upload events\n FileUploaded = 'file_uploaded',\n FileUploadFailed = 'file_upload_failed',\n UploadProgress = 'upload_progress',\n UploadAborted = 'upload_aborted',\n\n // Delete events\n FileDeleted = 'file_deleted',\n FileDeleteFailed = 'file_delete_failed',\n\n // Access events\n FileAccessed = 'file_accessed',\n SignedUrlGenerated = 'signed_url_generated',\n\n // Processing events\n MetadataExtracted = 'metadata_extracted',\n MediaProcessingStarted = 'media_processing_started',\n MediaProcessingCompleted = 'media_processing_completed',\n MediaProcessingFailed = 'media_processing_failed',\n TranscodeComplete = 'transcode_complete',\n TranscodeFailed = 'transcode_failed',\n TranscodeProgress = 'transcode_progress',\n ThumbnailGenerated = 'thumbnail_generated',\n ImageOptimized = 'image_optimized',\n\n // Security events\n VirusDetected = 'virus_detected',\n VirusScanCompleted = 'virus_scan_completed',\n\n // Adapter events\n AdapterHealthCheck = 'adapter_health_check',\n AdapterFailed = 'adapter_failed',\n\n // Compliance events\n RetentionPolicyApplied = 'retention_policy_applied',\n RetentionEnforced = 'retention_enforced',\n FileMarkedForDeletion = 'file_marked_for_deletion',\n ImmutabilityEnforced = 'immutability_enforced',\n SoftDeleteProcessed = 'soft_delete_processed',\n FileRestored = 'file_restored',\n FileArchived = 'file_archived',\n RetentionExpired = 'retention_expired',\n JurisdictionConflictResolved = 'jurisdiction_conflict_resolved',\n\n // Generation events\n FileGenerated = 'file_generated',\n FileGenerationFailed = 'file_generation_failed',\n FileUpdated = 'file_updated',\n FileUpdateFailed = 'file_update_failed',\n\n // File operations events\n FileReplaced = 'file_replaced',\n FileReplaceFailed = 'file_replace_failed',\n FileMoved = 'file_moved',\n FileMoveFailed = 'file_move_failed',\n FileCopied = 'file_copied',\n FileCopyFailed = 'file_copy_failed',\n\n // Audit events\n AuditLogCreated = 'audit_log_created',\n\n // Queue events\n QueueStarted = 'storage.queue.started',\n QueueStopped = 'storage.queue.stopped',\n OperationProcessing = 'storage.operation.processing',\n OperationCompleted = 'storage.operation.completed',\n OperationRetry = 'storage.operation.retry',\n OperationFailed = 'storage.operation.failed',\n\n // Error events\n StorageError = 'storage_error',\n\n // CDN events\n CdnInvalidated = 'cdn_invalidated',\n CdnInvalidationFailed = 'cdn_invalidation_failed',\n\n // Integrity events\n IntegrityCheckFailed = 'integrity_check_failed',\n CorruptionDetected = 'corruption_detected',\n\n // Quota events\n QuotaWarning = 'quota_warning',\n QuotaExceeded = 'quota_exceeded',\n\n // Webhook events\n WebhookReceived = 'webhook_received',\n WebhookProcessed = 'webhook_processed',\n WebhookFailed = 'webhook_failed',\n WebhookRetryExhausted = 'webhook_retry_exhausted',\n}\n\n/**\n * Retry strategies for adapter operations\n */\nexport enum RETRY_STRATEGY {\n ExponentialBackoff = 'exponential_backoff',\n LinearBackoff = 'linear_backoff',\n FixedDelay = 'fixed_delay',\n NoRetry = 'no_retry',\n}\n\n/**\n * Path generation strategies\n */\nexport enum PATH_GENERATION_STRATEGY {\n HashBased = 'hash_based',\n EntityBased = 'entity_based',\n DateBased = 'date_based',\n CategoryBased = 'category_based',\n FLAT = 'flat',\n}\n\n/**\n * File validation error types\n */\nexport enum FILE_VALIDATION_ERROR {\n InvalidMimeType = 'invalid_mime_type',\n FileTooLarge = 'file_too_large',\n FileTooSmall = 'file_too_small',\n InvalidExtension = 'invalid_extension',\n InvalidFilename = 'invalid_filename',\n ExecutableDetected = 'executable_detected',\n VirusDetected = 'virus_detected',\n}\n\n/**\n * Template output formats\n */\nexport enum TEMPLATE_OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n MARKDOWN = 'markdown',\n}\n\n/**\n * Document types for compliance storage (R2)\n * Financial and legal documents requiring strict compliance\n */\nexport enum DOCUMENT_TYPE {\n INVOICE = 'invoice',\n RECEIPT = 'receipt',\n TAX = 'tax',\n COMPLIANCE = 'compliance',\n CERTIFICATE = 'certificate',\n CONTRACT = 'contract',\n REPORT = 'report',\n}\n\n/**\n * Media entity types (for Supabase media storage)\n */\nexport enum MEDIA_ENTITY {\n TEAM = 'team',\n CLUB = 'club',\n ATHLETE = 'athlete',\n MATCH = 'match',\n LEAGUE = 'league',\n POST = 'post',\n CAMPAIGN = 'campaign',\n PRODUCT = 'product',\n BRAND = 'brand',\n USER = 'user',\n}\n\n/**\n * Storage visibility levels\n */\nexport enum STORAGE_VISIBILITY {\n PUBLIC = 'public',\n PRIVATE = 'private',\n}\n\n/**\n * Environment types for bucket naming\n */\nexport enum STORAGE_ENVIRONMENT {\n PRODUCTION = 'prod',\n STAGING = 'stg',\n DEVELOPMENT = 'dev',\n}\n\n/**\n * Business model types for organizational separation\n */\nexport enum BUSINESS_MODEL {\n B2B = 'b2b',\n B2C = 'b2c',\n B2B2C = 'b2b2c',\n INTERNAL = 'internal',\n}\n\n/**\n * Organization tier for dedicated resources\n */\nexport enum ORGANIZATION_TIER {\n ENTERPRISE = 'enterprise',\n PROFESSIONAL = 'professional',\n STANDARD = 'standard',\n STARTER = 'starter',\n}\n\n/**\n * Storage bucket purpose (provider-agnostic)\n * Describes what the bucket is used for, not how it's named\n */\nexport enum BUCKET_PURPOSE {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Image files (photos, graphics) */\n MediaImages = 'media-images',\n /** Video files */\n MediaVideos = 'media-videos',\n /** Static assets (CSS, JS, fonts) */\n MediaStatic = 'media-static',\n /** User uploads (attachments, documents) */\n UserUploads = 'user-uploads',\n /** Temporary files (processing, staging) */\n TEMPORARY = 'temporary',\n /** Archived/cold storage */\n ARCHIVES = 'archives',\n /** Backups */\n BACKUPS = 'backups',\n}\n\n/**\n * Path generation strategy type\n */\nexport enum PATH_STRATEGY {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Media files (images/videos) */\n MEDIA = 'media',\n /** General files */\n GENERAL = 'general',\n}\n\n/**\n * Media variant types\n */\nexport enum MEDIA_VARIANT_TYPE {\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n}\n\n/**\n * Storage queue priority levels\n */\nexport enum STORAGE_QUEUE_PRIORITY {\n HIGH = 'high',\n NORMAL = 'normal',\n LOW = 'low',\n}\n\n/**\n * Device types for device-aware variant optimization\n * Used to select optimal variants based on target device\n */\nexport enum STORAGE_DEVICE_TYPE {\n /** Mobile phones (320px - 480px) */\n MOBILE = 'mobile',\n /** Tablets (768px - 1024px) */\n TABLET = 'tablet',\n /** Desktop/laptop screens (1280px - 1920px) */\n DESKTOP = 'desktop',\n /** 4K/Retina displays (2560px+) */\n FourK = '4k',\n /** Smart TVs and large displays (3840px+) */\n TV = 'tv',\n /** Watch/wearable devices (small screens) */\n WATCH = 'watch',\n /** Auto-detect best variant (default) */\n AUTO = 'auto',\n}\n\n/**\n * Standard variant names for images and videos\n * Used to identify specific size/quality variants\n */\nexport enum STORAGE_VARIANT_NAME {\n // Image variants - Standard sizes\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n XLARGE = 'xlarge',\n\n // Device-specific image variants\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n RETINA = 'retina',\n\n // Video variants - Standard resolutions\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n Video4k = '4k-video',\n}\n\n/**\n * Adapter health status\n */\nexport enum ADAPTER_HEALTH_STATUS {\n HEALTHY = 'healthy',\n DEGRADED = 'degraded',\n UNHEALTHY = 'unhealthy',\n UNKNOWN = 'unknown',\n}\n\n/**\n * Renderer type (document/template rendering engines)\n */\nexport enum STORAGE_RENDERER_TYPE {\n PUPPETEER = 'puppeteer', // Headless Chrome (HTML → PDF/PNG)\n PLAYWRIGHT = 'playwright', // Headless browser (HTML → PDF/PNG)\n PDFKIT = 'pdfkit', // Lightweight PDF generation\n JSPDF = 'jspdf', // Client-side PDF generation\n WKHTMLTOPDF = 'wkhtmltopdf', // Standalone binary (HTML → PDF)\n EXCELJS = 'exceljs', // Excel generation\n DOCXTEMPLATER = 'docxtemplater', // Word document generation\n}\n\n/**\n * Output format for rendered documents\n */\nexport enum OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n PNG = 'png',\n JPEG = 'jpeg',\n EXCEL = 'excel', // .xlsx\n WORD = 'word', // .docx\n CSV = 'csv',\n JSON = 'json',\n}\n\n/**\n * Compliance jurisdictions\n *\n * Standardized jurisdiction codes for compliance enforcement\n */\nexport enum STORAGE_JURISDICTION {\n // Global\n GLOBAL = 'GLOBAL',\n\n // United States (Federal)\n US = 'US',\n\n // United States (States)\n UsCa = 'US-CA', // California (CCPA)\n UsNy = 'US-NY', // New York (NYDFS)\n UsTx = 'US-TX', // Texas\n UsFl = 'US-FL', // Florida\n UsIl = 'US-IL', // Illinois\n\n // European Union\n EU = 'EU',\n\n // European Countries\n EuDe = 'EU-DE', // Germany\n EuFr = 'EU-FR', // France\n EuGb = 'EU-GB', // United Kingdom (post-Brexit)\n EuIt = 'EU-IT', // Italy\n EuEs = 'EU-ES', // Spain\n EuNl = 'EU-NL', // Netherlands\n EuCh = 'EU-CH', // Switzerland\n\n // Asia Pacific\n JP = 'JP', // Japan\n SG = 'SG', // Singapore\n HK = 'HK', // Hong Kong\n AU = 'AU', // Australia\n NZ = 'NZ', // New Zealand\n KR = 'KR', // South Korea\n CN = 'CN', // China\n\n // Middle East & Africa\n AE = 'AE', // UAE\n SA = 'SA', // Saudi Arabia\n IL = 'IL', // Israel\n ZA = 'ZA', // South Africa\n\n // Americas\n CA = 'CA', // Canada\n BR = 'BR', // Brazil\n MX = 'MX', // Mexico\n AR = 'AR', // Argentina\n}\n\n/**\n * Regulatory frameworks for compliance\n *\n * Standardized framework codes to prevent arbitrary strings\n */\nexport enum STORAGE_REGULATORY_FRAMEWORK {\n // US Financial Regulations\n IRS = 'IRS', // Internal Revenue Service\n SEC = 'SEC', // Securities and Exchange Commission\n FINRA = 'FINRA', // Financial Industry Regulatory Authority\n SOX = 'SOX', // Sarbanes-Oxley Act\n GLBA = 'GLBA', // Gramm-Leach-Bliley Act\n FCRA = 'FCRA', // Fair Credit Reporting Act\n\n // US Crypto/FinTech Regulations\n FINCEN = 'FinCEN', // Financial Crimes Enforcement Network\n BSA = 'BSA', // Bank Secrecy Act\n AML = 'AML', // Anti-Money Laundering\n OFAC = 'OFAC', // Office of Foreign Assets Control\n NYDFS = 'NYDFS', // NY Department of Financial Services\n\n // US State Regulations\n CCPA = 'CCPA', // California Consumer Privacy Act\n CPRA = 'CPRA', // California Privacy Rights Act\n\n // European Regulations\n GDPR = 'GDPR', // General Data Protection Regulation\n MICA = 'MiCA', // Markets in Crypto-Assets Regulation\n AMLD5 = '5AMLD', // 5th Anti-Money Laundering Directive\n AMLD6 = '6AMLD', // 6th Anti-Money Laundering Directive\n PSD2 = 'PSD2', // Payment Services Directive 2\n EMIR = 'EMIR', // European Market Infrastructure Regulation\n\n // International Standards\n FATF = 'FATF', // Financial Action Task Force\n BaselIii = 'Basel III', // Basel III banking regulations\n ISO27001 = 'ISO27001', // Information security management\n SOC2 = 'SOC2', // Service Organization Control 2\n\n // Healthcare\n HIPAA = 'HIPAA', // Health Insurance Portability and Accountability Act\n HITECH = 'HITECH', // Health Information Technology for Economic and Clinical Health\n\n // Other Industries\n PciDss = 'PCI DSS', // Payment Card Industry Data Security Standard\n FERPA = 'FERPA', // Family Educational Rights and Privacy Act\n COPPA = 'COPPA', // Children's Online Privacy Protection Act\n\n // Internal/Custom\n InternalSecurity = 'Internal Security Policy',\n IndustryBestPractices = 'Industry Best Practices',\n}\n\n/**\n * Storage plugin types\n */\nexport enum STORAGE_PLUGIN_TYPE {\n VALIDATION = 'validation', // File validation (size, type, content)\n SECURITY = 'security', // Virus scanning, malware detection\n METADATA = 'metadata', // Metadata extraction (dimensions, duration)\n CDN = 'cdn', // CDN invalidation, cache management\n PROCESSING = 'processing', // Media processing, transcoding\n MONITORING = 'monitoring', // Access tracking, performance monitoring\n COMPLIANCE = 'compliance', // Compliance checks, retention policies\n AUDIT = 'audit', // Audit logging, compliance tracking\n CUSTOM = 'custom', // Custom user-defined plugins\n}\n\n/**\n * Storage Webhook Types\n *\n * Webhook system for handling external callbacks from:\n * - Cloud storage providers (R2, Supabase)\n * - Media processing services (AWS MediaConvert, Cloudinary)\n * - CDN providers (Cloudflare, CloudFront, Fastly)\n *\n * @module @plyaz/types/storage/webhooks\n *\n * Note: Validation schema implementation (Zod) is abstracted away.\n * Consumers don't need to know about or install Zod.\n */\n\n/**\n * Webhook event types for storage operations\n */\nexport enum STORAGE_WEBHOOK_EVENT_TYPE {\n // Object lifecycle events\n ObjectCreated = 'object.created',\n ObjectUpdated = 'object.updated',\n ObjectDeleted = 'object.deleted',\n ObjectRestored = 'object.restored',\n ObjectArchived = 'object.archived',\n\n // Processing events\n TranscodeComplete = 'transcode.complete',\n TranscodeFailed = 'transcode.failed',\n TranscodeProgress = 'transcode.progress',\n ThumbnailComplete = 'thumbnail.complete',\n ImageOptimizationComplete = 'image.optimization.complete',\n\n // CDN events\n CdnInvalidationComplete = 'cdn.invalidation.complete',\n CdnInvalidationFailed = 'cdn.invalidation.failed',\n\n // Storage integrity events\n ChecksumMismatch = 'checksum.mismatch',\n ObjectCorrupted = 'object.corrupted',\n\n // Quota/billing events\n QuotaWarning = 'quota.warning',\n QuotaExceeded = 'quota.exceeded',\n}\n\n/**\n * Storage operations\n */\nexport enum STORAGE_OPERATION {\n UPLOAD = 'upload',\n DELETE = 'delete',\n UPDATE = 'update',\n RESTORE = 'restore',\n ARCHIVE = 'archive',\n}\n\n/**\n * Signature verification methods for storage webhooks\n */\nexport enum STORAGE_SIGNATURE_METHOD {\n HmacSha256 = 'hmac-sha256',\n HmacSha512 = 'hmac-sha512',\n HmacSha1 = 'hmac-sha1',\n AwsSignatureV4 = 'aws-signature-v4',\n JWT = 'jwt',\n Custom = 'custom',\n}\n","/**\n * Event Handler Mapping\n *\n * Centralized mapping between camelCase handler names (StorageEventHandlers)\n * and enum-based event types (STORAGE_EVENT_TYPE).\n *\n * This mapping is used by:\n * - StorageService to register handlers\n * - Documentation generation\n * - Type utilities\n * - Testing utilities\n *\n * @module @plyaz/types/storage\n */\n\nimport type { StorageEventHandlers } from './interfaces';\nimport type { STORAGE_WEBHOOK_EVENT_TYPE } from './enums';\nimport { STORAGE_EVENT_TYPE } from './enums';\n\n/**\n * Mapping from camelCase handler method names to StorageEventType enum values\n *\n * This is the single source of truth for the handler name <-> event type relationship.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_HANDLER_MAPPING } from '@plyaz/types';\n *\n * // Get event type from handler name\n * const eventType = STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded;\n * // Returns: STORAGE_EVENT_TYPE.FileUploaded\n *\n * // Register handler\n * if (handlers.onFileUploaded) {\n * eventManager.on(STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded, handlers.onFileUploaded);\n * }\n * ```\n */\nexport const STORAGE_EVENT_HANDLER_MAPPING: Record<keyof StorageEventHandlers, STORAGE_EVENT_TYPE> =\n {\n // Upload events\n onFileUploaded: STORAGE_EVENT_TYPE.FileUploaded,\n onFileUploadFailed: STORAGE_EVENT_TYPE.FileUploadFailed,\n onUploadProgress: STORAGE_EVENT_TYPE.UploadProgress,\n onUploadAborted: STORAGE_EVENT_TYPE.UploadAborted,\n\n // Delete events\n onFileDeleted: STORAGE_EVENT_TYPE.FileDeleted,\n onFileDeleteFailed: STORAGE_EVENT_TYPE.FileDeleteFailed,\n\n // Access events\n onFileAccessed: STORAGE_EVENT_TYPE.FileAccessed,\n onSignedUrlGenerated: STORAGE_EVENT_TYPE.SignedUrlGenerated,\n\n // Processing events\n onMetadataExtracted: STORAGE_EVENT_TYPE.MetadataExtracted,\n onMediaProcessingStarted: STORAGE_EVENT_TYPE.MediaProcessingStarted,\n onMediaProcessingCompleted: STORAGE_EVENT_TYPE.MediaProcessingCompleted,\n onMediaProcessingFailed: STORAGE_EVENT_TYPE.MediaProcessingFailed,\n\n // Security events\n onVirusDetected: STORAGE_EVENT_TYPE.VirusDetected,\n onVirusScanCompleted: STORAGE_EVENT_TYPE.VirusScanCompleted,\n\n // Adapter events\n onAdapterHealthCheck: STORAGE_EVENT_TYPE.AdapterHealthCheck,\n onAdapterFailed: STORAGE_EVENT_TYPE.AdapterFailed,\n\n // Compliance events\n onRetentionPolicyApplied: STORAGE_EVENT_TYPE.RetentionPolicyApplied,\n onFileMarkedForDeletion: STORAGE_EVENT_TYPE.FileMarkedForDeletion,\n onImmutabilityEnforced: STORAGE_EVENT_TYPE.ImmutabilityEnforced,\n\n // File operations events\n onFileReplaced: STORAGE_EVENT_TYPE.FileReplaced,\n onFileReplaceFailed: STORAGE_EVENT_TYPE.FileReplaceFailed,\n onFileMoved: STORAGE_EVENT_TYPE.FileMoved,\n onFileMoveFailed: STORAGE_EVENT_TYPE.FileMoveFailed,\n onFileCopied: STORAGE_EVENT_TYPE.FileCopied,\n onFileCopyFailed: STORAGE_EVENT_TYPE.FileCopyFailed,\n\n // Audit events\n onAuditLogCreated: STORAGE_EVENT_TYPE.AuditLogCreated,\n\n // Queue events\n onQueueStarted: STORAGE_EVENT_TYPE.QueueStarted,\n onQueueStopped: STORAGE_EVENT_TYPE.QueueStopped,\n onOperationProcessing: STORAGE_EVENT_TYPE.OperationProcessing,\n onOperationCompleted: STORAGE_EVENT_TYPE.OperationCompleted,\n onOperationRetry: STORAGE_EVENT_TYPE.OperationRetry,\n onOperationFailed: STORAGE_EVENT_TYPE.OperationFailed,\n\n // Error events\n onStorageError: STORAGE_EVENT_TYPE.StorageError,\n } as const;\n\n/**\n * Webhook event type to internal storage event mapping\n *\n * Maps external webhook event types to internal StorageEventType enums\n * Used by WebhookManager to emit the correct storage events\n */\nexport const WEBHOOK_EVENT_TYPE_MAPPING: Record<\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE],\n STORAGE_EVENT_TYPE\n> = {\n 'object.created': STORAGE_EVENT_TYPE.FileUploaded,\n 'object.updated': STORAGE_EVENT_TYPE.FileUpdated,\n 'object.deleted': STORAGE_EVENT_TYPE.FileDeleted,\n 'object.restored': STORAGE_EVENT_TYPE.FileRestored,\n 'object.archived': STORAGE_EVENT_TYPE.FileArchived,\n 'transcode.complete': STORAGE_EVENT_TYPE.TranscodeComplete,\n 'transcode.failed': STORAGE_EVENT_TYPE.TranscodeFailed,\n 'transcode.progress': STORAGE_EVENT_TYPE.TranscodeProgress,\n 'thumbnail.complete': STORAGE_EVENT_TYPE.ThumbnailGenerated,\n 'image.optimization.complete': STORAGE_EVENT_TYPE.ImageOptimized,\n 'cdn.invalidation.complete': STORAGE_EVENT_TYPE.CdnInvalidated,\n 'cdn.invalidation.failed': STORAGE_EVENT_TYPE.CdnInvalidationFailed,\n 'checksum.mismatch': STORAGE_EVENT_TYPE.IntegrityCheckFailed,\n 'object.corrupted': STORAGE_EVENT_TYPE.CorruptionDetected,\n 'quota.warning': STORAGE_EVENT_TYPE.QuotaWarning,\n 'quota.exceeded': STORAGE_EVENT_TYPE.QuotaExceeded,\n} as const;\n\n/**\n * Reverse mapping from StorageEventType enum values to camelCase handler names\n *\n * Useful for generating handler names from event types, documentation, etc.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_TYPE_TO_HANDLER_NAME } from '@plyaz/types';\n *\n * // Get handler name from event type\n * const handlerName = STORAGE_EVENT_TYPE_TO_HANDLER_NAME[STORAGE_EVENT_TYPE.FileUploaded];\n * // Returns: 'onFileUploaded'\n * ```\n */\nexport const STORAGE_EVENT_TYPE_TO_HANDLER_NAME: Record<\n STORAGE_EVENT_TYPE,\n keyof StorageEventHandlers\n> = Object.entries(STORAGE_EVENT_HANDLER_MAPPING).reduce(\n (acc, [handlerName, eventType]) => {\n acc[eventType] = handlerName as keyof StorageEventHandlers;\n return acc;\n },\n {} as Record<STORAGE_EVENT_TYPE, keyof StorageEventHandlers>\n);\n\n/**\n * Type-safe helper to get all handler names\n */\nexport type StorageEventHandlerName = keyof StorageEventHandlers;\nexport type StorageWebhookEventHandlerName =\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE];\n\n/**\n * Type-safe helper to get all event types that have handlers\n */\nexport type MappedStorageEventType =\n (typeof STORAGE_EVENT_HANDLER_MAPPING)[StorageEventHandlerName];\nexport type MappedStorageWebhookEventType =\n (typeof WEBHOOK_EVENT_TYPE_MAPPING)[StorageWebhookEventHandlerName];\n","/**\n * Storage Package Zod Schemas\n * @module @plyaz/types/storage/schemas\n *\n * Validation schemas for storage webhooks and other features\n */\n\nimport { z } from 'zod';\n\n/**\n * Maximum progress percentage (0-100)\n */\nconst MAX_PROGRESS_PERCENTAGE = 100;\n\n/**\n * Storage media processing job status\n */\nexport enum STORAGE_PROCESSING_STATUS {\n Queued = 'queued',\n Processing = 'processing',\n Completed = 'completed',\n Failed = 'failed',\n}\n\n/**\n * Storage media processing output schema\n */\nexport const StorageProcessingOutputSchema = z.object({\n url: z.string().url(),\n format: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n duration: z.number().optional(),\n size: z.number(),\n bitrate: z.number().optional(),\n codec: z.string().optional(),\n});\n\nexport type StorageProcessingOutput = z.infer<typeof StorageProcessingOutputSchema>;\n\n/**\n * Storage media processing webhook payload schema\n */\nexport const StorageMediaProcessingPayloadSchema = z.object({\n jobId: z.string(),\n status: z.nativeEnum(STORAGE_PROCESSING_STATUS),\n input: z.object({\n url: z.string().url(),\n objectKey: z.string(),\n bucket: z.string().optional(),\n }),\n output: z\n .object({\n primary: StorageProcessingOutputSchema.optional(),\n thumbnail: StorageProcessingOutputSchema.optional(),\n variants: z.array(StorageProcessingOutputSchema).optional(),\n })\n .optional(),\n metadata: z\n .object({\n duration: z.number().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n format: z.string().optional(),\n codec: z.string().optional(),\n })\n .optional(),\n progress: z.number().min(0).max(MAX_PROGRESS_PERCENTAGE).optional(),\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n details: z.record(z.string(), z.unknown()).optional(),\n })\n .optional(),\n timestamp: z.union([z.string(), z.number()]),\n provider: z.string().optional(),\n});\n\nexport type StorageMediaProcessingPayload = z.infer<typeof StorageMediaProcessingPayloadSchema>;\n\n/**\n * ============================================================================\n * Cloudflare R2 Webhook Schemas\n * ============================================================================\n * S3-compatible event notifications\n * https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-content-structure.html\n */\nexport const R2EventRecordSchema = z.object({\n eventVersion: z.string(), // \"2.1\"\n eventSource: z.string(), // \"aws:s3\" or \"cloudflare:r2\"\n awsRegion: z.string().optional(), // R2 may not include this\n eventTime: z.string(), // ISO 8601 timestamp\n eventName: z.string(), // e.g., \"ObjectCreated:Put\", \"ObjectRemoved:Delete\"\n userIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n requestParameters: z\n .object({\n sourceIPAddress: z.string(),\n })\n .optional(),\n responseElements: z\n .object({\n 'x-amz-request-id': z.string().optional(),\n 'x-amz-id-2': z.string().optional(),\n })\n .optional(),\n s3: z.object({\n s3SchemaVersion: z.string(), // \"1.0\"\n configurationId: z.string().optional(),\n bucket: z.object({\n name: z.string(), // Bucket name\n ownerIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n arn: z.string().optional(),\n }),\n object: z.object({\n key: z.string(), // Object key\n size: z.number().optional(), // File size in bytes\n eTag: z.string().optional(), // Entity tag\n versionId: z.string().optional(),\n sequencer: z.string().optional(),\n }),\n }),\n});\n\nexport const R2WebhookPayloadSchema = z.object({\n Records: z.array(R2EventRecordSchema),\n});\n\nexport type R2WebhookPayload = z.infer<typeof R2WebhookPayloadSchema>;\nexport type R2EventRecord = z.infer<typeof R2EventRecordSchema>;\n\n/**\n * ============================================================================\n * Supabase Storage Webhook Schemas\n * ============================================================================\n * Database webhook events from storage.objects table\n */\nexport const SupabaseStorageObjectSchema = z.object({\n id: z.uuid(), // Object UUID\n bucket_id: z.string(), // Bucket name\n name: z.string(), // Object path/key\n owner: z.uuid().optional().nullable(), // Owner UUID\n created_at: z.string(), // ISO timestamp\n updated_at: z.string().optional().nullable(), // ISO timestamp\n last_accessed_at: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(), // Custom metadata\n version: z.string().optional().nullable(),\n owner_id: z.string().optional().nullable(),\n});\n\nexport const SupabaseWebhookPayloadSchema = z.object({\n type: z.enum(['INSERT', 'UPDATE', 'DELETE']), // Database event type\n table: z.literal('objects'), // Always 'objects' for storage\n schema: z.literal('storage'), // Always 'storage'\n record: SupabaseStorageObjectSchema.optional().nullable(), // New/updated record\n old_record: SupabaseStorageObjectSchema.optional().nullable(), // Old record (for UPDATE/DELETE)\n});\n\nexport type SupabaseWebhookPayload = z.infer<typeof SupabaseWebhookPayloadSchema>;\nexport type SupabaseStorageObject = z.infer<typeof SupabaseStorageObjectSchema>;\n"]}