@plyaz/types 1.13.3 → 1.13.5

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 +1457 -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 +1385 -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 +253 -0
  20. package/dist/errors/enums.d.ts +199 -0
  21. package/dist/errors/index.cjs +1307 -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 +1284 -1
  25. package/dist/errors/index.js.map +1 -1
  26. package/dist/errors/types.d.ts +630 -14
  27. package/dist/index.cjs +2182 -1218
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +43 -1
  30. package/dist/index.js +1849 -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/api/index.js CHANGED
@@ -158,614 +158,85 @@ var ALL_EVENTS = {
158
158
  ...CACHE_EVENTS
159
159
  };
160
160
 
161
- // src/errors/enums.ts
162
- var ERROR_CATEGORY = {
163
- /** Client-side error (e.g., invalid request). */
164
- Client: "client",
165
- /** Server-side error (e.g., logic failure or exception). */
166
- Server: "server",
167
- /** Network-related error (e.g., unreachable endpoint). */
168
- Network: "network",
169
- /** Blockchain-related error (e.g., transaction failure, gas limit). */
170
- Blockchain: "blockchain",
171
- /** Validation-specific error (e.g., failed constraints or field errors). */
172
- Validation: "validation",
173
- /** Authentication-related error (e.g., invalid credentials, expired token). */
174
- Authentication: "authentication",
175
- /** Authorization-related error (e.g., insufficient permissions). */
176
- Authorization: "authorization",
177
- /** Resource not found error. */
178
- NotFound: "not.found",
179
- /** Rate limiting error (too many requests). */
180
- RateLimit: "rate.limit",
181
- /** External service error (e.g., third-party API failure). */
182
- ExternalService: "external.service",
183
- /** Timeout error (request exceeded time limit). */
184
- Timeout: "timeout",
185
- /** Conflict error (e.g., resource state conflict). */
186
- Conflict: "conflict",
187
- /** Cache-related error. */
188
- Cache: "cache",
189
- /** Headers-related error (e.g., missing or invalid headers). */
190
- Headers: "headers",
191
- /** Retry-related error (e.g., max retries exceeded). */
192
- Retry: "retry",
193
- /** Strategy-related error (e.g., invalid retry or caching strategy). */
194
- Strategy: "strategy",
195
- /** Regional-related error (e.g., region detection failure). */
196
- Regional: "regional",
197
- /** Unknown or unclassified error. */
198
- Unknown: "unknown"
161
+ // src/api/queue/enums.ts
162
+ var PRIORITY_LEVEL = {
163
+ /** Critical priority - highest urgency (0) */
164
+ CRITICAL: 0,
165
+ /** High priority (1) */
166
+ HIGH: 1,
167
+ /** Medium priority (2) */
168
+ MEDIUM: 2,
169
+ /** Normal priority (3) */
170
+ NORMAL: 3,
171
+ /** Low priority (4) */
172
+ LOW: 4,
173
+ /** Idle priority - lowest urgency (5) */
174
+ IDLE: 5
199
175
  };
200
176
 
201
- // src/api/errors/enum.ts
202
- var OPERATIONS = {
203
- STORAGE: "storage",
204
- RETRIEVAL: "retrieval",
205
- INVALIDATION: "invalidation",
206
- ENRICHMENT: "enrichment",
207
- VALIDATION: "validation",
208
- PRESET_LOOKUP: "preset-lookup",
209
- INITIALIZATION: "initialization",
210
- CONFIGURATION: "configuration",
211
- REQUEST: "request",
212
- RESPONSE: "response",
213
- RETRY: "retry",
214
- REVALIDATION: "revalidation",
215
- STRATEGY_EXECUTION: "strategy-execution",
216
- POLLING: "polling",
217
- SUBSCRIPTION: "subscription",
218
- PUBLICATION: "publication",
219
- DEBUG: "debug",
220
- DEBUG_TRACKING: "debug-tracking",
221
- ENDPOINT_BUILD: "endpoint-build",
222
- TRACKING: "tracking",
223
- NETWORK_CHECK: "network-check",
224
- EVENT_HANDLING: "event-handling",
225
- SERIALIZATION: "serialization",
226
- DESERIALIZATION: "deserialization",
227
- REGIONAL_DETECTION: "regional-detection",
228
- MONITORING: "monitoring",
229
- CONTEXT_SETUP: "context-setup",
230
- FALLBACK: "fallback"
177
+ // src/api/headers/enum.ts
178
+ var DATA_SAVER_PRESETS = {
179
+ performance: "offline",
180
+ cache: "aggressive",
181
+ retry: "conservative",
182
+ revalidation: "static"
231
183
  };
232
- var ERROR_FIELDS = {
233
- STORAGE: "storage",
234
- CACHE: "cache",
235
- HEADERS: "headers",
236
- PRESET_NAME: "presetName",
237
- PRESET_ID: "presetId",
238
- CONFIG: "config",
239
- URL: "url",
240
- METHOD: "method",
241
- STRATEGY: "strategy",
242
- RETRY_COUNT: "retryCount",
243
- MAX_RETRIES: "maxRetries",
244
- POLLING_INTERVAL: "pollingInterval",
245
- TOPIC: "topic",
246
- CHANNEL: "channel",
247
- ENDPOINT: "endpoint",
248
- CLIENT: "client",
249
- NETWORK_TYPE: "networkType",
250
- TIME_INTERVAL: "timeInterval"
184
+ var CLIENT_HINT_HEADERS = {
185
+ SAVE_DATA: "save-data",
186
+ ECT: "ect",
187
+ RTT: "rtt",
188
+ DOWNLINK: "downlink",
189
+ DEVICE_MEMORY: "device-memory",
190
+ ACCEPT_CH: "Accept-CH",
191
+ ACCEPT_CH_LIFETIME: "Accept-CH-Lifetime"
251
192
  };
252
- var STORAGE_TYPES = {
253
- PRIMARY: "primary",
254
- FALLBACK: "fallback",
255
- MEMORY: "memory",
256
- SESSION: "session",
257
- LOCAL: "local"
193
+ var VALIDATION_RANGES = {
194
+ RTT: { MIN: 0, MAX: 1e4 },
195
+ // 0-10 seconds
196
+ DOWNLINK: { MIN: 0, MAX: 1e4 },
197
+ // 0-10 Gbps
198
+ DEVICE_MEMORY: { MIN: 0, MAX: 128 }
199
+ // 0-128 GB
258
200
  };
259
- var API_ERROR_CODES = {
260
- // Client Configuration Errors
261
- CLIENT_INITIALIZATION_FAILED: "CLIENT_INITIALIZATION_FAILED",
262
- CLIENT_INVALID_CONFIG: "CLIENT_INVALID_CONFIG",
263
- CLIENT_MISSING_BASE_URL: "CLIENT_MISSING_BASE_URL",
264
- CLIENT_CANCELLED: "CLIENT_CANCELLED",
265
- CONFIG_VALIDATION_FAILED: "CONFIG_VALIDATION_FAILED",
266
- HEADER_PROCESSING_FAILED: "HEADER_PROCESSING_FAILED",
267
- NETWORK_OVERRIDE_FAILED: "NETWORK_OVERRIDE_FAILED",
268
- // Request Errors
269
- REQUEST_TIMEOUT: "REQUEST_TIMEOUT",
270
- REQUEST_ABORTED: "REQUEST_ABORTED",
271
- REQUEST_INVALID_PARAMS: "REQUEST_INVALID_PARAMS",
272
- REQUEST_PREPARATION_FAILED: "REQUEST_PREPARATION_FAILED",
273
- // Response Errors
274
- RESPONSE_INVALID_FORMAT: "RESPONSE_INVALID_FORMAT",
275
- RESPONSE_PARSING_FAILED: "RESPONSE_PARSING_FAILED",
276
- // Network Errors
277
- NETWORK_CONNECTION_FAILED: "NETWORK_CONNECTION_FAILED",
278
- NETWORK_OFFLINE: "NETWORK_OFFLINE",
279
- NETWORK_DNS_FAILED: "NETWORK_DNS_FAILED",
280
- NETWORK_TIMEOUT: "NETWORK_TIMEOUT",
281
- NETWORK_ERROR: "NETWORK_ERROR",
282
- NETWORK_PRESET_NOT_FOUND: "NETWORK_PRESET_NOT_FOUND",
283
- NETWORK_CONFIGURATION_INVALID: "NETWORK_CONFIGURATION_INVALID",
284
- // Regional Errors
285
- REGIONAL_PRESET_NOT_FOUND: "REGIONAL_PRESET_NOT_FOUND",
286
- REGION_DETECTION_FAILED: "REGION_DETECTION_FAILED",
287
- // Header Errors
288
- HEADERS_ENRICHMENT_FAILED: "HEADERS_ENRICHMENT_FAILED",
289
- HEADERS_VALIDATION_FAILED: "HEADERS_VALIDATION_FAILED",
290
- HEADERS_MERGE_CONFLICT: "HEADERS_MERGE_CONFLICT",
291
- // Cache Errors
292
- CACHE_STORAGE_FAILED: "CACHE_STORAGE_FAILED",
293
- CACHE_RETRIEVAL_FAILED: "CACHE_RETRIEVAL_FAILED",
294
- CACHE_INVALIDATION_FAILED: "CACHE_INVALIDATION_FAILED",
295
- // Retry Errors
296
- RETRY_EXHAUSTED: "RETRY_EXHAUSTED",
297
- RETRY_STRATEGY_INVALID: "RETRY_STRATEGY_INVALID",
298
- // Strategy Errors
299
- STRATEGY_INVALID: "STRATEGY_INVALID",
300
- STRATEGY_CONFLICT: "STRATEGY_CONFLICT",
301
- STRATEGY_EXECUTION_FAILED: "STRATEGY_EXECUTION_FAILED",
302
- // Polling Errors
303
- POLLING_TIMEOUT: "POLLING_TIMEOUT",
304
- POLLING_CANCELLED: "POLLING_CANCELLED",
305
- POLLING_INVALID_CONFIG: "POLLING_INVALID_CONFIG",
306
- // PubSub Errors
307
- PUBSUB_SUBSCRIPTION_FAILED: "PUBSUB_SUBSCRIPTION_FAILED",
308
- PUBSUB_PUBLICATION_FAILED: "PUBSUB_PUBLICATION_FAILED",
309
- PUBSUB_INVALID_TOPIC: "PUBSUB_INVALID_TOPIC",
310
- PUBSUB_CHANNEL_ERROR: "PUBSUB_CHANNEL_ERROR",
311
- // Revalidation Errors
312
- REVALIDATION_FAILED: "REVALIDATION_FAILED",
313
- REVALIDATION_IN_PROGRESS: "REVALIDATION_IN_PROGRESS",
314
- // Debugger Errors
315
- DEBUG_TRACKING_FAILED: "DEBUG_TRACKING_FAILED",
316
- DEBUG_OVERRIDE_FAILED: "DEBUG_OVERRIDE_FAILED",
317
- DEBUG_CONFLICT_DETECTED: "DEBUG_CONFLICT_DETECTED",
318
- // Endpoint Errors
319
- ENDPOINT_BUILD_FAILED: "ENDPOINT_BUILD_FAILED",
320
- ENDPOINT_NOT_FOUND: "ENDPOINT_NOT_FOUND",
321
- ENDPOINT_INVALID_CONFIG: "ENDPOINT_INVALID_CONFIG",
322
- // Event Errors
323
- EVENT_HANDLER_FAILED: "EVENT_HANDLER_FAILED",
324
- EVENT_EMISSION_FAILED: "EVENT_EMISSION_FAILED",
325
- MONITORING_FAILED: "MONITORING_FAILED",
326
- CONTEXT_OPERATION_FAILED: "CONTEXT_OPERATION_FAILED",
327
- // Authentication Errors
328
- AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
329
- AUTH_UNAUTHORIZED: "AUTH_UNAUTHORIZED",
330
- AUTH_FORBIDDEN: "AUTH_FORBIDDEN",
331
- AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
332
- // Rate Limiting
333
- RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
334
- // Resource Errors
335
- RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND",
336
- // System Errors
337
- INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR",
338
- SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
339
- EXTERNAL_SERVICE_ERROR: "EXTERNAL_SERVICE_ERROR",
340
- UNKNOWN_ERROR: "UNKNOWN_ERROR",
341
- // Validation Errors
342
- VALIDATION_ERROR: "VALIDATION_ERROR",
343
- VALIDATION_FAILED: "VALIDATION_FAILED",
344
- REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING",
345
- INVALID_FORMAT: "INVALID_FORMAT",
346
- VALIDATION_INVALID_FORMAT: "INVALID_FORMAT",
347
- // Alias for compatibility
348
- STRING_TOO_SHORT: "STRING_TOO_SHORT",
349
- STRING_TOO_LONG: "STRING_TOO_LONG",
350
- // Generic HTTP Status Mappings
351
- CLIENT_ERROR: "CLIENT_ERROR",
352
- SERVER_ERROR: "SERVER_ERROR",
353
- // Timeout
354
- TIMEOUT: "TIMEOUT"
201
+
202
+ // src/api/network/enums.ts
203
+ var NETWORK_QUALITY = /* @__PURE__ */ ((NETWORK_QUALITY2) => {
204
+ NETWORK_QUALITY2["EXCELLENT"] = "excellent";
205
+ NETWORK_QUALITY2["GOOD"] = "good";
206
+ NETWORK_QUALITY2["FAIR"] = "fair";
207
+ NETWORK_QUALITY2["POOR"] = "poor";
208
+ NETWORK_QUALITY2["OFFLINE"] = "offline";
209
+ NETWORK_QUALITY2["UNKNOWN"] = "unknown";
210
+ return NETWORK_QUALITY2;
211
+ })(NETWORK_QUALITY || {});
212
+ var EVENT_PRIORITY_MAP = {
213
+ // Critical events
214
+ error: "critical",
215
+ onNetworkError: "critical",
216
+ critical: "critical",
217
+ // High priority events
218
+ config: "high",
219
+ auth: "high",
220
+ conflict: "high",
221
+ // Normal priority events
222
+ network: "normal",
223
+ headers: "normal",
224
+ performance: "normal",
225
+ // Low priority events
226
+ debug: "low",
227
+ metrics: "low",
228
+ tracking: "low"
355
229
  };
356
- var PACKAGE_STATUS_CODES = {
357
- // Configuration errors
358
- INVALID_CONFIGURATION: 1001,
359
- MISSING_CONFIGURATION: 1002,
360
- CONFIGURATION_CONFLICT: 1003,
361
- CONFIGURATION_TRACKING_FAILED: 1004,
362
- DEBUG_TRACKING_FAILED: 1005,
363
- // Resource errors (internal)
364
- RESOURCE_NOT_FOUND: 1010,
365
- RESOURCE_ALREADY_EXISTS: 1011,
366
- RESOURCE_UNAVAILABLE: 1012,
367
- // Validation errors (internal)
368
- INVALID_PARAMETER: 1020,
369
- MISSING_PARAMETER: 1021,
370
- PARAMETER_OUT_OF_RANGE: 1022,
371
- // Strategy/preset errors
372
- STRATEGY_NOT_FOUND: 1030,
373
- PRESET_NOT_FOUND: 1031,
374
- INVALID_STRATEGY: 1032,
375
- // Request/Response errors
376
- REQUEST_FAILED: 1035,
377
- // Internal system errors
378
- INITIALIZATION_FAILED: 1040,
379
- OPERATION_FAILED: 1041,
380
- STATE_CORRUPTION: 1042,
381
- SERIALIZATION_FAILED: 1043,
382
- DESERIALIZATION_FAILED: 1044,
383
- CONFIGURATION_INVALID: 1045,
384
- HEADER_PROCESSING_ERROR: 1046,
385
- REGION_DETECTION_ERROR: 1047,
386
- NETWORK_OVERRIDE_ERROR: 1048
387
- };
388
- var ERROR_DEFINITIONS = {
389
- // Authentication
390
- [API_ERROR_CODES.AUTH_UNAUTHORIZED]: {
391
- code: API_ERROR_CODES.AUTH_UNAUTHORIZED,
392
- status: HTTP_STATUS.UNAUTHORIZED,
393
- category: ERROR_CATEGORY.Authentication
394
- },
395
- [API_ERROR_CODES.AUTH_FORBIDDEN]: {
396
- code: API_ERROR_CODES.AUTH_FORBIDDEN,
397
- status: HTTP_STATUS.FORBIDDEN,
398
- category: ERROR_CATEGORY.Authorization
399
- },
400
- [API_ERROR_CODES.AUTH_TOKEN_EXPIRED]: {
401
- code: API_ERROR_CODES.AUTH_TOKEN_EXPIRED,
402
- status: HTTP_STATUS.UNAUTHORIZED,
403
- category: ERROR_CATEGORY.Authentication
404
- },
405
- [API_ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {
406
- code: API_ERROR_CODES.AUTH_INVALID_CREDENTIALS,
407
- status: HTTP_STATUS.UNAUTHORIZED,
408
- category: ERROR_CATEGORY.Authentication
409
- },
410
- // Rate Limiting
411
- [API_ERROR_CODES.RATE_LIMIT_EXCEEDED]: {
412
- code: API_ERROR_CODES.RATE_LIMIT_EXCEEDED,
413
- status: HTTP_STATUS.TOO_MANY_REQUESTS,
414
- category: ERROR_CATEGORY.RateLimit
415
- },
416
- // Resource Errors
417
- [API_ERROR_CODES.RESOURCE_NOT_FOUND]: {
418
- code: API_ERROR_CODES.RESOURCE_NOT_FOUND,
419
- status: HTTP_STATUS.NOT_FOUND,
420
- category: ERROR_CATEGORY.NotFound
421
- },
422
- // System Errors
423
- [API_ERROR_CODES.INTERNAL_SERVER_ERROR]: {
424
- code: API_ERROR_CODES.INTERNAL_SERVER_ERROR,
425
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
426
- category: ERROR_CATEGORY.Server
427
- },
428
- [API_ERROR_CODES.SERVICE_UNAVAILABLE]: {
429
- code: API_ERROR_CODES.SERVICE_UNAVAILABLE,
430
- status: HTTP_STATUS.SERVICE_UNAVAILABLE,
431
- category: ERROR_CATEGORY.Server
432
- },
433
- [API_ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {
434
- code: API_ERROR_CODES.EXTERNAL_SERVICE_ERROR,
435
- status: HTTP_STATUS.BAD_GATEWAY,
436
- category: ERROR_CATEGORY.ExternalService
437
- },
438
- // Validation
439
- [API_ERROR_CODES.VALIDATION_ERROR]: {
440
- code: API_ERROR_CODES.VALIDATION_ERROR,
441
- status: HTTP_STATUS.BAD_REQUEST,
442
- category: ERROR_CATEGORY.Validation
443
- },
444
- [API_ERROR_CODES.VALIDATION_FAILED]: {
445
- code: API_ERROR_CODES.VALIDATION_FAILED,
446
- status: HTTP_STATUS.BAD_REQUEST,
447
- category: ERROR_CATEGORY.Validation
448
- },
449
- [API_ERROR_CODES.REQUIRED_FIELD_MISSING]: {
450
- code: API_ERROR_CODES.REQUIRED_FIELD_MISSING,
451
- status: HTTP_STATUS.BAD_REQUEST,
452
- category: ERROR_CATEGORY.Validation,
453
- fieldsLeft: ["field"]
454
- },
455
- [API_ERROR_CODES.INVALID_FORMAT]: {
456
- code: API_ERROR_CODES.INVALID_FORMAT,
457
- status: HTTP_STATUS.BAD_REQUEST,
458
- category: ERROR_CATEGORY.Validation
459
- },
460
- [API_ERROR_CODES.STRING_TOO_SHORT]: {
461
- code: API_ERROR_CODES.STRING_TOO_SHORT,
462
- status: HTTP_STATUS.BAD_REQUEST,
463
- category: ERROR_CATEGORY.Validation,
464
- fieldsLeft: ["field", "minLength"]
465
- },
466
- [API_ERROR_CODES.STRING_TOO_LONG]: {
467
- code: API_ERROR_CODES.STRING_TOO_LONG,
468
- status: HTTP_STATUS.BAD_REQUEST,
469
- category: ERROR_CATEGORY.Validation,
470
- fieldsLeft: ["field", "maxLength"]
471
- },
472
- // Request Errors
473
- [API_ERROR_CODES.REQUEST_TIMEOUT]: {
474
- code: API_ERROR_CODES.REQUEST_TIMEOUT,
475
- status: HTTP_STATUS.REQUEST_TIMEOUT,
476
- category: ERROR_CATEGORY.Timeout
477
- },
478
- [API_ERROR_CODES.REQUEST_ABORTED]: {
479
- code: API_ERROR_CODES.REQUEST_ABORTED,
480
- status: 0,
481
- // No HTTP status for aborted
482
- category: ERROR_CATEGORY.Client
483
- },
484
- [API_ERROR_CODES.REQUEST_INVALID_PARAMS]: {
485
- code: API_ERROR_CODES.REQUEST_INVALID_PARAMS,
486
- status: HTTP_STATUS.BAD_REQUEST,
487
- category: ERROR_CATEGORY.Client
488
- },
489
- [API_ERROR_CODES.REQUEST_PREPARATION_FAILED]: {
490
- code: API_ERROR_CODES.REQUEST_PREPARATION_FAILED,
491
- status: HTTP_STATUS.BAD_REQUEST,
492
- category: ERROR_CATEGORY.Client
493
- },
494
- // Response Errors
495
- [API_ERROR_CODES.RESPONSE_INVALID_FORMAT]: {
496
- code: API_ERROR_CODES.RESPONSE_INVALID_FORMAT,
497
- status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
498
- category: ERROR_CATEGORY.Client
499
- },
500
- [API_ERROR_CODES.RESPONSE_PARSING_FAILED]: {
501
- code: API_ERROR_CODES.RESPONSE_PARSING_FAILED,
502
- status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
503
- category: ERROR_CATEGORY.Client
504
- },
505
- // Network
506
- [API_ERROR_CODES.NETWORK_ERROR]: {
507
- code: API_ERROR_CODES.NETWORK_ERROR,
508
- status: HTTP_STATUS.BAD_GATEWAY,
509
- category: ERROR_CATEGORY.Network
510
- },
511
- [API_ERROR_CODES.NETWORK_TIMEOUT]: {
512
- code: API_ERROR_CODES.NETWORK_TIMEOUT,
513
- status: HTTP_STATUS.GATEWAY_TIMEOUT,
514
- category: ERROR_CATEGORY.Timeout
515
- },
516
- [API_ERROR_CODES.NETWORK_CONNECTION_FAILED]: {
517
- code: API_ERROR_CODES.NETWORK_CONNECTION_FAILED,
518
- status: 0,
519
- // No HTTP status for connection failure
520
- category: ERROR_CATEGORY.Network
521
- },
522
- [API_ERROR_CODES.NETWORK_OFFLINE]: {
523
- code: API_ERROR_CODES.NETWORK_OFFLINE,
524
- status: 0,
525
- // No HTTP status for offline
526
- category: ERROR_CATEGORY.Network
527
- },
528
- [API_ERROR_CODES.NETWORK_DNS_FAILED]: {
529
- code: API_ERROR_CODES.NETWORK_DNS_FAILED,
530
- status: 0,
531
- // No HTTP status for DNS failure
532
- category: ERROR_CATEGORY.Network
533
- },
534
- // Server
535
- [API_ERROR_CODES.SERVER_ERROR]: {
536
- code: API_ERROR_CODES.SERVER_ERROR,
537
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
538
- category: ERROR_CATEGORY.Server
539
- },
540
- // Client
541
- [API_ERROR_CODES.CLIENT_ERROR]: {
542
- code: API_ERROR_CODES.CLIENT_ERROR,
543
- status: HTTP_STATUS.BAD_REQUEST,
544
- category: ERROR_CATEGORY.Client
545
- },
546
- [API_ERROR_CODES.CLIENT_CANCELLED]: {
547
- code: API_ERROR_CODES.CLIENT_CANCELLED,
548
- status: 0,
549
- // No HTTP status for cancelled
550
- category: ERROR_CATEGORY.Client
551
- },
552
- [API_ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {
553
- code: API_ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
554
- status: 0,
555
- // No HTTP status for initialization failure
556
- category: ERROR_CATEGORY.Client
557
- },
558
- [API_ERROR_CODES.CLIENT_INVALID_CONFIG]: {
559
- code: API_ERROR_CODES.CLIENT_INVALID_CONFIG,
560
- status: 0,
561
- // No HTTP status for configuration errors
562
- category: ERROR_CATEGORY.Client
563
- },
564
- [API_ERROR_CODES.CLIENT_MISSING_BASE_URL]: {
565
- code: API_ERROR_CODES.CLIENT_MISSING_BASE_URL,
566
- status: 0,
567
- // No HTTP status for configuration errors
568
- category: ERROR_CATEGORY.Client
569
- },
570
- [API_ERROR_CODES.CONFIG_VALIDATION_FAILED]: {
571
- code: API_ERROR_CODES.CONFIG_VALIDATION_FAILED,
572
- status: HTTP_STATUS.BAD_REQUEST,
573
- category: ERROR_CATEGORY.Validation
574
- },
575
- [API_ERROR_CODES.HEADER_PROCESSING_FAILED]: {
576
- code: API_ERROR_CODES.HEADER_PROCESSING_FAILED,
577
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
578
- category: ERROR_CATEGORY.Headers
579
- },
580
- [API_ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {
581
- code: API_ERROR_CODES.NETWORK_OVERRIDE_FAILED,
582
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
583
- category: ERROR_CATEGORY.Network
584
- },
585
- // Headers
586
- [API_ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {
587
- code: API_ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
588
- status: HTTP_STATUS.BAD_REQUEST,
589
- category: ERROR_CATEGORY.Headers
590
- },
591
- [API_ERROR_CODES.HEADERS_VALIDATION_FAILED]: {
592
- code: API_ERROR_CODES.HEADERS_VALIDATION_FAILED,
593
- status: HTTP_STATUS.BAD_REQUEST,
594
- category: ERROR_CATEGORY.Headers
595
- },
596
- [API_ERROR_CODES.HEADERS_MERGE_CONFLICT]: {
597
- code: API_ERROR_CODES.HEADERS_MERGE_CONFLICT,
598
- status: HTTP_STATUS.CONFLICT,
599
- category: ERROR_CATEGORY.Headers
600
- },
601
- // Cache
602
- [API_ERROR_CODES.CACHE_STORAGE_FAILED]: {
603
- code: API_ERROR_CODES.CACHE_STORAGE_FAILED,
604
- status: 0,
605
- // No HTTP status for cache failures
606
- category: ERROR_CATEGORY.Cache
607
- },
608
- [API_ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {
609
- code: API_ERROR_CODES.CACHE_RETRIEVAL_FAILED,
610
- status: 0,
611
- // No HTTP status for cache failures
612
- category: ERROR_CATEGORY.Cache
613
- },
614
- [API_ERROR_CODES.CACHE_INVALIDATION_FAILED]: {
615
- code: API_ERROR_CODES.CACHE_INVALIDATION_FAILED,
616
- status: 0,
617
- // No HTTP status for cache failures
618
- category: ERROR_CATEGORY.Cache
619
- },
620
- // Retry
621
- [API_ERROR_CODES.RETRY_EXHAUSTED]: {
622
- code: API_ERROR_CODES.RETRY_EXHAUSTED,
623
- status: HTTP_STATUS.SERVICE_UNAVAILABLE,
624
- category: ERROR_CATEGORY.Retry
625
- },
626
- [API_ERROR_CODES.RETRY_STRATEGY_INVALID]: {
627
- code: API_ERROR_CODES.RETRY_STRATEGY_INVALID,
628
- status: 0,
629
- // No HTTP status for strategy errors
630
- category: ERROR_CATEGORY.Retry
631
- },
632
- // Strategy
633
- [API_ERROR_CODES.STRATEGY_INVALID]: {
634
- code: API_ERROR_CODES.STRATEGY_INVALID,
635
- status: 0,
636
- // No HTTP status for strategy errors
637
- category: ERROR_CATEGORY.Strategy
638
- },
639
- [API_ERROR_CODES.STRATEGY_CONFLICT]: {
640
- code: API_ERROR_CODES.STRATEGY_CONFLICT,
641
- status: HTTP_STATUS.CONFLICT,
642
- category: ERROR_CATEGORY.Strategy
643
- },
644
- // Regional
645
- [API_ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {
646
- code: API_ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
647
- status: 0,
648
- // No HTTP status for regional preset errors
649
- category: ERROR_CATEGORY.Regional
650
- },
651
- [API_ERROR_CODES.REGION_DETECTION_FAILED]: {
652
- code: API_ERROR_CODES.REGION_DETECTION_FAILED,
653
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
654
- category: ERROR_CATEGORY.Regional
655
- },
656
- // Timeout
657
- [API_ERROR_CODES.TIMEOUT]: {
658
- code: API_ERROR_CODES.TIMEOUT,
659
- status: HTTP_STATUS.REQUEST_TIMEOUT,
660
- category: ERROR_CATEGORY.Timeout
661
- },
662
- // Unknown
663
- [API_ERROR_CODES.UNKNOWN_ERROR]: {
664
- code: API_ERROR_CODES.UNKNOWN_ERROR,
665
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
666
- category: ERROR_CATEGORY.Unknown
667
- }
668
- };
669
- var ERROR_CATEGORY_TO_EMITTER_KEY = {
670
- [ERROR_CATEGORY.Network]: "network",
671
- [ERROR_CATEGORY.Validation]: "validation",
672
- [ERROR_CATEGORY.Authentication]: "authentication",
673
- [ERROR_CATEGORY.RateLimit]: "rateLimit",
674
- [ERROR_CATEGORY.Server]: "server",
675
- [ERROR_CATEGORY.Timeout]: "timeout",
676
- [ERROR_CATEGORY.Authorization]: "authorization",
677
- [ERROR_CATEGORY.NotFound]: "notFound",
678
- [ERROR_CATEGORY.Conflict]: "conflict",
679
- [ERROR_CATEGORY.Client]: "client",
680
- [ERROR_CATEGORY.ExternalService]: "externalService",
681
- [ERROR_CATEGORY.Cache]: "cache",
682
- [ERROR_CATEGORY.Headers]: "headers",
683
- [ERROR_CATEGORY.Retry]: "retry",
684
- [ERROR_CATEGORY.Blockchain]: "blockchain",
685
- [ERROR_CATEGORY.Strategy]: "strategy",
686
- [ERROR_CATEGORY.Regional]: "regional",
687
- [ERROR_CATEGORY.Unknown]: "unknown"
688
- };
689
-
690
- // src/api/queue/enums.ts
691
- var PRIORITY_LEVEL = {
692
- /** Critical priority - highest urgency (0) */
693
- CRITICAL: 0,
694
- /** High priority (1) */
695
- HIGH: 1,
696
- /** Medium priority (2) */
697
- MEDIUM: 2,
698
- /** Normal priority (3) */
699
- NORMAL: 3,
700
- /** Low priority (4) */
701
- LOW: 4,
702
- /** Idle priority - lowest urgency (5) */
703
- IDLE: 5
704
- };
705
-
706
- // src/api/headers/enum.ts
707
- var DATA_SAVER_PRESETS = {
708
- performance: "offline",
709
- cache: "aggressive",
710
- retry: "conservative",
711
- revalidation: "static"
712
- };
713
- var CLIENT_HINT_HEADERS = {
714
- SAVE_DATA: "save-data",
715
- ECT: "ect",
716
- RTT: "rtt",
717
- DOWNLINK: "downlink",
718
- DEVICE_MEMORY: "device-memory",
719
- ACCEPT_CH: "Accept-CH",
720
- ACCEPT_CH_LIFETIME: "Accept-CH-Lifetime"
721
- };
722
- var VALIDATION_RANGES = {
723
- RTT: { MIN: 0, MAX: 1e4 },
724
- // 0-10 seconds
725
- DOWNLINK: { MIN: 0, MAX: 1e4 },
726
- // 0-10 Gbps
727
- DEVICE_MEMORY: { MIN: 0, MAX: 128 }
728
- // 0-128 GB
729
- };
730
-
731
- // src/api/network/enums.ts
732
- var NETWORK_QUALITY = /* @__PURE__ */ ((NETWORK_QUALITY2) => {
733
- NETWORK_QUALITY2["EXCELLENT"] = "excellent";
734
- NETWORK_QUALITY2["GOOD"] = "good";
735
- NETWORK_QUALITY2["FAIR"] = "fair";
736
- NETWORK_QUALITY2["POOR"] = "poor";
737
- NETWORK_QUALITY2["OFFLINE"] = "offline";
738
- NETWORK_QUALITY2["UNKNOWN"] = "unknown";
739
- return NETWORK_QUALITY2;
740
- })(NETWORK_QUALITY || {});
741
- var EVENT_PRIORITY_MAP = {
742
- // Critical events
743
- error: "critical",
744
- onNetworkError: "critical",
745
- critical: "critical",
746
- // High priority events
747
- config: "high",
748
- auth: "high",
749
- conflict: "high",
750
- // Normal priority events
751
- network: "normal",
752
- headers: "normal",
753
- performance: "normal",
754
- // Low priority events
755
- debug: "low",
756
- metrics: "low",
757
- tracking: "low"
758
- };
759
- var NetworkPresetNames = {
760
- OFFLINE_FIRST: "offline-first",
761
- DATA_SAVER: "data-saver",
762
- SLOW_CONNECTION: "slow-connection",
763
- FAIR_CONNECTION: "fair-connection",
764
- GOOD_CONNECTION: "good-connection",
765
- EXCELLENT_CONNECTION: "excellent-connection",
766
- AGGRESSIVE_CACHE: "aggressive-cache",
767
- REALTIME: "realtime",
768
- BACKGROUND_SYNC: "background-sync"
230
+ var NetworkPresetNames = {
231
+ OFFLINE_FIRST: "offline-first",
232
+ DATA_SAVER: "data-saver",
233
+ SLOW_CONNECTION: "slow-connection",
234
+ FAIR_CONNECTION: "fair-connection",
235
+ GOOD_CONNECTION: "good-connection",
236
+ EXCELLENT_CONNECTION: "excellent-connection",
237
+ AGGRESSIVE_CACHE: "aggressive-cache",
238
+ REALTIME: "realtime",
239
+ BACKGROUND_SYNC: "background-sync"
769
240
  };
770
241
  var NETWORK_CONFIDENCE_LEVELS = {
771
242
  /** Excellent confidence (90%) */
@@ -809,6 +280,12 @@ var FACTORY_OPERATIONS = {
809
280
  FACTORY_REGISTER: "factory_register",
810
281
  HANDLER_REGISTERED: "handler_registered",
811
282
  HANDLER_UNREGISTERED: "handler_unregistered",
283
+ /**
284
+ * Indicates that a specific handler instance has been removed from a factory or scope.
285
+ * Use this when removing a particular handler by reference or ID, as opposed to
286
+ * HANDLER_UNREGISTERED, which refers to unregistering a handler type or all handlers.
287
+ */
288
+ SPECIFIC_HANDLER_REMOVED: "specific_handler_removed",
812
289
  SCOPE_LISTENERS_CLEARED: "scope_listeners_cleared"
813
290
  };
814
291
  var EVENT_OPERATIONS = {
@@ -1038,6 +515,1311 @@ var PUB_SUB_EVENT = {
1038
515
  RequestAbort: "request:abort"
1039
516
  };
1040
517
 
1041
- export { ALERT_SEVERITIES, ALERT_TYPES, ALL_EVENTS, API_ERROR_CODES, CACHE_DURATION_MS, CACHE_EVENTS, CHANGE_TYPES, CLIENT_EVENTS, CLIENT_HINT_HEADERS, CONFIG_EVENTS, COORDINATES, CORRELATION_TYPE, DATA_SAVER_PRESETS, DEBUGGER_CONFIG_SOURCES, DEBUG_EVENTS, DEFAULT_THRESHOLDS, ERROR_CATEGORY_TO_EMITTER_KEY, ERROR_DEFINITIONS, ERROR_EVENTS, ERROR_FIELDS, EVENTS_CONFIG_SOURCES, EVENT_CONSTANTS, EVENT_NAMESPACES, EVENT_OPERATIONS, EVENT_PRIORITY_MAP, EVENT_SCOPES, EVENT_SCOPES_WITH_TEMPORARY, FACTORY_OPERATIONS, HANDLER_SCOPES, HEADER_EVENTS, HEADER_STAGES, HISTORY_TYPES, IMPACT_LEVELS, NETWORK_CONFIDENCE_LEVELS, NETWORK_EVENTS, NETWORK_QUALITY, NetworkPresetNames, OPERATIONS, PACKAGE_STATUS_CODES, PERFORMANCE_EVENTS, PRIORITY_LEVEL, PUB_SUB_EVENT, QUEUE_OPERATIONS, REGIONAL_CONFIDENCE_LEVELS, REGION_STORAGE_KEY, REGION_TO_PRESET, RTT_THRESHOLDS, SPEED_THRESHOLDS, STORAGE_TYPES, TRACKING_PHASES, UNIFIED_OPERATIONS, UPDATE_STRATEGIES, VALIDATION_RANGES, isValidConfigSource, isValidHistoryType, isValidOperation };
518
+ // src/errors/enums.ts
519
+ var ERROR_SEVERITY = {
520
+ /** Low severity - does not impact functionality significantly. */
521
+ Low: "low",
522
+ /** Medium severity - minor disruption or warning. */
523
+ Medium: "medium",
524
+ /** High severity - major issue requiring attention. */
525
+ High: "high",
526
+ /** Critical severity - blocking or crashing issue. */
527
+ Critical: "critical"
528
+ };
529
+ var ERROR_CATEGORY = {
530
+ /** Client-side error (e.g., invalid request). */
531
+ Client: "client",
532
+ /** Server-side error (e.g., logic failure or exception). */
533
+ Server: "server",
534
+ /** Network-related error (e.g., unreachable endpoint). */
535
+ Network: "network",
536
+ /** Blockchain-related error (e.g., transaction failure, gas limit). */
537
+ Blockchain: "blockchain",
538
+ /** Validation-specific error (e.g., failed constraints or field errors). */
539
+ Validation: "validation",
540
+ /** Authentication-related error (e.g., invalid credentials, expired token). */
541
+ Authentication: "authentication",
542
+ /** Authorization-related error (e.g., insufficient permissions). */
543
+ Authorization: "authorization",
544
+ /** Resource not found error. */
545
+ NotFound: "not.found",
546
+ /** Rate limiting error (too many requests). */
547
+ RateLimit: "rate.limit",
548
+ /** External service error (e.g., third-party API failure). */
549
+ ExternalService: "external.service",
550
+ /** Timeout error (request exceeded time limit). */
551
+ Timeout: "timeout",
552
+ /** Conflict error (e.g., resource state conflict). */
553
+ Conflict: "conflict",
554
+ /** Cache-related error. */
555
+ Cache: "cache",
556
+ /** Headers-related error (e.g., missing or invalid headers). */
557
+ Headers: "headers",
558
+ /** Retry-related error (e.g., max retries exceeded). */
559
+ Retry: "retry",
560
+ /** Strategy-related error (e.g., invalid retry or caching strategy). */
561
+ Strategy: "strategy",
562
+ /** Regional-related error (e.g., region detection failure). */
563
+ Regional: "regional",
564
+ /** Provider-related error (e.g., notification service provider failure). */
565
+ Provider: "provider",
566
+ /** Queue-related error (e.g., queue full or processing failed). */
567
+ Queue: "queue",
568
+ /** Webhook-related error (e.g., invalid signature or processing failure). */
569
+ Webhook: "webhook",
570
+ /** Template-related error (e.g., template not found or rendering failed). */
571
+ Template: "template",
572
+ /** Configuration-related error (e.g., invalid or missing configuration). */
573
+ Configuration: "configuration",
574
+ /** Unknown or unclassified error. */
575
+ Unknown: "unknown"
576
+ };
577
+ var INTERNAL_STATUS_CODES = {
578
+ // Configuration errors (1001-1009)
579
+ INVALID_CONFIGURATION: 1001,
580
+ MISSING_CONFIGURATION: 1002,
581
+ CONFIGURATION_CONFLICT: 1003,
582
+ CONFIGURATION_TRACKING_FAILED: 1004,
583
+ DEBUG_TRACKING_FAILED: 1005,
584
+ // Resource errors (1010-1019)
585
+ RESOURCE_NOT_FOUND: 1010,
586
+ RESOURCE_ALREADY_EXISTS: 1011,
587
+ RESOURCE_UNAVAILABLE: 1012,
588
+ // Validation errors (1020-1029)
589
+ INVALID_PARAMETER: 1020,
590
+ MISSING_PARAMETER: 1021,
591
+ PARAMETER_OUT_OF_RANGE: 1022,
592
+ // Strategy/preset errors (1030-1039)
593
+ STRATEGY_NOT_FOUND: 1030,
594
+ PRESET_NOT_FOUND: 1031,
595
+ INVALID_STRATEGY: 1032,
596
+ // Request/Response errors (1035-1039)
597
+ REQUEST_FAILED: 1035,
598
+ // Internal system errors (1040-1049)
599
+ INITIALIZATION_FAILED: 1040,
600
+ OPERATION_FAILED: 1041,
601
+ STATE_CORRUPTION: 1042,
602
+ SERIALIZATION_FAILED: 1043,
603
+ DESERIALIZATION_FAILED: 1044,
604
+ CONFIGURATION_INVALID: 1045,
605
+ HEADER_PROCESSING_ERROR: 1046,
606
+ REGION_DETECTION_ERROR: 1047,
607
+ NETWORK_OVERRIDE_ERROR: 1048
608
+ };
609
+ ({
610
+ [ERROR_CATEGORY.Network]: "network",
611
+ [ERROR_CATEGORY.Validation]: "validation",
612
+ [ERROR_CATEGORY.Authentication]: "authentication",
613
+ [ERROR_CATEGORY.Authorization]: "authorization",
614
+ [ERROR_CATEGORY.RateLimit]: "rateLimit",
615
+ [ERROR_CATEGORY.Server]: "server",
616
+ [ERROR_CATEGORY.Timeout]: "timeout",
617
+ [ERROR_CATEGORY.NotFound]: "notFound",
618
+ [ERROR_CATEGORY.Conflict]: "conflict",
619
+ [ERROR_CATEGORY.Client]: "client",
620
+ [ERROR_CATEGORY.ExternalService]: "externalService",
621
+ [ERROR_CATEGORY.Cache]: "cache",
622
+ [ERROR_CATEGORY.Headers]: "headers",
623
+ [ERROR_CATEGORY.Retry]: "retry",
624
+ [ERROR_CATEGORY.Blockchain]: "blockchain",
625
+ [ERROR_CATEGORY.Strategy]: "strategy",
626
+ [ERROR_CATEGORY.Regional]: "regional",
627
+ [ERROR_CATEGORY.Provider]: "provider",
628
+ [ERROR_CATEGORY.Queue]: "queue",
629
+ [ERROR_CATEGORY.Webhook]: "webhook",
630
+ [ERROR_CATEGORY.Template]: "template",
631
+ [ERROR_CATEGORY.Configuration]: "configuration",
632
+ [ERROR_CATEGORY.Unknown]: "unknown"
633
+ });
634
+ var COMMON_OPERATIONS = {
635
+ // Data operations
636
+ STORAGE: "storage",
637
+ RETRIEVAL: "retrieval",
638
+ INVALIDATION: "invalidation",
639
+ DELETION: "deletion",
640
+ // Processing operations
641
+ VALIDATION: "validation",
642
+ ENRICHMENT: "enrichment",
643
+ SERIALIZATION: "serialization",
644
+ DESERIALIZATION: "deserialization",
645
+ // API operations
646
+ REQUEST: "request",
647
+ RESPONSE: "response",
648
+ RETRY: "retry",
649
+ REVALIDATION: "revalidation",
650
+ POLLING: "polling",
651
+ // Configuration operations
652
+ INITIALIZATION: "initialization",
653
+ CONFIGURATION: "configuration",
654
+ PRESET_LOOKUP: "preset-lookup",
655
+ REGIONAL_DETECTION: "regional-detection",
656
+ // Strategy operations
657
+ STRATEGY_EXECUTION: "strategy-execution",
658
+ FALLBACK: "fallback",
659
+ // Event operations
660
+ SUBSCRIPTION: "subscription",
661
+ PUBLICATION: "publication",
662
+ EVENT_HANDLING: "event-handling",
663
+ // Debugging operations
664
+ DEBUG: "debug",
665
+ DEBUG_TRACKING: "debug-tracking",
666
+ TRACKING: "tracking",
667
+ MONITORING: "monitoring",
668
+ // Network operations
669
+ NETWORK_CHECK: "network-check",
670
+ ENDPOINT_BUILD: "endpoint-build",
671
+ CONTEXT_SETUP: "context-setup",
672
+ // Notification operations
673
+ SEND: "send",
674
+ RENDER: "render",
675
+ QUEUE: "queue",
676
+ PROCESS: "process"
677
+ };
678
+ var COMMON_FIELDS = {
679
+ // Storage fields
680
+ STORAGE: "storage",
681
+ CACHE: "cache",
682
+ // Configuration fields
683
+ CONFIG: "config",
684
+ PRESET_NAME: "presetName",
685
+ PRESET_ID: "presetId",
686
+ // HTTP fields
687
+ HEADERS: "headers",
688
+ URL: "url",
689
+ METHOD: "method",
690
+ // Strategy fields
691
+ STRATEGY: "strategy",
692
+ // Retry fields
693
+ RETRY_COUNT: "retryCount",
694
+ MAX_RETRIES: "maxRetries",
695
+ // Polling fields
696
+ POLLING_INTERVAL: "pollingInterval",
697
+ // Event fields
698
+ TOPIC: "topic",
699
+ CHANNEL: "channel",
700
+ // API fields
701
+ ENDPOINT: "endpoint",
702
+ CLIENT: "client",
703
+ // Network fields
704
+ NETWORK_TYPE: "networkType",
705
+ TIME_INTERVAL: "timeInterval",
706
+ // Notification fields
707
+ EMAIL: "email",
708
+ PHONE: "phoneNumber",
709
+ RECIPIENT: "recipient",
710
+ TEMPLATE: "template",
711
+ PROVIDER: "provider"
712
+ };
713
+ var COMMON_STORAGE_TYPES = {
714
+ PRIMARY: "primary",
715
+ FALLBACK: "fallback",
716
+ MEMORY: "memory",
717
+ SESSION: "session",
718
+ LOCAL: "local",
719
+ REDIS: "redis",
720
+ DATABASE: "database"
721
+ };
722
+ var ERROR_CODES = {
723
+ // ===== API Package Errors =====
724
+ // Client Configuration
725
+ CLIENT_INITIALIZATION_FAILED: "CLIENT_INITIALIZATION_FAILED",
726
+ CLIENT_INVALID_CONFIG: "CLIENT_INVALID_CONFIG",
727
+ CLIENT_MISSING_BASE_URL: "CLIENT_MISSING_BASE_URL",
728
+ CLIENT_CANCELLED: "CLIENT_CANCELLED",
729
+ CONFIG_VALIDATION_FAILED: "CONFIG_VALIDATION_FAILED",
730
+ HEADER_PROCESSING_FAILED: "HEADER_PROCESSING_FAILED",
731
+ NETWORK_OVERRIDE_FAILED: "NETWORK_OVERRIDE_FAILED",
732
+ // Request
733
+ REQUEST_TIMEOUT: "REQUEST_TIMEOUT",
734
+ REQUEST_ABORTED: "REQUEST_ABORTED",
735
+ REQUEST_INVALID_PARAMS: "REQUEST_INVALID_PARAMS",
736
+ REQUEST_PREPARATION_FAILED: "REQUEST_PREPARATION_FAILED",
737
+ // Response
738
+ RESPONSE_INVALID_FORMAT: "RESPONSE_INVALID_FORMAT",
739
+ RESPONSE_PARSING_FAILED: "RESPONSE_PARSING_FAILED",
740
+ // Authentication/Authorization
741
+ AUTH_UNAUTHORIZED: "AUTH_UNAUTHORIZED",
742
+ AUTH_FORBIDDEN: "AUTH_FORBIDDEN",
743
+ AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
744
+ AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
745
+ // Rate Limiting
746
+ RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
747
+ // Resources
748
+ RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND",
749
+ RESOURCE_CONFLICT: "RESOURCE_CONFLICT",
750
+ // Validation
751
+ API_VALIDATION_FAILED: "API_VALIDATION_FAILED",
752
+ API_INVALID_INPUT: "API_INVALID_INPUT",
753
+ VALIDATION_ERROR: "VALIDATION_ERROR",
754
+ REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING",
755
+ INVALID_FORMAT: "INVALID_FORMAT",
756
+ VALIDATION_INVALID_FORMAT: "VALIDATION_INVALID_FORMAT",
757
+ STRING_TOO_SHORT: "STRING_TOO_SHORT",
758
+ STRING_TOO_LONG: "STRING_TOO_LONG",
759
+ // Network
760
+ NETWORK_ERROR: "NETWORK_ERROR",
761
+ CONNECTION_FAILED: "CONNECTION_FAILED",
762
+ NETWORK_CONNECTION_FAILED: "NETWORK_CONNECTION_FAILED",
763
+ NETWORK_OFFLINE: "NETWORK_OFFLINE",
764
+ NETWORK_DNS_FAILED: "NETWORK_DNS_FAILED",
765
+ NETWORK_TIMEOUT: "NETWORK_TIMEOUT",
766
+ NETWORK_PRESET_NOT_FOUND: "NETWORK_PRESET_NOT_FOUND",
767
+ NETWORK_CONFIGURATION_INVALID: "NETWORK_CONFIGURATION_INVALID",
768
+ // Server
769
+ SERVER_ERROR: "SERVER_ERROR",
770
+ INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR",
771
+ SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
772
+ // Cache
773
+ CACHE_READ_FAILED: "CACHE_READ_FAILED",
774
+ CACHE_WRITE_FAILED: "CACHE_WRITE_FAILED",
775
+ CACHE_INVALIDATION_FAILED: "CACHE_INVALIDATION_FAILED",
776
+ CACHE_STORAGE_FAILED: "CACHE_STORAGE_FAILED",
777
+ CACHE_RETRIEVAL_FAILED: "CACHE_RETRIEVAL_FAILED",
778
+ // Retry
779
+ RETRY_LIMIT_EXCEEDED: "RETRY_LIMIT_EXCEEDED",
780
+ RETRY_FAILED: "RETRY_FAILED",
781
+ RETRY_EXHAUSTED: "RETRY_EXHAUSTED",
782
+ RETRY_STRATEGY_INVALID: "RETRY_STRATEGY_INVALID",
783
+ // Strategy
784
+ STRATEGY_INVALID: "STRATEGY_INVALID",
785
+ STRATEGY_CONFLICT: "STRATEGY_CONFLICT",
786
+ STRATEGY_EXECUTION_FAILED: "STRATEGY_EXECUTION_FAILED",
787
+ // Headers
788
+ HEADERS_ENRICHMENT_FAILED: "HEADERS_ENRICHMENT_FAILED",
789
+ HEADERS_VALIDATION_FAILED: "HEADERS_VALIDATION_FAILED",
790
+ HEADERS_MERGE_CONFLICT: "HEADERS_MERGE_CONFLICT",
791
+ // Regional
792
+ REGION_DETECTION_FAILED: "REGION_DETECTION_FAILED",
793
+ REGIONAL_PRESET_NOT_FOUND: "REGIONAL_PRESET_NOT_FOUND",
794
+ // External Services
795
+ EXTERNAL_SERVICE_ERROR: "EXTERNAL_SERVICE_ERROR",
796
+ // Timeout (generic)
797
+ TIMEOUT: "TIMEOUT",
798
+ // Debugging
799
+ DEBUG_TRACKING_FAILED: "DEBUG_TRACKING_FAILED",
800
+ // Polling
801
+ POLLING_CANCELLED: "POLLING_CANCELLED",
802
+ POLLING_TIMEOUT: "POLLING_TIMEOUT",
803
+ POLLING_INVALID_CONFIG: "POLLING_INVALID_CONFIG",
804
+ // PubSub
805
+ PUBSUB_SUBSCRIPTION_FAILED: "PUBSUB_SUBSCRIPTION_FAILED",
806
+ PUBSUB_PUBLICATION_FAILED: "PUBSUB_PUBLICATION_FAILED",
807
+ PUBSUB_INVALID_TOPIC: "PUBSUB_INVALID_TOPIC",
808
+ PUBSUB_CHANNEL_ERROR: "PUBSUB_CHANNEL_ERROR",
809
+ // Revalidation
810
+ REVALIDATION_FAILED: "REVALIDATION_FAILED",
811
+ REVALIDATION_IN_PROGRESS: "REVALIDATION_IN_PROGRESS",
812
+ // Debugging
813
+ DEBUG_OVERRIDE_FAILED: "DEBUG_OVERRIDE_FAILED",
814
+ DEBUG_CONFLICT_DETECTED: "DEBUG_CONFLICT_DETECTED",
815
+ // Endpoint
816
+ ENDPOINT_BUILD_FAILED: "ENDPOINT_BUILD_FAILED",
817
+ ENDPOINT_NOT_FOUND: "ENDPOINT_NOT_FOUND",
818
+ ENDPOINT_INVALID_CONFIG: "ENDPOINT_INVALID_CONFIG",
819
+ // Event
820
+ EVENT_HANDLER_FAILED: "EVENT_HANDLER_FAILED",
821
+ EVENT_EMISSION_FAILED: "EVENT_EMISSION_FAILED",
822
+ MONITORING_FAILED: "MONITORING_FAILED",
823
+ // Context
824
+ CONTEXT_OPERATION_FAILED: "CONTEXT_OPERATION_FAILED",
825
+ // Generic
826
+ CLIENT_ERROR: "CLIENT_ERROR",
827
+ UNKNOWN_ERROR: "UNKNOWN_ERROR",
828
+ // ===== Notification Package Errors =====
829
+ // Provider
830
+ NOTIFICATION_PROVIDER_SEND_FAILED: "notification.provider.send.failed",
831
+ NOTIFICATION_PROVIDER_CONFIGURATION_INVALID: "notification.provider.configuration.invalid",
832
+ NOTIFICATION_PROVIDER_RATE_LIMIT: "notification.provider.rate.limit",
833
+ NOTIFICATION_PROVIDER_AUTH_FAILED: "notification.provider.auth.failed",
834
+ NOTIFICATION_PROVIDER_TIMEOUT: "notification.provider.timeout",
835
+ NOTIFICATION_PROVIDER_UNAVAILABLE: "notification.provider.unavailable",
836
+ NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED: "notification.provider.feature.not.supported",
837
+ NOTIFICATION_ALL_PROVIDERS_FAILED: "notification.all.providers.failed",
838
+ // Validation
839
+ NOTIFICATION_INVALID_INPUT: "notification.validation.input.invalid",
840
+ NOTIFICATION_INVALID_RECIPIENT: "notification.validation.recipient.invalid",
841
+ NOTIFICATION_INVALID_TEMPLATE: "notification.validation.template.invalid",
842
+ NOTIFICATION_INVALID_PAYLOAD: "notification.validation.payload.invalid",
843
+ NOTIFICATION_MISSING_REQUIRED_FIELD: "notification.validation.field.required",
844
+ NOTIFICATION_VALIDATION_FAILED: "notification.validation.failed",
845
+ // User Preferences
846
+ NOTIFICATION_USER_OPTED_OUT: "notification.user.opted.out",
847
+ // Queue
848
+ NOTIFICATION_QUEUE_FULL: "notification.queue.full",
849
+ NOTIFICATION_QUEUE_PROCESSING_FAILED: "notification.queue.processing.failed",
850
+ // Webhook
851
+ NOTIFICATION_WEBHOOK_SIGNATURE_INVALID: "notification.webhook.signature.invalid",
852
+ NOTIFICATION_WEBHOOK_VALIDATION_FAILED: "notification.webhook.validation.failed",
853
+ NOTIFICATION_WEBHOOK_PROCESSING_FAILED: "notification.webhook.processing.failed",
854
+ // Template
855
+ NOTIFICATION_TEMPLATE_NOT_FOUND: "notification.template.not.found",
856
+ NOTIFICATION_TEMPLATE_RENDER_FAILED: "notification.template.render.failed",
857
+ // General Notification
858
+ NOTIFICATION_UNKNOWN_ERROR: "notification.unknown.error",
859
+ NOTIFICATION_INITIALIZATION_FAILED: "notification.initialization.failed",
860
+ // ===== Errors Package Errors =====
861
+ ERROR_SYSTEM_NOT_INITIALIZED: "error.system.not.initialized",
862
+ EVENT_FACTORY_NOT_REGISTERED: "error.event.factory.not.registered"
863
+ };
864
+ var API_ERROR_CODES = {
865
+ CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
866
+ CLIENT_INVALID_CONFIG: ERROR_CODES.CLIENT_INVALID_CONFIG,
867
+ CLIENT_MISSING_BASE_URL: ERROR_CODES.CLIENT_MISSING_BASE_URL,
868
+ CLIENT_CANCELLED: ERROR_CODES.CLIENT_CANCELLED,
869
+ CONFIG_VALIDATION_FAILED: ERROR_CODES.CONFIG_VALIDATION_FAILED,
870
+ HEADER_PROCESSING_FAILED: ERROR_CODES.HEADER_PROCESSING_FAILED,
871
+ NETWORK_OVERRIDE_FAILED: ERROR_CODES.NETWORK_OVERRIDE_FAILED,
872
+ REQUEST_TIMEOUT: ERROR_CODES.REQUEST_TIMEOUT,
873
+ REQUEST_ABORTED: ERROR_CODES.REQUEST_ABORTED,
874
+ REQUEST_INVALID_PARAMS: ERROR_CODES.REQUEST_INVALID_PARAMS,
875
+ REQUEST_PREPARATION_FAILED: ERROR_CODES.REQUEST_PREPARATION_FAILED,
876
+ RESPONSE_INVALID_FORMAT: ERROR_CODES.RESPONSE_INVALID_FORMAT,
877
+ RESPONSE_PARSING_FAILED: ERROR_CODES.RESPONSE_PARSING_FAILED,
878
+ AUTH_UNAUTHORIZED: ERROR_CODES.AUTH_UNAUTHORIZED,
879
+ AUTH_FORBIDDEN: ERROR_CODES.AUTH_FORBIDDEN,
880
+ AUTH_TOKEN_EXPIRED: ERROR_CODES.AUTH_TOKEN_EXPIRED,
881
+ AUTH_INVALID_CREDENTIALS: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
882
+ RATE_LIMIT_EXCEEDED: ERROR_CODES.RATE_LIMIT_EXCEEDED,
883
+ RESOURCE_NOT_FOUND: ERROR_CODES.RESOURCE_NOT_FOUND,
884
+ RESOURCE_CONFLICT: ERROR_CODES.RESOURCE_CONFLICT,
885
+ VALIDATION_FAILED: ERROR_CODES.API_VALIDATION_FAILED,
886
+ INVALID_INPUT: ERROR_CODES.API_INVALID_INPUT,
887
+ VALIDATION_ERROR: ERROR_CODES.VALIDATION_ERROR,
888
+ REQUIRED_FIELD_MISSING: ERROR_CODES.REQUIRED_FIELD_MISSING,
889
+ INVALID_FORMAT: ERROR_CODES.INVALID_FORMAT,
890
+ VALIDATION_INVALID_FORMAT: ERROR_CODES.VALIDATION_INVALID_FORMAT,
891
+ STRING_TOO_SHORT: ERROR_CODES.STRING_TOO_SHORT,
892
+ STRING_TOO_LONG: ERROR_CODES.STRING_TOO_LONG,
893
+ NETWORK_ERROR: ERROR_CODES.NETWORK_ERROR,
894
+ CONNECTION_FAILED: ERROR_CODES.CONNECTION_FAILED,
895
+ NETWORK_CONNECTION_FAILED: ERROR_CODES.NETWORK_CONNECTION_FAILED,
896
+ NETWORK_OFFLINE: ERROR_CODES.NETWORK_OFFLINE,
897
+ NETWORK_DNS_FAILED: ERROR_CODES.NETWORK_DNS_FAILED,
898
+ NETWORK_TIMEOUT: ERROR_CODES.NETWORK_TIMEOUT,
899
+ NETWORK_CONFIGURATION_INVALID: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,
900
+ SERVER_ERROR: ERROR_CODES.SERVER_ERROR,
901
+ INTERNAL_SERVER_ERROR: ERROR_CODES.INTERNAL_SERVER_ERROR,
902
+ SERVICE_UNAVAILABLE: ERROR_CODES.SERVICE_UNAVAILABLE,
903
+ CACHE_READ_FAILED: ERROR_CODES.CACHE_READ_FAILED,
904
+ CACHE_WRITE_FAILED: ERROR_CODES.CACHE_WRITE_FAILED,
905
+ CACHE_INVALIDATION_FAILED: ERROR_CODES.CACHE_INVALIDATION_FAILED,
906
+ CACHE_STORAGE_FAILED: ERROR_CODES.CACHE_STORAGE_FAILED,
907
+ CACHE_RETRIEVAL_FAILED: ERROR_CODES.CACHE_RETRIEVAL_FAILED,
908
+ RETRY_LIMIT_EXCEEDED: ERROR_CODES.RETRY_LIMIT_EXCEEDED,
909
+ RETRY_FAILED: ERROR_CODES.RETRY_FAILED,
910
+ RETRY_EXHAUSTED: ERROR_CODES.RETRY_EXHAUSTED,
911
+ RETRY_STRATEGY_INVALID: ERROR_CODES.RETRY_STRATEGY_INVALID,
912
+ STRATEGY_INVALID: ERROR_CODES.STRATEGY_INVALID,
913
+ STRATEGY_CONFLICT: ERROR_CODES.STRATEGY_CONFLICT,
914
+ STRATEGY_EXECUTION_FAILED: ERROR_CODES.STRATEGY_EXECUTION_FAILED,
915
+ HEADERS_ENRICHMENT_FAILED: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
916
+ HEADERS_VALIDATION_FAILED: ERROR_CODES.HEADERS_VALIDATION_FAILED,
917
+ HEADERS_MERGE_CONFLICT: ERROR_CODES.HEADERS_MERGE_CONFLICT,
918
+ REGION_DETECTION_FAILED: ERROR_CODES.REGION_DETECTION_FAILED,
919
+ REGIONAL_PRESET_NOT_FOUND: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
920
+ EXTERNAL_SERVICE_ERROR: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
921
+ NETWORK_PRESET_NOT_FOUND: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,
922
+ TIMEOUT: ERROR_CODES.TIMEOUT,
923
+ DEBUG_TRACKING_FAILED: ERROR_CODES.DEBUG_TRACKING_FAILED,
924
+ DEBUG_OVERRIDE_FAILED: ERROR_CODES.DEBUG_OVERRIDE_FAILED,
925
+ DEBUG_CONFLICT_DETECTED: ERROR_CODES.DEBUG_CONFLICT_DETECTED,
926
+ POLLING_CANCELLED: ERROR_CODES.POLLING_CANCELLED,
927
+ POLLING_TIMEOUT: ERROR_CODES.POLLING_TIMEOUT,
928
+ POLLING_INVALID_CONFIG: ERROR_CODES.POLLING_INVALID_CONFIG,
929
+ PUBSUB_SUBSCRIPTION_FAILED: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,
930
+ PUBSUB_PUBLICATION_FAILED: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,
931
+ PUBSUB_INVALID_TOPIC: ERROR_CODES.PUBSUB_INVALID_TOPIC,
932
+ PUBSUB_CHANNEL_ERROR: ERROR_CODES.PUBSUB_CHANNEL_ERROR,
933
+ REVALIDATION_FAILED: ERROR_CODES.REVALIDATION_FAILED,
934
+ REVALIDATION_IN_PROGRESS: ERROR_CODES.REVALIDATION_IN_PROGRESS,
935
+ ENDPOINT_BUILD_FAILED: ERROR_CODES.ENDPOINT_BUILD_FAILED,
936
+ ENDPOINT_NOT_FOUND: ERROR_CODES.ENDPOINT_NOT_FOUND,
937
+ ENDPOINT_INVALID_CONFIG: ERROR_CODES.ENDPOINT_INVALID_CONFIG,
938
+ EVENT_HANDLER_FAILED: ERROR_CODES.EVENT_HANDLER_FAILED,
939
+ EVENT_EMISSION_FAILED: ERROR_CODES.EVENT_EMISSION_FAILED,
940
+ MONITORING_FAILED: ERROR_CODES.MONITORING_FAILED,
941
+ CONTEXT_OPERATION_FAILED: ERROR_CODES.CONTEXT_OPERATION_FAILED,
942
+ CLIENT_ERROR: ERROR_CODES.CLIENT_ERROR,
943
+ UNKNOWN_ERROR: ERROR_CODES.UNKNOWN_ERROR
944
+ };
945
+ var ERROR_DEFINITIONS = {
946
+ // ===== API Package Error Definitions =====
947
+ // Authentication
948
+ [ERROR_CODES.AUTH_UNAUTHORIZED]: {
949
+ code: ERROR_CODES.AUTH_UNAUTHORIZED,
950
+ status: HTTP_STATUS.UNAUTHORIZED,
951
+ category: ERROR_CATEGORY.Authentication,
952
+ userMessage: "errors.auth.unauthorized",
953
+ severity: ERROR_SEVERITY.Medium,
954
+ retryable: false
955
+ },
956
+ [ERROR_CODES.AUTH_FORBIDDEN]: {
957
+ code: ERROR_CODES.AUTH_FORBIDDEN,
958
+ status: HTTP_STATUS.FORBIDDEN,
959
+ category: ERROR_CATEGORY.Authorization,
960
+ userMessage: "errors.auth.forbidden",
961
+ severity: ERROR_SEVERITY.Medium,
962
+ retryable: false
963
+ },
964
+ [ERROR_CODES.AUTH_TOKEN_EXPIRED]: {
965
+ code: ERROR_CODES.AUTH_TOKEN_EXPIRED,
966
+ status: HTTP_STATUS.UNAUTHORIZED,
967
+ category: ERROR_CATEGORY.Authentication,
968
+ userMessage: "errors.auth.token_expired",
969
+ severity: ERROR_SEVERITY.Medium,
970
+ retryable: false
971
+ },
972
+ [ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {
973
+ code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
974
+ status: HTTP_STATUS.UNAUTHORIZED,
975
+ category: ERROR_CATEGORY.Authentication,
976
+ userMessage: "errors.auth.invalid_credentials",
977
+ severity: ERROR_SEVERITY.Medium,
978
+ retryable: false
979
+ },
980
+ // Rate Limiting
981
+ [ERROR_CODES.RATE_LIMIT_EXCEEDED]: {
982
+ code: ERROR_CODES.RATE_LIMIT_EXCEEDED,
983
+ status: HTTP_STATUS.TOO_MANY_REQUESTS,
984
+ category: ERROR_CATEGORY.RateLimit,
985
+ userMessage: "errors.rate_limit.exceeded",
986
+ severity: ERROR_SEVERITY.Medium,
987
+ retryable: true
988
+ },
989
+ // Resources
990
+ [ERROR_CODES.RESOURCE_NOT_FOUND]: {
991
+ code: ERROR_CODES.RESOURCE_NOT_FOUND,
992
+ status: HTTP_STATUS.NOT_FOUND,
993
+ category: ERROR_CATEGORY.NotFound,
994
+ userMessage: "errors.resource.not_found",
995
+ severity: ERROR_SEVERITY.Medium,
996
+ retryable: false
997
+ },
998
+ [ERROR_CODES.RESOURCE_CONFLICT]: {
999
+ code: ERROR_CODES.RESOURCE_CONFLICT,
1000
+ status: HTTP_STATUS.CONFLICT,
1001
+ category: ERROR_CATEGORY.Conflict,
1002
+ userMessage: "errors.resource.conflict",
1003
+ severity: ERROR_SEVERITY.Medium,
1004
+ retryable: false
1005
+ },
1006
+ // Validation
1007
+ [ERROR_CODES.API_VALIDATION_FAILED]: {
1008
+ code: ERROR_CODES.API_VALIDATION_FAILED,
1009
+ status: HTTP_STATUS.BAD_REQUEST,
1010
+ category: ERROR_CATEGORY.Validation,
1011
+ userMessage: "errors.validation.failed",
1012
+ severity: ERROR_SEVERITY.Medium,
1013
+ retryable: false
1014
+ },
1015
+ [ERROR_CODES.API_INVALID_INPUT]: {
1016
+ code: ERROR_CODES.API_INVALID_INPUT,
1017
+ status: HTTP_STATUS.BAD_REQUEST,
1018
+ category: ERROR_CATEGORY.Validation,
1019
+ userMessage: "errors.validation.invalid_input",
1020
+ severity: ERROR_SEVERITY.Medium,
1021
+ retryable: false
1022
+ },
1023
+ [ERROR_CODES.VALIDATION_ERROR]: {
1024
+ code: ERROR_CODES.VALIDATION_ERROR,
1025
+ status: HTTP_STATUS.BAD_REQUEST,
1026
+ category: ERROR_CATEGORY.Validation,
1027
+ userMessage: "errors.validation.error",
1028
+ severity: ERROR_SEVERITY.Medium,
1029
+ retryable: false
1030
+ },
1031
+ [ERROR_CODES.REQUIRED_FIELD_MISSING]: {
1032
+ code: ERROR_CODES.REQUIRED_FIELD_MISSING,
1033
+ status: HTTP_STATUS.BAD_REQUEST,
1034
+ category: ERROR_CATEGORY.Validation,
1035
+ userMessage: "errors.validation.required_field_missing",
1036
+ severity: ERROR_SEVERITY.Medium,
1037
+ retryable: false
1038
+ },
1039
+ [ERROR_CODES.INVALID_FORMAT]: {
1040
+ code: ERROR_CODES.INVALID_FORMAT,
1041
+ status: HTTP_STATUS.BAD_REQUEST,
1042
+ category: ERROR_CATEGORY.Validation,
1043
+ userMessage: "errors.validation.invalid_format",
1044
+ severity: ERROR_SEVERITY.Medium,
1045
+ retryable: false
1046
+ },
1047
+ [ERROR_CODES.VALIDATION_INVALID_FORMAT]: {
1048
+ code: ERROR_CODES.VALIDATION_INVALID_FORMAT,
1049
+ status: HTTP_STATUS.BAD_REQUEST,
1050
+ category: ERROR_CATEGORY.Validation,
1051
+ userMessage: "errors.validation.invalid_format",
1052
+ severity: ERROR_SEVERITY.Medium,
1053
+ retryable: false
1054
+ },
1055
+ [ERROR_CODES.STRING_TOO_SHORT]: {
1056
+ code: ERROR_CODES.STRING_TOO_SHORT,
1057
+ status: HTTP_STATUS.BAD_REQUEST,
1058
+ category: ERROR_CATEGORY.Validation,
1059
+ userMessage: "errors.validation.string_too_short",
1060
+ severity: ERROR_SEVERITY.Medium,
1061
+ retryable: false
1062
+ },
1063
+ [ERROR_CODES.STRING_TOO_LONG]: {
1064
+ code: ERROR_CODES.STRING_TOO_LONG,
1065
+ status: HTTP_STATUS.BAD_REQUEST,
1066
+ category: ERROR_CATEGORY.Validation,
1067
+ userMessage: "errors.validation.string_too_long",
1068
+ severity: ERROR_SEVERITY.Medium,
1069
+ retryable: false
1070
+ },
1071
+ // Network
1072
+ [ERROR_CODES.NETWORK_ERROR]: {
1073
+ code: ERROR_CODES.NETWORK_ERROR,
1074
+ status: HTTP_STATUS.BAD_GATEWAY,
1075
+ category: ERROR_CATEGORY.Network,
1076
+ userMessage: "errors.network.error",
1077
+ severity: ERROR_SEVERITY.High,
1078
+ retryable: true
1079
+ },
1080
+ [ERROR_CODES.CONNECTION_FAILED]: {
1081
+ code: ERROR_CODES.CONNECTION_FAILED,
1082
+ status: 0,
1083
+ category: ERROR_CATEGORY.Network,
1084
+ userMessage: "errors.network.connection_failed",
1085
+ severity: ERROR_SEVERITY.High,
1086
+ retryable: true
1087
+ },
1088
+ [ERROR_CODES.NETWORK_CONNECTION_FAILED]: {
1089
+ code: ERROR_CODES.NETWORK_CONNECTION_FAILED,
1090
+ status: 0,
1091
+ category: ERROR_CATEGORY.Network,
1092
+ userMessage: "errors.network.connection_failed",
1093
+ severity: ERROR_SEVERITY.High,
1094
+ retryable: true
1095
+ },
1096
+ [ERROR_CODES.NETWORK_OFFLINE]: {
1097
+ code: ERROR_CODES.NETWORK_OFFLINE,
1098
+ status: 0,
1099
+ category: ERROR_CATEGORY.Network,
1100
+ userMessage: "errors.network.offline",
1101
+ severity: ERROR_SEVERITY.High,
1102
+ retryable: true
1103
+ },
1104
+ [ERROR_CODES.NETWORK_DNS_FAILED]: {
1105
+ code: ERROR_CODES.NETWORK_DNS_FAILED,
1106
+ status: 0,
1107
+ category: ERROR_CATEGORY.Network,
1108
+ userMessage: "errors.network.dns_failed",
1109
+ severity: ERROR_SEVERITY.High,
1110
+ retryable: true
1111
+ },
1112
+ [ERROR_CODES.NETWORK_TIMEOUT]: {
1113
+ code: ERROR_CODES.NETWORK_TIMEOUT,
1114
+ status: 0,
1115
+ category: ERROR_CATEGORY.Network,
1116
+ userMessage: "errors.network.timeout",
1117
+ severity: ERROR_SEVERITY.High,
1118
+ retryable: true
1119
+ },
1120
+ [ERROR_CODES.NETWORK_CONFIGURATION_INVALID]: {
1121
+ code: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,
1122
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1123
+ category: ERROR_CATEGORY.Configuration,
1124
+ userMessage: "errors.network.configuration_invalid",
1125
+ severity: ERROR_SEVERITY.Critical,
1126
+ retryable: true
1127
+ },
1128
+ [ERROR_CODES.NETWORK_PRESET_NOT_FOUND]: {
1129
+ code: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,
1130
+ status: HTTP_STATUS.NOT_FOUND,
1131
+ category: ERROR_CATEGORY.Configuration,
1132
+ userMessage: "errors.network.preset_not_found",
1133
+ severity: ERROR_SEVERITY.High,
1134
+ retryable: true
1135
+ },
1136
+ // Server
1137
+ [ERROR_CODES.SERVER_ERROR]: {
1138
+ code: ERROR_CODES.SERVER_ERROR,
1139
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1140
+ category: ERROR_CATEGORY.Server,
1141
+ userMessage: "errors.server.error",
1142
+ severity: ERROR_SEVERITY.High,
1143
+ retryable: false
1144
+ },
1145
+ [ERROR_CODES.INTERNAL_SERVER_ERROR]: {
1146
+ code: ERROR_CODES.INTERNAL_SERVER_ERROR,
1147
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1148
+ category: ERROR_CATEGORY.Server,
1149
+ userMessage: "errors.server.internal_error",
1150
+ severity: ERROR_SEVERITY.High,
1151
+ retryable: false
1152
+ },
1153
+ [ERROR_CODES.SERVICE_UNAVAILABLE]: {
1154
+ code: ERROR_CODES.SERVICE_UNAVAILABLE,
1155
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1156
+ category: ERROR_CATEGORY.Server,
1157
+ userMessage: "errors.server.service_unavailable",
1158
+ severity: ERROR_SEVERITY.Medium,
1159
+ retryable: true
1160
+ },
1161
+ // Cache
1162
+ [ERROR_CODES.CACHE_READ_FAILED]: {
1163
+ code: ERROR_CODES.CACHE_READ_FAILED,
1164
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1165
+ category: ERROR_CATEGORY.Cache,
1166
+ userMessage: "errors.cache.read_failed",
1167
+ severity: ERROR_SEVERITY.Medium,
1168
+ retryable: false
1169
+ },
1170
+ [ERROR_CODES.CACHE_WRITE_FAILED]: {
1171
+ code: ERROR_CODES.CACHE_WRITE_FAILED,
1172
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1173
+ category: ERROR_CATEGORY.Cache,
1174
+ userMessage: "errors.cache.write_failed",
1175
+ severity: ERROR_SEVERITY.Medium,
1176
+ retryable: false
1177
+ },
1178
+ [ERROR_CODES.CACHE_INVALIDATION_FAILED]: {
1179
+ code: ERROR_CODES.CACHE_INVALIDATION_FAILED,
1180
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1181
+ category: ERROR_CATEGORY.Cache,
1182
+ userMessage: "errors.cache.invalidation_failed",
1183
+ severity: ERROR_SEVERITY.Medium,
1184
+ retryable: false
1185
+ },
1186
+ [ERROR_CODES.CACHE_STORAGE_FAILED]: {
1187
+ code: ERROR_CODES.CACHE_STORAGE_FAILED,
1188
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1189
+ category: ERROR_CATEGORY.Cache,
1190
+ userMessage: "errors.cache.storage_failed",
1191
+ severity: ERROR_SEVERITY.Medium,
1192
+ retryable: false
1193
+ },
1194
+ [ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {
1195
+ code: ERROR_CODES.CACHE_RETRIEVAL_FAILED,
1196
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1197
+ category: ERROR_CATEGORY.Cache,
1198
+ userMessage: "errors.cache.retrieval_failed",
1199
+ severity: ERROR_SEVERITY.Medium,
1200
+ retryable: false
1201
+ },
1202
+ // Retry
1203
+ [ERROR_CODES.RETRY_LIMIT_EXCEEDED]: {
1204
+ code: ERROR_CODES.RETRY_LIMIT_EXCEEDED,
1205
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1206
+ category: ERROR_CATEGORY.Retry,
1207
+ userMessage: "errors.retry.limit_exceeded",
1208
+ severity: ERROR_SEVERITY.Medium,
1209
+ retryable: true
1210
+ },
1211
+ [ERROR_CODES.RETRY_FAILED]: {
1212
+ code: ERROR_CODES.RETRY_FAILED,
1213
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1214
+ category: ERROR_CATEGORY.Retry,
1215
+ userMessage: "errors.retry.failed",
1216
+ severity: ERROR_SEVERITY.Medium,
1217
+ retryable: true
1218
+ },
1219
+ [ERROR_CODES.RETRY_EXHAUSTED]: {
1220
+ code: ERROR_CODES.RETRY_EXHAUSTED,
1221
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1222
+ category: ERROR_CATEGORY.Retry,
1223
+ userMessage: "errors.retry.exhausted",
1224
+ severity: ERROR_SEVERITY.Medium,
1225
+ retryable: true
1226
+ },
1227
+ [ERROR_CODES.RETRY_STRATEGY_INVALID]: {
1228
+ code: ERROR_CODES.RETRY_STRATEGY_INVALID,
1229
+ status: HTTP_STATUS.BAD_REQUEST,
1230
+ category: ERROR_CATEGORY.Configuration,
1231
+ userMessage: "errors.retry.strategy_invalid",
1232
+ severity: ERROR_SEVERITY.Medium,
1233
+ retryable: true
1234
+ },
1235
+ // Strategy
1236
+ [ERROR_CODES.STRATEGY_INVALID]: {
1237
+ code: ERROR_CODES.STRATEGY_INVALID,
1238
+ status: HTTP_STATUS.BAD_REQUEST,
1239
+ category: ERROR_CATEGORY.Configuration,
1240
+ userMessage: "errors.strategy.invalid",
1241
+ severity: ERROR_SEVERITY.Medium,
1242
+ retryable: false
1243
+ },
1244
+ [ERROR_CODES.STRATEGY_CONFLICT]: {
1245
+ code: ERROR_CODES.STRATEGY_CONFLICT,
1246
+ status: HTTP_STATUS.CONFLICT,
1247
+ category: ERROR_CATEGORY.Configuration,
1248
+ userMessage: "errors.strategy.conflict",
1249
+ severity: ERROR_SEVERITY.Medium,
1250
+ retryable: false
1251
+ },
1252
+ [ERROR_CODES.STRATEGY_EXECUTION_FAILED]: {
1253
+ code: ERROR_CODES.STRATEGY_EXECUTION_FAILED,
1254
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1255
+ category: ERROR_CATEGORY.Configuration,
1256
+ userMessage: "errors.strategy.execution_failed",
1257
+ severity: ERROR_SEVERITY.Medium,
1258
+ retryable: false
1259
+ },
1260
+ // Headers
1261
+ [ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {
1262
+ code: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
1263
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1264
+ category: ERROR_CATEGORY.Headers,
1265
+ userMessage: "errors.headers.enrichment_failed",
1266
+ severity: ERROR_SEVERITY.Medium,
1267
+ retryable: false
1268
+ },
1269
+ [ERROR_CODES.HEADERS_VALIDATION_FAILED]: {
1270
+ code: ERROR_CODES.HEADERS_VALIDATION_FAILED,
1271
+ status: HTTP_STATUS.BAD_REQUEST,
1272
+ category: ERROR_CATEGORY.Headers,
1273
+ userMessage: "errors.headers.validation_failed",
1274
+ severity: ERROR_SEVERITY.Medium,
1275
+ retryable: false
1276
+ },
1277
+ [ERROR_CODES.HEADERS_MERGE_CONFLICT]: {
1278
+ code: ERROR_CODES.HEADERS_MERGE_CONFLICT,
1279
+ status: HTTP_STATUS.CONFLICT,
1280
+ category: ERROR_CATEGORY.Headers,
1281
+ userMessage: "errors.headers.merge_conflict",
1282
+ severity: ERROR_SEVERITY.Medium,
1283
+ retryable: false
1284
+ },
1285
+ // Regional
1286
+ [ERROR_CODES.REGION_DETECTION_FAILED]: {
1287
+ code: ERROR_CODES.REGION_DETECTION_FAILED,
1288
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1289
+ category: ERROR_CATEGORY.Network,
1290
+ userMessage: "errors.regional.detection_failed",
1291
+ severity: ERROR_SEVERITY.Medium,
1292
+ retryable: false
1293
+ },
1294
+ [ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {
1295
+ code: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
1296
+ status: HTTP_STATUS.NOT_FOUND,
1297
+ category: ERROR_CATEGORY.Configuration,
1298
+ userMessage: "errors.regional.preset_not_found",
1299
+ severity: ERROR_SEVERITY.Medium,
1300
+ retryable: false
1301
+ },
1302
+ // External Services
1303
+ [ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {
1304
+ code: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
1305
+ status: HTTP_STATUS.BAD_GATEWAY,
1306
+ category: ERROR_CATEGORY.Server,
1307
+ userMessage: "errors.external.service_error",
1308
+ severity: ERROR_SEVERITY.Medium,
1309
+ retryable: false
1310
+ },
1311
+ // Timeout
1312
+ [ERROR_CODES.TIMEOUT]: {
1313
+ code: ERROR_CODES.TIMEOUT,
1314
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
1315
+ category: ERROR_CATEGORY.Timeout,
1316
+ userMessage: "errors.timeout.generic",
1317
+ severity: ERROR_SEVERITY.High,
1318
+ retryable: true
1319
+ },
1320
+ // Debugging
1321
+ [ERROR_CODES.DEBUG_TRACKING_FAILED]: {
1322
+ code: ERROR_CODES.DEBUG_TRACKING_FAILED,
1323
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1324
+ category: ERROR_CATEGORY.Client,
1325
+ userMessage: "errors.debug.tracking_failed",
1326
+ severity: ERROR_SEVERITY.Medium,
1327
+ retryable: false
1328
+ },
1329
+ [ERROR_CODES.DEBUG_OVERRIDE_FAILED]: {
1330
+ code: ERROR_CODES.DEBUG_OVERRIDE_FAILED,
1331
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1332
+ category: ERROR_CATEGORY.Configuration,
1333
+ userMessage: "errors.debug.override_failed",
1334
+ severity: ERROR_SEVERITY.Medium,
1335
+ retryable: false
1336
+ },
1337
+ [ERROR_CODES.DEBUG_CONFLICT_DETECTED]: {
1338
+ code: ERROR_CODES.DEBUG_CONFLICT_DETECTED,
1339
+ status: HTTP_STATUS.CONFLICT,
1340
+ category: ERROR_CATEGORY.Configuration,
1341
+ userMessage: "errors.debug.conflict_detected",
1342
+ severity: ERROR_SEVERITY.Medium,
1343
+ retryable: false
1344
+ },
1345
+ // Endpoint
1346
+ [ERROR_CODES.ENDPOINT_BUILD_FAILED]: {
1347
+ code: ERROR_CODES.ENDPOINT_BUILD_FAILED,
1348
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1349
+ category: ERROR_CATEGORY.Configuration,
1350
+ userMessage: "errors.endpoint.build_failed",
1351
+ severity: ERROR_SEVERITY.Medium,
1352
+ retryable: false
1353
+ },
1354
+ [ERROR_CODES.ENDPOINT_NOT_FOUND]: {
1355
+ code: ERROR_CODES.ENDPOINT_NOT_FOUND,
1356
+ status: HTTP_STATUS.NOT_FOUND,
1357
+ category: ERROR_CATEGORY.NotFound,
1358
+ userMessage: "errors.endpoint.not_found",
1359
+ severity: ERROR_SEVERITY.Medium,
1360
+ retryable: false
1361
+ },
1362
+ [ERROR_CODES.ENDPOINT_INVALID_CONFIG]: {
1363
+ code: ERROR_CODES.ENDPOINT_INVALID_CONFIG,
1364
+ status: HTTP_STATUS.BAD_REQUEST,
1365
+ category: ERROR_CATEGORY.Configuration,
1366
+ userMessage: "errors.endpoint.invalid_config",
1367
+ severity: ERROR_SEVERITY.Critical,
1368
+ retryable: false
1369
+ },
1370
+ // Event
1371
+ [ERROR_CODES.EVENT_HANDLER_FAILED]: {
1372
+ code: ERROR_CODES.EVENT_HANDLER_FAILED,
1373
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1374
+ category: ERROR_CATEGORY.Client,
1375
+ userMessage: "errors.event.handler_failed",
1376
+ severity: ERROR_SEVERITY.Medium,
1377
+ retryable: false
1378
+ },
1379
+ [ERROR_CODES.EVENT_EMISSION_FAILED]: {
1380
+ code: ERROR_CODES.EVENT_EMISSION_FAILED,
1381
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1382
+ category: ERROR_CATEGORY.Client,
1383
+ userMessage: "errors.event.emission_failed",
1384
+ severity: ERROR_SEVERITY.Medium,
1385
+ retryable: false
1386
+ },
1387
+ [ERROR_CODES.MONITORING_FAILED]: {
1388
+ code: ERROR_CODES.MONITORING_FAILED,
1389
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1390
+ category: ERROR_CATEGORY.Client,
1391
+ userMessage: "errors.monitoring.failed",
1392
+ severity: ERROR_SEVERITY.Medium,
1393
+ retryable: false
1394
+ },
1395
+ // Polling
1396
+ [ERROR_CODES.POLLING_CANCELLED]: {
1397
+ code: ERROR_CODES.POLLING_CANCELLED,
1398
+ status: 0,
1399
+ category: ERROR_CATEGORY.Client,
1400
+ userMessage: "errors.polling.cancelled",
1401
+ severity: ERROR_SEVERITY.Low,
1402
+ retryable: false
1403
+ },
1404
+ [ERROR_CODES.POLLING_TIMEOUT]: {
1405
+ code: ERROR_CODES.POLLING_TIMEOUT,
1406
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
1407
+ category: ERROR_CATEGORY.Timeout,
1408
+ userMessage: "errors.polling.timeout",
1409
+ severity: ERROR_SEVERITY.High,
1410
+ retryable: true
1411
+ },
1412
+ [ERROR_CODES.POLLING_INVALID_CONFIG]: {
1413
+ code: ERROR_CODES.POLLING_INVALID_CONFIG,
1414
+ status: HTTP_STATUS.BAD_REQUEST,
1415
+ category: ERROR_CATEGORY.Configuration,
1416
+ userMessage: "errors.polling.invalid_config",
1417
+ severity: ERROR_SEVERITY.Critical,
1418
+ retryable: false
1419
+ },
1420
+ // PubSub
1421
+ [ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED]: {
1422
+ code: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,
1423
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1424
+ category: ERROR_CATEGORY.Client,
1425
+ userMessage: "errors.pubsub.subscription_failed",
1426
+ severity: ERROR_SEVERITY.Medium,
1427
+ retryable: false
1428
+ },
1429
+ [ERROR_CODES.PUBSUB_PUBLICATION_FAILED]: {
1430
+ code: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,
1431
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1432
+ category: ERROR_CATEGORY.Client,
1433
+ userMessage: "errors.pubsub.publication_failed",
1434
+ severity: ERROR_SEVERITY.Medium,
1435
+ retryable: false
1436
+ },
1437
+ [ERROR_CODES.PUBSUB_INVALID_TOPIC]: {
1438
+ code: ERROR_CODES.PUBSUB_INVALID_TOPIC,
1439
+ status: HTTP_STATUS.BAD_REQUEST,
1440
+ category: ERROR_CATEGORY.Validation,
1441
+ userMessage: "errors.pubsub.invalid_topic",
1442
+ severity: ERROR_SEVERITY.Medium,
1443
+ retryable: false
1444
+ },
1445
+ [ERROR_CODES.PUBSUB_CHANNEL_ERROR]: {
1446
+ code: ERROR_CODES.PUBSUB_CHANNEL_ERROR,
1447
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1448
+ category: ERROR_CATEGORY.Client,
1449
+ userMessage: "errors.pubsub.channel_error",
1450
+ severity: ERROR_SEVERITY.Medium,
1451
+ retryable: false
1452
+ },
1453
+ // Revalidation
1454
+ [ERROR_CODES.REVALIDATION_FAILED]: {
1455
+ code: ERROR_CODES.REVALIDATION_FAILED,
1456
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1457
+ category: ERROR_CATEGORY.Cache,
1458
+ userMessage: "errors.revalidation.failed",
1459
+ severity: ERROR_SEVERITY.Medium,
1460
+ retryable: false
1461
+ },
1462
+ [ERROR_CODES.REVALIDATION_IN_PROGRESS]: {
1463
+ code: ERROR_CODES.REVALIDATION_IN_PROGRESS,
1464
+ status: HTTP_STATUS.CONFLICT,
1465
+ category: ERROR_CATEGORY.Cache,
1466
+ userMessage: "errors.revalidation.in_progress",
1467
+ severity: ERROR_SEVERITY.Medium,
1468
+ retryable: false
1469
+ },
1470
+ // Context
1471
+ [ERROR_CODES.CONTEXT_OPERATION_FAILED]: {
1472
+ code: ERROR_CODES.CONTEXT_OPERATION_FAILED,
1473
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1474
+ category: ERROR_CATEGORY.Client,
1475
+ userMessage: "errors.context.operation_failed",
1476
+ severity: ERROR_SEVERITY.Medium,
1477
+ retryable: false
1478
+ },
1479
+ // Request
1480
+ [ERROR_CODES.REQUEST_TIMEOUT]: {
1481
+ code: ERROR_CODES.REQUEST_TIMEOUT,
1482
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
1483
+ category: ERROR_CATEGORY.Timeout,
1484
+ userMessage: "errors.request.timeout",
1485
+ severity: ERROR_SEVERITY.High,
1486
+ retryable: true
1487
+ },
1488
+ [ERROR_CODES.REQUEST_ABORTED]: {
1489
+ code: ERROR_CODES.REQUEST_ABORTED,
1490
+ status: 0,
1491
+ category: ERROR_CATEGORY.Client,
1492
+ userMessage: "errors.request.aborted",
1493
+ severity: ERROR_SEVERITY.Medium,
1494
+ retryable: true
1495
+ },
1496
+ [ERROR_CODES.REQUEST_INVALID_PARAMS]: {
1497
+ code: ERROR_CODES.REQUEST_INVALID_PARAMS,
1498
+ status: HTTP_STATUS.BAD_REQUEST,
1499
+ category: ERROR_CATEGORY.Validation,
1500
+ userMessage: "errors.request.invalid_params",
1501
+ severity: ERROR_SEVERITY.Medium,
1502
+ retryable: false
1503
+ },
1504
+ [ERROR_CODES.REQUEST_PREPARATION_FAILED]: {
1505
+ code: ERROR_CODES.REQUEST_PREPARATION_FAILED,
1506
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1507
+ category: ERROR_CATEGORY.Client,
1508
+ userMessage: "errors.request.preparation_failed",
1509
+ severity: ERROR_SEVERITY.Medium,
1510
+ retryable: false
1511
+ },
1512
+ // Response
1513
+ [ERROR_CODES.RESPONSE_INVALID_FORMAT]: {
1514
+ code: ERROR_CODES.RESPONSE_INVALID_FORMAT,
1515
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1516
+ category: ERROR_CATEGORY.Server,
1517
+ userMessage: "errors.response.invalid_format",
1518
+ severity: ERROR_SEVERITY.Medium,
1519
+ retryable: false
1520
+ },
1521
+ [ERROR_CODES.RESPONSE_PARSING_FAILED]: {
1522
+ code: ERROR_CODES.RESPONSE_PARSING_FAILED,
1523
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1524
+ category: ERROR_CATEGORY.Server,
1525
+ userMessage: "errors.response.parsing_failed",
1526
+ severity: ERROR_SEVERITY.Medium,
1527
+ retryable: false
1528
+ },
1529
+ // Client
1530
+ [ERROR_CODES.CLIENT_ERROR]: {
1531
+ code: ERROR_CODES.CLIENT_ERROR,
1532
+ status: HTTP_STATUS.BAD_REQUEST,
1533
+ category: ERROR_CATEGORY.Client,
1534
+ userMessage: "errors.client.error",
1535
+ severity: ERROR_SEVERITY.Medium,
1536
+ retryable: false
1537
+ },
1538
+ [ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {
1539
+ code: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
1540
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1541
+ category: ERROR_CATEGORY.Client,
1542
+ userMessage: "errors.client.initialization_failed",
1543
+ severity: ERROR_SEVERITY.Medium,
1544
+ retryable: false
1545
+ },
1546
+ [ERROR_CODES.CLIENT_INVALID_CONFIG]: {
1547
+ code: ERROR_CODES.CLIENT_INVALID_CONFIG,
1548
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1549
+ category: ERROR_CATEGORY.Client,
1550
+ userMessage: "errors.client.invalid_config",
1551
+ severity: ERROR_SEVERITY.Critical,
1552
+ retryable: false
1553
+ },
1554
+ [ERROR_CODES.CLIENT_MISSING_BASE_URL]: {
1555
+ code: ERROR_CODES.CLIENT_MISSING_BASE_URL,
1556
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1557
+ category: ERROR_CATEGORY.Configuration,
1558
+ userMessage: "errors.client.missing_base_url",
1559
+ severity: ERROR_SEVERITY.Critical,
1560
+ retryable: false
1561
+ },
1562
+ [ERROR_CODES.CLIENT_CANCELLED]: {
1563
+ code: ERROR_CODES.CLIENT_CANCELLED,
1564
+ status: 0,
1565
+ category: ERROR_CATEGORY.Client,
1566
+ userMessage: "errors.client.cancelled",
1567
+ severity: ERROR_SEVERITY.Low,
1568
+ retryable: true
1569
+ },
1570
+ // Configuration
1571
+ [ERROR_CODES.CONFIG_VALIDATION_FAILED]: {
1572
+ code: ERROR_CODES.CONFIG_VALIDATION_FAILED,
1573
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1574
+ category: ERROR_CATEGORY.Configuration,
1575
+ userMessage: "errors.config.validation_failed",
1576
+ severity: ERROR_SEVERITY.Critical,
1577
+ retryable: false
1578
+ },
1579
+ [ERROR_CODES.HEADER_PROCESSING_FAILED]: {
1580
+ code: ERROR_CODES.HEADER_PROCESSING_FAILED,
1581
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1582
+ category: ERROR_CATEGORY.Headers,
1583
+ userMessage: "errors.headers.processing_failed",
1584
+ severity: ERROR_SEVERITY.Medium,
1585
+ retryable: false
1586
+ },
1587
+ [ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {
1588
+ code: ERROR_CODES.NETWORK_OVERRIDE_FAILED,
1589
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1590
+ category: ERROR_CATEGORY.Network,
1591
+ userMessage: "errors.network.override_failed",
1592
+ severity: ERROR_SEVERITY.High,
1593
+ retryable: true
1594
+ },
1595
+ // Generic
1596
+ [ERROR_CODES.UNKNOWN_ERROR]: {
1597
+ code: ERROR_CODES.UNKNOWN_ERROR,
1598
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1599
+ category: ERROR_CATEGORY.Unknown,
1600
+ userMessage: "errors.unknown",
1601
+ severity: ERROR_SEVERITY.Medium,
1602
+ retryable: false
1603
+ },
1604
+ // ===== Notification Package Error Definitions =====
1605
+ // Provider errors (retryable)
1606
+ [ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED]: {
1607
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,
1608
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1609
+ category: ERROR_CATEGORY.Provider,
1610
+ severity: ERROR_SEVERITY.High,
1611
+ retryable: true,
1612
+ userMessage: "errors.notification.provider.send_failed"
1613
+ },
1614
+ [ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID]: {
1615
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,
1616
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1617
+ category: ERROR_CATEGORY.Configuration,
1618
+ severity: ERROR_SEVERITY.Critical,
1619
+ retryable: false,
1620
+ userMessage: "errors.notification.provider.configuration_invalid"
1621
+ },
1622
+ [ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT]: {
1623
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,
1624
+ status: HTTP_STATUS.TOO_MANY_REQUESTS,
1625
+ category: ERROR_CATEGORY.RateLimit,
1626
+ severity: ERROR_SEVERITY.Medium,
1627
+ retryable: true,
1628
+ userMessage: "errors.notification.provider.rate_limit"
1629
+ },
1630
+ [ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED]: {
1631
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,
1632
+ status: HTTP_STATUS.UNAUTHORIZED,
1633
+ category: ERROR_CATEGORY.Provider,
1634
+ severity: ERROR_SEVERITY.Critical,
1635
+ retryable: false,
1636
+ userMessage: "errors.notification.provider.auth_failed"
1637
+ },
1638
+ [ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT]: {
1639
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,
1640
+ status: HTTP_STATUS.GATEWAY_TIMEOUT,
1641
+ category: ERROR_CATEGORY.Network,
1642
+ severity: ERROR_SEVERITY.Medium,
1643
+ retryable: true,
1644
+ userMessage: "errors.notification.provider.timeout"
1645
+ },
1646
+ [ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE]: {
1647
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,
1648
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1649
+ category: ERROR_CATEGORY.Provider,
1650
+ severity: ERROR_SEVERITY.High,
1651
+ retryable: true,
1652
+ userMessage: "errors.notification.provider.unavailable"
1653
+ },
1654
+ [ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED]: {
1655
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,
1656
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
1657
+ category: ERROR_CATEGORY.Provider,
1658
+ severity: ERROR_SEVERITY.Low,
1659
+ retryable: false,
1660
+ userMessage: "errors.notification.provider.feature_not_supported"
1661
+ },
1662
+ [ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED]: {
1663
+ code: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,
1664
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1665
+ category: ERROR_CATEGORY.Provider,
1666
+ severity: ERROR_SEVERITY.Critical,
1667
+ retryable: false,
1668
+ userMessage: "errors.notification.all_providers_failed"
1669
+ },
1670
+ // Validation errors (non-retryable)
1671
+ [ERROR_CODES.NOTIFICATION_INVALID_INPUT]: {
1672
+ code: ERROR_CODES.NOTIFICATION_INVALID_INPUT,
1673
+ status: HTTP_STATUS.BAD_REQUEST,
1674
+ category: ERROR_CATEGORY.Validation,
1675
+ severity: ERROR_SEVERITY.Medium,
1676
+ retryable: false,
1677
+ userMessage: "errors.notification.validation.invalid_input"
1678
+ },
1679
+ [ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT]: {
1680
+ code: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,
1681
+ status: HTTP_STATUS.BAD_REQUEST,
1682
+ category: ERROR_CATEGORY.Validation,
1683
+ severity: ERROR_SEVERITY.Medium,
1684
+ retryable: false,
1685
+ userMessage: "errors.notification.validation.invalid_recipient"
1686
+ },
1687
+ [ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE]: {
1688
+ code: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,
1689
+ status: HTTP_STATUS.BAD_REQUEST,
1690
+ category: ERROR_CATEGORY.Template,
1691
+ severity: ERROR_SEVERITY.Medium,
1692
+ retryable: false,
1693
+ userMessage: "errors.notification.validation.invalid_template"
1694
+ },
1695
+ [ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD]: {
1696
+ code: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,
1697
+ status: HTTP_STATUS.BAD_REQUEST,
1698
+ category: ERROR_CATEGORY.Validation,
1699
+ severity: ERROR_SEVERITY.Medium,
1700
+ retryable: false,
1701
+ userMessage: "errors.notification.validation.invalid_payload"
1702
+ },
1703
+ [ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD]: {
1704
+ code: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,
1705
+ status: HTTP_STATUS.BAD_REQUEST,
1706
+ category: ERROR_CATEGORY.Validation,
1707
+ severity: ERROR_SEVERITY.Medium,
1708
+ retryable: false,
1709
+ userMessage: "errors.notification.validation.required_field_missing"
1710
+ },
1711
+ [ERROR_CODES.NOTIFICATION_VALIDATION_FAILED]: {
1712
+ code: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,
1713
+ status: HTTP_STATUS.BAD_REQUEST,
1714
+ category: ERROR_CATEGORY.Validation,
1715
+ severity: ERROR_SEVERITY.Medium,
1716
+ retryable: false,
1717
+ userMessage: "errors.notification.validation.failed"
1718
+ },
1719
+ // User Preferences
1720
+ [ERROR_CODES.NOTIFICATION_USER_OPTED_OUT]: {
1721
+ code: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,
1722
+ status: HTTP_STATUS.OK,
1723
+ category: ERROR_CATEGORY.Validation,
1724
+ severity: ERROR_SEVERITY.Low,
1725
+ retryable: false,
1726
+ userMessage: "errors.notification.user.opted_out"
1727
+ },
1728
+ // Queue errors (retryable)
1729
+ [ERROR_CODES.NOTIFICATION_QUEUE_FULL]: {
1730
+ code: ERROR_CODES.NOTIFICATION_QUEUE_FULL,
1731
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
1732
+ category: ERROR_CATEGORY.Queue,
1733
+ severity: ERROR_SEVERITY.High,
1734
+ retryable: true,
1735
+ userMessage: "errors.notification.queue.full"
1736
+ },
1737
+ [ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED]: {
1738
+ code: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,
1739
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1740
+ category: ERROR_CATEGORY.Queue,
1741
+ severity: ERROR_SEVERITY.High,
1742
+ retryable: true,
1743
+ userMessage: "errors.notification.queue.processing_failed"
1744
+ },
1745
+ // Webhook errors
1746
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID]: {
1747
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,
1748
+ status: HTTP_STATUS.UNAUTHORIZED,
1749
+ category: ERROR_CATEGORY.Webhook,
1750
+ severity: ERROR_SEVERITY.High,
1751
+ retryable: false,
1752
+ userMessage: "errors.notification.webhook.signature_invalid"
1753
+ },
1754
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED]: {
1755
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,
1756
+ status: HTTP_STATUS.BAD_REQUEST,
1757
+ category: ERROR_CATEGORY.Webhook,
1758
+ severity: ERROR_SEVERITY.Medium,
1759
+ retryable: false,
1760
+ userMessage: "errors.notification.webhook.validation_failed"
1761
+ },
1762
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED]: {
1763
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,
1764
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1765
+ category: ERROR_CATEGORY.Webhook,
1766
+ severity: ERROR_SEVERITY.High,
1767
+ retryable: true,
1768
+ userMessage: "errors.notification.webhook.processing_failed"
1769
+ },
1770
+ // Template errors
1771
+ [ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND]: {
1772
+ code: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,
1773
+ status: HTTP_STATUS.NOT_FOUND,
1774
+ category: ERROR_CATEGORY.Template,
1775
+ severity: ERROR_SEVERITY.High,
1776
+ retryable: false,
1777
+ userMessage: "errors.notification.template.not_found"
1778
+ },
1779
+ [ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED]: {
1780
+ code: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,
1781
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1782
+ category: ERROR_CATEGORY.Template,
1783
+ severity: ERROR_SEVERITY.High,
1784
+ retryable: false,
1785
+ userMessage: "errors.notification.template.render_failed"
1786
+ },
1787
+ // General notification errors
1788
+ [ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR]: {
1789
+ code: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,
1790
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1791
+ category: ERROR_CATEGORY.Unknown,
1792
+ severity: ERROR_SEVERITY.Medium,
1793
+ retryable: false,
1794
+ userMessage: "errors.notification.unknown"
1795
+ },
1796
+ [ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED]: {
1797
+ code: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,
1798
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1799
+ category: ERROR_CATEGORY.Configuration,
1800
+ severity: ERROR_SEVERITY.Critical,
1801
+ retryable: false,
1802
+ userMessage: "errors.notification.initialization_failed"
1803
+ },
1804
+ // ===== Errors Package Errors =====
1805
+ [ERROR_CODES.ERROR_SYSTEM_NOT_INITIALIZED]: {
1806
+ code: ERROR_CODES.ERROR_SYSTEM_NOT_INITIALIZED,
1807
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1808
+ category: ERROR_CATEGORY.Configuration,
1809
+ severity: ERROR_SEVERITY.Critical,
1810
+ retryable: false,
1811
+ userMessage: "errors.system.not_initialized"
1812
+ },
1813
+ [ERROR_CODES.EVENT_FACTORY_NOT_REGISTERED]: {
1814
+ code: ERROR_CODES.EVENT_FACTORY_NOT_REGISTERED,
1815
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
1816
+ category: ERROR_CATEGORY.Configuration,
1817
+ severity: ERROR_SEVERITY.High,
1818
+ retryable: false,
1819
+ userMessage: "errors.event.factory.not_registered"
1820
+ }
1821
+ };
1822
+
1823
+ export { ALERT_SEVERITIES, ALERT_TYPES, ALL_EVENTS, API_ERROR_CODES, CACHE_DURATION_MS, CACHE_EVENTS, CHANGE_TYPES, CLIENT_EVENTS, CLIENT_HINT_HEADERS, COMMON_FIELDS, COMMON_OPERATIONS, COMMON_STORAGE_TYPES, CONFIG_EVENTS, COORDINATES, CORRELATION_TYPE, DATA_SAVER_PRESETS, DEBUGGER_CONFIG_SOURCES, DEBUG_EVENTS, DEFAULT_THRESHOLDS, ERROR_CATEGORY, ERROR_DEFINITIONS, ERROR_EVENTS, COMMON_FIELDS as ERROR_FIELDS, EVENTS_CONFIG_SOURCES, EVENT_CONSTANTS, EVENT_NAMESPACES, EVENT_OPERATIONS, EVENT_PRIORITY_MAP, EVENT_SCOPES, EVENT_SCOPES_WITH_TEMPORARY, FACTORY_OPERATIONS, HANDLER_SCOPES, HEADER_EVENTS, HEADER_STAGES, HISTORY_TYPES, IMPACT_LEVELS, INTERNAL_STATUS_CODES, NETWORK_CONFIDENCE_LEVELS, NETWORK_EVENTS, NETWORK_QUALITY, NetworkPresetNames, COMMON_OPERATIONS as OPERATIONS, INTERNAL_STATUS_CODES as PACKAGE_STATUS_CODES, PERFORMANCE_EVENTS, PRIORITY_LEVEL, PUB_SUB_EVENT, QUEUE_OPERATIONS, REGIONAL_CONFIDENCE_LEVELS, REGION_STORAGE_KEY, REGION_TO_PRESET, RTT_THRESHOLDS, SPEED_THRESHOLDS, COMMON_STORAGE_TYPES as STORAGE_TYPES, TRACKING_PHASES, UNIFIED_OPERATIONS, UPDATE_STRATEGIES, VALIDATION_RANGES, isValidConfigSource, isValidHistoryType, isValidOperation };
1042
1824
  //# sourceMappingURL=index.js.map
1043
1825
  //# sourceMappingURL=index.js.map