@plyaz/types 1.13.3 → 1.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/api/client/types.d.ts +3 -3
  2. package/dist/api/config/types.d.ts +62 -5
  3. package/dist/api/debugger/enums.d.ts +12 -0
  4. package/dist/api/debugger/types.d.ts +1 -1
  5. package/dist/api/errors/types.d.ts +46 -238
  6. package/dist/api/events/factories/errors/types.d.ts +26 -27
  7. package/dist/api/index.cjs +1437 -669
  8. package/dist/api/index.cjs.map +1 -1
  9. package/dist/api/index.d.ts +5 -2
  10. package/dist/api/index.js +1365 -603
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/db/DatabaseAdapter.d.ts +2 -2
  13. package/dist/db/DatabaseService.d.ts +3 -3
  14. package/dist/db/config.types.d.ts +1 -1
  15. package/dist/db/database.types.d.ts +2 -2
  16. package/dist/db/index.cjs.map +1 -1
  17. package/dist/db/index.d.ts +1 -1
  18. package/dist/db/index.js.map +1 -1
  19. package/dist/errors/codes.d.ts +251 -0
  20. package/dist/errors/enums.d.ts +199 -0
  21. package/dist/errors/index.cjs +1287 -0
  22. package/dist/errors/index.cjs.map +1 -1
  23. package/dist/errors/index.d.ts +1 -0
  24. package/dist/errors/index.js +1264 -1
  25. package/dist/errors/index.js.map +1 -1
  26. package/dist/errors/types.d.ts +630 -14
  27. package/dist/index.cjs +2161 -1217
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +43 -1
  30. package/dist/index.js +1829 -911
  31. package/dist/index.js.map +1 -1
  32. package/dist/notifications/enums.d.ts +140 -0
  33. package/dist/notifications/index.cjs +4353 -0
  34. package/dist/notifications/index.cjs.map +1 -0
  35. package/dist/notifications/index.js +145 -0
  36. package/dist/notifications/index.js.map +1 -0
  37. package/dist/notifications/schemas.d.ts +73 -0
  38. package/dist/notifications/types.d.ts +1937 -0
  39. package/dist/payments/base-error/enum.d.ts +79 -0
  40. package/dist/payments/base-error/index.d.ts +2 -0
  41. package/dist/payments/base-error/types.d.ts +180 -0
  42. package/dist/payments/currency/enums.d.ts +37 -0
  43. package/dist/payments/currency/index.d.ts +1 -37
  44. package/dist/payments/index.cjs +40 -40
  45. package/dist/payments/index.cjs.map +1 -1
  46. package/dist/payments/index.d.ts +2 -1
  47. package/dist/payments/index.js +40 -40
  48. package/dist/payments/index.js.map +1 -1
  49. package/dist/payments/transaction/types.d.ts +3 -3
  50. package/dist/store/index.d.ts +1 -1
  51. package/dist/store/types.d.ts +2 -3
  52. package/package.json +6 -1
  53. package/dist/api/errors/enum.d.ts +0 -214
  54. package/dist/api/errors/index.d.ts +0 -6
  55. /package/dist/db/{enhanced-config.types.d.ts → features-config.types.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -112,274 +112,167 @@ var ERROR_CATEGORY = {
112
112
  Strategy: "strategy",
113
113
  /** Regional-related error (e.g., region detection failure). */
114
114
  Regional: "regional",
115
+ /** Provider-related error (e.g., notification service provider failure). */
116
+ Provider: "provider",
117
+ /** Queue-related error (e.g., queue full or processing failed). */
118
+ Queue: "queue",
119
+ /** Webhook-related error (e.g., invalid signature or processing failure). */
120
+ Webhook: "webhook",
121
+ /** Template-related error (e.g., template not found or rendering failed). */
122
+ Template: "template",
123
+ /** Configuration-related error (e.g., invalid or missing configuration). */
124
+ Configuration: "configuration",
115
125
  /** Unknown or unclassified error. */
116
126
  Unknown: "unknown"
117
127
  };
118
-
119
- // src/events/enums.ts
120
- var EVENT_TYPE = {
121
- /** Application initialization event. */
122
- AppInit: "app.init"
123
- };
124
- var EVENT_PRIORITY = {
125
- /** Low priority event. */
126
- Low: "low",
127
- /** Normal priority event. */
128
- Normal: "normal",
129
- /** High priority event. */
130
- High: "high",
131
- /** Critical priority event. */
132
- Critical: "critical"
133
- };
134
- var EVENT_STATUS = {
135
- /** Event is pending and has not started processing. */
136
- Pending: "pending",
137
- /** Event is currently being processed. */
138
- Processing: "processing",
139
- /** Event has been completed successfully. */
140
- Completed: "completed",
141
- /** Event processing failed. */
142
- Failed: "failed",
143
- /** Event is being retried after a failure. */
144
- Retrying: "retrying"
145
- };
146
-
147
- // src/web3/enums.ts
148
- var CHAIN_ID = {
149
- /** Ethereum Mainnet (Chain ID: 1). */
150
- EthereumMainnet: 1,
151
- /** Ethereum Sepolia Testnet (Chain ID: 11155111). */
152
- EthereumSepolia: 11155111,
153
- /** Optimism Mainnet (Chain ID: 10). */
154
- Optimism: 10,
155
- /** Optimism Sepolia Testnet (Chain ID: 11155420). */
156
- OptimismSepolia: 11155420,
157
- /** Arbitrum One Mainnet (Chain ID: 42161). */
158
- Arbitrum: 42161,
159
- /** Arbitrum Sepolia Testnet (Chain ID: 421614). */
160
- ArbitrumSepolia: 421614,
161
- /** Polygon Mainnet (Chain ID: 137). */
162
- Polygon: 137,
163
- /** Polygon Amoy Testnet (Chain ID: 80002). */
164
- PolygonAmoy: 80002,
165
- /** Base Mainnet (Chain ID: 8453). */
166
- Base: 8453,
167
- /** Base Sepolia Testnet (Chain ID: 84532). */
168
- BaseSepolia: 84532
169
- };
170
-
171
- // src/api/events/enum.ts
172
- var EVENT_NAMESPACES = {
173
- HEADERS: "headers",
174
- NETWORK: "network",
175
- ERRORS: "errors",
176
- DEBUG: "debug",
177
- CONFIG: "config",
178
- PERFORMANCE: "performance",
179
- CLIENT: "client",
180
- CACHE: "cache",
181
- POLLING: "polling",
182
- REQUEST: "request",
183
- REVALIDATION: "revalidation",
184
- EVENT_MANAGER: "eventManager"
185
- };
186
- var HEADER_EVENTS = {
187
- CHANGED: "headers:changed",
188
- ENRICHED: "headers:enriched",
189
- CONFLICT: "headers:conflict",
190
- OVERRIDE: "headers:override",
191
- TRACKED: "headers:tracked",
192
- MERGED: "headers:merged",
193
- FILTERED: "headers:filtered",
194
- VALIDATED: "headers:validated",
195
- CACHED: "headers:cached",
196
- CACHE_HIT: "headers:cache:hit",
197
- CACHE_MISS: "headers:cache:miss",
198
- // Wildcard for all header events
199
- ANY: "headers:*"
200
- };
201
- var NETWORK_EVENTS = {
202
- QUALITY_CHANGE: "network:quality:changed",
203
- INFO_UPDATE: "network:info-update",
204
- CONFIG_OVERRIDE: "network:config:override",
205
- CONFIG_RESTORED: "network:config:restored",
206
- OVERRIDE_CHANGE: "network:override-change",
207
- PRESET_APPLIED: "network:preset-applied",
208
- PRESET_CHANGED: "network:preset:changed",
209
- HINTS_UPDATED: "network:hints:updated",
210
- AUTO_DETECTION: "network:auto:detection",
211
- MANUAL_UPDATE: "network:manual:update",
212
- // Wildcard for all network events
213
- ANY: "network:*"
214
- };
215
- var ERROR_EVENTS = {
216
- NETWORK_ERROR: "errors:network",
217
- VALIDATION_ERROR: "errors:validation",
218
- AUTHENTICATION_ERROR: "errors:authentication",
219
- AUTHORIZATION_ERROR: "errors:authorization",
220
- RATE_LIMIT_ERROR: "errors:rate-limit",
221
- SERVER_ERROR: "errors:server",
222
- CLIENT_ERROR: "errors:client",
223
- TIMEOUT_ERROR: "errors:timeout",
224
- CONFLICT_ERROR: "errors:conflict",
225
- CACHE_ERROR: "errors:cache",
226
- HEADERS_ERROR: "errors:headers",
227
- RETRY_ERROR: "errors:retry",
228
- STRATEGY_ERROR: "errors:strategy",
229
- REGIONAL_ERROR: "errors:regional",
230
- NOT_FOUND_ERROR: "errors:not-found",
231
- EXTERNAL_SERVICE_ERROR: "errors:external-service",
232
- UNKNOWN_ERROR: "errors:unknown",
233
- GENERIC_ERROR: "errors:generic",
234
- // Wildcard for all error events
235
- ANY: "errors:*"
236
- };
237
- var HANDLER_SCOPES = {
238
- GLOBAL: "global",
239
- // Global handlers (lowest priority, persists across all instances)
240
- CONFIG: "config",
241
- // Config-level handlers (middle priority, from setGlobalConfig)
242
- CLIENT: "client",
243
- // Client instance handlers (high priority, instance-specific)
244
- TEMPORARY: "request",
245
- // Temporary handlers (alias for REQUEST, highest priority)
246
- REQUEST: "request"
247
- // Request-level handlers (highest priority, per-request)
248
- };
249
- var EVENT_SCOPES = [
250
- HANDLER_SCOPES.GLOBAL,
251
- HANDLER_SCOPES.CONFIG,
252
- HANDLER_SCOPES.CLIENT,
253
- HANDLER_SCOPES.REQUEST
254
- ];
255
- var EVENT_SCOPES_WITH_TEMPORARY = [...EVENT_SCOPES, "temporary"];
256
- var DEBUG_EVENTS = {
257
- CONFIG_CONFLICT: "debug:config-conflict",
258
- CONFIG_CHANGE: "debug:config-change",
259
- HEADERS_TRACKED: "debug:headers-tracked",
260
- NETWORK_OVERRIDE: "debug:network-override",
261
- NETWORK_STATE_CHANGED: "debug:network-state-changed",
262
- NETWORK_DATA_CLEARED: "debug:network-data-cleared",
263
- DEBUG_INFO: "debug:info",
264
- PERFORMANCE_IMPACT: "debug:performance-impact",
265
- MONITORING_ALERT: "debug:monitoring-alert",
266
- CONFIG_TRACKED: "debug:config-tracked",
267
- CONFLICTS_BATCH: "debug:conflicts-batch",
268
- EVENT_OPERATION: "debug:event-operation",
269
- // Wildcard for all debug events
270
- ANY: "debug:*"
271
- };
272
- var EVENTS_CONFIG_SOURCES = {
273
- GLOBAL: "global",
274
- CREATE_API_CLIENT: "createApiClient",
275
- UPDATE_CONFIG: "updateConfig",
276
- MANUAL: "manual",
277
- ENVIRONMENT: "environment",
278
- PRESET: "preset",
279
- NETWORK_AWARE: "networkAware",
280
- ADAPTIVE: "adaptive"
281
- };
282
- var CONFIG_EVENTS = {
283
- GLOBAL_UPDATED: "config:global-updated",
284
- GLOBAL_RESET: "config:global-reset",
285
- ENVIRONMENT_CONFIGURED: "config:environment-configured",
286
- PRESET_APPLIED: "config:preset-applied",
287
- // Wildcard for all config events
288
- ANY: "config:*"
289
- };
290
- var PERFORMANCE_EVENTS = {
291
- REQUEST_START: "performance:request-start",
292
- REQUEST_COMPLETE: "performance:request-complete",
293
- RETRY: "performance:retry",
294
- THRESHOLD_EXCEEDED: "performance:threshold-exceeded",
295
- OPTIMIZATION_APPLIED: "performance:optimization-applied",
296
- METRIC_RECORDED: "performance:metric-recorded",
297
- // Wildcard for all performance events
298
- ANY: "performance:*"
299
- };
300
- var CLIENT_EVENTS = {
301
- CONFLICT: "client:conflict",
302
- DEBUG: "client:debug",
303
- CREATED: "client:created",
304
- // Wildcard for all client events
305
- ANY: "client:*"
306
- };
307
- var CACHE_EVENTS = {
308
- HIT: "cache:hit",
309
- MISS: "cache:miss",
310
- INVALIDATE: "cache:invalidate",
311
- // Wildcard for all cache events
312
- ANY: "cache:*"
128
+ var INTERNAL_STATUS_CODES = {
129
+ // Configuration errors (1001-1009)
130
+ INVALID_CONFIGURATION: 1001,
131
+ MISSING_CONFIGURATION: 1002,
132
+ CONFIGURATION_CONFLICT: 1003,
133
+ CONFIGURATION_TRACKING_FAILED: 1004,
134
+ DEBUG_TRACKING_FAILED: 1005,
135
+ // Resource errors (1010-1019)
136
+ RESOURCE_NOT_FOUND: 1010,
137
+ RESOURCE_ALREADY_EXISTS: 1011,
138
+ RESOURCE_UNAVAILABLE: 1012,
139
+ // Validation errors (1020-1029)
140
+ INVALID_PARAMETER: 1020,
141
+ MISSING_PARAMETER: 1021,
142
+ PARAMETER_OUT_OF_RANGE: 1022,
143
+ // Strategy/preset errors (1030-1039)
144
+ STRATEGY_NOT_FOUND: 1030,
145
+ PRESET_NOT_FOUND: 1031,
146
+ INVALID_STRATEGY: 1032,
147
+ // Request/Response errors (1035-1039)
148
+ REQUEST_FAILED: 1035,
149
+ // Internal system errors (1040-1049)
150
+ INITIALIZATION_FAILED: 1040,
151
+ OPERATION_FAILED: 1041,
152
+ STATE_CORRUPTION: 1042,
153
+ SERIALIZATION_FAILED: 1043,
154
+ DESERIALIZATION_FAILED: 1044,
155
+ CONFIGURATION_INVALID: 1045,
156
+ HEADER_PROCESSING_ERROR: 1046,
157
+ REGION_DETECTION_ERROR: 1047,
158
+ NETWORK_OVERRIDE_ERROR: 1048
313
159
  };
314
- var ALL_EVENTS = {
315
- ...HEADER_EVENTS,
316
- ...NETWORK_EVENTS,
317
- ...ERROR_EVENTS,
318
- ...DEBUG_EVENTS,
319
- ...CONFIG_EVENTS,
320
- ...PERFORMANCE_EVENTS,
321
- ...CLIENT_EVENTS,
322
- ...CACHE_EVENTS
160
+ var ERROR_CATEGORY_TO_EMITTER_KEY = {
161
+ [ERROR_CATEGORY.Network]: "network",
162
+ [ERROR_CATEGORY.Validation]: "validation",
163
+ [ERROR_CATEGORY.Authentication]: "authentication",
164
+ [ERROR_CATEGORY.Authorization]: "authorization",
165
+ [ERROR_CATEGORY.RateLimit]: "rateLimit",
166
+ [ERROR_CATEGORY.Server]: "server",
167
+ [ERROR_CATEGORY.Timeout]: "timeout",
168
+ [ERROR_CATEGORY.NotFound]: "notFound",
169
+ [ERROR_CATEGORY.Conflict]: "conflict",
170
+ [ERROR_CATEGORY.Client]: "client",
171
+ [ERROR_CATEGORY.ExternalService]: "externalService",
172
+ [ERROR_CATEGORY.Cache]: "cache",
173
+ [ERROR_CATEGORY.Headers]: "headers",
174
+ [ERROR_CATEGORY.Retry]: "retry",
175
+ [ERROR_CATEGORY.Blockchain]: "blockchain",
176
+ [ERROR_CATEGORY.Strategy]: "strategy",
177
+ [ERROR_CATEGORY.Regional]: "regional",
178
+ [ERROR_CATEGORY.Provider]: "provider",
179
+ [ERROR_CATEGORY.Queue]: "queue",
180
+ [ERROR_CATEGORY.Webhook]: "webhook",
181
+ [ERROR_CATEGORY.Template]: "template",
182
+ [ERROR_CATEGORY.Configuration]: "configuration",
183
+ [ERROR_CATEGORY.Unknown]: "unknown"
323
184
  };
324
- var OPERATIONS = {
185
+ var COMMON_OPERATIONS = {
186
+ // Data operations
325
187
  STORAGE: "storage",
326
188
  RETRIEVAL: "retrieval",
327
189
  INVALIDATION: "invalidation",
328
- ENRICHMENT: "enrichment",
190
+ DELETION: "deletion",
191
+ // Processing operations
329
192
  VALIDATION: "validation",
330
- PRESET_LOOKUP: "preset-lookup",
331
- INITIALIZATION: "initialization",
332
- CONFIGURATION: "configuration",
193
+ ENRICHMENT: "enrichment",
194
+ SERIALIZATION: "serialization",
195
+ DESERIALIZATION: "deserialization",
196
+ // API operations
333
197
  REQUEST: "request",
334
198
  RESPONSE: "response",
335
199
  RETRY: "retry",
336
200
  REVALIDATION: "revalidation",
337
- STRATEGY_EXECUTION: "strategy-execution",
338
201
  POLLING: "polling",
339
- SUBSCRIPTION: "subscription",
202
+ // Configuration operations
203
+ INITIALIZATION: "initialization",
204
+ CONFIGURATION: "configuration",
205
+ PRESET_LOOKUP: "preset-lookup",
206
+ REGIONAL_DETECTION: "regional-detection",
207
+ // Strategy operations
208
+ STRATEGY_EXECUTION: "strategy-execution",
209
+ FALLBACK: "fallback",
210
+ // Event operations
211
+ SUBSCRIPTION: "subscription",
340
212
  PUBLICATION: "publication",
213
+ EVENT_HANDLING: "event-handling",
214
+ // Debugging operations
341
215
  DEBUG: "debug",
342
216
  DEBUG_TRACKING: "debug-tracking",
343
- ENDPOINT_BUILD: "endpoint-build",
344
217
  TRACKING: "tracking",
345
- NETWORK_CHECK: "network-check",
346
- EVENT_HANDLING: "event-handling",
347
- SERIALIZATION: "serialization",
348
- DESERIALIZATION: "deserialization",
349
- REGIONAL_DETECTION: "regional-detection",
350
218
  MONITORING: "monitoring",
219
+ // Network operations
220
+ NETWORK_CHECK: "network-check",
221
+ ENDPOINT_BUILD: "endpoint-build",
351
222
  CONTEXT_SETUP: "context-setup",
352
- FALLBACK: "fallback"
223
+ // Notification operations
224
+ SEND: "send",
225
+ RENDER: "render",
226
+ QUEUE: "queue",
227
+ PROCESS: "process"
353
228
  };
354
- var ERROR_FIELDS = {
229
+ var COMMON_FIELDS = {
230
+ // Storage fields
355
231
  STORAGE: "storage",
356
232
  CACHE: "cache",
357
- HEADERS: "headers",
233
+ // Configuration fields
234
+ CONFIG: "config",
358
235
  PRESET_NAME: "presetName",
359
236
  PRESET_ID: "presetId",
360
- CONFIG: "config",
237
+ // HTTP fields
238
+ HEADERS: "headers",
361
239
  URL: "url",
362
240
  METHOD: "method",
241
+ // Strategy fields
363
242
  STRATEGY: "strategy",
243
+ // Retry fields
364
244
  RETRY_COUNT: "retryCount",
365
245
  MAX_RETRIES: "maxRetries",
246
+ // Polling fields
366
247
  POLLING_INTERVAL: "pollingInterval",
248
+ // Event fields
367
249
  TOPIC: "topic",
368
250
  CHANNEL: "channel",
251
+ // API fields
369
252
  ENDPOINT: "endpoint",
370
253
  CLIENT: "client",
254
+ // Network fields
371
255
  NETWORK_TYPE: "networkType",
372
- TIME_INTERVAL: "timeInterval"
256
+ TIME_INTERVAL: "timeInterval",
257
+ // Notification fields
258
+ EMAIL: "email",
259
+ PHONE: "phoneNumber",
260
+ RECIPIENT: "recipient",
261
+ TEMPLATE: "template",
262
+ PROVIDER: "provider"
373
263
  };
374
- var STORAGE_TYPES = {
264
+ var COMMON_STORAGE_TYPES = {
375
265
  PRIMARY: "primary",
376
266
  FALLBACK: "fallback",
377
267
  MEMORY: "memory",
378
268
  SESSION: "session",
379
- LOCAL: "local"
269
+ LOCAL: "local",
270
+ REDIS: "redis",
271
+ DATABASE: "database"
380
272
  };
381
- var API_ERROR_CODES = {
382
- // Client Configuration Errors
273
+ var ERROR_CODES = {
274
+ // ===== API Package Errors =====
275
+ // Client Configuration
383
276
  CLIENT_INITIALIZATION_FAILED: "CLIENT_INITIALIZATION_FAILED",
384
277
  CLIENT_INVALID_CONFIG: "CLIENT_INVALID_CONFIG",
385
278
  CLIENT_MISSING_BASE_URL: "CLIENT_MISSING_BASE_URL",
@@ -387,819 +280,1155 @@ var API_ERROR_CODES = {
387
280
  CONFIG_VALIDATION_FAILED: "CONFIG_VALIDATION_FAILED",
388
281
  HEADER_PROCESSING_FAILED: "HEADER_PROCESSING_FAILED",
389
282
  NETWORK_OVERRIDE_FAILED: "NETWORK_OVERRIDE_FAILED",
390
- // Request Errors
283
+ // Request
391
284
  REQUEST_TIMEOUT: "REQUEST_TIMEOUT",
392
285
  REQUEST_ABORTED: "REQUEST_ABORTED",
393
286
  REQUEST_INVALID_PARAMS: "REQUEST_INVALID_PARAMS",
394
287
  REQUEST_PREPARATION_FAILED: "REQUEST_PREPARATION_FAILED",
395
- // Response Errors
288
+ // Response
396
289
  RESPONSE_INVALID_FORMAT: "RESPONSE_INVALID_FORMAT",
397
290
  RESPONSE_PARSING_FAILED: "RESPONSE_PARSING_FAILED",
398
- // Network Errors
291
+ // Authentication/Authorization
292
+ AUTH_UNAUTHORIZED: "AUTH_UNAUTHORIZED",
293
+ AUTH_FORBIDDEN: "AUTH_FORBIDDEN",
294
+ AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
295
+ AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
296
+ // Rate Limiting
297
+ RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
298
+ // Resources
299
+ RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND",
300
+ RESOURCE_CONFLICT: "RESOURCE_CONFLICT",
301
+ // Validation
302
+ API_VALIDATION_FAILED: "API_VALIDATION_FAILED",
303
+ API_INVALID_INPUT: "API_INVALID_INPUT",
304
+ VALIDATION_ERROR: "VALIDATION_ERROR",
305
+ REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING",
306
+ INVALID_FORMAT: "INVALID_FORMAT",
307
+ VALIDATION_INVALID_FORMAT: "VALIDATION_INVALID_FORMAT",
308
+ STRING_TOO_SHORT: "STRING_TOO_SHORT",
309
+ STRING_TOO_LONG: "STRING_TOO_LONG",
310
+ // Network
311
+ NETWORK_ERROR: "NETWORK_ERROR",
312
+ CONNECTION_FAILED: "CONNECTION_FAILED",
399
313
  NETWORK_CONNECTION_FAILED: "NETWORK_CONNECTION_FAILED",
400
314
  NETWORK_OFFLINE: "NETWORK_OFFLINE",
401
315
  NETWORK_DNS_FAILED: "NETWORK_DNS_FAILED",
402
316
  NETWORK_TIMEOUT: "NETWORK_TIMEOUT",
403
- NETWORK_ERROR: "NETWORK_ERROR",
404
317
  NETWORK_PRESET_NOT_FOUND: "NETWORK_PRESET_NOT_FOUND",
405
318
  NETWORK_CONFIGURATION_INVALID: "NETWORK_CONFIGURATION_INVALID",
406
- // Regional Errors
407
- REGIONAL_PRESET_NOT_FOUND: "REGIONAL_PRESET_NOT_FOUND",
408
- REGION_DETECTION_FAILED: "REGION_DETECTION_FAILED",
409
- // Header Errors
410
- HEADERS_ENRICHMENT_FAILED: "HEADERS_ENRICHMENT_FAILED",
411
- HEADERS_VALIDATION_FAILED: "HEADERS_VALIDATION_FAILED",
412
- HEADERS_MERGE_CONFLICT: "HEADERS_MERGE_CONFLICT",
413
- // Cache Errors
319
+ // Server
320
+ SERVER_ERROR: "SERVER_ERROR",
321
+ INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR",
322
+ SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
323
+ // Cache
324
+ CACHE_READ_FAILED: "CACHE_READ_FAILED",
325
+ CACHE_WRITE_FAILED: "CACHE_WRITE_FAILED",
326
+ CACHE_INVALIDATION_FAILED: "CACHE_INVALIDATION_FAILED",
414
327
  CACHE_STORAGE_FAILED: "CACHE_STORAGE_FAILED",
415
328
  CACHE_RETRIEVAL_FAILED: "CACHE_RETRIEVAL_FAILED",
416
- CACHE_INVALIDATION_FAILED: "CACHE_INVALIDATION_FAILED",
417
- // Retry Errors
329
+ // Retry
330
+ RETRY_LIMIT_EXCEEDED: "RETRY_LIMIT_EXCEEDED",
331
+ RETRY_FAILED: "RETRY_FAILED",
418
332
  RETRY_EXHAUSTED: "RETRY_EXHAUSTED",
419
333
  RETRY_STRATEGY_INVALID: "RETRY_STRATEGY_INVALID",
420
- // Strategy Errors
334
+ // Strategy
421
335
  STRATEGY_INVALID: "STRATEGY_INVALID",
422
336
  STRATEGY_CONFLICT: "STRATEGY_CONFLICT",
423
337
  STRATEGY_EXECUTION_FAILED: "STRATEGY_EXECUTION_FAILED",
424
- // Polling Errors
425
- POLLING_TIMEOUT: "POLLING_TIMEOUT",
338
+ // Headers
339
+ HEADERS_ENRICHMENT_FAILED: "HEADERS_ENRICHMENT_FAILED",
340
+ HEADERS_VALIDATION_FAILED: "HEADERS_VALIDATION_FAILED",
341
+ HEADERS_MERGE_CONFLICT: "HEADERS_MERGE_CONFLICT",
342
+ // Regional
343
+ REGION_DETECTION_FAILED: "REGION_DETECTION_FAILED",
344
+ REGIONAL_PRESET_NOT_FOUND: "REGIONAL_PRESET_NOT_FOUND",
345
+ // External Services
346
+ EXTERNAL_SERVICE_ERROR: "EXTERNAL_SERVICE_ERROR",
347
+ // Timeout (generic)
348
+ TIMEOUT: "TIMEOUT",
349
+ // Debugging
350
+ DEBUG_TRACKING_FAILED: "DEBUG_TRACKING_FAILED",
351
+ // Polling
426
352
  POLLING_CANCELLED: "POLLING_CANCELLED",
353
+ POLLING_TIMEOUT: "POLLING_TIMEOUT",
427
354
  POLLING_INVALID_CONFIG: "POLLING_INVALID_CONFIG",
428
- // PubSub Errors
355
+ // PubSub
429
356
  PUBSUB_SUBSCRIPTION_FAILED: "PUBSUB_SUBSCRIPTION_FAILED",
430
357
  PUBSUB_PUBLICATION_FAILED: "PUBSUB_PUBLICATION_FAILED",
431
358
  PUBSUB_INVALID_TOPIC: "PUBSUB_INVALID_TOPIC",
432
359
  PUBSUB_CHANNEL_ERROR: "PUBSUB_CHANNEL_ERROR",
433
- // Revalidation Errors
360
+ // Revalidation
434
361
  REVALIDATION_FAILED: "REVALIDATION_FAILED",
435
362
  REVALIDATION_IN_PROGRESS: "REVALIDATION_IN_PROGRESS",
436
- // Debugger Errors
437
- DEBUG_TRACKING_FAILED: "DEBUG_TRACKING_FAILED",
363
+ // Debugging
438
364
  DEBUG_OVERRIDE_FAILED: "DEBUG_OVERRIDE_FAILED",
439
365
  DEBUG_CONFLICT_DETECTED: "DEBUG_CONFLICT_DETECTED",
440
- // Endpoint Errors
366
+ // Endpoint
441
367
  ENDPOINT_BUILD_FAILED: "ENDPOINT_BUILD_FAILED",
442
368
  ENDPOINT_NOT_FOUND: "ENDPOINT_NOT_FOUND",
443
369
  ENDPOINT_INVALID_CONFIG: "ENDPOINT_INVALID_CONFIG",
444
- // Event Errors
370
+ // Event
445
371
  EVENT_HANDLER_FAILED: "EVENT_HANDLER_FAILED",
446
372
  EVENT_EMISSION_FAILED: "EVENT_EMISSION_FAILED",
447
373
  MONITORING_FAILED: "MONITORING_FAILED",
374
+ // Context
448
375
  CONTEXT_OPERATION_FAILED: "CONTEXT_OPERATION_FAILED",
449
- // Authentication Errors
450
- AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
451
- AUTH_UNAUTHORIZED: "AUTH_UNAUTHORIZED",
452
- AUTH_FORBIDDEN: "AUTH_FORBIDDEN",
453
- AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
454
- // Rate Limiting
455
- RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
456
- // Resource Errors
457
- RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND",
458
- // System Errors
459
- INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR",
460
- SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
461
- EXTERNAL_SERVICE_ERROR: "EXTERNAL_SERVICE_ERROR",
462
- UNKNOWN_ERROR: "UNKNOWN_ERROR",
463
- // Validation Errors
464
- VALIDATION_ERROR: "VALIDATION_ERROR",
465
- VALIDATION_FAILED: "VALIDATION_FAILED",
466
- REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING",
467
- INVALID_FORMAT: "INVALID_FORMAT",
468
- VALIDATION_INVALID_FORMAT: "INVALID_FORMAT",
469
- // Alias for compatibility
470
- STRING_TOO_SHORT: "STRING_TOO_SHORT",
471
- STRING_TOO_LONG: "STRING_TOO_LONG",
472
- // Generic HTTP Status Mappings
376
+ // Generic
473
377
  CLIENT_ERROR: "CLIENT_ERROR",
474
- SERVER_ERROR: "SERVER_ERROR",
475
- // Timeout
476
- TIMEOUT: "TIMEOUT"
378
+ UNKNOWN_ERROR: "UNKNOWN_ERROR",
379
+ // ===== Notification Package Errors =====
380
+ // Provider
381
+ NOTIFICATION_PROVIDER_SEND_FAILED: "notification.provider.send.failed",
382
+ NOTIFICATION_PROVIDER_CONFIGURATION_INVALID: "notification.provider.configuration.invalid",
383
+ NOTIFICATION_PROVIDER_RATE_LIMIT: "notification.provider.rate.limit",
384
+ NOTIFICATION_PROVIDER_AUTH_FAILED: "notification.provider.auth.failed",
385
+ NOTIFICATION_PROVIDER_TIMEOUT: "notification.provider.timeout",
386
+ NOTIFICATION_PROVIDER_UNAVAILABLE: "notification.provider.unavailable",
387
+ NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED: "notification.provider.feature.not.supported",
388
+ NOTIFICATION_ALL_PROVIDERS_FAILED: "notification.all.providers.failed",
389
+ // Validation
390
+ NOTIFICATION_INVALID_INPUT: "notification.validation.input.invalid",
391
+ NOTIFICATION_INVALID_RECIPIENT: "notification.validation.recipient.invalid",
392
+ NOTIFICATION_INVALID_TEMPLATE: "notification.validation.template.invalid",
393
+ NOTIFICATION_INVALID_PAYLOAD: "notification.validation.payload.invalid",
394
+ NOTIFICATION_MISSING_REQUIRED_FIELD: "notification.validation.field.required",
395
+ NOTIFICATION_VALIDATION_FAILED: "notification.validation.failed",
396
+ // User Preferences
397
+ NOTIFICATION_USER_OPTED_OUT: "notification.user.opted.out",
398
+ // Queue
399
+ NOTIFICATION_QUEUE_FULL: "notification.queue.full",
400
+ NOTIFICATION_QUEUE_PROCESSING_FAILED: "notification.queue.processing.failed",
401
+ // Webhook
402
+ NOTIFICATION_WEBHOOK_SIGNATURE_INVALID: "notification.webhook.signature.invalid",
403
+ NOTIFICATION_WEBHOOK_VALIDATION_FAILED: "notification.webhook.validation.failed",
404
+ NOTIFICATION_WEBHOOK_PROCESSING_FAILED: "notification.webhook.processing.failed",
405
+ // Template
406
+ NOTIFICATION_TEMPLATE_NOT_FOUND: "notification.template.not.found",
407
+ NOTIFICATION_TEMPLATE_RENDER_FAILED: "notification.template.render.failed",
408
+ // General Notification
409
+ NOTIFICATION_UNKNOWN_ERROR: "notification.unknown.error",
410
+ NOTIFICATION_INITIALIZATION_FAILED: "notification.initialization.failed"
477
411
  };
478
- var PACKAGE_STATUS_CODES = {
479
- // Configuration errors
480
- INVALID_CONFIGURATION: 1001,
481
- MISSING_CONFIGURATION: 1002,
482
- CONFIGURATION_CONFLICT: 1003,
483
- CONFIGURATION_TRACKING_FAILED: 1004,
484
- DEBUG_TRACKING_FAILED: 1005,
485
- // Resource errors (internal)
486
- RESOURCE_NOT_FOUND: 1010,
487
- RESOURCE_ALREADY_EXISTS: 1011,
488
- RESOURCE_UNAVAILABLE: 1012,
489
- // Validation errors (internal)
490
- INVALID_PARAMETER: 1020,
491
- MISSING_PARAMETER: 1021,
492
- PARAMETER_OUT_OF_RANGE: 1022,
493
- // Strategy/preset errors
494
- STRATEGY_NOT_FOUND: 1030,
495
- PRESET_NOT_FOUND: 1031,
496
- INVALID_STRATEGY: 1032,
497
- // Request/Response errors
498
- REQUEST_FAILED: 1035,
499
- // Internal system errors
500
- INITIALIZATION_FAILED: 1040,
501
- OPERATION_FAILED: 1041,
502
- STATE_CORRUPTION: 1042,
503
- SERIALIZATION_FAILED: 1043,
504
- DESERIALIZATION_FAILED: 1044,
505
- CONFIGURATION_INVALID: 1045,
506
- HEADER_PROCESSING_ERROR: 1046,
507
- REGION_DETECTION_ERROR: 1047,
508
- NETWORK_OVERRIDE_ERROR: 1048
412
+ var API_ERROR_CODES = {
413
+ CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
414
+ CLIENT_INVALID_CONFIG: ERROR_CODES.CLIENT_INVALID_CONFIG,
415
+ CLIENT_MISSING_BASE_URL: ERROR_CODES.CLIENT_MISSING_BASE_URL,
416
+ CLIENT_CANCELLED: ERROR_CODES.CLIENT_CANCELLED,
417
+ CONFIG_VALIDATION_FAILED: ERROR_CODES.CONFIG_VALIDATION_FAILED,
418
+ HEADER_PROCESSING_FAILED: ERROR_CODES.HEADER_PROCESSING_FAILED,
419
+ NETWORK_OVERRIDE_FAILED: ERROR_CODES.NETWORK_OVERRIDE_FAILED,
420
+ REQUEST_TIMEOUT: ERROR_CODES.REQUEST_TIMEOUT,
421
+ REQUEST_ABORTED: ERROR_CODES.REQUEST_ABORTED,
422
+ REQUEST_INVALID_PARAMS: ERROR_CODES.REQUEST_INVALID_PARAMS,
423
+ REQUEST_PREPARATION_FAILED: ERROR_CODES.REQUEST_PREPARATION_FAILED,
424
+ RESPONSE_INVALID_FORMAT: ERROR_CODES.RESPONSE_INVALID_FORMAT,
425
+ RESPONSE_PARSING_FAILED: ERROR_CODES.RESPONSE_PARSING_FAILED,
426
+ AUTH_UNAUTHORIZED: ERROR_CODES.AUTH_UNAUTHORIZED,
427
+ AUTH_FORBIDDEN: ERROR_CODES.AUTH_FORBIDDEN,
428
+ AUTH_TOKEN_EXPIRED: ERROR_CODES.AUTH_TOKEN_EXPIRED,
429
+ AUTH_INVALID_CREDENTIALS: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
430
+ RATE_LIMIT_EXCEEDED: ERROR_CODES.RATE_LIMIT_EXCEEDED,
431
+ RESOURCE_NOT_FOUND: ERROR_CODES.RESOURCE_NOT_FOUND,
432
+ RESOURCE_CONFLICT: ERROR_CODES.RESOURCE_CONFLICT,
433
+ VALIDATION_FAILED: ERROR_CODES.API_VALIDATION_FAILED,
434
+ INVALID_INPUT: ERROR_CODES.API_INVALID_INPUT,
435
+ VALIDATION_ERROR: ERROR_CODES.VALIDATION_ERROR,
436
+ REQUIRED_FIELD_MISSING: ERROR_CODES.REQUIRED_FIELD_MISSING,
437
+ INVALID_FORMAT: ERROR_CODES.INVALID_FORMAT,
438
+ VALIDATION_INVALID_FORMAT: ERROR_CODES.VALIDATION_INVALID_FORMAT,
439
+ STRING_TOO_SHORT: ERROR_CODES.STRING_TOO_SHORT,
440
+ STRING_TOO_LONG: ERROR_CODES.STRING_TOO_LONG,
441
+ NETWORK_ERROR: ERROR_CODES.NETWORK_ERROR,
442
+ CONNECTION_FAILED: ERROR_CODES.CONNECTION_FAILED,
443
+ NETWORK_CONNECTION_FAILED: ERROR_CODES.NETWORK_CONNECTION_FAILED,
444
+ NETWORK_OFFLINE: ERROR_CODES.NETWORK_OFFLINE,
445
+ NETWORK_DNS_FAILED: ERROR_CODES.NETWORK_DNS_FAILED,
446
+ NETWORK_TIMEOUT: ERROR_CODES.NETWORK_TIMEOUT,
447
+ NETWORK_CONFIGURATION_INVALID: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,
448
+ SERVER_ERROR: ERROR_CODES.SERVER_ERROR,
449
+ INTERNAL_SERVER_ERROR: ERROR_CODES.INTERNAL_SERVER_ERROR,
450
+ SERVICE_UNAVAILABLE: ERROR_CODES.SERVICE_UNAVAILABLE,
451
+ CACHE_READ_FAILED: ERROR_CODES.CACHE_READ_FAILED,
452
+ CACHE_WRITE_FAILED: ERROR_CODES.CACHE_WRITE_FAILED,
453
+ CACHE_INVALIDATION_FAILED: ERROR_CODES.CACHE_INVALIDATION_FAILED,
454
+ CACHE_STORAGE_FAILED: ERROR_CODES.CACHE_STORAGE_FAILED,
455
+ CACHE_RETRIEVAL_FAILED: ERROR_CODES.CACHE_RETRIEVAL_FAILED,
456
+ RETRY_LIMIT_EXCEEDED: ERROR_CODES.RETRY_LIMIT_EXCEEDED,
457
+ RETRY_FAILED: ERROR_CODES.RETRY_FAILED,
458
+ RETRY_EXHAUSTED: ERROR_CODES.RETRY_EXHAUSTED,
459
+ RETRY_STRATEGY_INVALID: ERROR_CODES.RETRY_STRATEGY_INVALID,
460
+ STRATEGY_INVALID: ERROR_CODES.STRATEGY_INVALID,
461
+ STRATEGY_CONFLICT: ERROR_CODES.STRATEGY_CONFLICT,
462
+ STRATEGY_EXECUTION_FAILED: ERROR_CODES.STRATEGY_EXECUTION_FAILED,
463
+ HEADERS_ENRICHMENT_FAILED: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
464
+ HEADERS_VALIDATION_FAILED: ERROR_CODES.HEADERS_VALIDATION_FAILED,
465
+ HEADERS_MERGE_CONFLICT: ERROR_CODES.HEADERS_MERGE_CONFLICT,
466
+ REGION_DETECTION_FAILED: ERROR_CODES.REGION_DETECTION_FAILED,
467
+ REGIONAL_PRESET_NOT_FOUND: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
468
+ EXTERNAL_SERVICE_ERROR: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
469
+ NETWORK_PRESET_NOT_FOUND: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,
470
+ TIMEOUT: ERROR_CODES.TIMEOUT,
471
+ DEBUG_TRACKING_FAILED: ERROR_CODES.DEBUG_TRACKING_FAILED,
472
+ DEBUG_OVERRIDE_FAILED: ERROR_CODES.DEBUG_OVERRIDE_FAILED,
473
+ DEBUG_CONFLICT_DETECTED: ERROR_CODES.DEBUG_CONFLICT_DETECTED,
474
+ POLLING_CANCELLED: ERROR_CODES.POLLING_CANCELLED,
475
+ POLLING_TIMEOUT: ERROR_CODES.POLLING_TIMEOUT,
476
+ POLLING_INVALID_CONFIG: ERROR_CODES.POLLING_INVALID_CONFIG,
477
+ PUBSUB_SUBSCRIPTION_FAILED: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,
478
+ PUBSUB_PUBLICATION_FAILED: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,
479
+ PUBSUB_INVALID_TOPIC: ERROR_CODES.PUBSUB_INVALID_TOPIC,
480
+ PUBSUB_CHANNEL_ERROR: ERROR_CODES.PUBSUB_CHANNEL_ERROR,
481
+ REVALIDATION_FAILED: ERROR_CODES.REVALIDATION_FAILED,
482
+ REVALIDATION_IN_PROGRESS: ERROR_CODES.REVALIDATION_IN_PROGRESS,
483
+ ENDPOINT_BUILD_FAILED: ERROR_CODES.ENDPOINT_BUILD_FAILED,
484
+ ENDPOINT_NOT_FOUND: ERROR_CODES.ENDPOINT_NOT_FOUND,
485
+ ENDPOINT_INVALID_CONFIG: ERROR_CODES.ENDPOINT_INVALID_CONFIG,
486
+ EVENT_HANDLER_FAILED: ERROR_CODES.EVENT_HANDLER_FAILED,
487
+ EVENT_EMISSION_FAILED: ERROR_CODES.EVENT_EMISSION_FAILED,
488
+ MONITORING_FAILED: ERROR_CODES.MONITORING_FAILED,
489
+ CONTEXT_OPERATION_FAILED: ERROR_CODES.CONTEXT_OPERATION_FAILED,
490
+ CLIENT_ERROR: ERROR_CODES.CLIENT_ERROR,
491
+ UNKNOWN_ERROR: ERROR_CODES.UNKNOWN_ERROR
492
+ };
493
+ var NOTIFICATION_ERROR_CODES = {
494
+ PROVIDER_SEND_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,
495
+ PROVIDER_CONFIGURATION_INVALID: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,
496
+ PROVIDER_RATE_LIMIT: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,
497
+ PROVIDER_AUTH_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,
498
+ PROVIDER_TIMEOUT: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,
499
+ PROVIDER_UNAVAILABLE: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,
500
+ PROVIDER_FEATURE_NOT_SUPPORTED: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,
501
+ ALL_PROVIDERS_FAILED: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,
502
+ INVALID_INPUT: ERROR_CODES.NOTIFICATION_INVALID_INPUT,
503
+ INVALID_RECIPIENT: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,
504
+ INVALID_TEMPLATE: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,
505
+ INVALID_PAYLOAD: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,
506
+ MISSING_REQUIRED_FIELD: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,
507
+ VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,
508
+ USER_OPTED_OUT: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,
509
+ QUEUE_FULL: ERROR_CODES.NOTIFICATION_QUEUE_FULL,
510
+ QUEUE_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,
511
+ WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,
512
+ WEBHOOK_VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,
513
+ WEBHOOK_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,
514
+ TEMPLATE_NOT_FOUND: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,
515
+ TEMPLATE_RENDER_FAILED: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,
516
+ UNKNOWN_ERROR: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,
517
+ INITIALIZATION_FAILED: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED
509
518
  };
510
519
  var ERROR_DEFINITIONS = {
520
+ // ===== API Package Error Definitions =====
511
521
  // Authentication
512
- [API_ERROR_CODES.AUTH_UNAUTHORIZED]: {
513
- code: API_ERROR_CODES.AUTH_UNAUTHORIZED,
522
+ [ERROR_CODES.AUTH_UNAUTHORIZED]: {
523
+ code: ERROR_CODES.AUTH_UNAUTHORIZED,
514
524
  status: HTTP_STATUS.UNAUTHORIZED,
515
- category: ERROR_CATEGORY.Authentication
525
+ category: ERROR_CATEGORY.Authentication,
526
+ userMessage: "errors.auth.unauthorized",
527
+ severity: ERROR_SEVERITY.Medium,
528
+ retryable: false
516
529
  },
517
- [API_ERROR_CODES.AUTH_FORBIDDEN]: {
518
- code: API_ERROR_CODES.AUTH_FORBIDDEN,
530
+ [ERROR_CODES.AUTH_FORBIDDEN]: {
531
+ code: ERROR_CODES.AUTH_FORBIDDEN,
519
532
  status: HTTP_STATUS.FORBIDDEN,
520
- category: ERROR_CATEGORY.Authorization
533
+ category: ERROR_CATEGORY.Authorization,
534
+ userMessage: "errors.auth.forbidden",
535
+ severity: ERROR_SEVERITY.Medium,
536
+ retryable: false
521
537
  },
522
- [API_ERROR_CODES.AUTH_TOKEN_EXPIRED]: {
523
- code: API_ERROR_CODES.AUTH_TOKEN_EXPIRED,
538
+ [ERROR_CODES.AUTH_TOKEN_EXPIRED]: {
539
+ code: ERROR_CODES.AUTH_TOKEN_EXPIRED,
524
540
  status: HTTP_STATUS.UNAUTHORIZED,
525
- category: ERROR_CATEGORY.Authentication
541
+ category: ERROR_CATEGORY.Authentication,
542
+ userMessage: "errors.auth.token_expired",
543
+ severity: ERROR_SEVERITY.Medium,
544
+ retryable: false
526
545
  },
527
- [API_ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {
528
- code: API_ERROR_CODES.AUTH_INVALID_CREDENTIALS,
546
+ [ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {
547
+ code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
529
548
  status: HTTP_STATUS.UNAUTHORIZED,
530
- category: ERROR_CATEGORY.Authentication
549
+ category: ERROR_CATEGORY.Authentication,
550
+ userMessage: "errors.auth.invalid_credentials",
551
+ severity: ERROR_SEVERITY.Medium,
552
+ retryable: false
531
553
  },
532
554
  // Rate Limiting
533
- [API_ERROR_CODES.RATE_LIMIT_EXCEEDED]: {
534
- code: API_ERROR_CODES.RATE_LIMIT_EXCEEDED,
555
+ [ERROR_CODES.RATE_LIMIT_EXCEEDED]: {
556
+ code: ERROR_CODES.RATE_LIMIT_EXCEEDED,
535
557
  status: HTTP_STATUS.TOO_MANY_REQUESTS,
536
- category: ERROR_CATEGORY.RateLimit
558
+ category: ERROR_CATEGORY.RateLimit,
559
+ userMessage: "errors.rate_limit.exceeded",
560
+ severity: ERROR_SEVERITY.Medium,
561
+ retryable: true
537
562
  },
538
- // Resource Errors
539
- [API_ERROR_CODES.RESOURCE_NOT_FOUND]: {
540
- code: API_ERROR_CODES.RESOURCE_NOT_FOUND,
563
+ // Resources
564
+ [ERROR_CODES.RESOURCE_NOT_FOUND]: {
565
+ code: ERROR_CODES.RESOURCE_NOT_FOUND,
541
566
  status: HTTP_STATUS.NOT_FOUND,
542
- category: ERROR_CATEGORY.NotFound
567
+ category: ERROR_CATEGORY.NotFound,
568
+ userMessage: "errors.resource.not_found",
569
+ severity: ERROR_SEVERITY.Medium,
570
+ retryable: false
543
571
  },
544
- // System Errors
545
- [API_ERROR_CODES.INTERNAL_SERVER_ERROR]: {
546
- code: API_ERROR_CODES.INTERNAL_SERVER_ERROR,
547
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
548
- category: ERROR_CATEGORY.Server
572
+ [ERROR_CODES.RESOURCE_CONFLICT]: {
573
+ code: ERROR_CODES.RESOURCE_CONFLICT,
574
+ status: HTTP_STATUS.CONFLICT,
575
+ category: ERROR_CATEGORY.Conflict,
576
+ userMessage: "errors.resource.conflict",
577
+ severity: ERROR_SEVERITY.Medium,
578
+ retryable: false
549
579
  },
550
- [API_ERROR_CODES.SERVICE_UNAVAILABLE]: {
551
- code: API_ERROR_CODES.SERVICE_UNAVAILABLE,
552
- status: HTTP_STATUS.SERVICE_UNAVAILABLE,
553
- category: ERROR_CATEGORY.Server
580
+ // Validation
581
+ [ERROR_CODES.API_VALIDATION_FAILED]: {
582
+ code: ERROR_CODES.API_VALIDATION_FAILED,
583
+ status: HTTP_STATUS.BAD_REQUEST,
584
+ category: ERROR_CATEGORY.Validation,
585
+ userMessage: "errors.validation.failed",
586
+ severity: ERROR_SEVERITY.Medium,
587
+ retryable: false
554
588
  },
555
- [API_ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {
556
- code: API_ERROR_CODES.EXTERNAL_SERVICE_ERROR,
557
- status: HTTP_STATUS.BAD_GATEWAY,
558
- category: ERROR_CATEGORY.ExternalService
589
+ [ERROR_CODES.API_INVALID_INPUT]: {
590
+ code: ERROR_CODES.API_INVALID_INPUT,
591
+ status: HTTP_STATUS.BAD_REQUEST,
592
+ category: ERROR_CATEGORY.Validation,
593
+ userMessage: "errors.validation.invalid_input",
594
+ severity: ERROR_SEVERITY.Medium,
595
+ retryable: false
559
596
  },
560
- // Validation
561
- [API_ERROR_CODES.VALIDATION_ERROR]: {
562
- code: API_ERROR_CODES.VALIDATION_ERROR,
597
+ [ERROR_CODES.VALIDATION_ERROR]: {
598
+ code: ERROR_CODES.VALIDATION_ERROR,
563
599
  status: HTTP_STATUS.BAD_REQUEST,
564
- category: ERROR_CATEGORY.Validation
600
+ category: ERROR_CATEGORY.Validation,
601
+ userMessage: "errors.validation.error",
602
+ severity: ERROR_SEVERITY.Medium,
603
+ retryable: false
565
604
  },
566
- [API_ERROR_CODES.VALIDATION_FAILED]: {
567
- code: API_ERROR_CODES.VALIDATION_FAILED,
605
+ [ERROR_CODES.REQUIRED_FIELD_MISSING]: {
606
+ code: ERROR_CODES.REQUIRED_FIELD_MISSING,
568
607
  status: HTTP_STATUS.BAD_REQUEST,
569
- category: ERROR_CATEGORY.Validation
608
+ category: ERROR_CATEGORY.Validation,
609
+ userMessage: "errors.validation.required_field_missing",
610
+ severity: ERROR_SEVERITY.Medium,
611
+ retryable: false
570
612
  },
571
- [API_ERROR_CODES.REQUIRED_FIELD_MISSING]: {
572
- code: API_ERROR_CODES.REQUIRED_FIELD_MISSING,
613
+ [ERROR_CODES.INVALID_FORMAT]: {
614
+ code: ERROR_CODES.INVALID_FORMAT,
573
615
  status: HTTP_STATUS.BAD_REQUEST,
574
616
  category: ERROR_CATEGORY.Validation,
575
- fieldsLeft: ["field"]
617
+ userMessage: "errors.validation.invalid_format",
618
+ severity: ERROR_SEVERITY.Medium,
619
+ retryable: false
576
620
  },
577
- [API_ERROR_CODES.INVALID_FORMAT]: {
578
- code: API_ERROR_CODES.INVALID_FORMAT,
621
+ [ERROR_CODES.VALIDATION_INVALID_FORMAT]: {
622
+ code: ERROR_CODES.VALIDATION_INVALID_FORMAT,
579
623
  status: HTTP_STATUS.BAD_REQUEST,
580
- category: ERROR_CATEGORY.Validation
624
+ category: ERROR_CATEGORY.Validation,
625
+ userMessage: "errors.validation.invalid_format",
626
+ severity: ERROR_SEVERITY.Medium,
627
+ retryable: false
581
628
  },
582
- [API_ERROR_CODES.STRING_TOO_SHORT]: {
583
- code: API_ERROR_CODES.STRING_TOO_SHORT,
629
+ [ERROR_CODES.STRING_TOO_SHORT]: {
630
+ code: ERROR_CODES.STRING_TOO_SHORT,
584
631
  status: HTTP_STATUS.BAD_REQUEST,
585
632
  category: ERROR_CATEGORY.Validation,
586
- fieldsLeft: ["field", "minLength"]
633
+ userMessage: "errors.validation.string_too_short",
634
+ severity: ERROR_SEVERITY.Medium,
635
+ retryable: false
587
636
  },
588
- [API_ERROR_CODES.STRING_TOO_LONG]: {
589
- code: API_ERROR_CODES.STRING_TOO_LONG,
637
+ [ERROR_CODES.STRING_TOO_LONG]: {
638
+ code: ERROR_CODES.STRING_TOO_LONG,
590
639
  status: HTTP_STATUS.BAD_REQUEST,
591
640
  category: ERROR_CATEGORY.Validation,
592
- fieldsLeft: ["field", "maxLength"]
641
+ userMessage: "errors.validation.string_too_long",
642
+ severity: ERROR_SEVERITY.Medium,
643
+ retryable: false
593
644
  },
594
- // Request Errors
595
- [API_ERROR_CODES.REQUEST_TIMEOUT]: {
596
- code: API_ERROR_CODES.REQUEST_TIMEOUT,
597
- status: HTTP_STATUS.REQUEST_TIMEOUT,
598
- category: ERROR_CATEGORY.Timeout
645
+ // Network
646
+ [ERROR_CODES.NETWORK_ERROR]: {
647
+ code: ERROR_CODES.NETWORK_ERROR,
648
+ status: HTTP_STATUS.BAD_GATEWAY,
649
+ category: ERROR_CATEGORY.Network,
650
+ userMessage: "errors.network.error",
651
+ severity: ERROR_SEVERITY.High,
652
+ retryable: true
653
+ },
654
+ [ERROR_CODES.CONNECTION_FAILED]: {
655
+ code: ERROR_CODES.CONNECTION_FAILED,
656
+ status: 0,
657
+ category: ERROR_CATEGORY.Network,
658
+ userMessage: "errors.network.connection_failed",
659
+ severity: ERROR_SEVERITY.High,
660
+ retryable: true
661
+ },
662
+ [ERROR_CODES.NETWORK_CONNECTION_FAILED]: {
663
+ code: ERROR_CODES.NETWORK_CONNECTION_FAILED,
664
+ status: 0,
665
+ category: ERROR_CATEGORY.Network,
666
+ userMessage: "errors.network.connection_failed",
667
+ severity: ERROR_SEVERITY.High,
668
+ retryable: true
669
+ },
670
+ [ERROR_CODES.NETWORK_OFFLINE]: {
671
+ code: ERROR_CODES.NETWORK_OFFLINE,
672
+ status: 0,
673
+ category: ERROR_CATEGORY.Network,
674
+ userMessage: "errors.network.offline",
675
+ severity: ERROR_SEVERITY.High,
676
+ retryable: true
677
+ },
678
+ [ERROR_CODES.NETWORK_DNS_FAILED]: {
679
+ code: ERROR_CODES.NETWORK_DNS_FAILED,
680
+ status: 0,
681
+ category: ERROR_CATEGORY.Network,
682
+ userMessage: "errors.network.dns_failed",
683
+ severity: ERROR_SEVERITY.High,
684
+ retryable: true
599
685
  },
600
- [API_ERROR_CODES.REQUEST_ABORTED]: {
601
- code: API_ERROR_CODES.REQUEST_ABORTED,
686
+ [ERROR_CODES.NETWORK_TIMEOUT]: {
687
+ code: ERROR_CODES.NETWORK_TIMEOUT,
602
688
  status: 0,
603
- // No HTTP status for aborted
604
- category: ERROR_CATEGORY.Client
689
+ category: ERROR_CATEGORY.Network,
690
+ userMessage: "errors.network.timeout",
691
+ severity: ERROR_SEVERITY.High,
692
+ retryable: true
693
+ },
694
+ [ERROR_CODES.NETWORK_CONFIGURATION_INVALID]: {
695
+ code: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,
696
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
697
+ category: ERROR_CATEGORY.Configuration,
698
+ userMessage: "errors.network.configuration_invalid",
699
+ severity: ERROR_SEVERITY.Critical,
700
+ retryable: true
701
+ },
702
+ [ERROR_CODES.NETWORK_PRESET_NOT_FOUND]: {
703
+ code: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,
704
+ status: HTTP_STATUS.NOT_FOUND,
705
+ category: ERROR_CATEGORY.Configuration,
706
+ userMessage: "errors.network.preset_not_found",
707
+ severity: ERROR_SEVERITY.High,
708
+ retryable: true
709
+ },
710
+ // Server
711
+ [ERROR_CODES.SERVER_ERROR]: {
712
+ code: ERROR_CODES.SERVER_ERROR,
713
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
714
+ category: ERROR_CATEGORY.Server,
715
+ userMessage: "errors.server.error",
716
+ severity: ERROR_SEVERITY.High,
717
+ retryable: false
718
+ },
719
+ [ERROR_CODES.INTERNAL_SERVER_ERROR]: {
720
+ code: ERROR_CODES.INTERNAL_SERVER_ERROR,
721
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
722
+ category: ERROR_CATEGORY.Server,
723
+ userMessage: "errors.server.internal_error",
724
+ severity: ERROR_SEVERITY.High,
725
+ retryable: false
726
+ },
727
+ [ERROR_CODES.SERVICE_UNAVAILABLE]: {
728
+ code: ERROR_CODES.SERVICE_UNAVAILABLE,
729
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
730
+ category: ERROR_CATEGORY.Server,
731
+ userMessage: "errors.server.service_unavailable",
732
+ severity: ERROR_SEVERITY.Medium,
733
+ retryable: true
734
+ },
735
+ // Cache
736
+ [ERROR_CODES.CACHE_READ_FAILED]: {
737
+ code: ERROR_CODES.CACHE_READ_FAILED,
738
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
739
+ category: ERROR_CATEGORY.Cache,
740
+ userMessage: "errors.cache.read_failed",
741
+ severity: ERROR_SEVERITY.Medium,
742
+ retryable: false
743
+ },
744
+ [ERROR_CODES.CACHE_WRITE_FAILED]: {
745
+ code: ERROR_CODES.CACHE_WRITE_FAILED,
746
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
747
+ category: ERROR_CATEGORY.Cache,
748
+ userMessage: "errors.cache.write_failed",
749
+ severity: ERROR_SEVERITY.Medium,
750
+ retryable: false
751
+ },
752
+ [ERROR_CODES.CACHE_INVALIDATION_FAILED]: {
753
+ code: ERROR_CODES.CACHE_INVALIDATION_FAILED,
754
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
755
+ category: ERROR_CATEGORY.Cache,
756
+ userMessage: "errors.cache.invalidation_failed",
757
+ severity: ERROR_SEVERITY.Medium,
758
+ retryable: false
759
+ },
760
+ [ERROR_CODES.CACHE_STORAGE_FAILED]: {
761
+ code: ERROR_CODES.CACHE_STORAGE_FAILED,
762
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
763
+ category: ERROR_CATEGORY.Cache,
764
+ userMessage: "errors.cache.storage_failed",
765
+ severity: ERROR_SEVERITY.Medium,
766
+ retryable: false
767
+ },
768
+ [ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {
769
+ code: ERROR_CODES.CACHE_RETRIEVAL_FAILED,
770
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
771
+ category: ERROR_CATEGORY.Cache,
772
+ userMessage: "errors.cache.retrieval_failed",
773
+ severity: ERROR_SEVERITY.Medium,
774
+ retryable: false
775
+ },
776
+ // Retry
777
+ [ERROR_CODES.RETRY_LIMIT_EXCEEDED]: {
778
+ code: ERROR_CODES.RETRY_LIMIT_EXCEEDED,
779
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
780
+ category: ERROR_CATEGORY.Retry,
781
+ userMessage: "errors.retry.limit_exceeded",
782
+ severity: ERROR_SEVERITY.Medium,
783
+ retryable: true
784
+ },
785
+ [ERROR_CODES.RETRY_FAILED]: {
786
+ code: ERROR_CODES.RETRY_FAILED,
787
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
788
+ category: ERROR_CATEGORY.Retry,
789
+ userMessage: "errors.retry.failed",
790
+ severity: ERROR_SEVERITY.Medium,
791
+ retryable: true
605
792
  },
606
- [API_ERROR_CODES.REQUEST_INVALID_PARAMS]: {
607
- code: API_ERROR_CODES.REQUEST_INVALID_PARAMS,
793
+ [ERROR_CODES.RETRY_EXHAUSTED]: {
794
+ code: ERROR_CODES.RETRY_EXHAUSTED,
795
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
796
+ category: ERROR_CATEGORY.Retry,
797
+ userMessage: "errors.retry.exhausted",
798
+ severity: ERROR_SEVERITY.Medium,
799
+ retryable: true
800
+ },
801
+ [ERROR_CODES.RETRY_STRATEGY_INVALID]: {
802
+ code: ERROR_CODES.RETRY_STRATEGY_INVALID,
608
803
  status: HTTP_STATUS.BAD_REQUEST,
609
- category: ERROR_CATEGORY.Client
804
+ category: ERROR_CATEGORY.Configuration,
805
+ userMessage: "errors.retry.strategy_invalid",
806
+ severity: ERROR_SEVERITY.Medium,
807
+ retryable: true
610
808
  },
611
- [API_ERROR_CODES.REQUEST_PREPARATION_FAILED]: {
612
- code: API_ERROR_CODES.REQUEST_PREPARATION_FAILED,
809
+ // Strategy
810
+ [ERROR_CODES.STRATEGY_INVALID]: {
811
+ code: ERROR_CODES.STRATEGY_INVALID,
613
812
  status: HTTP_STATUS.BAD_REQUEST,
614
- category: ERROR_CATEGORY.Client
813
+ category: ERROR_CATEGORY.Configuration,
814
+ userMessage: "errors.strategy.invalid",
815
+ severity: ERROR_SEVERITY.Medium,
816
+ retryable: false
615
817
  },
616
- // Response Errors
617
- [API_ERROR_CODES.RESPONSE_INVALID_FORMAT]: {
618
- code: API_ERROR_CODES.RESPONSE_INVALID_FORMAT,
619
- status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
620
- category: ERROR_CATEGORY.Client
818
+ [ERROR_CODES.STRATEGY_CONFLICT]: {
819
+ code: ERROR_CODES.STRATEGY_CONFLICT,
820
+ status: HTTP_STATUS.CONFLICT,
821
+ category: ERROR_CATEGORY.Configuration,
822
+ userMessage: "errors.strategy.conflict",
823
+ severity: ERROR_SEVERITY.Medium,
824
+ retryable: false
621
825
  },
622
- [API_ERROR_CODES.RESPONSE_PARSING_FAILED]: {
623
- code: API_ERROR_CODES.RESPONSE_PARSING_FAILED,
624
- status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
625
- category: ERROR_CATEGORY.Client
826
+ [ERROR_CODES.STRATEGY_EXECUTION_FAILED]: {
827
+ code: ERROR_CODES.STRATEGY_EXECUTION_FAILED,
828
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
829
+ category: ERROR_CATEGORY.Configuration,
830
+ userMessage: "errors.strategy.execution_failed",
831
+ severity: ERROR_SEVERITY.Medium,
832
+ retryable: false
626
833
  },
627
- // Network
628
- [API_ERROR_CODES.NETWORK_ERROR]: {
629
- code: API_ERROR_CODES.NETWORK_ERROR,
834
+ // Headers
835
+ [ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {
836
+ code: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
837
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
838
+ category: ERROR_CATEGORY.Headers,
839
+ userMessage: "errors.headers.enrichment_failed",
840
+ severity: ERROR_SEVERITY.Medium,
841
+ retryable: false
842
+ },
843
+ [ERROR_CODES.HEADERS_VALIDATION_FAILED]: {
844
+ code: ERROR_CODES.HEADERS_VALIDATION_FAILED,
845
+ status: HTTP_STATUS.BAD_REQUEST,
846
+ category: ERROR_CATEGORY.Headers,
847
+ userMessage: "errors.headers.validation_failed",
848
+ severity: ERROR_SEVERITY.Medium,
849
+ retryable: false
850
+ },
851
+ [ERROR_CODES.HEADERS_MERGE_CONFLICT]: {
852
+ code: ERROR_CODES.HEADERS_MERGE_CONFLICT,
853
+ status: HTTP_STATUS.CONFLICT,
854
+ category: ERROR_CATEGORY.Headers,
855
+ userMessage: "errors.headers.merge_conflict",
856
+ severity: ERROR_SEVERITY.Medium,
857
+ retryable: false
858
+ },
859
+ // Regional
860
+ [ERROR_CODES.REGION_DETECTION_FAILED]: {
861
+ code: ERROR_CODES.REGION_DETECTION_FAILED,
862
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
863
+ category: ERROR_CATEGORY.Network,
864
+ userMessage: "errors.regional.detection_failed",
865
+ severity: ERROR_SEVERITY.Medium,
866
+ retryable: false
867
+ },
868
+ [ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {
869
+ code: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
870
+ status: HTTP_STATUS.NOT_FOUND,
871
+ category: ERROR_CATEGORY.Configuration,
872
+ userMessage: "errors.regional.preset_not_found",
873
+ severity: ERROR_SEVERITY.Medium,
874
+ retryable: false
875
+ },
876
+ // External Services
877
+ [ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {
878
+ code: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
630
879
  status: HTTP_STATUS.BAD_GATEWAY,
631
- category: ERROR_CATEGORY.Network
880
+ category: ERROR_CATEGORY.Server,
881
+ userMessage: "errors.external.service_error",
882
+ severity: ERROR_SEVERITY.Medium,
883
+ retryable: false
632
884
  },
633
- [API_ERROR_CODES.NETWORK_TIMEOUT]: {
634
- code: API_ERROR_CODES.NETWORK_TIMEOUT,
635
- status: HTTP_STATUS.GATEWAY_TIMEOUT,
636
- category: ERROR_CATEGORY.Timeout
885
+ // Timeout
886
+ [ERROR_CODES.TIMEOUT]: {
887
+ code: ERROR_CODES.TIMEOUT,
888
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
889
+ category: ERROR_CATEGORY.Timeout,
890
+ userMessage: "errors.timeout.generic",
891
+ severity: ERROR_SEVERITY.High,
892
+ retryable: true
637
893
  },
638
- [API_ERROR_CODES.NETWORK_CONNECTION_FAILED]: {
639
- code: API_ERROR_CODES.NETWORK_CONNECTION_FAILED,
640
- status: 0,
641
- // No HTTP status for connection failure
642
- category: ERROR_CATEGORY.Network
894
+ // Debugging
895
+ [ERROR_CODES.DEBUG_TRACKING_FAILED]: {
896
+ code: ERROR_CODES.DEBUG_TRACKING_FAILED,
897
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
898
+ category: ERROR_CATEGORY.Client,
899
+ userMessage: "errors.debug.tracking_failed",
900
+ severity: ERROR_SEVERITY.Medium,
901
+ retryable: false
643
902
  },
644
- [API_ERROR_CODES.NETWORK_OFFLINE]: {
645
- code: API_ERROR_CODES.NETWORK_OFFLINE,
646
- status: 0,
647
- // No HTTP status for offline
648
- category: ERROR_CATEGORY.Network
903
+ [ERROR_CODES.DEBUG_OVERRIDE_FAILED]: {
904
+ code: ERROR_CODES.DEBUG_OVERRIDE_FAILED,
905
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
906
+ category: ERROR_CATEGORY.Configuration,
907
+ userMessage: "errors.debug.override_failed",
908
+ severity: ERROR_SEVERITY.Medium,
909
+ retryable: false
649
910
  },
650
- [API_ERROR_CODES.NETWORK_DNS_FAILED]: {
651
- code: API_ERROR_CODES.NETWORK_DNS_FAILED,
652
- status: 0,
653
- // No HTTP status for DNS failure
654
- category: ERROR_CATEGORY.Network
911
+ [ERROR_CODES.DEBUG_CONFLICT_DETECTED]: {
912
+ code: ERROR_CODES.DEBUG_CONFLICT_DETECTED,
913
+ status: HTTP_STATUS.CONFLICT,
914
+ category: ERROR_CATEGORY.Configuration,
915
+ userMessage: "errors.debug.conflict_detected",
916
+ severity: ERROR_SEVERITY.Medium,
917
+ retryable: false
655
918
  },
656
- // Server
657
- [API_ERROR_CODES.SERVER_ERROR]: {
658
- code: API_ERROR_CODES.SERVER_ERROR,
919
+ // Endpoint
920
+ [ERROR_CODES.ENDPOINT_BUILD_FAILED]: {
921
+ code: ERROR_CODES.ENDPOINT_BUILD_FAILED,
659
922
  status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
660
- category: ERROR_CATEGORY.Server
923
+ category: ERROR_CATEGORY.Configuration,
924
+ userMessage: "errors.endpoint.build_failed",
925
+ severity: ERROR_SEVERITY.Medium,
926
+ retryable: false
661
927
  },
662
- // Client
663
- [API_ERROR_CODES.CLIENT_ERROR]: {
664
- code: API_ERROR_CODES.CLIENT_ERROR,
928
+ [ERROR_CODES.ENDPOINT_NOT_FOUND]: {
929
+ code: ERROR_CODES.ENDPOINT_NOT_FOUND,
930
+ status: HTTP_STATUS.NOT_FOUND,
931
+ category: ERROR_CATEGORY.NotFound,
932
+ userMessage: "errors.endpoint.not_found",
933
+ severity: ERROR_SEVERITY.Medium,
934
+ retryable: false
935
+ },
936
+ [ERROR_CODES.ENDPOINT_INVALID_CONFIG]: {
937
+ code: ERROR_CODES.ENDPOINT_INVALID_CONFIG,
665
938
  status: HTTP_STATUS.BAD_REQUEST,
666
- category: ERROR_CATEGORY.Client
939
+ category: ERROR_CATEGORY.Configuration,
940
+ userMessage: "errors.endpoint.invalid_config",
941
+ severity: ERROR_SEVERITY.Critical,
942
+ retryable: false
667
943
  },
668
- [API_ERROR_CODES.CLIENT_CANCELLED]: {
669
- code: API_ERROR_CODES.CLIENT_CANCELLED,
670
- status: 0,
671
- // No HTTP status for cancelled
672
- category: ERROR_CATEGORY.Client
944
+ // Event
945
+ [ERROR_CODES.EVENT_HANDLER_FAILED]: {
946
+ code: ERROR_CODES.EVENT_HANDLER_FAILED,
947
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
948
+ category: ERROR_CATEGORY.Client,
949
+ userMessage: "errors.event.handler_failed",
950
+ severity: ERROR_SEVERITY.Medium,
951
+ retryable: false
673
952
  },
674
- [API_ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {
675
- code: API_ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
676
- status: 0,
677
- // No HTTP status for initialization failure
678
- category: ERROR_CATEGORY.Client
953
+ [ERROR_CODES.EVENT_EMISSION_FAILED]: {
954
+ code: ERROR_CODES.EVENT_EMISSION_FAILED,
955
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
956
+ category: ERROR_CATEGORY.Client,
957
+ userMessage: "errors.event.emission_failed",
958
+ severity: ERROR_SEVERITY.Medium,
959
+ retryable: false
679
960
  },
680
- [API_ERROR_CODES.CLIENT_INVALID_CONFIG]: {
681
- code: API_ERROR_CODES.CLIENT_INVALID_CONFIG,
682
- status: 0,
683
- // No HTTP status for configuration errors
684
- category: ERROR_CATEGORY.Client
961
+ [ERROR_CODES.MONITORING_FAILED]: {
962
+ code: ERROR_CODES.MONITORING_FAILED,
963
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
964
+ category: ERROR_CATEGORY.Client,
965
+ userMessage: "errors.monitoring.failed",
966
+ severity: ERROR_SEVERITY.Medium,
967
+ retryable: false
685
968
  },
686
- [API_ERROR_CODES.CLIENT_MISSING_BASE_URL]: {
687
- code: API_ERROR_CODES.CLIENT_MISSING_BASE_URL,
969
+ // Polling
970
+ [ERROR_CODES.POLLING_CANCELLED]: {
971
+ code: ERROR_CODES.POLLING_CANCELLED,
688
972
  status: 0,
689
- // No HTTP status for configuration errors
690
- category: ERROR_CATEGORY.Client
973
+ category: ERROR_CATEGORY.Client,
974
+ userMessage: "errors.polling.cancelled",
975
+ severity: ERROR_SEVERITY.Low,
976
+ retryable: false
977
+ },
978
+ [ERROR_CODES.POLLING_TIMEOUT]: {
979
+ code: ERROR_CODES.POLLING_TIMEOUT,
980
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
981
+ category: ERROR_CATEGORY.Timeout,
982
+ userMessage: "errors.polling.timeout",
983
+ severity: ERROR_SEVERITY.High,
984
+ retryable: true
691
985
  },
692
- [API_ERROR_CODES.CONFIG_VALIDATION_FAILED]: {
693
- code: API_ERROR_CODES.CONFIG_VALIDATION_FAILED,
986
+ [ERROR_CODES.POLLING_INVALID_CONFIG]: {
987
+ code: ERROR_CODES.POLLING_INVALID_CONFIG,
694
988
  status: HTTP_STATUS.BAD_REQUEST,
695
- category: ERROR_CATEGORY.Validation
989
+ category: ERROR_CATEGORY.Configuration,
990
+ userMessage: "errors.polling.invalid_config",
991
+ severity: ERROR_SEVERITY.Critical,
992
+ retryable: false
696
993
  },
697
- [API_ERROR_CODES.HEADER_PROCESSING_FAILED]: {
698
- code: API_ERROR_CODES.HEADER_PROCESSING_FAILED,
994
+ // PubSub
995
+ [ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED]: {
996
+ code: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,
699
997
  status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
700
- category: ERROR_CATEGORY.Headers
998
+ category: ERROR_CATEGORY.Client,
999
+ userMessage: "errors.pubsub.subscription_failed",
1000
+ severity: ERROR_SEVERITY.Medium,
1001
+ retryable: false
701
1002
  },
702
- [API_ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {
703
- code: API_ERROR_CODES.NETWORK_OVERRIDE_FAILED,
1003
+ [ERROR_CODES.PUBSUB_PUBLICATION_FAILED]: {
1004
+ code: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,
704
1005
  status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
705
- category: ERROR_CATEGORY.Network
1006
+ category: ERROR_CATEGORY.Client,
1007
+ userMessage: "errors.pubsub.publication_failed",
1008
+ severity: ERROR_SEVERITY.Medium,
1009
+ retryable: false
706
1010
  },
707
- // Headers
708
- [API_ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {
709
- code: API_ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
1011
+ [ERROR_CODES.PUBSUB_INVALID_TOPIC]: {
1012
+ code: ERROR_CODES.PUBSUB_INVALID_TOPIC,
710
1013
  status: HTTP_STATUS.BAD_REQUEST,
711
- category: ERROR_CATEGORY.Headers
1014
+ category: ERROR_CATEGORY.Validation,
1015
+ userMessage: "errors.pubsub.invalid_topic",
1016
+ severity: ERROR_SEVERITY.Medium,
1017
+ retryable: false
712
1018
  },
713
- [API_ERROR_CODES.HEADERS_VALIDATION_FAILED]: {
714
- code: API_ERROR_CODES.HEADERS_VALIDATION_FAILED,
715
- status: HTTP_STATUS.BAD_REQUEST,
716
- category: ERROR_CATEGORY.Headers
1019
+ [ERROR_CODES.PUBSUB_CHANNEL_ERROR]: {
1020
+ code: ERROR_CODES.PUBSUB_CHANNEL_ERROR,
1021
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1022
+ category: ERROR_CATEGORY.Client,
1023
+ userMessage: "errors.pubsub.channel_error",
1024
+ severity: ERROR_SEVERITY.Medium,
1025
+ retryable: false
1026
+ },
1027
+ // Revalidation
1028
+ [ERROR_CODES.REVALIDATION_FAILED]: {
1029
+ code: ERROR_CODES.REVALIDATION_FAILED,
1030
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1031
+ category: ERROR_CATEGORY.Cache,
1032
+ userMessage: "errors.revalidation.failed",
1033
+ severity: ERROR_SEVERITY.Medium,
1034
+ retryable: false
717
1035
  },
718
- [API_ERROR_CODES.HEADERS_MERGE_CONFLICT]: {
719
- code: API_ERROR_CODES.HEADERS_MERGE_CONFLICT,
1036
+ [ERROR_CODES.REVALIDATION_IN_PROGRESS]: {
1037
+ code: ERROR_CODES.REVALIDATION_IN_PROGRESS,
720
1038
  status: HTTP_STATUS.CONFLICT,
721
- category: ERROR_CATEGORY.Headers
1039
+ category: ERROR_CATEGORY.Cache,
1040
+ userMessage: "errors.revalidation.in_progress",
1041
+ severity: ERROR_SEVERITY.Medium,
1042
+ retryable: false
722
1043
  },
723
- // Cache
724
- [API_ERROR_CODES.CACHE_STORAGE_FAILED]: {
725
- code: API_ERROR_CODES.CACHE_STORAGE_FAILED,
726
- status: 0,
727
- // No HTTP status for cache failures
728
- category: ERROR_CATEGORY.Cache
1044
+ // Context
1045
+ [ERROR_CODES.CONTEXT_OPERATION_FAILED]: {
1046
+ code: ERROR_CODES.CONTEXT_OPERATION_FAILED,
1047
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1048
+ category: ERROR_CATEGORY.Client,
1049
+ userMessage: "errors.context.operation_failed",
1050
+ severity: ERROR_SEVERITY.Medium,
1051
+ retryable: false
729
1052
  },
730
- [API_ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {
731
- code: API_ERROR_CODES.CACHE_RETRIEVAL_FAILED,
732
- status: 0,
733
- // No HTTP status for cache failures
734
- category: ERROR_CATEGORY.Cache
1053
+ // Request
1054
+ [ERROR_CODES.REQUEST_TIMEOUT]: {
1055
+ code: ERROR_CODES.REQUEST_TIMEOUT,
1056
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
1057
+ category: ERROR_CATEGORY.Timeout,
1058
+ userMessage: "errors.request.timeout",
1059
+ severity: ERROR_SEVERITY.High,
1060
+ retryable: true
735
1061
  },
736
- [API_ERROR_CODES.CACHE_INVALIDATION_FAILED]: {
737
- code: API_ERROR_CODES.CACHE_INVALIDATION_FAILED,
1062
+ [ERROR_CODES.REQUEST_ABORTED]: {
1063
+ code: ERROR_CODES.REQUEST_ABORTED,
738
1064
  status: 0,
739
- // No HTTP status for cache failures
740
- category: ERROR_CATEGORY.Cache
1065
+ category: ERROR_CATEGORY.Client,
1066
+ userMessage: "errors.request.aborted",
1067
+ severity: ERROR_SEVERITY.Medium,
1068
+ retryable: true
741
1069
  },
742
- // Retry
743
- [API_ERROR_CODES.RETRY_EXHAUSTED]: {
744
- code: API_ERROR_CODES.RETRY_EXHAUSTED,
745
- status: HTTP_STATUS.SERVICE_UNAVAILABLE,
746
- category: ERROR_CATEGORY.Retry
1070
+ [ERROR_CODES.REQUEST_INVALID_PARAMS]: {
1071
+ code: ERROR_CODES.REQUEST_INVALID_PARAMS,
1072
+ status: HTTP_STATUS.BAD_REQUEST,
1073
+ category: ERROR_CATEGORY.Validation,
1074
+ userMessage: "errors.request.invalid_params",
1075
+ severity: ERROR_SEVERITY.Medium,
1076
+ retryable: false
747
1077
  },
748
- [API_ERROR_CODES.RETRY_STRATEGY_INVALID]: {
749
- code: API_ERROR_CODES.RETRY_STRATEGY_INVALID,
750
- status: 0,
751
- // No HTTP status for strategy errors
752
- category: ERROR_CATEGORY.Retry
1078
+ [ERROR_CODES.REQUEST_PREPARATION_FAILED]: {
1079
+ code: ERROR_CODES.REQUEST_PREPARATION_FAILED,
1080
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1081
+ category: ERROR_CATEGORY.Client,
1082
+ userMessage: "errors.request.preparation_failed",
1083
+ severity: ERROR_SEVERITY.Medium,
1084
+ retryable: false
753
1085
  },
754
- // Strategy
755
- [API_ERROR_CODES.STRATEGY_INVALID]: {
756
- code: API_ERROR_CODES.STRATEGY_INVALID,
757
- status: 0,
758
- // No HTTP status for strategy errors
759
- category: ERROR_CATEGORY.Strategy
1086
+ // Response
1087
+ [ERROR_CODES.RESPONSE_INVALID_FORMAT]: {
1088
+ code: ERROR_CODES.RESPONSE_INVALID_FORMAT,
1089
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1090
+ category: ERROR_CATEGORY.Server,
1091
+ userMessage: "errors.response.invalid_format",
1092
+ severity: ERROR_SEVERITY.Medium,
1093
+ retryable: false
760
1094
  },
761
- [API_ERROR_CODES.STRATEGY_CONFLICT]: {
762
- code: API_ERROR_CODES.STRATEGY_CONFLICT,
763
- status: HTTP_STATUS.CONFLICT,
764
- category: ERROR_CATEGORY.Strategy
1095
+ [ERROR_CODES.RESPONSE_PARSING_FAILED]: {
1096
+ code: ERROR_CODES.RESPONSE_PARSING_FAILED,
1097
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1098
+ category: ERROR_CATEGORY.Server,
1099
+ userMessage: "errors.response.parsing_failed",
1100
+ severity: ERROR_SEVERITY.Medium,
1101
+ retryable: false
765
1102
  },
766
- // Regional
767
- [API_ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {
768
- code: API_ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
1103
+ // Client
1104
+ [ERROR_CODES.CLIENT_ERROR]: {
1105
+ code: ERROR_CODES.CLIENT_ERROR,
1106
+ status: HTTP_STATUS.BAD_REQUEST,
1107
+ category: ERROR_CATEGORY.Client,
1108
+ userMessage: "errors.client.error",
1109
+ severity: ERROR_SEVERITY.Medium,
1110
+ retryable: false
1111
+ },
1112
+ [ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {
1113
+ code: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
1114
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1115
+ category: ERROR_CATEGORY.Client,
1116
+ userMessage: "errors.client.initialization_failed",
1117
+ severity: ERROR_SEVERITY.Medium,
1118
+ retryable: false
1119
+ },
1120
+ [ERROR_CODES.CLIENT_INVALID_CONFIG]: {
1121
+ code: ERROR_CODES.CLIENT_INVALID_CONFIG,
1122
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1123
+ category: ERROR_CATEGORY.Client,
1124
+ userMessage: "errors.client.invalid_config",
1125
+ severity: ERROR_SEVERITY.Critical,
1126
+ retryable: false
1127
+ },
1128
+ [ERROR_CODES.CLIENT_MISSING_BASE_URL]: {
1129
+ code: ERROR_CODES.CLIENT_MISSING_BASE_URL,
1130
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1131
+ category: ERROR_CATEGORY.Configuration,
1132
+ userMessage: "errors.client.missing_base_url",
1133
+ severity: ERROR_SEVERITY.Critical,
1134
+ retryable: false
1135
+ },
1136
+ [ERROR_CODES.CLIENT_CANCELLED]: {
1137
+ code: ERROR_CODES.CLIENT_CANCELLED,
769
1138
  status: 0,
770
- // No HTTP status for regional preset errors
771
- category: ERROR_CATEGORY.Regional
1139
+ category: ERROR_CATEGORY.Client,
1140
+ userMessage: "errors.client.cancelled",
1141
+ severity: ERROR_SEVERITY.Low,
1142
+ retryable: true
772
1143
  },
773
- [API_ERROR_CODES.REGION_DETECTION_FAILED]: {
774
- code: API_ERROR_CODES.REGION_DETECTION_FAILED,
1144
+ // Configuration
1145
+ [ERROR_CODES.CONFIG_VALIDATION_FAILED]: {
1146
+ code: ERROR_CODES.CONFIG_VALIDATION_FAILED,
775
1147
  status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
776
- category: ERROR_CATEGORY.Regional
1148
+ category: ERROR_CATEGORY.Configuration,
1149
+ userMessage: "errors.config.validation_failed",
1150
+ severity: ERROR_SEVERITY.Critical,
1151
+ retryable: false
777
1152
  },
778
- // Timeout
779
- [API_ERROR_CODES.TIMEOUT]: {
780
- code: API_ERROR_CODES.TIMEOUT,
781
- status: HTTP_STATUS.REQUEST_TIMEOUT,
782
- category: ERROR_CATEGORY.Timeout
1153
+ [ERROR_CODES.HEADER_PROCESSING_FAILED]: {
1154
+ code: ERROR_CODES.HEADER_PROCESSING_FAILED,
1155
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1156
+ category: ERROR_CATEGORY.Headers,
1157
+ userMessage: "errors.headers.processing_failed",
1158
+ severity: ERROR_SEVERITY.Medium,
1159
+ retryable: false
783
1160
  },
784
- // Unknown
785
- [API_ERROR_CODES.UNKNOWN_ERROR]: {
786
- code: API_ERROR_CODES.UNKNOWN_ERROR,
1161
+ [ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {
1162
+ code: ERROR_CODES.NETWORK_OVERRIDE_FAILED,
787
1163
  status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
788
- category: ERROR_CATEGORY.Unknown
789
- }
790
- };
791
- var ERROR_CATEGORY_TO_EMITTER_KEY = {
792
- [ERROR_CATEGORY.Network]: "network",
793
- [ERROR_CATEGORY.Validation]: "validation",
794
- [ERROR_CATEGORY.Authentication]: "authentication",
795
- [ERROR_CATEGORY.RateLimit]: "rateLimit",
796
- [ERROR_CATEGORY.Server]: "server",
797
- [ERROR_CATEGORY.Timeout]: "timeout",
798
- [ERROR_CATEGORY.Authorization]: "authorization",
799
- [ERROR_CATEGORY.NotFound]: "notFound",
800
- [ERROR_CATEGORY.Conflict]: "conflict",
801
- [ERROR_CATEGORY.Client]: "client",
802
- [ERROR_CATEGORY.ExternalService]: "externalService",
803
- [ERROR_CATEGORY.Cache]: "cache",
804
- [ERROR_CATEGORY.Headers]: "headers",
805
- [ERROR_CATEGORY.Retry]: "retry",
806
- [ERROR_CATEGORY.Blockchain]: "blockchain",
807
- [ERROR_CATEGORY.Strategy]: "strategy",
808
- [ERROR_CATEGORY.Regional]: "regional",
809
- [ERROR_CATEGORY.Unknown]: "unknown"
810
- };
811
-
812
- // src/api/queue/enums.ts
813
- var PRIORITY_LEVEL = {
814
- /** Critical priority - highest urgency (0) */
815
- CRITICAL: 0,
816
- /** High priority (1) */
817
- HIGH: 1,
818
- /** Medium priority (2) */
819
- MEDIUM: 2,
820
- /** Normal priority (3) */
821
- NORMAL: 3,
822
- /** Low priority (4) */
823
- LOW: 4,
824
- /** Idle priority - lowest urgency (5) */
825
- IDLE: 5
1164
+ category: ERROR_CATEGORY.Network,
1165
+ userMessage: "errors.network.override_failed",
1166
+ severity: ERROR_SEVERITY.High,
1167
+ retryable: true
1168
+ },
1169
+ // Generic
1170
+ [ERROR_CODES.UNKNOWN_ERROR]: {
1171
+ code: ERROR_CODES.UNKNOWN_ERROR,
1172
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1173
+ category: ERROR_CATEGORY.Unknown,
1174
+ userMessage: "errors.unknown",
1175
+ severity: ERROR_SEVERITY.Medium,
1176
+ retryable: false
1177
+ },
1178
+ // ===== Notification Package Error Definitions =====
1179
+ // Provider errors (retryable)
1180
+ [ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED]: {
1181
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,
1182
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1183
+ category: ERROR_CATEGORY.Provider,
1184
+ severity: ERROR_SEVERITY.High,
1185
+ retryable: true,
1186
+ userMessage: "errors.notification.provider.send_failed"
1187
+ },
1188
+ [ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID]: {
1189
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,
1190
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1191
+ category: ERROR_CATEGORY.Configuration,
1192
+ severity: ERROR_SEVERITY.Critical,
1193
+ retryable: false,
1194
+ userMessage: "errors.notification.provider.configuration_invalid"
1195
+ },
1196
+ [ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT]: {
1197
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,
1198
+ status: HTTP_STATUS.TOO_MANY_REQUESTS,
1199
+ category: ERROR_CATEGORY.RateLimit,
1200
+ severity: ERROR_SEVERITY.Medium,
1201
+ retryable: true,
1202
+ userMessage: "errors.notification.provider.rate_limit"
1203
+ },
1204
+ [ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED]: {
1205
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,
1206
+ status: HTTP_STATUS.UNAUTHORIZED,
1207
+ category: ERROR_CATEGORY.Provider,
1208
+ severity: ERROR_SEVERITY.Critical,
1209
+ retryable: false,
1210
+ userMessage: "errors.notification.provider.auth_failed"
1211
+ },
1212
+ [ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT]: {
1213
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,
1214
+ status: HTTP_STATUS.GATEWAY_TIMEOUT,
1215
+ category: ERROR_CATEGORY.Network,
1216
+ severity: ERROR_SEVERITY.Medium,
1217
+ retryable: true,
1218
+ userMessage: "errors.notification.provider.timeout"
1219
+ },
1220
+ [ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE]: {
1221
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,
1222
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1223
+ category: ERROR_CATEGORY.Provider,
1224
+ severity: ERROR_SEVERITY.High,
1225
+ retryable: true,
1226
+ userMessage: "errors.notification.provider.unavailable"
1227
+ },
1228
+ [ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED]: {
1229
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,
1230
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
1231
+ category: ERROR_CATEGORY.Provider,
1232
+ severity: ERROR_SEVERITY.Low,
1233
+ retryable: false,
1234
+ userMessage: "errors.notification.provider.feature_not_supported"
1235
+ },
1236
+ [ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED]: {
1237
+ code: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,
1238
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1239
+ category: ERROR_CATEGORY.Provider,
1240
+ severity: ERROR_SEVERITY.Critical,
1241
+ retryable: false,
1242
+ userMessage: "errors.notification.all_providers_failed"
1243
+ },
1244
+ // Validation errors (non-retryable)
1245
+ [ERROR_CODES.NOTIFICATION_INVALID_INPUT]: {
1246
+ code: ERROR_CODES.NOTIFICATION_INVALID_INPUT,
1247
+ status: HTTP_STATUS.BAD_REQUEST,
1248
+ category: ERROR_CATEGORY.Validation,
1249
+ severity: ERROR_SEVERITY.Medium,
1250
+ retryable: false,
1251
+ userMessage: "errors.notification.validation.invalid_input"
1252
+ },
1253
+ [ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT]: {
1254
+ code: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,
1255
+ status: HTTP_STATUS.BAD_REQUEST,
1256
+ category: ERROR_CATEGORY.Validation,
1257
+ severity: ERROR_SEVERITY.Medium,
1258
+ retryable: false,
1259
+ userMessage: "errors.notification.validation.invalid_recipient"
1260
+ },
1261
+ [ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE]: {
1262
+ code: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,
1263
+ status: HTTP_STATUS.BAD_REQUEST,
1264
+ category: ERROR_CATEGORY.Template,
1265
+ severity: ERROR_SEVERITY.Medium,
1266
+ retryable: false,
1267
+ userMessage: "errors.notification.validation.invalid_template"
1268
+ },
1269
+ [ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD]: {
1270
+ code: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,
1271
+ status: HTTP_STATUS.BAD_REQUEST,
1272
+ category: ERROR_CATEGORY.Validation,
1273
+ severity: ERROR_SEVERITY.Medium,
1274
+ retryable: false,
1275
+ userMessage: "errors.notification.validation.invalid_payload"
1276
+ },
1277
+ [ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD]: {
1278
+ code: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,
1279
+ status: HTTP_STATUS.BAD_REQUEST,
1280
+ category: ERROR_CATEGORY.Validation,
1281
+ severity: ERROR_SEVERITY.Medium,
1282
+ retryable: false,
1283
+ userMessage: "errors.notification.validation.required_field_missing"
1284
+ },
1285
+ [ERROR_CODES.NOTIFICATION_VALIDATION_FAILED]: {
1286
+ code: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,
1287
+ status: HTTP_STATUS.BAD_REQUEST,
1288
+ category: ERROR_CATEGORY.Validation,
1289
+ severity: ERROR_SEVERITY.Medium,
1290
+ retryable: false,
1291
+ userMessage: "errors.notification.validation.failed"
1292
+ },
1293
+ // User Preferences
1294
+ [ERROR_CODES.NOTIFICATION_USER_OPTED_OUT]: {
1295
+ code: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,
1296
+ status: HTTP_STATUS.OK,
1297
+ category: ERROR_CATEGORY.Validation,
1298
+ severity: ERROR_SEVERITY.Low,
1299
+ retryable: false,
1300
+ userMessage: "errors.notification.user.opted_out"
1301
+ },
1302
+ // Queue errors (retryable)
1303
+ [ERROR_CODES.NOTIFICATION_QUEUE_FULL]: {
1304
+ code: ERROR_CODES.NOTIFICATION_QUEUE_FULL,
1305
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1306
+ category: ERROR_CATEGORY.Queue,
1307
+ severity: ERROR_SEVERITY.High,
1308
+ retryable: true,
1309
+ userMessage: "errors.notification.queue.full"
1310
+ },
1311
+ [ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED]: {
1312
+ code: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,
1313
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1314
+ category: ERROR_CATEGORY.Queue,
1315
+ severity: ERROR_SEVERITY.High,
1316
+ retryable: true,
1317
+ userMessage: "errors.notification.queue.processing_failed"
1318
+ },
1319
+ // Webhook errors
1320
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID]: {
1321
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,
1322
+ status: HTTP_STATUS.UNAUTHORIZED,
1323
+ category: ERROR_CATEGORY.Webhook,
1324
+ severity: ERROR_SEVERITY.High,
1325
+ retryable: false,
1326
+ userMessage: "errors.notification.webhook.signature_invalid"
1327
+ },
1328
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED]: {
1329
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,
1330
+ status: HTTP_STATUS.BAD_REQUEST,
1331
+ category: ERROR_CATEGORY.Webhook,
1332
+ severity: ERROR_SEVERITY.Medium,
1333
+ retryable: false,
1334
+ userMessage: "errors.notification.webhook.validation_failed"
1335
+ },
1336
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED]: {
1337
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,
1338
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1339
+ category: ERROR_CATEGORY.Webhook,
1340
+ severity: ERROR_SEVERITY.High,
1341
+ retryable: true,
1342
+ userMessage: "errors.notification.webhook.processing_failed"
1343
+ },
1344
+ // Template errors
1345
+ [ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND]: {
1346
+ code: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,
1347
+ status: HTTP_STATUS.NOT_FOUND,
1348
+ category: ERROR_CATEGORY.Template,
1349
+ severity: ERROR_SEVERITY.High,
1350
+ retryable: false,
1351
+ userMessage: "errors.notification.template.not_found"
1352
+ },
1353
+ [ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED]: {
1354
+ code: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,
1355
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1356
+ category: ERROR_CATEGORY.Template,
1357
+ severity: ERROR_SEVERITY.High,
1358
+ retryable: false,
1359
+ userMessage: "errors.notification.template.render_failed"
1360
+ },
1361
+ // General notification errors
1362
+ [ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR]: {
1363
+ code: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,
1364
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1365
+ category: ERROR_CATEGORY.Unknown,
1366
+ severity: ERROR_SEVERITY.Medium,
1367
+ retryable: false,
1368
+ userMessage: "errors.notification.unknown"
1369
+ },
1370
+ [ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED]: {
1371
+ code: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,
1372
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1373
+ category: ERROR_CATEGORY.Configuration,
1374
+ severity: ERROR_SEVERITY.Critical,
1375
+ retryable: false,
1376
+ userMessage: "errors.notification.initialization_failed"
1377
+ }
826
1378
  };
827
1379
 
828
- // src/api/headers/enum.ts
829
- var DATA_SAVER_PRESETS = {
830
- performance: "offline",
831
- cache: "aggressive",
832
- retry: "conservative",
833
- revalidation: "static"
1380
+ // src/events/enums.ts
1381
+ var EVENT_TYPE = {
1382
+ /** Application initialization event. */
1383
+ AppInit: "app.init"
834
1384
  };
835
- var CLIENT_HINT_HEADERS = {
836
- SAVE_DATA: "save-data",
837
- ECT: "ect",
838
- RTT: "rtt",
839
- DOWNLINK: "downlink",
840
- DEVICE_MEMORY: "device-memory",
841
- ACCEPT_CH: "Accept-CH",
842
- ACCEPT_CH_LIFETIME: "Accept-CH-Lifetime"
1385
+ var EVENT_PRIORITY = {
1386
+ /** Low priority event. */
1387
+ Low: "low",
1388
+ /** Normal priority event. */
1389
+ Normal: "normal",
1390
+ /** High priority event. */
1391
+ High: "high",
1392
+ /** Critical priority event. */
1393
+ Critical: "critical"
843
1394
  };
844
- var VALIDATION_RANGES = {
845
- RTT: { MIN: 0, MAX: 1e4 },
846
- // 0-10 seconds
847
- DOWNLINK: { MIN: 0, MAX: 1e4 },
848
- // 0-10 Gbps
849
- DEVICE_MEMORY: { MIN: 0, MAX: 128 }
850
- // 0-128 GB
1395
+ var EVENT_STATUS = {
1396
+ /** Event is pending and has not started processing. */
1397
+ Pending: "pending",
1398
+ /** Event is currently being processed. */
1399
+ Processing: "processing",
1400
+ /** Event has been completed successfully. */
1401
+ Completed: "completed",
1402
+ /** Event processing failed. */
1403
+ Failed: "failed",
1404
+ /** Event is being retried after a failure. */
1405
+ Retrying: "retrying"
851
1406
  };
852
1407
 
853
- // src/api/network/enums.ts
854
- var NETWORK_QUALITY = /* @__PURE__ */ ((NETWORK_QUALITY2) => {
855
- NETWORK_QUALITY2["EXCELLENT"] = "excellent";
856
- NETWORK_QUALITY2["GOOD"] = "good";
857
- NETWORK_QUALITY2["FAIR"] = "fair";
858
- NETWORK_QUALITY2["POOR"] = "poor";
859
- NETWORK_QUALITY2["OFFLINE"] = "offline";
860
- NETWORK_QUALITY2["UNKNOWN"] = "unknown";
861
- return NETWORK_QUALITY2;
862
- })(NETWORK_QUALITY || {});
863
- var EVENT_PRIORITY_MAP = {
864
- // Critical events
865
- error: "critical",
866
- onNetworkError: "critical",
867
- critical: "critical",
868
- // High priority events
869
- config: "high",
870
- auth: "high",
871
- conflict: "high",
872
- // Normal priority events
873
- network: "normal",
874
- headers: "normal",
875
- performance: "normal",
876
- // Low priority events
877
- debug: "low",
878
- metrics: "low",
879
- tracking: "low"
880
- };
881
- var NetworkPresetNames = {
882
- OFFLINE_FIRST: "offline-first",
883
- DATA_SAVER: "data-saver",
884
- SLOW_CONNECTION: "slow-connection",
885
- FAIR_CONNECTION: "fair-connection",
886
- GOOD_CONNECTION: "good-connection",
887
- EXCELLENT_CONNECTION: "excellent-connection",
888
- AGGRESSIVE_CACHE: "aggressive-cache",
889
- REALTIME: "realtime",
890
- BACKGROUND_SYNC: "background-sync"
891
- };
892
- var NETWORK_CONFIDENCE_LEVELS = {
893
- /** Excellent confidence (90%) */
894
- EXCELLENT: 0.9,
895
- /** High confidence (80%) */
896
- HIGH: 0.8,
897
- /** Medium confidence (70%) */
898
- MEDIUM: 0.7,
899
- /** Low confidence (50%) */
900
- LOW: 0.5,
901
- /** Threshold for high confidence classification */
902
- HIGH_THRESHOLD: 0.7,
903
- /** Threshold for medium confidence classification */
904
- MEDIUM_THRESHOLD: 0.4
905
- };
906
- var SPEED_THRESHOLDS = {
907
- EXCELLENT: 10,
908
- GOOD: 2,
909
- FAIR: 0.5
910
- };
911
- var RTT_THRESHOLDS = {
912
- EXCELLENT: 50,
913
- GOOD: 150,
914
- FAIR: 400
915
- };
916
- var DEFAULT_THRESHOLDS = {
917
- excellentRTT: RTT_THRESHOLDS.EXCELLENT,
918
- goodRTT: RTT_THRESHOLDS.GOOD,
919
- fairRTT: RTT_THRESHOLDS.FAIR,
920
- excellentSpeed: SPEED_THRESHOLDS.EXCELLENT,
921
- goodSpeed: SPEED_THRESHOLDS.GOOD,
922
- fairSpeed: SPEED_THRESHOLDS.FAIR
1408
+ // src/web3/enums.ts
1409
+ var CHAIN_ID = {
1410
+ /** Ethereum Mainnet (Chain ID: 1). */
1411
+ EthereumMainnet: 1,
1412
+ /** Ethereum Sepolia Testnet (Chain ID: 11155111). */
1413
+ EthereumSepolia: 11155111,
1414
+ /** Optimism Mainnet (Chain ID: 10). */
1415
+ Optimism: 10,
1416
+ /** Optimism Sepolia Testnet (Chain ID: 11155420). */
1417
+ OptimismSepolia: 11155420,
1418
+ /** Arbitrum One Mainnet (Chain ID: 42161). */
1419
+ Arbitrum: 42161,
1420
+ /** Arbitrum Sepolia Testnet (Chain ID: 421614). */
1421
+ ArbitrumSepolia: 421614,
1422
+ /** Polygon Mainnet (Chain ID: 137). */
1423
+ Polygon: 137,
1424
+ /** Polygon Amoy Testnet (Chain ID: 80002). */
1425
+ PolygonAmoy: 80002,
1426
+ /** Base Mainnet (Chain ID: 8453). */
1427
+ Base: 8453,
1428
+ /** Base Sepolia Testnet (Chain ID: 84532). */
1429
+ BaseSepolia: 84532
923
1430
  };
924
1431
 
925
- // src/api/debugger/enums.ts
926
- var FACTORY_OPERATIONS = {
927
- FACTORY_CREATED: "factory_created",
928
- FACTORY_ACCESSED: "factory_accessed",
929
- FACTORY_INITIALIZED: "factory_initialized",
930
- FACTORIES_RESET: "factories_reset",
931
- FACTORY_REGISTER: "factory_register",
932
- HANDLER_REGISTERED: "handler_registered",
933
- HANDLER_UNREGISTERED: "handler_unregistered",
934
- SCOPE_LISTENERS_CLEARED: "scope_listeners_cleared"
935
- };
936
- var EVENT_OPERATIONS = {
937
- ON: "on",
938
- ONCE: "once",
939
- OFF: "off",
940
- EMIT: "emit",
941
- EMIT_ACROSS_SCOPES: "emit_across_scopes",
942
- REMOVE_ALL_LISTENERS: "removeAllListeners",
943
- ONCE_EXECUTED: "once_executed",
944
- CONFIG_UPDATE: "config_update",
945
- CONFIG_UPDATE_FAILED: "config_update_failed",
946
- GLOBAL_CONFIG_UPDATE: "global_config_update",
947
- GLOBAL_CONFIG_RESET: "global_config_reset",
948
- SCOPE_CHANGE: "scope_change",
949
- FACTORY_CREATE: "factory_create",
950
- FACTORY_COORDINATION: "factory_coordination",
951
- HANDLER_STRATEGY: "handler_strategy",
952
- HANDLER_STRATEGY_APPLIED: "handler_strategy_applied"
953
- };
954
- var QUEUE_OPERATIONS = {
955
- QUEUE_CREATED: "queue_created",
956
- QUEUE_PROCESSED: "queue_processed",
957
- QUEUE_CLEARED: "queue_cleared",
958
- QUEUE_ERROR: "queue_error",
959
- BATCH_PROCESSED: "batch_processed",
960
- ITEM_ENQUEUED: "item_enqueued",
961
- ITEM_DEQUEUED: "item_dequeued",
962
- PRIORITY_CHANGED: "priority_changed"
963
- };
964
- var DEBUGGER_CONFIG_SOURCES = {
965
- DEFAULT: "default",
966
- DIRECT: "direct",
967
- CLIENT: "client",
968
- UNIFIED_STRATEGY: "unifiedStrategy",
969
- PERFORMANCE_PRESET: "performancePreset",
970
- DATA_PATTERN: "dataPattern",
971
- CACHE_STRATEGY: "cacheStrategy",
972
- RETRY_STRATEGY: "retryStrategy",
973
- REVALIDATION_STRATEGY: "revalidationStrategy",
974
- ADAPTIVE_CONFIG: "adaptiveConfig",
975
- MONITORING_CONFIG: "monitoringConfig",
976
- POLLING_CONFIG: "pollingConfig",
977
- NETWORK_PRESET: "networkPreset",
978
- NETWORK_AWARE: "networkAware",
979
- NETWORK_QUALITY: "networkQuality",
980
- USER_PREFERENCE: "userPreference",
981
- TEMPORARY_OVERRIDE: "temporaryOverride",
982
- AUTO_OPTIMIZATION: "autoOptimization",
983
- NETWORK_CLIENT_HINTS: "networkClientHints",
984
- HEADER_PRESET: "headerPreset",
985
- ENRICHED_HEADERS: "enrichedHeaders",
986
- USER_HEADERS: "userHeaders",
987
- INTERCEPTOR: "interceptor",
988
- CONTEXT_HEADERS: "contextHeaders",
989
- ENCRYPTION: "encryption"
990
- };
991
- var HISTORY_TYPES = {
992
- CONFIG: "config",
993
- HEADER: "header",
994
- NETWORK: "network",
995
- PERFORMANCE: "performance",
996
- EVENT: "event",
997
- EVENT_OPERATION: "event_operation"
998
- };
999
- var HEADER_STAGES = {
1000
- BASE: "base",
1001
- ENRICHED: "enriched",
1002
- INTERCEPTOR: "interceptor",
1003
- FINAL: "final"
1004
- };
1005
- var UPDATE_STRATEGIES = {
1006
- MERGE: "merge",
1007
- REPLACE: "replace",
1008
- TEMPORARY: "temporary"
1009
- };
1010
- var CHANGE_TYPES = {
1011
- OVERRIDE: "override",
1012
- RESTORE: "restore",
1013
- PRESET_CHANGE: "preset_change",
1014
- USER_PREFERENCE: "user_preference",
1015
- AUTO_OPTIMIZATION: "auto_optimization"
1016
- };
1017
- var TRACKING_PHASES = {
1018
- INITIALIZATION: "initialization",
1019
- RUNTIME: "runtime",
1020
- UPDATE: "update"
1021
- };
1022
- var IMPACT_LEVELS = {
1023
- NONE: "NONE",
1024
- LOW: "LOW",
1025
- MEDIUM: "MEDIUM",
1026
- HIGH: "HIGH",
1027
- CRITICAL: "CRITICAL"
1028
- };
1029
- var ALERT_SEVERITIES = {
1030
- INFO: "info",
1031
- WARNING: "warning",
1032
- ERROR: "error",
1033
- CRITICAL: "critical"
1034
- };
1035
- var ALERT_TYPES = {
1036
- CONFLICT: "conflict",
1037
- PERFORMANCE: "performance",
1038
- NETWORK: "network"
1039
- };
1040
- var UNIFIED_OPERATIONS = {
1041
- ...FACTORY_OPERATIONS,
1042
- ...EVENT_OPERATIONS,
1043
- ...QUEUE_OPERATIONS
1044
- };
1045
- function isValidOperation(operation) {
1046
- return Object.values(UNIFIED_OPERATIONS).includes(operation);
1047
- }
1048
- __name(isValidOperation, "isValidOperation");
1049
- function isValidConfigSource(source) {
1050
- return Object.values(DEBUGGER_CONFIG_SOURCES).includes(source);
1051
- }
1052
- __name(isValidConfigSource, "isValidConfigSource");
1053
- function isValidHistoryType(type) {
1054
- return Object.values(HISTORY_TYPES).includes(type);
1055
- }
1056
- __name(isValidHistoryType, "isValidHistoryType");
1057
-
1058
- // src/api/client/enum.ts
1059
- var EVENT_CONSTANTS = {
1060
- DEBUG_INFO_INTERVAL_MULTIPLIER: 5,
1061
- IMPACT_THRESHOLDS: {
1062
- NONE: 90,
1063
- LOW: 70,
1064
- MEDIUM: 50,
1065
- HIGH: 30
1066
- }
1067
- };
1068
-
1069
- // src/api/regional/enum.ts
1070
- var REGION_STORAGE_KEY = "@plyaz/api:userRegion";
1071
- var REGIONAL_CONFIDENCE_LEVELS = {
1072
- CDN_HEADER: 0.95,
1073
- TIMEZONE_DIRECT: 0.9,
1074
- TIMEZONE_PREFIX: 0.8,
1075
- HIGH: 0.8,
1076
- LOCALE_DIRECT: 0.7,
1077
- MEDIUM: 0.7,
1078
- GEOLOCATION: 0.6,
1079
- LOCALE_LANGUAGE: 0.5,
1080
- LOW: 0.5,
1081
- GLOBAL_FALLBACK: 0.3,
1082
- UNKNOWN_FALLBACK: 0.2,
1083
- FINAL_FALLBACK: 0.1
1084
- };
1085
- var COORDINATES = {
1086
- EU: {
1087
- MIN_LAT: 35,
1088
- MAX_LAT: 70,
1089
- MIN_LON: -10,
1090
- MAX_LON: 40
1091
- },
1092
- US: {
1093
- MIN_LAT: 25,
1094
- MAX_LAT: 50,
1095
- MIN_LON: -125,
1096
- MAX_LON: -65
1097
- },
1098
- US_WEST: {
1099
- MIN_LAT: 32,
1100
- MAX_LAT: 42,
1101
- MIN_LON: -125,
1102
- MAX_LON: -114
1103
- },
1104
- US_EAST: {
1105
- MIN_LAT: 38,
1106
- MAX_LAT: 45,
1107
- MIN_LON: -80,
1108
- MAX_LON: -70
1109
- },
1110
- ASIA: {
1111
- MIN_LAT: 18,
1112
- MAX_LAT: 54,
1113
- MIN_LON: 73,
1114
- MAX_LON: 135
1115
- },
1116
- JAPAN: {
1117
- MIN_LAT: 30,
1118
- MAX_LAT: 46,
1119
- MIN_LON: 129,
1120
- MAX_LON: 146
1121
- }
1122
- };
1123
- var HOURS_PER_DAY = 24;
1124
- var MINUTES_PER_HOUR = 60;
1125
- var SECONDS_PER_MINUTE = 60;
1126
- var MS_PER_SECOND = 1e3;
1127
- var CACHE_DURATION_MS = HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE * MS_PER_SECOND;
1128
- var REGION_TO_PRESET = {
1129
- eu: "gdpr",
1130
- us: "ccpa",
1131
- // Map US to CCPA (California compliance)
1132
- "us-ca": "ccpa",
1133
- cn: "pipl",
1134
- jp: "appi",
1135
- ca: "global",
1136
- // Canada uses global preset
1137
- global: "global"
1138
- };
1139
-
1140
- // src/api/utils/enums.ts
1141
- var CORRELATION_TYPE = /* @__PURE__ */ ((CORRELATION_TYPE2) => {
1142
- CORRELATION_TYPE2["NETWORK"] = "net";
1143
- CORRELATION_TYPE2["API"] = "api";
1144
- CORRELATION_TYPE2["SESSION"] = "session";
1145
- CORRELATION_TYPE2["TRANSACTION"] = "txn";
1146
- CORRELATION_TYPE2["EVENT"] = "evt";
1147
- CORRELATION_TYPE2["TRACE"] = "trace";
1148
- CORRELATION_TYPE2["GENERIC"] = "corr";
1149
- return CORRELATION_TYPE2;
1150
- })(CORRELATION_TYPE || {});
1151
-
1152
- // src/api/pubsub/enum.ts
1153
- var PUB_SUB_EVENT = {
1154
- CacheUpdate: "cache:update",
1155
- CacheDelete: "cache:delete",
1156
- CacheRevalidate: "cache:revalidate",
1157
- RequestStart: "request:start",
1158
- RequestSuccess: "request:success",
1159
- RequestError: "request:error",
1160
- RequestAbort: "request:abort"
1161
- };
1162
-
1163
- // src/payments/currency/index.ts
1164
- var CURRENCY = /* @__PURE__ */ ((CURRENCY2) => {
1165
- CURRENCY2["USD"] = "USD";
1166
- CURRENCY2["EUR"] = "EUR";
1167
- CURRENCY2["GBP"] = "GBP";
1168
- CURRENCY2["PKR"] = "PKR";
1169
- CURRENCY2["INR"] = "INR";
1170
- CURRENCY2["AUD"] = "AUD";
1171
- CURRENCY2["CAD"] = "CAD";
1172
- CURRENCY2["NGN"] = "NGN";
1173
- CURRENCY2["KES"] = "KES";
1174
- CURRENCY2["ZAR"] = "ZAR";
1175
- CURRENCY2["AED"] = "AED";
1176
- CURRENCY2["SAR"] = "SAR";
1177
- CURRENCY2["JPY"] = "JPY";
1178
- CURRENCY2["CNY"] = "CNY";
1179
- CURRENCY2["TRY"] = "TRY";
1180
- CURRENCY2["BRL"] = "BRL";
1181
- CURRENCY2["MXN"] = "MXN";
1182
- CURRENCY2["CHF"] = "CHF";
1183
- CURRENCY2["SGD"] = "SGD";
1184
- CURRENCY2["HKD"] = "HKD";
1185
- CURRENCY2["MYR"] = "MYR";
1186
- CURRENCY2["THB"] = "THB";
1187
- CURRENCY2["PHP"] = "PHP";
1188
- CURRENCY2["IDR"] = "IDR";
1189
- CURRENCY2["SEK"] = "SEK";
1190
- CURRENCY2["NOK"] = "NOK";
1191
- CURRENCY2["DKK"] = "DKK";
1192
- CURRENCY2["PLN"] = "PLN";
1193
- CURRENCY2["CZK"] = "CZK";
1194
- CURRENCY2["HUF"] = "HUF";
1195
- CURRENCY2["RUB"] = "RUB";
1196
- CURRENCY2["KRW"] = "KRW";
1197
- CURRENCY2["VND"] = "VND";
1198
- CURRENCY2["EGP"] = "EGP";
1199
- CURRENCY2["ILS"] = "ILS";
1200
- return CURRENCY2;
1201
- })(CURRENCY || {});
1202
-
1203
1432
  // src/payments/events/enums.ts
1204
1433
  var PAYMENTEVENTTYPE = /* @__PURE__ */ ((PAYMENTEVENTTYPE2) => {
1205
1434
  PAYMENTEVENTTYPE2["PaymentInitiated"] = "payment.initiated";
@@ -1487,6 +1716,695 @@ var ROUTINGSTRATEGY = /* @__PURE__ */ ((ROUTINGSTRATEGY2) => {
1487
1716
  return ROUTINGSTRATEGY2;
1488
1717
  })(ROUTINGSTRATEGY || {});
1489
1718
 
1490
- export { ALERT_SEVERITIES, ALERT_TYPES, ALL_EVENTS, API_ERROR_CODES, AUTH_PROVIDER, AUTH_PROVIDER_TYPE, CACHE_DURATION_MS, CACHE_EVENTS, CHAIN_ID, CHANGE_TYPES, CLIENT_EVENTS, CLIENT_HINT_HEADERS, CONFIG_EVENTS, COORDINATES, CORRELATION_TYPE, COSTOPTIMIZATIONSTRATEGY, CURRENCY, DATA_SAVER_PRESETS, DEBUGGER_CONFIG_SOURCES, DEBUG_EVENTS, DEFAULT_THRESHOLDS, ERROR_CATEGORY, ERROR_CATEGORY_TO_EMITTER_KEY, ERROR_DEFINITIONS, ERROR_EVENTS, ERROR_FIELDS, ERROR_SEVERITY, ERROR_TYPE, EVENTPROCESSINGSTATUS, EVENTS_CONFIG_SOURCES, EVENT_CONSTANTS, EVENT_NAMESPACES, EVENT_OPERATIONS, EVENT_PRIORITY, EVENT_PRIORITY_MAP, EVENT_SCOPES, EVENT_SCOPES_WITH_TEMPORARY, EVENT_STATUS, EVENT_TYPE, FACTORY_OPERATIONS, FAILOVERSTRATEGY, HANDLER_SCOPES, HEADER_EVENTS, HEADER_STAGES, HISTORY_TYPES, IMPACT_LEVELS, LOADBALANCINGSTRATEGY, NETWORK_CONFIDENCE_LEVELS, NETWORK_EVENTS, NETWORK_QUALITY, NetworkPresetNames, OPERATIONS, PACKAGE_STATUS_CODES, PAYMENTERRORCATEGORY, PAYMENTEVENTCATEGORY, PAYMENTEVENTTYPE, PAYMENTMETHOD, PAYMENTPROVIDERTYPE, PAYMENTSTATUS, PERFORMANCEMETRICTYPE, PERFORMANCE_EVENTS, PRIORITY_LEVEL, PRODUCTTYPE, PUB_SUB_EVENT, QUEUE_OPERATIONS, REGIONAL_CONFIDENCE_LEVELS, REGION_STORAGE_KEY, REGION_TO_PRESET, REGULATORYFRAMEWORK, REQUIREDACTIONTYPE, ROUTINGSTRATEGY, RTT_THRESHOLDS, SPEED_THRESHOLDS, STORAGE_TYPES, TRACKING_PHASES, TRANSACTIONTYPE, UNIFIED_OPERATIONS, UPDATE_STRATEGIES, USERTYPE, USER_ROLE, USER_STATUS, VALIDATION_RANGES, isValidConfigSource, isValidHistoryType, isValidOperation, loginCredentialsSchema };
1719
+ // src/payments/currency/enums.ts
1720
+ var CURRENCY = /* @__PURE__ */ ((CURRENCY2) => {
1721
+ CURRENCY2["USD"] = "USD";
1722
+ CURRENCY2["EUR"] = "EUR";
1723
+ CURRENCY2["GBP"] = "GBP";
1724
+ CURRENCY2["PKR"] = "PKR";
1725
+ CURRENCY2["INR"] = "INR";
1726
+ CURRENCY2["AUD"] = "AUD";
1727
+ CURRENCY2["CAD"] = "CAD";
1728
+ CURRENCY2["NGN"] = "NGN";
1729
+ CURRENCY2["KES"] = "KES";
1730
+ CURRENCY2["ZAR"] = "ZAR";
1731
+ CURRENCY2["AED"] = "AED";
1732
+ CURRENCY2["SAR"] = "SAR";
1733
+ CURRENCY2["JPY"] = "JPY";
1734
+ CURRENCY2["CNY"] = "CNY";
1735
+ CURRENCY2["TRY"] = "TRY";
1736
+ CURRENCY2["BRL"] = "BRL";
1737
+ CURRENCY2["MXN"] = "MXN";
1738
+ CURRENCY2["CHF"] = "CHF";
1739
+ CURRENCY2["SGD"] = "SGD";
1740
+ CURRENCY2["HKD"] = "HKD";
1741
+ CURRENCY2["MYR"] = "MYR";
1742
+ CURRENCY2["THB"] = "THB";
1743
+ CURRENCY2["PHP"] = "PHP";
1744
+ CURRENCY2["IDR"] = "IDR";
1745
+ CURRENCY2["SEK"] = "SEK";
1746
+ CURRENCY2["NOK"] = "NOK";
1747
+ CURRENCY2["DKK"] = "DKK";
1748
+ CURRENCY2["PLN"] = "PLN";
1749
+ CURRENCY2["CZK"] = "CZK";
1750
+ CURRENCY2["HUF"] = "HUF";
1751
+ CURRENCY2["RUB"] = "RUB";
1752
+ CURRENCY2["KRW"] = "KRW";
1753
+ CURRENCY2["VND"] = "VND";
1754
+ CURRENCY2["EGP"] = "EGP";
1755
+ CURRENCY2["ILS"] = "ILS";
1756
+ return CURRENCY2;
1757
+ })(CURRENCY || {});
1758
+
1759
+ // src/notifications/enums.ts
1760
+ var NOTIFICATION_PROVIDERS = {
1761
+ /** Infobip omnichannel provider (Email, SMS, WhatsApp) - PRIMARY */
1762
+ INFOBIP: "Infobip",
1763
+ /** SendGrid email provider - FALLBACK */
1764
+ SENDGRID: "SendGrid",
1765
+ /** Mock email provider for testing */
1766
+ MOCK_EMAIL: "MockEmail",
1767
+ /** Mock SMS provider for testing */
1768
+ MOCK_SMS: "MockSMS",
1769
+ /** Mock push provider for testing */
1770
+ MOCK_PUSH: "MockPush"
1771
+ };
1772
+ var NOTIFICATION_CHANNELS = {
1773
+ EMAIL: "email",
1774
+ SMS: "sms",
1775
+ PUSH: "push"
1776
+ };
1777
+ var NOTIFICATION_CATEGORIES = {
1778
+ /** Cannot be opted out - compliance requirement (password resets, order confirmations) */
1779
+ TRANSACTIONAL: "transactional",
1780
+ /** User can opt-out (newsletters, promotions) */
1781
+ MARKETING: "marketing",
1782
+ /** User can opt-out (likes, comments, follows) */
1783
+ SOCIAL: "social",
1784
+ /** System alerts and notifications (security alerts, system status) */
1785
+ SYSTEM: "system",
1786
+ /** Promotional offers and campaigns */
1787
+ PROMOTIONAL: "promotional"
1788
+ };
1789
+ var SIGNATURE_METHOD = /* @__PURE__ */ ((SIGNATURE_METHOD2) => {
1790
+ SIGNATURE_METHOD2["HmacSha256"] = "hmac-sha256";
1791
+ SIGNATURE_METHOD2["HmacSha1"] = "hmac-sha1";
1792
+ SIGNATURE_METHOD2["HmacSha512"] = "hmac-sha512";
1793
+ SIGNATURE_METHOD2["Custom"] = "custom";
1794
+ return SIGNATURE_METHOD2;
1795
+ })(SIGNATURE_METHOD || {});
1796
+ var WEBHOOK_EVENT_TYPE = /* @__PURE__ */ ((WEBHOOK_EVENT_TYPE2) => {
1797
+ WEBHOOK_EVENT_TYPE2["Delivered"] = "delivered";
1798
+ WEBHOOK_EVENT_TYPE2["Bounced"] = "bounced";
1799
+ WEBHOOK_EVENT_TYPE2["Deferred"] = "deferred";
1800
+ WEBHOOK_EVENT_TYPE2["Dropped"] = "dropped";
1801
+ WEBHOOK_EVENT_TYPE2["Opened"] = "opened";
1802
+ WEBHOOK_EVENT_TYPE2["Clicked"] = "clicked";
1803
+ WEBHOOK_EVENT_TYPE2["SpamReport"] = "spam_report";
1804
+ WEBHOOK_EVENT_TYPE2["Unsubscribed"] = "unsubscribed";
1805
+ WEBHOOK_EVENT_TYPE2["SmsDelivered"] = "sms_delivered";
1806
+ WEBHOOK_EVENT_TYPE2["SmsFailed"] = "sms_failed";
1807
+ WEBHOOK_EVENT_TYPE2["PushDelivered"] = "push_delivered";
1808
+ WEBHOOK_EVENT_TYPE2["PushFailed"] = "push_failed";
1809
+ WEBHOOK_EVENT_TYPE2["Unknown"] = "unknown";
1810
+ return WEBHOOK_EVENT_TYPE2;
1811
+ })(WEBHOOK_EVENT_TYPE || {});
1812
+ var WEBHOOK_ENCRYPTION_METHOD = /* @__PURE__ */ ((WEBHOOK_ENCRYPTION_METHOD2) => {
1813
+ WEBHOOK_ENCRYPTION_METHOD2["HmacSha256"] = "hmac-sha256";
1814
+ WEBHOOK_ENCRYPTION_METHOD2["HmacSha512"] = "hmac-sha512";
1815
+ WEBHOOK_ENCRYPTION_METHOD2["None"] = "none";
1816
+ return WEBHOOK_ENCRYPTION_METHOD2;
1817
+ })(WEBHOOK_ENCRYPTION_METHOD || {});
1818
+ var MIME_TYPES = {
1819
+ // Documents
1820
+ PDF: "application/pdf",
1821
+ DOC: "application/msword",
1822
+ DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
1823
+ XLS: "application/vnd.ms-excel",
1824
+ XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
1825
+ PPT: "application/vnd.ms-powerpoint",
1826
+ PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
1827
+ TXT: "text/plain",
1828
+ CSV: "text/csv",
1829
+ // Images
1830
+ PNG: "image/png",
1831
+ JPG: "image/jpeg",
1832
+ JPEG: "image/jpeg",
1833
+ GIF: "image/gif",
1834
+ SVG: "image/svg+xml",
1835
+ WEBP: "image/webp",
1836
+ // Archives
1837
+ ZIP: "application/zip",
1838
+ RAR: "application/x-rar-compressed",
1839
+ TAR: "application/x-tar",
1840
+ GZIP: "application/gzip",
1841
+ // Other
1842
+ JSON: "application/json",
1843
+ XML: "application/xml"
1844
+ };
1845
+ var FILE_EXTENSIONS = {
1846
+ // Documents
1847
+ PDF: ".pdf",
1848
+ DOC: ".doc",
1849
+ DOCX: ".docx",
1850
+ XLS: ".xls",
1851
+ XLSX: ".xlsx",
1852
+ PPT: ".ppt",
1853
+ PPTX: ".pptx",
1854
+ TXT: ".txt",
1855
+ CSV: ".csv",
1856
+ // Images
1857
+ PNG: ".png",
1858
+ JPG: ".jpg",
1859
+ JPEG: ".jpeg",
1860
+ GIF: ".gif",
1861
+ SVG: ".svg",
1862
+ WEBP: ".webp",
1863
+ // Archives
1864
+ ZIP: ".zip",
1865
+ RAR: ".rar",
1866
+ TAR: ".tar",
1867
+ GZ: ".gz",
1868
+ GZIP: ".gzip",
1869
+ // Other
1870
+ JSON: ".json",
1871
+ XML: ".xml"
1872
+ };
1873
+ var MAX_EMAIL_LENGTH = 255;
1874
+ var MAX_USER_ID_LENGTH = 255;
1875
+ var MAX_TEMPLATE_ID_LENGTH = 255;
1876
+ var MAX_DEVICE_TOKEN_LENGTH = 512;
1877
+ var EmailSchema = z.string().email("Invalid email address format").max(MAX_EMAIL_LENGTH, "Email address must be 255 characters or less").transform((val) => val.trim().toLowerCase());
1878
+ var PhoneSchema = z.string().regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number format (E.164 expected)").describe("Phone number in E.164 format");
1879
+ var UserIdSchema = z.string().min(1, "User ID is required").max(MAX_USER_ID_LENGTH, "User ID must be 255 characters or less");
1880
+ var TemplateIdSchema = z.string().min(1, "Template ID is required").regex(
1881
+ /^[a-z0-9-/]+$/,
1882
+ "Template ID must contain only lowercase letters, numbers, hyphens, and slashes"
1883
+ ).max(MAX_TEMPLATE_ID_LENGTH, "Template ID must be 255 characters or less");
1884
+ var LocaleSchema = z.string().regex(/^[a-z]{2}(-[A-Z]{2})?$/, "Locale must be in format: en, en-US, es, es-MX").describe("Locale in ISO 639-1 format");
1885
+ var NotificationCategorySchema = z.enum([
1886
+ NOTIFICATION_CATEGORIES.TRANSACTIONAL,
1887
+ NOTIFICATION_CATEGORIES.MARKETING,
1888
+ NOTIFICATION_CATEGORIES.SOCIAL,
1889
+ NOTIFICATION_CATEGORIES.SYSTEM,
1890
+ NOTIFICATION_CATEGORIES.PROMOTIONAL
1891
+ ]).default(NOTIFICATION_CATEGORIES.TRANSACTIONAL).describe("Notification category for compliance and user preferences");
1892
+ var QueuePrioritySchema = z.enum(["high", "normal", "low"]);
1893
+ var CorrelationIdSchema = z.string().uuid("Correlation ID must be a valid UUID v4").describe("UUID v4 correlation ID");
1894
+ var TemplateDataSchema = z.record(z.string(), z.unknown()).optional();
1895
+ var DeviceTokenSchema = z.string().min(1, "Device token is required").max(MAX_DEVICE_TOKEN_LENGTH, "Device token must be 512 characters or less");
1896
+
1897
+ // src/api/events/enum.ts
1898
+ var EVENT_NAMESPACES = {
1899
+ HEADERS: "headers",
1900
+ NETWORK: "network",
1901
+ ERRORS: "errors",
1902
+ DEBUG: "debug",
1903
+ CONFIG: "config",
1904
+ PERFORMANCE: "performance",
1905
+ CLIENT: "client",
1906
+ CACHE: "cache",
1907
+ POLLING: "polling",
1908
+ REQUEST: "request",
1909
+ REVALIDATION: "revalidation",
1910
+ EVENT_MANAGER: "eventManager"
1911
+ };
1912
+ var HEADER_EVENTS = {
1913
+ CHANGED: "headers:changed",
1914
+ ENRICHED: "headers:enriched",
1915
+ CONFLICT: "headers:conflict",
1916
+ OVERRIDE: "headers:override",
1917
+ TRACKED: "headers:tracked",
1918
+ MERGED: "headers:merged",
1919
+ FILTERED: "headers:filtered",
1920
+ VALIDATED: "headers:validated",
1921
+ CACHED: "headers:cached",
1922
+ CACHE_HIT: "headers:cache:hit",
1923
+ CACHE_MISS: "headers:cache:miss",
1924
+ // Wildcard for all header events
1925
+ ANY: "headers:*"
1926
+ };
1927
+ var NETWORK_EVENTS = {
1928
+ QUALITY_CHANGE: "network:quality:changed",
1929
+ INFO_UPDATE: "network:info-update",
1930
+ CONFIG_OVERRIDE: "network:config:override",
1931
+ CONFIG_RESTORED: "network:config:restored",
1932
+ OVERRIDE_CHANGE: "network:override-change",
1933
+ PRESET_APPLIED: "network:preset-applied",
1934
+ PRESET_CHANGED: "network:preset:changed",
1935
+ HINTS_UPDATED: "network:hints:updated",
1936
+ AUTO_DETECTION: "network:auto:detection",
1937
+ MANUAL_UPDATE: "network:manual:update",
1938
+ // Wildcard for all network events
1939
+ ANY: "network:*"
1940
+ };
1941
+ var ERROR_EVENTS = {
1942
+ NETWORK_ERROR: "errors:network",
1943
+ VALIDATION_ERROR: "errors:validation",
1944
+ AUTHENTICATION_ERROR: "errors:authentication",
1945
+ AUTHORIZATION_ERROR: "errors:authorization",
1946
+ RATE_LIMIT_ERROR: "errors:rate-limit",
1947
+ SERVER_ERROR: "errors:server",
1948
+ CLIENT_ERROR: "errors:client",
1949
+ TIMEOUT_ERROR: "errors:timeout",
1950
+ CONFLICT_ERROR: "errors:conflict",
1951
+ CACHE_ERROR: "errors:cache",
1952
+ HEADERS_ERROR: "errors:headers",
1953
+ RETRY_ERROR: "errors:retry",
1954
+ STRATEGY_ERROR: "errors:strategy",
1955
+ REGIONAL_ERROR: "errors:regional",
1956
+ NOT_FOUND_ERROR: "errors:not-found",
1957
+ EXTERNAL_SERVICE_ERROR: "errors:external-service",
1958
+ UNKNOWN_ERROR: "errors:unknown",
1959
+ GENERIC_ERROR: "errors:generic",
1960
+ // Wildcard for all error events
1961
+ ANY: "errors:*"
1962
+ };
1963
+ var HANDLER_SCOPES = {
1964
+ GLOBAL: "global",
1965
+ // Global handlers (lowest priority, persists across all instances)
1966
+ CONFIG: "config",
1967
+ // Config-level handlers (middle priority, from setGlobalConfig)
1968
+ CLIENT: "client",
1969
+ // Client instance handlers (high priority, instance-specific)
1970
+ TEMPORARY: "request",
1971
+ // Temporary handlers (alias for REQUEST, highest priority)
1972
+ REQUEST: "request"
1973
+ // Request-level handlers (highest priority, per-request)
1974
+ };
1975
+ var EVENT_SCOPES = [
1976
+ HANDLER_SCOPES.GLOBAL,
1977
+ HANDLER_SCOPES.CONFIG,
1978
+ HANDLER_SCOPES.CLIENT,
1979
+ HANDLER_SCOPES.REQUEST
1980
+ ];
1981
+ var EVENT_SCOPES_WITH_TEMPORARY = [...EVENT_SCOPES, "temporary"];
1982
+ var DEBUG_EVENTS = {
1983
+ CONFIG_CONFLICT: "debug:config-conflict",
1984
+ CONFIG_CHANGE: "debug:config-change",
1985
+ HEADERS_TRACKED: "debug:headers-tracked",
1986
+ NETWORK_OVERRIDE: "debug:network-override",
1987
+ NETWORK_STATE_CHANGED: "debug:network-state-changed",
1988
+ NETWORK_DATA_CLEARED: "debug:network-data-cleared",
1989
+ DEBUG_INFO: "debug:info",
1990
+ PERFORMANCE_IMPACT: "debug:performance-impact",
1991
+ MONITORING_ALERT: "debug:monitoring-alert",
1992
+ CONFIG_TRACKED: "debug:config-tracked",
1993
+ CONFLICTS_BATCH: "debug:conflicts-batch",
1994
+ EVENT_OPERATION: "debug:event-operation",
1995
+ // Wildcard for all debug events
1996
+ ANY: "debug:*"
1997
+ };
1998
+ var EVENTS_CONFIG_SOURCES = {
1999
+ GLOBAL: "global",
2000
+ CREATE_API_CLIENT: "createApiClient",
2001
+ UPDATE_CONFIG: "updateConfig",
2002
+ MANUAL: "manual",
2003
+ ENVIRONMENT: "environment",
2004
+ PRESET: "preset",
2005
+ NETWORK_AWARE: "networkAware",
2006
+ ADAPTIVE: "adaptive"
2007
+ };
2008
+ var CONFIG_EVENTS = {
2009
+ GLOBAL_UPDATED: "config:global-updated",
2010
+ GLOBAL_RESET: "config:global-reset",
2011
+ ENVIRONMENT_CONFIGURED: "config:environment-configured",
2012
+ PRESET_APPLIED: "config:preset-applied",
2013
+ // Wildcard for all config events
2014
+ ANY: "config:*"
2015
+ };
2016
+ var PERFORMANCE_EVENTS = {
2017
+ REQUEST_START: "performance:request-start",
2018
+ REQUEST_COMPLETE: "performance:request-complete",
2019
+ RETRY: "performance:retry",
2020
+ THRESHOLD_EXCEEDED: "performance:threshold-exceeded",
2021
+ OPTIMIZATION_APPLIED: "performance:optimization-applied",
2022
+ METRIC_RECORDED: "performance:metric-recorded",
2023
+ // Wildcard for all performance events
2024
+ ANY: "performance:*"
2025
+ };
2026
+ var CLIENT_EVENTS = {
2027
+ CONFLICT: "client:conflict",
2028
+ DEBUG: "client:debug",
2029
+ CREATED: "client:created",
2030
+ // Wildcard for all client events
2031
+ ANY: "client:*"
2032
+ };
2033
+ var CACHE_EVENTS = {
2034
+ HIT: "cache:hit",
2035
+ MISS: "cache:miss",
2036
+ INVALIDATE: "cache:invalidate",
2037
+ // Wildcard for all cache events
2038
+ ANY: "cache:*"
2039
+ };
2040
+ var ALL_EVENTS = {
2041
+ ...HEADER_EVENTS,
2042
+ ...NETWORK_EVENTS,
2043
+ ...ERROR_EVENTS,
2044
+ ...DEBUG_EVENTS,
2045
+ ...CONFIG_EVENTS,
2046
+ ...PERFORMANCE_EVENTS,
2047
+ ...CLIENT_EVENTS,
2048
+ ...CACHE_EVENTS
2049
+ };
2050
+
2051
+ // src/api/queue/enums.ts
2052
+ var PRIORITY_LEVEL = {
2053
+ /** Critical priority - highest urgency (0) */
2054
+ CRITICAL: 0,
2055
+ /** High priority (1) */
2056
+ HIGH: 1,
2057
+ /** Medium priority (2) */
2058
+ MEDIUM: 2,
2059
+ /** Normal priority (3) */
2060
+ NORMAL: 3,
2061
+ /** Low priority (4) */
2062
+ LOW: 4,
2063
+ /** Idle priority - lowest urgency (5) */
2064
+ IDLE: 5
2065
+ };
2066
+
2067
+ // src/api/headers/enum.ts
2068
+ var DATA_SAVER_PRESETS = {
2069
+ performance: "offline",
2070
+ cache: "aggressive",
2071
+ retry: "conservative",
2072
+ revalidation: "static"
2073
+ };
2074
+ var CLIENT_HINT_HEADERS = {
2075
+ SAVE_DATA: "save-data",
2076
+ ECT: "ect",
2077
+ RTT: "rtt",
2078
+ DOWNLINK: "downlink",
2079
+ DEVICE_MEMORY: "device-memory",
2080
+ ACCEPT_CH: "Accept-CH",
2081
+ ACCEPT_CH_LIFETIME: "Accept-CH-Lifetime"
2082
+ };
2083
+ var VALIDATION_RANGES = {
2084
+ RTT: { MIN: 0, MAX: 1e4 },
2085
+ // 0-10 seconds
2086
+ DOWNLINK: { MIN: 0, MAX: 1e4 },
2087
+ // 0-10 Gbps
2088
+ DEVICE_MEMORY: { MIN: 0, MAX: 128 }
2089
+ // 0-128 GB
2090
+ };
2091
+
2092
+ // src/api/network/enums.ts
2093
+ var NETWORK_QUALITY = /* @__PURE__ */ ((NETWORK_QUALITY2) => {
2094
+ NETWORK_QUALITY2["EXCELLENT"] = "excellent";
2095
+ NETWORK_QUALITY2["GOOD"] = "good";
2096
+ NETWORK_QUALITY2["FAIR"] = "fair";
2097
+ NETWORK_QUALITY2["POOR"] = "poor";
2098
+ NETWORK_QUALITY2["OFFLINE"] = "offline";
2099
+ NETWORK_QUALITY2["UNKNOWN"] = "unknown";
2100
+ return NETWORK_QUALITY2;
2101
+ })(NETWORK_QUALITY || {});
2102
+ var EVENT_PRIORITY_MAP = {
2103
+ // Critical events
2104
+ error: "critical",
2105
+ onNetworkError: "critical",
2106
+ critical: "critical",
2107
+ // High priority events
2108
+ config: "high",
2109
+ auth: "high",
2110
+ conflict: "high",
2111
+ // Normal priority events
2112
+ network: "normal",
2113
+ headers: "normal",
2114
+ performance: "normal",
2115
+ // Low priority events
2116
+ debug: "low",
2117
+ metrics: "low",
2118
+ tracking: "low"
2119
+ };
2120
+ var NetworkPresetNames = {
2121
+ OFFLINE_FIRST: "offline-first",
2122
+ DATA_SAVER: "data-saver",
2123
+ SLOW_CONNECTION: "slow-connection",
2124
+ FAIR_CONNECTION: "fair-connection",
2125
+ GOOD_CONNECTION: "good-connection",
2126
+ EXCELLENT_CONNECTION: "excellent-connection",
2127
+ AGGRESSIVE_CACHE: "aggressive-cache",
2128
+ REALTIME: "realtime",
2129
+ BACKGROUND_SYNC: "background-sync"
2130
+ };
2131
+ var NETWORK_CONFIDENCE_LEVELS = {
2132
+ /** Excellent confidence (90%) */
2133
+ EXCELLENT: 0.9,
2134
+ /** High confidence (80%) */
2135
+ HIGH: 0.8,
2136
+ /** Medium confidence (70%) */
2137
+ MEDIUM: 0.7,
2138
+ /** Low confidence (50%) */
2139
+ LOW: 0.5,
2140
+ /** Threshold for high confidence classification */
2141
+ HIGH_THRESHOLD: 0.7,
2142
+ /** Threshold for medium confidence classification */
2143
+ MEDIUM_THRESHOLD: 0.4
2144
+ };
2145
+ var SPEED_THRESHOLDS = {
2146
+ EXCELLENT: 10,
2147
+ GOOD: 2,
2148
+ FAIR: 0.5
2149
+ };
2150
+ var RTT_THRESHOLDS = {
2151
+ EXCELLENT: 50,
2152
+ GOOD: 150,
2153
+ FAIR: 400
2154
+ };
2155
+ var DEFAULT_THRESHOLDS = {
2156
+ excellentRTT: RTT_THRESHOLDS.EXCELLENT,
2157
+ goodRTT: RTT_THRESHOLDS.GOOD,
2158
+ fairRTT: RTT_THRESHOLDS.FAIR,
2159
+ excellentSpeed: SPEED_THRESHOLDS.EXCELLENT,
2160
+ goodSpeed: SPEED_THRESHOLDS.GOOD,
2161
+ fairSpeed: SPEED_THRESHOLDS.FAIR
2162
+ };
2163
+
2164
+ // src/api/debugger/enums.ts
2165
+ var FACTORY_OPERATIONS = {
2166
+ FACTORY_CREATED: "factory_created",
2167
+ FACTORY_ACCESSED: "factory_accessed",
2168
+ FACTORY_INITIALIZED: "factory_initialized",
2169
+ FACTORIES_RESET: "factories_reset",
2170
+ FACTORY_REGISTER: "factory_register",
2171
+ HANDLER_REGISTERED: "handler_registered",
2172
+ HANDLER_UNREGISTERED: "handler_unregistered",
2173
+ /**
2174
+ * Indicates that a specific handler instance has been removed from a factory or scope.
2175
+ * Use this when removing a particular handler by reference or ID, as opposed to
2176
+ * HANDLER_UNREGISTERED, which refers to unregistering a handler type or all handlers.
2177
+ */
2178
+ SPECIFIC_HANDLER_REMOVED: "specific_handler_removed",
2179
+ SCOPE_LISTENERS_CLEARED: "scope_listeners_cleared"
2180
+ };
2181
+ var EVENT_OPERATIONS = {
2182
+ ON: "on",
2183
+ ONCE: "once",
2184
+ OFF: "off",
2185
+ EMIT: "emit",
2186
+ EMIT_ACROSS_SCOPES: "emit_across_scopes",
2187
+ REMOVE_ALL_LISTENERS: "removeAllListeners",
2188
+ ONCE_EXECUTED: "once_executed",
2189
+ CONFIG_UPDATE: "config_update",
2190
+ CONFIG_UPDATE_FAILED: "config_update_failed",
2191
+ GLOBAL_CONFIG_UPDATE: "global_config_update",
2192
+ GLOBAL_CONFIG_RESET: "global_config_reset",
2193
+ SCOPE_CHANGE: "scope_change",
2194
+ FACTORY_CREATE: "factory_create",
2195
+ FACTORY_COORDINATION: "factory_coordination",
2196
+ HANDLER_STRATEGY: "handler_strategy",
2197
+ HANDLER_STRATEGY_APPLIED: "handler_strategy_applied"
2198
+ };
2199
+ var QUEUE_OPERATIONS = {
2200
+ QUEUE_CREATED: "queue_created",
2201
+ QUEUE_PROCESSED: "queue_processed",
2202
+ QUEUE_CLEARED: "queue_cleared",
2203
+ QUEUE_ERROR: "queue_error",
2204
+ BATCH_PROCESSED: "batch_processed",
2205
+ ITEM_ENQUEUED: "item_enqueued",
2206
+ ITEM_DEQUEUED: "item_dequeued",
2207
+ PRIORITY_CHANGED: "priority_changed"
2208
+ };
2209
+ var DEBUGGER_CONFIG_SOURCES = {
2210
+ DEFAULT: "default",
2211
+ DIRECT: "direct",
2212
+ CLIENT: "client",
2213
+ UNIFIED_STRATEGY: "unifiedStrategy",
2214
+ PERFORMANCE_PRESET: "performancePreset",
2215
+ DATA_PATTERN: "dataPattern",
2216
+ CACHE_STRATEGY: "cacheStrategy",
2217
+ RETRY_STRATEGY: "retryStrategy",
2218
+ REVALIDATION_STRATEGY: "revalidationStrategy",
2219
+ ADAPTIVE_CONFIG: "adaptiveConfig",
2220
+ MONITORING_CONFIG: "monitoringConfig",
2221
+ POLLING_CONFIG: "pollingConfig",
2222
+ NETWORK_PRESET: "networkPreset",
2223
+ NETWORK_AWARE: "networkAware",
2224
+ NETWORK_QUALITY: "networkQuality",
2225
+ USER_PREFERENCE: "userPreference",
2226
+ TEMPORARY_OVERRIDE: "temporaryOverride",
2227
+ AUTO_OPTIMIZATION: "autoOptimization",
2228
+ NETWORK_CLIENT_HINTS: "networkClientHints",
2229
+ HEADER_PRESET: "headerPreset",
2230
+ ENRICHED_HEADERS: "enrichedHeaders",
2231
+ USER_HEADERS: "userHeaders",
2232
+ INTERCEPTOR: "interceptor",
2233
+ CONTEXT_HEADERS: "contextHeaders",
2234
+ ENCRYPTION: "encryption"
2235
+ };
2236
+ var HISTORY_TYPES = {
2237
+ CONFIG: "config",
2238
+ HEADER: "header",
2239
+ NETWORK: "network",
2240
+ PERFORMANCE: "performance",
2241
+ EVENT: "event",
2242
+ EVENT_OPERATION: "event_operation"
2243
+ };
2244
+ var HEADER_STAGES = {
2245
+ BASE: "base",
2246
+ ENRICHED: "enriched",
2247
+ INTERCEPTOR: "interceptor",
2248
+ FINAL: "final"
2249
+ };
2250
+ var UPDATE_STRATEGIES = {
2251
+ MERGE: "merge",
2252
+ REPLACE: "replace",
2253
+ TEMPORARY: "temporary"
2254
+ };
2255
+ var CHANGE_TYPES = {
2256
+ OVERRIDE: "override",
2257
+ RESTORE: "restore",
2258
+ PRESET_CHANGE: "preset_change",
2259
+ USER_PREFERENCE: "user_preference",
2260
+ AUTO_OPTIMIZATION: "auto_optimization"
2261
+ };
2262
+ var TRACKING_PHASES = {
2263
+ INITIALIZATION: "initialization",
2264
+ RUNTIME: "runtime",
2265
+ UPDATE: "update"
2266
+ };
2267
+ var IMPACT_LEVELS = {
2268
+ NONE: "NONE",
2269
+ LOW: "LOW",
2270
+ MEDIUM: "MEDIUM",
2271
+ HIGH: "HIGH",
2272
+ CRITICAL: "CRITICAL"
2273
+ };
2274
+ var ALERT_SEVERITIES = {
2275
+ INFO: "info",
2276
+ WARNING: "warning",
2277
+ ERROR: "error",
2278
+ CRITICAL: "critical"
2279
+ };
2280
+ var ALERT_TYPES = {
2281
+ CONFLICT: "conflict",
2282
+ PERFORMANCE: "performance",
2283
+ NETWORK: "network"
2284
+ };
2285
+ var UNIFIED_OPERATIONS = {
2286
+ ...FACTORY_OPERATIONS,
2287
+ ...EVENT_OPERATIONS,
2288
+ ...QUEUE_OPERATIONS
2289
+ };
2290
+ function isValidOperation(operation) {
2291
+ return Object.values(UNIFIED_OPERATIONS).includes(operation);
2292
+ }
2293
+ __name(isValidOperation, "isValidOperation");
2294
+ function isValidConfigSource(source) {
2295
+ return Object.values(DEBUGGER_CONFIG_SOURCES).includes(source);
2296
+ }
2297
+ __name(isValidConfigSource, "isValidConfigSource");
2298
+ function isValidHistoryType(type) {
2299
+ return Object.values(HISTORY_TYPES).includes(type);
2300
+ }
2301
+ __name(isValidHistoryType, "isValidHistoryType");
2302
+
2303
+ // src/api/client/enum.ts
2304
+ var EVENT_CONSTANTS = {
2305
+ DEBUG_INFO_INTERVAL_MULTIPLIER: 5,
2306
+ IMPACT_THRESHOLDS: {
2307
+ NONE: 90,
2308
+ LOW: 70,
2309
+ MEDIUM: 50,
2310
+ HIGH: 30
2311
+ }
2312
+ };
2313
+
2314
+ // src/api/regional/enum.ts
2315
+ var REGION_STORAGE_KEY = "@plyaz/api:userRegion";
2316
+ var REGIONAL_CONFIDENCE_LEVELS = {
2317
+ CDN_HEADER: 0.95,
2318
+ TIMEZONE_DIRECT: 0.9,
2319
+ TIMEZONE_PREFIX: 0.8,
2320
+ HIGH: 0.8,
2321
+ LOCALE_DIRECT: 0.7,
2322
+ MEDIUM: 0.7,
2323
+ GEOLOCATION: 0.6,
2324
+ LOCALE_LANGUAGE: 0.5,
2325
+ LOW: 0.5,
2326
+ GLOBAL_FALLBACK: 0.3,
2327
+ UNKNOWN_FALLBACK: 0.2,
2328
+ FINAL_FALLBACK: 0.1
2329
+ };
2330
+ var COORDINATES = {
2331
+ EU: {
2332
+ MIN_LAT: 35,
2333
+ MAX_LAT: 70,
2334
+ MIN_LON: -10,
2335
+ MAX_LON: 40
2336
+ },
2337
+ US: {
2338
+ MIN_LAT: 25,
2339
+ MAX_LAT: 50,
2340
+ MIN_LON: -125,
2341
+ MAX_LON: -65
2342
+ },
2343
+ US_WEST: {
2344
+ MIN_LAT: 32,
2345
+ MAX_LAT: 42,
2346
+ MIN_LON: -125,
2347
+ MAX_LON: -114
2348
+ },
2349
+ US_EAST: {
2350
+ MIN_LAT: 38,
2351
+ MAX_LAT: 45,
2352
+ MIN_LON: -80,
2353
+ MAX_LON: -70
2354
+ },
2355
+ ASIA: {
2356
+ MIN_LAT: 18,
2357
+ MAX_LAT: 54,
2358
+ MIN_LON: 73,
2359
+ MAX_LON: 135
2360
+ },
2361
+ JAPAN: {
2362
+ MIN_LAT: 30,
2363
+ MAX_LAT: 46,
2364
+ MIN_LON: 129,
2365
+ MAX_LON: 146
2366
+ }
2367
+ };
2368
+ var HOURS_PER_DAY = 24;
2369
+ var MINUTES_PER_HOUR = 60;
2370
+ var SECONDS_PER_MINUTE = 60;
2371
+ var MS_PER_SECOND = 1e3;
2372
+ var CACHE_DURATION_MS = HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE * MS_PER_SECOND;
2373
+ var REGION_TO_PRESET = {
2374
+ eu: "gdpr",
2375
+ us: "ccpa",
2376
+ // Map US to CCPA (California compliance)
2377
+ "us-ca": "ccpa",
2378
+ cn: "pipl",
2379
+ jp: "appi",
2380
+ ca: "global",
2381
+ // Canada uses global preset
2382
+ global: "global"
2383
+ };
2384
+
2385
+ // src/api/utils/enums.ts
2386
+ var CORRELATION_TYPE = /* @__PURE__ */ ((CORRELATION_TYPE2) => {
2387
+ CORRELATION_TYPE2["NETWORK"] = "net";
2388
+ CORRELATION_TYPE2["API"] = "api";
2389
+ CORRELATION_TYPE2["SESSION"] = "session";
2390
+ CORRELATION_TYPE2["TRANSACTION"] = "txn";
2391
+ CORRELATION_TYPE2["EVENT"] = "evt";
2392
+ CORRELATION_TYPE2["TRACE"] = "trace";
2393
+ CORRELATION_TYPE2["GENERIC"] = "corr";
2394
+ return CORRELATION_TYPE2;
2395
+ })(CORRELATION_TYPE || {});
2396
+
2397
+ // src/api/pubsub/enum.ts
2398
+ var PUB_SUB_EVENT = {
2399
+ CacheUpdate: "cache:update",
2400
+ CacheDelete: "cache:delete",
2401
+ CacheRevalidate: "cache:revalidate",
2402
+ RequestStart: "request:start",
2403
+ RequestSuccess: "request:success",
2404
+ RequestError: "request:error",
2405
+ RequestAbort: "request:abort"
2406
+ };
2407
+
2408
+ export { ALERT_SEVERITIES, ALERT_TYPES, ALL_EVENTS, API_ERROR_CODES, AUTH_PROVIDER, AUTH_PROVIDER_TYPE, CACHE_DURATION_MS, CACHE_EVENTS, CHAIN_ID, CHANGE_TYPES, CLIENT_EVENTS, CLIENT_HINT_HEADERS, COMMON_FIELDS, COMMON_OPERATIONS, COMMON_STORAGE_TYPES, CONFIG_EVENTS, COORDINATES, CORRELATION_TYPE, COSTOPTIMIZATIONSTRATEGY, CURRENCY, CorrelationIdSchema, DATA_SAVER_PRESETS, DEBUGGER_CONFIG_SOURCES, DEBUG_EVENTS, DEFAULT_THRESHOLDS, DeviceTokenSchema, ERROR_CATEGORY, ERROR_CATEGORY_TO_EMITTER_KEY, ERROR_CODES, ERROR_DEFINITIONS, ERROR_EVENTS, COMMON_FIELDS as ERROR_FIELDS, ERROR_SEVERITY, ERROR_TYPE, EVENTPROCESSINGSTATUS, EVENTS_CONFIG_SOURCES, EVENT_CONSTANTS, EVENT_NAMESPACES, EVENT_OPERATIONS, EVENT_PRIORITY, EVENT_PRIORITY_MAP, EVENT_SCOPES, EVENT_SCOPES_WITH_TEMPORARY, EVENT_STATUS, EVENT_TYPE, EmailSchema, FACTORY_OPERATIONS, FAILOVERSTRATEGY, FILE_EXTENSIONS, HANDLER_SCOPES, HEADER_EVENTS, HEADER_STAGES, HISTORY_TYPES, IMPACT_LEVELS, INTERNAL_STATUS_CODES, LOADBALANCINGSTRATEGY, LocaleSchema, MIME_TYPES, NETWORK_CONFIDENCE_LEVELS, NETWORK_EVENTS, NETWORK_QUALITY, NOTIFICATION_CATEGORIES, NOTIFICATION_CHANNELS, NOTIFICATION_ERROR_CODES, NOTIFICATION_PROVIDERS, NetworkPresetNames, NotificationCategorySchema, COMMON_OPERATIONS as OPERATIONS, INTERNAL_STATUS_CODES as PACKAGE_STATUS_CODES, PAYMENTERRORCATEGORY, PAYMENTEVENTCATEGORY, PAYMENTEVENTTYPE, PAYMENTMETHOD, PAYMENTPROVIDERTYPE, PAYMENTSTATUS, PERFORMANCEMETRICTYPE, PERFORMANCE_EVENTS, PRIORITY_LEVEL, PRODUCTTYPE, PUB_SUB_EVENT, PhoneSchema, QUEUE_OPERATIONS, QueuePrioritySchema, REGIONAL_CONFIDENCE_LEVELS, REGION_STORAGE_KEY, REGION_TO_PRESET, REGULATORYFRAMEWORK, REQUIREDACTIONTYPE, ROUTINGSTRATEGY, RTT_THRESHOLDS, SIGNATURE_METHOD, SPEED_THRESHOLDS, COMMON_STORAGE_TYPES as STORAGE_TYPES, TRACKING_PHASES, TRANSACTIONTYPE, TemplateDataSchema, TemplateIdSchema, UNIFIED_OPERATIONS, UPDATE_STRATEGIES, USERTYPE, USER_ROLE, USER_STATUS, UserIdSchema, VALIDATION_RANGES, WEBHOOK_ENCRYPTION_METHOD, WEBHOOK_EVENT_TYPE, isValidConfigSource, isValidHistoryType, isValidOperation, loginCredentialsSchema };
1491
2409
  //# sourceMappingURL=index.js.map
1492
2410
  //# sourceMappingURL=index.js.map