@plyaz/types 1.13.16 → 1.13.17
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.
- package/dist/api/endpoints/infobip/types.d.ts +1 -1
- package/dist/api/errors/types.d.ts +1 -1
- package/dist/api/index.cjs +158 -100
- package/dist/api/index.cjs.map +1 -1
- package/dist/api/index.js +60 -2
- package/dist/api/index.js.map +1 -1
- package/dist/db/database.types.d.ts +1 -1
- package/dist/db/features-config.types.d.ts +2 -2
- package/dist/db/index.cjs.map +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/replica.types.d.ts +2 -2
- package/dist/errors/index.cjs +158 -100
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.js +60 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/types.d.ts +5 -3
- package/dist/http/constants.d.ts +265 -0
- package/dist/index.cjs +558 -100
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +459 -2
- package/dist/index.js.map +1 -1
- package/dist/locale/types.d.ts +109 -0
- package/dist/notifications/enums.d.ts +0 -1
- package/dist/notifications/index.cjs.map +1 -1
- package/dist/notifications/index.js.map +1 -1
- package/dist/payments/base-error/types.d.ts +1 -1
- package/dist/payments/gateways/provider/types.d.ts +1 -1
- package/dist/payments/gateways/routings/types.d.ts +1 -1
- package/dist/payments/provider/adapter/types.d.ts +1 -1
- package/dist/payments/provider/core/types.d.ts +1 -1
- package/dist/payments/provider/payment-provider/types.d.ts +1 -1
- package/dist/payments/transaction/types.d.ts +1 -1
- package/package.json +1 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/auth/enums.ts","../src/auth/schemas.ts","../src/errors/enums.ts","../src/errors/codes.ts","../src/events/enums.ts","../src/web3/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/routings/enums.ts","../src/payments/base-error/enum.ts","../src/notifications/enums.ts","../src/notifications/schemas.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/utils/enums.ts","../src/api/pubsub/enum.ts"],"names":["AUTH_PROVIDER_TYPE","PAYMENTEVENTTYPE","PAYMENTEVENTCATEGORY","PAYMENTERRORCATEGORY","EVENTPROCESSINGSTATUS","PAYMENTPROVIDERTYPE","PAYMENTMETHOD","PAYMENTSTATUS","TRANSACTIONTYPE","USERTYPE","PRODUCTTYPE","REQUIREDACTIONTYPE","COSTOPTIMIZATIONSTRATEGY","FAILOVERSTRATEGY","REGULATORYFRAMEWORK","LOADBALANCINGSTRATEGY","PERFORMANCEMETRICTYPE","ROUTINGSTRATEGY","REFUND_ERROR_TYPES","REGULATORY_FRAMEWORK","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","PAYMENT_ERROR_CATEGORY","SIGNATURE_METHOD","WEBHOOK_EVENT_TYPE","WEBHOOK_ENCRYPTION_METHOD","z","NETWORK_QUALITY","CORRELATION_TYPE"],"mappings":"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","file":"index.js","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 * Zod schema for validating user login credentials.\n * @description Ensures the input object contains a valid email address and a password string.\n * @example\n * ```ts\n * LoginCredentialsSchema.parse({\n * email: \"user@example.com\",\n * password: \"\"\n * });\n * ```\n */\nexport const loginCredentialsSchema = z.object({\n // The user's email address. Must be a valid email format.\n email: z.string().email('Invalid email format'),\n\n // The user's password. No format constraints applied here.\n password: z.string(),\n});\n\n/**\n * Type inferred from {@link loginCredentialsSchema}.\n * @description Represents the shape of validated login credentials input.\n */\nexport type LoginCredentialsInput = z.infer<typeof loginCredentialsSchema>;\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 /** 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.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 * 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 '@plyaz/config';\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 // ===== 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} 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} 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\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\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\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\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 // ===== 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","/**\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 * 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 * 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 PAYMENTEVENTTYPE {\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 PAYMENTEVENTCATEGORY {\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 PAYMENTERRORCATEGORY {\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 EVENTPROCESSINGSTATUS {\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 PAYMENTPROVIDERTYPE {\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 PAYMENTMETHOD {\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 PAYMENTSTATUS {\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 TRANSACTIONTYPE {\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 USERTYPE {\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 PRODUCTTYPE {\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","/**\n * Cost optimization strategies.\n */\nexport enum COSTOPTIMIZATIONSTRATEGY {\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 FAILOVERSTRATEGY {\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 REGULATORYFRAMEWORK {\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 LOADBALANCINGSTRATEGY {\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 PERFORMANCEMETRICTYPE {\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 ROUTINGSTRATEGY {\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","export enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\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 * 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 * Payment error categories for organizing and handling different types of errors.\n */\nexport enum PAYMENT_ERROR_CATEGORY {\n Validation = 'validation',\n Authentication = 'authentication',\n Authorization = 'authorization',\n Processing = 'processing',\n Provider = 'provider',\n Network = 'network',\n Fraud = 'fraud',\n Compliance = 'compliance',\n Limits = 'limits',\n Configuration = 'configuration',\n Timeout = 'timeout',\n System = 'system',\n Webhook = 'webhook',\n Refund = 'refund',\n Security = 'security',\n}\n","/**\n * Notification Constants and Enums\n *\n * Type-level constants and enum values for the notifications system.\n * Configuration defaults have been moved to @plyaz/config/notifications.\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 * 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 * Utility Enums for API Package\n * Enums used across API utilities\n */\n\n/**\n * Correlation ID types for different contexts\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 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"]}
|
|
1
|
+
{"version":3,"sources":["../src/auth/enums.ts","../src/auth/schemas.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/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/routings/enums.ts","../src/payments/base-error/enum.ts","../src/notifications/enums.ts","../src/notifications/schemas.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/utils/enums.ts","../src/api/pubsub/enum.ts"],"names":["AUTH_PROVIDER_TYPE","PAYMENTEVENTTYPE","PAYMENTEVENTCATEGORY","PAYMENTERRORCATEGORY","EVENTPROCESSINGSTATUS","PAYMENTPROVIDERTYPE","PAYMENTMETHOD","PAYMENTSTATUS","TRANSACTIONTYPE","USERTYPE","PRODUCTTYPE","REQUIREDACTIONTYPE","COSTOPTIMIZATIONSTRATEGY","FAILOVERSTRATEGY","REGULATORYFRAMEWORK","LOADBALANCINGSTRATEGY","PERFORMANCEMETRICTYPE","ROUTINGSTRATEGY","REFUND_ERROR_TYPES","REGULATORY_FRAMEWORK","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","PAYMENT_ERROR_CATEGORY","SIGNATURE_METHOD","WEBHOOK_EVENT_TYPE","WEBHOOK_ENCRYPTION_METHOD","z","NETWORK_QUALITY","CORRELATION_TYPE"],"mappings":"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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,KAAA;AAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA;AAAA,EACN,IAAA,EAAM;AAAA;AACR;;;AC7GO,IAAM,QAAA,GAAW;AAAA;AAAA,EAEtB,eAAA,EAAiB,CAAA;AAAA;AAAA,EAGjB,eAAA,EAAiB,QAAA;AAAA;AAAA,EAGjB,QAAA,EAAU,EAAA;AAAA;AAAA,EAGV,eAAA,EAAiB,QAAA;AAAA;AAAA,EAGjB,QAAA,EAAU,KAAA;AAAA;AAAA,EAGV,eAAA,EAAiB,MAAA;AAAA;AAAA,EAGjB,OAAA,EAAS,GAAA;AAAA;AAAA,EAGT,WAAA,EAAa,KAAA;AAAA;AAAA,EAGb,IAAA,EAAM,IAAA;AAAA;AAAA,EAGN,WAAA,EAAa;AACf;;;ACjCO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AAEL,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,kBAAA,mBAAA,CAAA,GAAoB,oBAAA;AACpB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,kBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,mBAAA,CAAA,GAAoB,oBAAA;AACpB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,aAAA,CAAA,GAAc,cAAA;AACd,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAGlB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAGlB,EAAAA,kBAAA,yBAAA,CAAA,GAA0B,2BAAA;AAC1B,EAAAA,kBAAA,0BAAA,CAAA,GAA2B,4BAAA;AAC3B,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,mBAAA,CAAA,GAAoB,qBAAA;AACpB,EAAAA,kBAAA,sBAAA,CAAA,GAAuB,wBAAA;AACvB,EAAAA,kBAAA,mBAAA,CAAA,GAAoB,qBAAA;AACpB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AAGxB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,cAAA,CAAA,GAAe,eAAA;AAGf,EAAAA,kBAAA,oBAAA,CAAA,GAAqB,qBAAA;AACrB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,kBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,kBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,uBAAA;AACtB,EAAAA,kBAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,kBAAA,oBAAA,CAAA,GAAqB,qBAAA;AACrB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,uBAAA;AACtB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AAGxB,EAAAA,kBAAA,oBAAA,CAAA,GAAqB,sBAAA;AACrB,EAAAA,kBAAA,sBAAA,CAAA,GAAuB,wBAAA;AACvB,EAAAA,kBAAA,sBAAA,CAAA,GAAuB,wBAAA;AACvB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,sBAAA,CAAA,GAAuB,wBAAA;AAGvB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,wBAAA;AACxB,EAAAA,kBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,kBAAA,oBAAA,CAAA,GAAqB,qBAAA;AACrB,EAAAA,kBAAA,0BAAA,CAAA,GAA2B,4BAAA;AAC3B,EAAAA,kBAAA,wBAAA,CAAA,GAAyB,0BAAA;AAGzB,EAAAA,kBAAA,sBAAA,CAAA,GAAuB,wBAAA;AACvB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,4BAAA,CAAA,GAA6B,8BAAA;AAC7B,EAAAA,kBAAA,0BAAA,CAAA,GAA2B,4BAAA;AAG3B,EAAAA,kBAAA,yBAAA,CAAA,GAA0B,2BAAA;AAC1B,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,uBAAA,CAAA,GAAwB,yBAAA;AACxB,EAAAA,kBAAA,mBAAA,CAAA,GAAoB,qBAAA;AACpB,EAAAA,kBAAA,2BAAA,CAAA,GAA4B,6BAAA;AAxFlB,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;AA8FL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,sBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,sBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,sBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,sBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,sBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,sBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,sBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AATE,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAeL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,WAAA,CAAA,GAAY,YAAA;AACZ,EAAAA,sBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,sBAAA,aAAA,CAAA,GAAc,cAAA;AACd,EAAAA,sBAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,sBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,sBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,sBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,sBAAA,oBAAA,CAAA,GAAqB,qBAAA;AACrB,EAAAA,sBAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,sBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAVR,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;;;ACpHL,IAAK,qBAAA,qBAAAC,sBAAAA,KAAL;AACL,EAAAA,uBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,uBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,uBAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,uBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,uBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,uBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,uBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,uBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,uBAAA,SAAA,CAAA,GAAU,SAAA;AATA,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;;;ACAL,IAAK,mBAAA,qBAAAC,oBAAAA,KAAL;AAEL,EAAAA,qBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,qBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,qBAAA,aAAA,CAAA,GAAc,cAAA;AACd,EAAAA,qBAAA,OAAA,CAAA,GAAQ,OAAA;AAGR,EAAAA,qBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,qBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,qBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,qBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,qBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,qBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,qBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,qBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,qBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,qBAAA,WAAA,CAAA,GAAY,YAAA;AAGZ,EAAAA,qBAAA,cAAA,CAAA,GAAe,eAAA;AAtBL,EAAA,OAAAA,oBAAAA;AAAA,CAAA,EAAA,mBAAA,IAAA,EAAA;AA4BL,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AAEL,EAAAA,eAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,eAAA,WAAA,CAAA,GAAY,YAAA;AACZ,EAAAA,eAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,eAAA,eAAA,CAAA,GAAgB,gBAAA;AAGhB,EAAAA,eAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,eAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,eAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,eAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,eAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,eAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,eAAA,mBAAA,CAAA,GAAoB,qBAAA;AAGpB,EAAAA,eAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,eAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,eAAA,iBAAA,CAAA,GAAkB,mBAAA;AAClB,EAAAA,eAAA,WAAA,CAAA,GAAY,YAAA;AACZ,EAAAA,eAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,eAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,eAAA,kBAAA,CAAA,GAAmB,oBAAA;AAGnB,EAAAA,eAAA,UAAA,CAAA,GAAW,WAAA;AACX,EAAAA,eAAA,WAAA,CAAA,GAAY,YAAA;AACZ,EAAAA,eAAA,YAAA,CAAA,GAAa,aAAA;AA5BH,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;AAkCL,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AAEL,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,eAAA,YAAA,CAAA,GAAa,YAAA;AAGb,EAAAA,eAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,eAAA,sBAAA,CAAA,GAAuB,uBAAA;AACvB,EAAAA,eAAA,uBAAA,CAAA,GAAwB,yBAAA;AAGxB,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AAGV,EAAAA,eAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AAGV,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,mBAAA,CAAA,GAAoB,oBAAA;AAGpB,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,eAAA,oBAAA,CAAA,GAAqB,qBAAA;AAGrB,EAAAA,eAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,eAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AAjCD,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;AAuCL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACL,EAAAA,iBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,iBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,iBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,iBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,iBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,iBAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,iBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,iBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,iBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,iBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,iBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AAbD,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAmBL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACL,EAAAA,UAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,QAAA,CAAA,GAAS,QAAA;AAPC,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA;AAaL,IAAK,WAAA,qBAAAC,YAAAA,KAAL;AACL,EAAAA,aAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,aAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,aAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,aAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,aAAA,aAAA,CAAA,GAAc,cAAA;AACd,EAAAA,aAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,aAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,aAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,aAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,aAAA,iBAAA,CAAA,GAAkB,kBAAA;AAVR,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;;;ACrIL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AAEL,EAAAA,oBAAA,UAAA,CAAA,GAAW,UAAA;AAGX,EAAAA,oBAAA,iBAAA,CAAA,GAAkB,kBAAA;AAGlB,EAAAA,oBAAA,gBAAA,CAAA,GAAiB,iBAAA;AAGjB,EAAAA,oBAAA,uBAAA,CAAA,GAAwB,yBAAA;AAGxB,EAAAA,oBAAA,qBAAA,CAAA,GAAsB,sBAAA;AAGtB,EAAAA,oBAAA,oBAAA,CAAA,GAAqB,qBAAA;AAGrB,EAAAA,oBAAA,mBAAA,CAAA,GAAoB,qBAAA;AApBV,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACAL,IAAK,wBAAA,qBAAAC,yBAAAA,KAAL;AAEL,EAAAA,0BAAA,YAAA,CAAA,GAAa,YAAA;AAGb,EAAAA,0BAAA,UAAA,CAAA,GAAW,UAAA;AAGX,EAAAA,0BAAA,cAAA,CAAA,GAAe,cAAA;AAGf,EAAAA,0BAAA,UAAA,CAAA,GAAW,UAAA;AAXD,EAAA,OAAAA,yBAAAA;AAAA,CAAA,EAAA,wBAAA,IAAA,EAAA;AAiBL,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AAEL,EAAAA,kBAAA,eAAA,CAAA,GAAgB,gBAAA;AAGhB,EAAAA,kBAAA,eAAA,CAAA,GAAgB,gBAAA;AAGhB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,kBAAA,cAAA,CAAA,GAAe,eAAA;AAGf,EAAAA,kBAAA,YAAA,CAAA,GAAa,YAAA;AAdH,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;AAoBL,IAAK,mBAAA,qBAAAC,oBAAAA,KAAL;AACL,EAAAA,qBAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,qBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,qBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,qBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,qBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,qBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,qBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,qBAAA,cAAA,CAAA,GAAe,eAAA;AARL,EAAA,OAAAA,oBAAAA;AAAA,CAAA,EAAA,mBAAA,IAAA,EAAA;AAcL,IAAK,qBAAA,qBAAAC,sBAAAA,KAAL;AAEL,EAAAA,uBAAA,YAAA,CAAA,GAAa,aAAA;AAGb,EAAAA,uBAAA,UAAA,CAAA,GAAW,UAAA;AAGX,EAAAA,uBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,uBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,uBAAA,QAAA,CAAA,GAAS,QAAA;AAdC,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;AAoBL,IAAK,qBAAA,qBAAAC,sBAAAA,KAAL;AACL,EAAAA,uBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,uBAAA,aAAA,CAAA,GAAc,cAAA;AACd,EAAAA,uBAAA,WAAA,CAAA,GAAY,YAAA;AACZ,EAAAA,uBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,uBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,uBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,uBAAA,MAAA,CAAA,GAAO,MAAA;AAPG,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;AAaL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AAEL,EAAAA,iBAAA,eAAA,CAAA,GAAgB,gBAAA;AAGhB,EAAAA,iBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,iBAAA,kBAAA,CAAA,GAAmB,mBAAA;AAGnB,EAAAA,iBAAA,UAAA,CAAA,GAAW,UAAA;AAGX,EAAAA,iBAAA,gBAAA,CAAA,GAAiB,iBAAA;AAGjB,EAAAA,iBAAA,YAAA,CAAA,GAAa,aAAA;AAGb,EAAAA,iBAAA,QAAA,CAAA,GAAS,QAAA;AApBC,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACvFL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACL,EAAAA,oBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,oBAAA,eAAA,CAAA,GAAgB,eAAA;AAChB,EAAAA,oBAAA,YAAA,CAAA,GAAa,YAAA;AAHH,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;AASL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,sBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,sBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,sBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,sBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,sBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,sBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,sBAAA,cAAA,CAAA,GAAe,eAAA;AARL,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAcL,IAAK,yBAAA,qBAAAC,0BAAAA,KAAL;AACL,EAAAA,2BAAA,iBAAA,CAAA,GAAkB,kBAAA;AAClB,EAAAA,2BAAA,qBAAA,CAAA,GAAsB,uBAAA;AACtB,EAAAA,2BAAA,mBAAA,CAAA,GAAoB,qBAAA;AACpB,EAAAA,2BAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,2BAAA,qBAAA,CAAA,GAAsB,sBAAA;AACtB,EAAAA,2BAAA,uBAAA,CAAA,GAAwB,wBAAA;AANd,EAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;AAYL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,sBAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,sBAAA,mBAAA,CAAA,GAAoB,oBAAA;AACpB,EAAAA,sBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,sBAAA,mBAAA,CAAA,GAAoB,oBAAA;AACpB,EAAAA,sBAAA,cAAA,CAAA,GAAe,eAAA;AANL,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAYL,IAAK,2BAAA,qBAAAC,4BAAAA,KAAL;AACL,EAAAA,6BAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,6BAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,6BAAA,kBAAA,CAAA,GAAmB,mBAAA;AACnB,EAAAA,6BAAA,gBAAA,CAAA,GAAiB,iBAAA;AACjB,EAAAA,6BAAA,iBAAA,CAAA,GAAkB,kBAAA;AALR,EAAA,OAAAA,4BAAAA;AAAA,CAAA,EAAA,2BAAA,IAAA,EAAA;AAWL,IAAK,sBAAA,qBAAAC,uBAAAA,KAAL;AACL,EAAAA,wBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,wBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,wBAAA,eAAA,CAAA,GAAgB,eAAA;AAChB,EAAAA,wBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,wBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,wBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,wBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,wBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,wBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,wBAAA,eAAA,CAAA,GAAgB,eAAA;AAChB,EAAAA,wBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,wBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,wBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,wBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,wBAAA,UAAA,CAAA,GAAW,UAAA;AAfD,EAAA,OAAAA,uBAAAA;AAAA,CAAA,EAAA,sBAAA,IAAA,EAAA;;;AC9CL,IAAM,sBAAA,GAAyB;AAAA;AAAA,EAEpC,OAAA,EAAS,SAAA;AAAA;AAAA,EAGT,QAAA,EAAU,UAAA;AAAA;AAAA,EAGV,UAAA,EAAY,WAAA;AAAA;AAAA,EAGZ,QAAA,EAAU,SAAA;AAAA;AAAA,EAGV,SAAA,EAAW;AACb;AAMO,IAAM,qBAAA,GAAwB;AAAA,EACnC,KAAA,EAAO,OAAA;AAAA,EACP,GAAA,EAAK,KAAA;AAAA,EACL,IAAA,EAAM;AACR;AAMO,IAAM,uBAAA,GAA0B;AAAA;AAAA,EAErC,aAAA,EAAe,eAAA;AAAA;AAAA,EAGf,SAAA,EAAW,WAAA;AAAA;AAAA,EAGX,MAAA,EAAQ,QAAA;AAAA;AAAA,EAGR,MAAA,EAAQ,QAAA;AAAA;AAAA,EAGR,WAAA,EAAa;AACf;AAKO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACL,EAAAA,kBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,kBAAA,UAAA,CAAA,GAAW,WAAA;AACX,EAAAA,kBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,kBAAA,QAAA,CAAA,GAAS,QAAA;AAJC,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;AAUL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AAEL,EAAAA,oBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,oBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,oBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,oBAAA,SAAA,CAAA,GAAU,SAAA;AAGV,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,SAAA,CAAA,GAAU,SAAA;AAGV,EAAAA,oBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,oBAAA,cAAA,CAAA,GAAe,cAAA;AAGf,EAAAA,oBAAA,cAAA,CAAA,GAAe,eAAA;AACf,EAAAA,oBAAA,WAAA,CAAA,GAAY,YAAA;AAGZ,EAAAA,oBAAA,eAAA,CAAA,GAAgB,gBAAA;AAChB,EAAAA,oBAAA,YAAA,CAAA,GAAa,aAAA;AAGb,EAAAA,oBAAA,SAAA,CAAA,GAAU,SAAA;AAxBA,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;AA8BL,IAAK,yBAAA,qBAAAC,0BAAAA,KAAL;AAEL,EAAAA,2BAAA,YAAA,CAAA,GAAa,aAAA;AAEb,EAAAA,2BAAA,YAAA,CAAA,GAAa,aAAA;AAEb,EAAAA,2BAAA,MAAA,CAAA,GAAO,MAAA;AANG,EAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;AAYL,IAAM,UAAA,GAAa;AAAA;AAAA,EAExB,GAAA,EAAK,iBAAA;AAAA,EACL,GAAA,EAAK,oBAAA;AAAA,EACL,IAAA,EAAM,yEAAA;AAAA,EACN,GAAA,EAAK,0BAAA;AAAA,EACL,IAAA,EAAM,mEAAA;AAAA,EACN,GAAA,EAAK,+BAAA;AAAA,EACL,IAAA,EAAM,2EAAA;AAAA,EACN,GAAA,EAAK,YAAA;AAAA,EACL,GAAA,EAAK,UAAA;AAAA;AAAA,EAGL,GAAA,EAAK,WAAA;AAAA,EACL,GAAA,EAAK,YAAA;AAAA,EACL,IAAA,EAAM,YAAA;AAAA,EACN,GAAA,EAAK,WAAA;AAAA,EACL,GAAA,EAAK,eAAA;AAAA,EACL,IAAA,EAAM,YAAA;AAAA;AAAA,EAGN,GAAA,EAAK,iBAAA;AAAA,EACL,GAAA,EAAK,8BAAA;AAAA,EACL,GAAA,EAAK,mBAAA;AAAA,EACL,IAAA,EAAM,kBAAA;AAAA;AAAA,EAGN,IAAA,EAAM,kBAAA;AAAA,EACN,GAAA,EAAK;AACP;AAKO,IAAM,eAAA,GAAkB;AAAA;AAAA,EAE7B,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,OAAA;AAAA,EACN,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,OAAA;AAAA,EACN,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,OAAA;AAAA,EACN,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA;AAAA,EAGL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,OAAA;AAAA,EACN,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,OAAA;AAAA;AAAA,EAGN,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,EAAA,EAAI,KAAA;AAAA,EACJ,IAAA,EAAM,OAAA;AAAA;AAAA,EAGN,IAAA,EAAM,OAAA;AAAA,EACN,GAAA,EAAK;AACP;ACtKA,IAAM,gBAAA,GAAmB,GAAA;AACzB,IAAM,kBAAA,GAAqB,GAAA;AAC3B,IAAM,sBAAA,GAAyB,GAAA;AAC/B,IAAM,uBAAA,GAA0B,GAAA;AAQzB,IAAM,cAAcC,CAAAA,CACxB,MAAA,EAAO,CACP,KAAA,CAAM,8BAA8B,CAAA,CACpC,GAAA,CAAI,gBAAA,EAAkB,8CAA8C,EACpE,SAAA,CAAU,CAAA,GAAA,KAAO,IAAI,IAAA,EAAK,CAAE,aAAa;AAQrC,IAAM,WAAA,GAAcA,EACxB,MAAA,EAAO,CACP,MAAM,oBAAA,EAAsB,8CAA8C,CAAA,CAC1E,QAAA,CAAS,8BAA8B;AAOnC,IAAM,YAAA,GAAeA,CAAAA,CACzB,MAAA,EAAO,CACP,GAAA,CAAI,GAAG,qBAAqB,CAAA,CAC5B,GAAA,CAAI,kBAAA,EAAoB,wCAAwC;AAQ5D,IAAM,mBAAmBA,CAAAA,CAC7B,MAAA,GACA,GAAA,CAAI,CAAA,EAAG,yBAAyB,CAAA,CAChC,KAAA;AAAA,EACC,eAAA;AAAA,EACA;AACF,CAAA,CACC,GAAA,CAAI,wBAAwB,4CAA4C;AAQpE,IAAM,YAAA,GAAeA,EACzB,MAAA,EAAO,CACP,MAAM,wBAAA,EAA0B,gDAAgD,CAAA,CAChF,QAAA,CAAS,4BAA4B;AAQjC,IAAM,0BAAA,GAA6BA,EACvC,IAAA,CAAK;AAAA,EACJ,uBAAA,CAAwB,aAAA;AAAA,EACxB,uBAAA,CAAwB,SAAA;AAAA,EACxB,uBAAA,CAAwB,MAAA;AAAA,EACxB,uBAAA,CAAwB,MAAA;AAAA,EACxB,uBAAA,CAAwB;AAC1B,CAAU,EACT,OAAA,CAAQ,uBAAA,CAAwB,aAAa,CAAA,CAC7C,SAAS,2DAA2D;AAKhE,IAAM,sBAAsBA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAA,EAAU,KAAK,CAAC;AAO5D,IAAM,mBAAA,GAAsBA,EAChC,MAAA,EAAO,CACP,KAAK,wCAAwC,CAAA,CAC7C,SAAS,wBAAwB;AAQ7B,IAAM,kBAAA,GAAqBA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAO7D,IAAM,iBAAA,GAAoBA,CAAAA,CAC9B,MAAA,EAAO,CACP,GAAA,CAAI,GAAG,0BAA0B,CAAA,CACjC,GAAA,CAAI,uBAAA,EAAyB,6CAA6C;;;ACrHtE,IAAM,gBAAA,GAAmB;AAAA,EAC9B,OAAA,EAAS,SAAA;AAAA,EACT,OAAA,EAAS,SAAA;AAAA,EACT,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,aAAA;AAAA,EACb,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,OAAA;AAAA,EACP,OAAA,EAAS,SAAA;AAAA,EACT,OAAA,EAAS,SAAA;AAAA,EACT,YAAA,EAAc,cAAA;AAAA,EACd,aAAA,EAAe;AACjB;AAKO,IAAM,aAAA,GAAgB;AAAA,EAC3B,OAAA,EAAS,iBAAA;AAAA,EACT,QAAA,EAAU,kBAAA;AAAA,EACV,QAAA,EAAU,kBAAA;AAAA,EACV,QAAA,EAAU,kBAAA;AAAA,EACV,OAAA,EAAS,iBAAA;AAAA,EACT,MAAA,EAAQ,gBAAA;AAAA,EACR,QAAA,EAAU,kBAAA;AAAA,EACV,SAAA,EAAW,mBAAA;AAAA,EACX,MAAA,EAAQ,gBAAA;AAAA,EACR,SAAA,EAAW,mBAAA;AAAA,EACX,UAAA,EAAY,oBAAA;AAAA;AAAA,EAEZ,GAAA,EAAK;AACP;AAKO,IAAM,cAAA,GAAiB;AAAA,EAC5B,cAAA,EAAgB,yBAAA;AAAA,EAChB,WAAA,EAAa,qBAAA;AAAA,EACb,eAAA,EAAiB,yBAAA;AAAA,EACjB,eAAA,EAAiB,yBAAA;AAAA,EACjB,eAAA,EAAiB,yBAAA;AAAA,EACjB,cAAA,EAAgB,wBAAA;AAAA,EAChB,cAAA,EAAgB,wBAAA;AAAA,EAChB,aAAA,EAAe,uBAAA;AAAA,EACf,cAAA,EAAgB,wBAAA;AAAA,EAChB,aAAA,EAAe,uBAAA;AAAA;AAAA,EAEf,GAAA,EAAK;AACP;AAKO,IAAM,YAAA,GAAe;AAAA,EAC1B,aAAA,EAAe,gBAAA;AAAA,EACf,gBAAA,EAAkB,mBAAA;AAAA,EAClB,oBAAA,EAAsB,uBAAA;AAAA,EACtB,mBAAA,EAAqB,sBAAA;AAAA,EACrB,gBAAA,EAAkB,mBAAA;AAAA,EAClB,YAAA,EAAc,eAAA;AAAA,EACd,YAAA,EAAc,eAAA;AAAA,EACd,aAAA,EAAe,gBAAA;AAAA,EACf,cAAA,EAAgB,iBAAA;AAAA,EAChB,WAAA,EAAa,cAAA;AAAA,EACb,aAAA,EAAe,gBAAA;AAAA,EACf,WAAA,EAAa,cAAA;AAAA,EACb,cAAA,EAAgB,iBAAA;AAAA,EAChB,cAAA,EAAgB,iBAAA;AAAA,EAChB,eAAA,EAAiB,kBAAA;AAAA,EACjB,sBAAA,EAAwB,yBAAA;AAAA,EACxB,aAAA,EAAe,gBAAA;AAAA,EACf,aAAA,EAAe,gBAAA;AAAA;AAAA,EAEf,GAAA,EAAK;AACP;AA0BO,IAAM,cAAA,GAAiB;AAAA,EAC5B,MAAA,EAAQ,QAAA;AAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA;AAAA,EACR,SAAA,EAAW,SAAA;AAAA;AAAA,EACX,OAAA,EAAS;AAAA;AACX;AAMO,IAAM,YAAA,GAAe;AAAA,EAC1B,cAAA,CAAe,MAAA;AAAA,EACf,cAAA,CAAe,MAAA;AAAA,EACf,cAAA,CAAe,MAAA;AAAA,EACf,cAAA,CAAe;AACjB;AAMO,IAAM,2BAAA,GAA8B,CAAC,GAAG,YAAA,EAAc,WAAoB;AAK1E,IAAM,YAAA,GAAe;AAAA,EAC1B,eAAA,EAAiB,uBAAA;AAAA,EACjB,aAAA,EAAe,qBAAA;AAAA,EACf,eAAA,EAAiB,uBAAA;AAAA,EACjB,gBAAA,EAAkB,wBAAA;AAAA,EAClB,qBAAA,EAAuB,6BAAA;AAAA,EACvB,oBAAA,EAAsB,4BAAA;AAAA,EACtB,UAAA,EAAY,YAAA;AAAA,EACZ,kBAAA,EAAoB,0BAAA;AAAA,EACpB,gBAAA,EAAkB,wBAAA;AAAA,EAClB,cAAA,EAAgB,sBAAA;AAAA,EAChB,eAAA,EAAiB,uBAAA;AAAA,EACjB,eAAA,EAAiB,uBAAA;AAAA;AAAA,EAEjB,GAAA,EAAK;AACP;AAKO,IAAM,qBAAA,GAAwB;AAAA,EACnC,MAAA,EAAQ,QAAA;AAAA,EACR,iBAAA,EAAmB,iBAAA;AAAA,EACnB,aAAA,EAAe,cAAA;AAAA,EACf,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,aAAA;AAAA,EACb,MAAA,EAAQ,QAAA;AAAA,EACR,aAAA,EAAe,cAAA;AAAA,EACf,QAAA,EAAU;AACZ;AAKO,IAAM,aAAA,GAAgB;AAAA,EAC3B,cAAA,EAAgB,uBAAA;AAAA,EAChB,YAAA,EAAc,qBAAA;AAAA,EACd,sBAAA,EAAwB,+BAAA;AAAA,EACxB,cAAA,EAAgB,uBAAA;AAAA;AAAA,EAEhB,GAAA,EAAK;AACP;AAKO,IAAM,kBAAA,GAAqB;AAAA,EAChC,aAAA,EAAe,2BAAA;AAAA,EACf,gBAAA,EAAkB,8BAAA;AAAA,EAClB,KAAA,EAAO,mBAAA;AAAA,EACP,kBAAA,EAAoB,gCAAA;AAAA,EACpB,oBAAA,EAAsB,kCAAA;AAAA,EACtB,eAAA,EAAiB,6BAAA;AAAA;AAAA,EAEjB,GAAA,EAAK;AACP;AAKO,IAAM,aAAA,GAAgB;AAAA,EAC3B,QAAA,EAAU,iBAAA;AAAA,EACV,KAAA,EAAO,cAAA;AAAA,EACP,OAAA,EAAS,gBAAA;AAAA;AAAA,EAET,GAAA,EAAK;AACP;AAKO,IAAM,YAAA,GAAe;AAAA,EAC1B,GAAA,EAAK,WAAA;AAAA,EACL,IAAA,EAAM,YAAA;AAAA,EACN,UAAA,EAAY,kBAAA;AAAA;AAAA,EAEZ,GAAA,EAAK;AACP;AAKO,IAAM,UAAA,GAAa;AAAA,EACxB,GAAG,aAAA;AAAA,EACH,GAAG,cAAA;AAAA,EACH,GAAG,YAAA;AAAA,EACH,GAAG,YAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,kBAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG;AACL;;;ACnNO,IAAM,cAAA,GAAiB;AAAA;AAAA,EAE5B,QAAA,EAAU,CAAA;AAAA;AAAA,EAEV,IAAA,EAAM,CAAA;AAAA;AAAA,EAEN,MAAA,EAAQ,CAAA;AAAA;AAAA,EAER,MAAA,EAAQ,CAAA;AAAA;AAAA,EAER,GAAA,EAAK,CAAA;AAAA;AAAA,EAEL,IAAA,EAAM;AACR;;;AC1BO,IAAM,kBAAA,GAA0C;AAAA,EACrD,WAAA,EAAa,SAAA;AAAA,EACb,KAAA,EAAO,YAAA;AAAA,EACP,KAAA,EAAO,cAAA;AAAA,EACP,YAAA,EAAc;AAChB;AAKO,IAAM,mBAAA,GAAsB;AAAA,EACjC,SAAA,EAAW,WAAA;AAAA,EACX,GAAA,EAAK,KAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA,EACL,QAAA,EAAU,UAAA;AAAA,EACV,aAAA,EAAe,eAAA;AAAA,EACf,SAAA,EAAW,WAAA;AAAA,EACX,kBAAA,EAAoB;AACtB;AAKO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,GAAA,EAAK,EAAE,GAAA,EAAK,CAAA,EAAG,KAAK,GAAA,EAAM;AAAA;AAAA,EAC1B,QAAA,EAAU,EAAE,GAAA,EAAK,CAAA,EAAG,KAAK,GAAA,EAAM;AAAA;AAAA,EAC/B,aAAA,EAAe,EAAE,GAAA,EAAK,CAAA,EAAG,KAAK,GAAA;AAAI;AACpC;;;ACzBO,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACL,EAAAA,iBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,iBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,iBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,iBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,iBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,iBAAA,SAAA,CAAA,GAAU,SAAA;AANA,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAYL,IAAM,kBAAA,GAAqB;AAAA;AAAA,EAEhC,KAAA,EAAO,UAAA;AAAA,EACP,cAAA,EAAgB,UAAA;AAAA,EAChB,QAAA,EAAU,UAAA;AAAA;AAAA,EAGV,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU,MAAA;AAAA;AAAA,EAGV,OAAA,EAAS,QAAA;AAAA,EACT,OAAA,EAAS,QAAA;AAAA,EACT,WAAA,EAAa,QAAA;AAAA;AAAA,EAGb,KAAA,EAAO,KAAA;AAAA,EACP,OAAA,EAAS,KAAA;AAAA,EACT,QAAA,EAAU;AACZ;AAKO,IAAM,kBAAA,GAAqB;AAAA,EAChC,aAAA,EAAe,eAAA;AAAA,EACf,UAAA,EAAY,YAAA;AAAA,EACZ,eAAA,EAAiB,iBAAA;AAAA,EACjB,eAAA,EAAiB,iBAAA;AAAA,EACjB,eAAA,EAAiB,iBAAA;AAAA,EACjB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,QAAA,EAAU,UAAA;AAAA,EACV,eAAA,EAAiB;AACnB;AAKO,IAAM,yBAAA,GAA4B;AAAA;AAAA,EAEvC,SAAA,EAAW,GAAA;AAAA;AAAA,EAEX,IAAA,EAAM,GAAA;AAAA;AAAA,EAEN,MAAA,EAAQ,GAAA;AAAA;AAAA,EAER,GAAA,EAAK,GAAA;AAAA;AAAA,EAEL,cAAA,EAAgB,GAAA;AAAA;AAAA,EAEhB,gBAAA,EAAkB;AACpB;AAeO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,SAAA,EAAW,EAAA;AAAA,EACX,IAAA,EAAM,CAAA;AAAA,EACN,IAAA,EAAM;AACR;AAGO,IAAM,cAAA,GAAiB;AAAA,EAC5B,SAAA,EAAW,EAAA;AAAA,EACX,IAAA,EAAM,GAAA;AAAA,EACN,IAAA,EAAM;AACR;AAEO,IAAM,kBAAA,GAAwC;AAAA,EACnD,cAAc,cAAA,CAAe,SAAA;AAAA,EAC7B,SAAS,cAAA,CAAe,IAAA;AAAA,EACxB,SAAS,cAAA,CAAe,IAAA;AAAA,EACxB,gBAAgB,gBAAA,CAAiB,SAAA;AAAA,EACjC,WAAW,gBAAA,CAAiB,IAAA;AAAA,EAC5B,WAAW,gBAAA,CAAiB;AAC9B;;;AChGO,IAAM,kBAAA,GAAqB;AAAA,EAChC,eAAA,EAAiB,iBAAA;AAAA,EACjB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,eAAA,EAAiB,iBAAA;AAAA,EACjB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,oBAAA,EAAsB,sBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtB,wBAAA,EAA0B,0BAAA;AAAA,EAC1B,uBAAA,EAAyB;AAC3B;AAMO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,EAAA,EAAI,IAAA;AAAA,EACJ,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA,EACN,kBAAA,EAAoB,oBAAA;AAAA,EACpB,oBAAA,EAAsB,oBAAA;AAAA,EACtB,aAAA,EAAe,eAAA;AAAA,EACf,aAAA,EAAe,eAAA;AAAA,EACf,oBAAA,EAAsB,sBAAA;AAAA,EACtB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,YAAA,EAAc,cAAA;AAAA,EACd,cAAA,EAAgB,gBAAA;AAAA,EAChB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,wBAAA,EAA0B;AAC5B;AAMO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,aAAA,EAAe,eAAA;AAAA,EACf,eAAA,EAAiB,iBAAA;AAAA,EACjB,aAAA,EAAe,eAAA;AAAA,EACf,WAAA,EAAa,aAAA;AAAA,EACb,eAAA,EAAiB,iBAAA;AAAA,EACjB,aAAA,EAAe,eAAA;AAAA,EACf,aAAA,EAAe,eAAA;AAAA,EACf,gBAAA,EAAkB;AACpB;AAMO,IAAM,uBAAA,GAA0B;AAAA,EACrC,OAAA,EAAS,SAAA;AAAA,EACT,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA,EACR,gBAAA,EAAkB,iBAAA;AAAA,EAClB,kBAAA,EAAoB,mBAAA;AAAA,EACpB,YAAA,EAAc,aAAA;AAAA,EACd,cAAA,EAAgB,eAAA;AAAA,EAChB,cAAA,EAAgB,eAAA;AAAA,EAChB,qBAAA,EAAuB,sBAAA;AAAA,EACvB,eAAA,EAAiB,gBAAA;AAAA,EACjB,iBAAA,EAAmB,kBAAA;AAAA,EACnB,cAAA,EAAgB,eAAA;AAAA,EAChB,cAAA,EAAgB,eAAA;AAAA,EAChB,aAAA,EAAe,cAAA;AAAA,EACf,eAAA,EAAiB,gBAAA;AAAA,EACjB,eAAA,EAAiB,gBAAA;AAAA,EACjB,kBAAA,EAAoB,mBAAA;AAAA,EACpB,iBAAA,EAAmB,kBAAA;AAAA,EACnB,oBAAA,EAAsB,oBAAA;AAAA,EACtB,aAAA,EAAe,cAAA;AAAA,EACf,gBAAA,EAAkB,iBAAA;AAAA,EAClB,YAAA,EAAc,aAAA;AAAA,EACd,WAAA,EAAa,aAAA;AAAA,EACb,eAAA,EAAiB,gBAAA;AAAA,EACjB,UAAA,EAAY;AACd;AAMO,IAAM,aAAA,GAAgB;AAAA,EAC3B,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA,EACR,OAAA,EAAS,SAAA;AAAA,EACT,WAAA,EAAa,aAAA;AAAA,EACb,KAAA,EAAO,OAAA;AAAA,EACP,eAAA,EAAiB;AACnB;AAMO,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU,UAAA;AAAA,EACV,WAAA,EAAa,aAAA;AAAA,EACb,KAAA,EAAO;AACT;AAMO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,KAAA,EAAO,OAAA;AAAA,EACP,OAAA,EAAS,SAAA;AAAA,EACT,SAAA,EAAW;AACb;AAMO,IAAM,YAAA,GAAe;AAAA,EAC1B,QAAA,EAAU,UAAA;AAAA,EACV,OAAA,EAAS,SAAA;AAAA,EACT,aAAA,EAAe,eAAA;AAAA,EACf,eAAA,EAAiB,iBAAA;AAAA,EACjB,iBAAA,EAAmB;AACrB;AAMO,IAAM,eAAA,GAAkB;AAAA,EAC7B,cAAA,EAAgB,gBAAA;AAAA,EAChB,OAAA,EAAS,SAAA;AAAA,EACT,MAAA,EAAQ;AACV;AAMO,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU;AACZ;AAMO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,MAAA;AAAA,EACN,OAAA,EAAS,SAAA;AAAA,EACT,KAAA,EAAO,OAAA;AAAA,EACP,QAAA,EAAU;AACZ;AAMO,IAAM,WAAA,GAAc;AAAA,EACzB,QAAA,EAAU,UAAA;AAAA,EACV,WAAA,EAAa,aAAA;AAAA,EACb,OAAA,EAAS;AACX;AAKO,IAAM,kBAAA,GAAqB;AAAA,EAChC,GAAG,kBAAA;AAAA,EACH,GAAG,gBAAA;AAAA,EACH,GAAG;AACL;AAWO,SAAS,iBAAiB,SAAA,EAAsD;AACrF,EAAA,OAAO,MAAA,CAAO,MAAA,CAAO,kBAAkB,CAAA,CAAE,SAAS,SAAiC,CAAA;AACrF;AAFgB,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA;AAOT,SAAS,oBAAoB,MAAA,EAAgD;AAClF,EAAA,OAAO,MAAA,CAAO,MAAA,CAAO,uBAAuB,CAAA,CAAE,SAAS,MAA8B,CAAA;AACvF;AAFgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAOT,SAAS,mBAAmB,IAAA,EAAmC;AACpE,EAAA,OAAO,MAAA,CAAO,MAAA,CAAO,aAAa,CAAA,CAAE,SAAS,IAAmB,CAAA;AAClE;AAFgB,MAAA,CAAA,kBAAA,EAAA,oBAAA,CAAA;;;ACxNT,IAAM,eAAA,GAAkB;AAAA,EAC7B,8BAAA,EAAgC,CAAA;AAAA,EAChC,iBAAA,EAAmB;AAAA,IACjB,IAAA,EAAM,EAAA;AAAA,IACN,GAAA,EAAK,EAAA;AAAA,IACL,MAAA,EAAQ,EAAA;AAAA,IACR,IAAA,EAAM;AAAA;AAEV;;;ACNO,IAAM,kBAAA,GAAqB;AAK3B,IAAM,0BAAA,GAA6B;AAAA,EACxC,UAAA,EAAY,IAAA;AAAA,EACZ,eAAA,EAAiB,GAAA;AAAA,EACjB,eAAA,EAAiB,GAAA;AAAA,EACjB,IAAA,EAAM,GAAA;AAAA,EACN,aAAA,EAAe,GAAA;AAAA,EACf,MAAA,EAAQ,GAAA;AAAA,EACR,WAAA,EAAa,GAAA;AAAA,EACb,eAAA,EAAiB,GAAA;AAAA,EACjB,GAAA,EAAK,GAAA;AAAA,EACL,eAAA,EAAiB,GAAA;AAAA,EACjB,gBAAA,EAAkB,GAAA;AAAA,EAClB,cAAA,EAAgB;AAClB;AAKO,IAAM,WAAA,GAAc;AAAA,EACzB,EAAA,EAAI;AAAA,IACF,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,GAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,EAAA,EAAI;AAAA,IACF,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,IAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,IAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,GAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,EAAA;AAAA,IACT,OAAA,EAAS,GAAA;AAAA,IACT,OAAA,EAAS;AAAA;AAEb;AAKA,IAAM,aAAA,GAAgB,EAAA;AACtB,IAAM,gBAAA,GAAmB,EAAA;AACzB,IAAM,kBAAA,GAAqB,EAAA;AAC3B,IAAM,aAAA,GAAgB,GAAA;AAGf,IAAM,iBAAA,GACX,aAAA,GAAgB,gBAAA,GAAmB,kBAAA,GAAqB;AAKnD,IAAM,gBAAA,GAAmB;AAAA,EAC9B,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA;AAAA,EACJ,OAAA,EAAS,MAAA;AAAA,EACT,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,QAAA;AAAA;AAAA,EACJ,MAAA,EAAQ;AACV;;;AClFO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AAEL,EAAAA,kBAAA,SAAA,CAAA,GAAU,KAAA;AAEV,EAAAA,kBAAA,KAAA,CAAA,GAAM,KAAA;AAEN,EAAAA,kBAAA,SAAA,CAAA,GAAU,SAAA;AAEV,EAAAA,kBAAA,aAAA,CAAA,GAAc,KAAA;AAEd,EAAAA,kBAAA,OAAA,CAAA,GAAQ,KAAA;AAER,EAAAA,kBAAA,OAAA,CAAA,GAAQ,OAAA;AAER,EAAAA,kBAAA,SAAA,CAAA,GAAU,MAAA;AAdA,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;;;ACLL,IAAM,aAAA,GAAgB;AAAA,EAC3B,WAAA,EAAa,cAAA;AAAA,EACb,WAAA,EAAa,cAAA;AAAA,EACb,eAAA,EAAiB,kBAAA;AAAA,EACjB,YAAA,EAAc,eAAA;AAAA,EACd,cAAA,EAAgB,iBAAA;AAAA,EAChB,YAAA,EAAc,eAAA;AAAA,EACd,YAAA,EAAc;AAChB","file":"index.js","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 * Zod schema for validating user login credentials.\n * @description Ensures the input object contains a valid email address and a password string.\n * @example\n * ```ts\n * LoginCredentialsSchema.parse({\n * email: \"user@example.com\",\n * password: \"\"\n * });\n * ```\n */\nexport const loginCredentialsSchema = z.object({\n // The user's email address. Must be a valid email format.\n email: z.string().email('Invalid email format'),\n\n // The user's password. No format constraints applied here.\n password: z.string(),\n});\n\n/**\n * Type inferred from {@link loginCredentialsSchema}.\n * @description Represents the shape of validated login credentials input.\n */\nexport type LoginCredentialsInput = z.infer<typeof loginCredentialsSchema>;\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 /** 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.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 * 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 // ===== 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} 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} 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\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\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\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\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 // ===== 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","/**\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 * 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 PAYMENTEVENTTYPE {\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 PAYMENTEVENTCATEGORY {\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 PAYMENTERRORCATEGORY {\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 EVENTPROCESSINGSTATUS {\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 PAYMENTPROVIDERTYPE {\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 PAYMENTMETHOD {\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 PAYMENTSTATUS {\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 TRANSACTIONTYPE {\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 USERTYPE {\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 PRODUCTTYPE {\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","/**\n * Cost optimization strategies.\n */\nexport enum COSTOPTIMIZATIONSTRATEGY {\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 FAILOVERSTRATEGY {\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 REGULATORYFRAMEWORK {\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 LOADBALANCINGSTRATEGY {\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 PERFORMANCEMETRICTYPE {\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 ROUTINGSTRATEGY {\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","export enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\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 * 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 * Payment error categories for organizing and handling different types of errors.\n */\nexport enum PAYMENT_ERROR_CATEGORY {\n Validation = 'validation',\n Authentication = 'authentication',\n Authorization = 'authorization',\n Processing = 'processing',\n Provider = 'provider',\n Network = 'network',\n Fraud = 'fraud',\n Compliance = 'compliance',\n Limits = 'limits',\n Configuration = 'configuration',\n Timeout = 'timeout',\n System = 'system',\n Webhook = 'webhook',\n Refund = 'refund',\n Security = 'security',\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 * 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 * Utility Enums for API Package\n * Enums used across API utilities\n */\n\n/**\n * Correlation ID types for different contexts\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 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"]}
|