@plyaz/types 1.13.2 → 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 +5 -5
  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
@@ -62,12 +62,1299 @@ var ERROR_CATEGORY = {
62
62
  Strategy: "strategy",
63
63
  /** Regional-related error (e.g., region detection failure). */
64
64
  Regional: "regional",
65
+ /** Provider-related error (e.g., notification service provider failure). */
66
+ Provider: "provider",
67
+ /** Queue-related error (e.g., queue full or processing failed). */
68
+ Queue: "queue",
69
+ /** Webhook-related error (e.g., invalid signature or processing failure). */
70
+ Webhook: "webhook",
71
+ /** Template-related error (e.g., template not found or rendering failed). */
72
+ Template: "template",
73
+ /** Configuration-related error (e.g., invalid or missing configuration). */
74
+ Configuration: "configuration",
65
75
  /** Unknown or unclassified error. */
66
76
  Unknown: "unknown"
67
77
  };
78
+ var INTERNAL_STATUS_CODES = {
79
+ // Configuration errors (1001-1009)
80
+ INVALID_CONFIGURATION: 1001,
81
+ MISSING_CONFIGURATION: 1002,
82
+ CONFIGURATION_CONFLICT: 1003,
83
+ CONFIGURATION_TRACKING_FAILED: 1004,
84
+ DEBUG_TRACKING_FAILED: 1005,
85
+ // Resource errors (1010-1019)
86
+ RESOURCE_NOT_FOUND: 1010,
87
+ RESOURCE_ALREADY_EXISTS: 1011,
88
+ RESOURCE_UNAVAILABLE: 1012,
89
+ // Validation errors (1020-1029)
90
+ INVALID_PARAMETER: 1020,
91
+ MISSING_PARAMETER: 1021,
92
+ PARAMETER_OUT_OF_RANGE: 1022,
93
+ // Strategy/preset errors (1030-1039)
94
+ STRATEGY_NOT_FOUND: 1030,
95
+ PRESET_NOT_FOUND: 1031,
96
+ INVALID_STRATEGY: 1032,
97
+ // Request/Response errors (1035-1039)
98
+ REQUEST_FAILED: 1035,
99
+ // Internal system errors (1040-1049)
100
+ INITIALIZATION_FAILED: 1040,
101
+ OPERATION_FAILED: 1041,
102
+ STATE_CORRUPTION: 1042,
103
+ SERIALIZATION_FAILED: 1043,
104
+ DESERIALIZATION_FAILED: 1044,
105
+ CONFIGURATION_INVALID: 1045,
106
+ HEADER_PROCESSING_ERROR: 1046,
107
+ REGION_DETECTION_ERROR: 1047,
108
+ NETWORK_OVERRIDE_ERROR: 1048
109
+ };
110
+ var ERROR_CATEGORY_TO_EMITTER_KEY = {
111
+ [ERROR_CATEGORY.Network]: "network",
112
+ [ERROR_CATEGORY.Validation]: "validation",
113
+ [ERROR_CATEGORY.Authentication]: "authentication",
114
+ [ERROR_CATEGORY.Authorization]: "authorization",
115
+ [ERROR_CATEGORY.RateLimit]: "rateLimit",
116
+ [ERROR_CATEGORY.Server]: "server",
117
+ [ERROR_CATEGORY.Timeout]: "timeout",
118
+ [ERROR_CATEGORY.NotFound]: "notFound",
119
+ [ERROR_CATEGORY.Conflict]: "conflict",
120
+ [ERROR_CATEGORY.Client]: "client",
121
+ [ERROR_CATEGORY.ExternalService]: "externalService",
122
+ [ERROR_CATEGORY.Cache]: "cache",
123
+ [ERROR_CATEGORY.Headers]: "headers",
124
+ [ERROR_CATEGORY.Retry]: "retry",
125
+ [ERROR_CATEGORY.Blockchain]: "blockchain",
126
+ [ERROR_CATEGORY.Strategy]: "strategy",
127
+ [ERROR_CATEGORY.Regional]: "regional",
128
+ [ERROR_CATEGORY.Provider]: "provider",
129
+ [ERROR_CATEGORY.Queue]: "queue",
130
+ [ERROR_CATEGORY.Webhook]: "webhook",
131
+ [ERROR_CATEGORY.Template]: "template",
132
+ [ERROR_CATEGORY.Configuration]: "configuration",
133
+ [ERROR_CATEGORY.Unknown]: "unknown"
134
+ };
135
+ var COMMON_OPERATIONS = {
136
+ // Data operations
137
+ STORAGE: "storage",
138
+ RETRIEVAL: "retrieval",
139
+ INVALIDATION: "invalidation",
140
+ DELETION: "deletion",
141
+ // Processing operations
142
+ VALIDATION: "validation",
143
+ ENRICHMENT: "enrichment",
144
+ SERIALIZATION: "serialization",
145
+ DESERIALIZATION: "deserialization",
146
+ // API operations
147
+ REQUEST: "request",
148
+ RESPONSE: "response",
149
+ RETRY: "retry",
150
+ REVALIDATION: "revalidation",
151
+ POLLING: "polling",
152
+ // Configuration operations
153
+ INITIALIZATION: "initialization",
154
+ CONFIGURATION: "configuration",
155
+ PRESET_LOOKUP: "preset-lookup",
156
+ REGIONAL_DETECTION: "regional-detection",
157
+ // Strategy operations
158
+ STRATEGY_EXECUTION: "strategy-execution",
159
+ FALLBACK: "fallback",
160
+ // Event operations
161
+ SUBSCRIPTION: "subscription",
162
+ PUBLICATION: "publication",
163
+ EVENT_HANDLING: "event-handling",
164
+ // Debugging operations
165
+ DEBUG: "debug",
166
+ DEBUG_TRACKING: "debug-tracking",
167
+ TRACKING: "tracking",
168
+ MONITORING: "monitoring",
169
+ // Network operations
170
+ NETWORK_CHECK: "network-check",
171
+ ENDPOINT_BUILD: "endpoint-build",
172
+ CONTEXT_SETUP: "context-setup",
173
+ // Notification operations
174
+ SEND: "send",
175
+ RENDER: "render",
176
+ QUEUE: "queue",
177
+ PROCESS: "process"
178
+ };
179
+ var COMMON_FIELDS = {
180
+ // Storage fields
181
+ STORAGE: "storage",
182
+ CACHE: "cache",
183
+ // Configuration fields
184
+ CONFIG: "config",
185
+ PRESET_NAME: "presetName",
186
+ PRESET_ID: "presetId",
187
+ // HTTP fields
188
+ HEADERS: "headers",
189
+ URL: "url",
190
+ METHOD: "method",
191
+ // Strategy fields
192
+ STRATEGY: "strategy",
193
+ // Retry fields
194
+ RETRY_COUNT: "retryCount",
195
+ MAX_RETRIES: "maxRetries",
196
+ // Polling fields
197
+ POLLING_INTERVAL: "pollingInterval",
198
+ // Event fields
199
+ TOPIC: "topic",
200
+ CHANNEL: "channel",
201
+ // API fields
202
+ ENDPOINT: "endpoint",
203
+ CLIENT: "client",
204
+ // Network fields
205
+ NETWORK_TYPE: "networkType",
206
+ TIME_INTERVAL: "timeInterval",
207
+ // Notification fields
208
+ EMAIL: "email",
209
+ PHONE: "phoneNumber",
210
+ RECIPIENT: "recipient",
211
+ TEMPLATE: "template",
212
+ PROVIDER: "provider"
213
+ };
214
+ var COMMON_STORAGE_TYPES = {
215
+ PRIMARY: "primary",
216
+ FALLBACK: "fallback",
217
+ MEMORY: "memory",
218
+ SESSION: "session",
219
+ LOCAL: "local",
220
+ REDIS: "redis",
221
+ DATABASE: "database"
222
+ };
223
+
224
+ // node_modules/.pnpm/@plyaz+config@1.6.5_@darraghor+eslint-plugin-nestjs-typed@6.9.3_@types+react@19.2.2_@typescri_x2zut4rwivkuvldn552zktqyt4/node_modules/@plyaz/config/dist/index.mjs
225
+ globalThis.process.env.NODE_ENV === "development";
226
+ globalThis.process.env.NODE_ENV === "production";
227
+ globalThis.process.env.NODE_ENV === "test";
228
+ ({ apiKey: globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY, rpcUrls: { ethereum: `https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`, polygon: `https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`, arbitrum: `https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`, optimism: `https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`, base: `https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`, solana: `https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}` } });
229
+ ({ google: { clientId: globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID, clientSecret: globalThis.process.env.GOOGLE_CLIENT_SECRET, redirectUri: globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI}, discord: { clientId: globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID, clientSecret: globalThis.process.env.DISCORD_CLIENT_SECRET, redirectUri: globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI}, facebook: { clientId: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID, clientSecret: globalThis.process.env.FACEBOOK_CLIENT_SECRET, redirectUri: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI} });
230
+ ({ isLoggingEnabled: globalThis.process.env.NODE_ENV === "development" });
231
+ ({ api: globalThis.process.env.NEXT_PUBLIC_API_URL });
232
+ ({ FNV_64_PRIME: BigInt("0x100000001b3"), FNV_64_OFFSET: BigInt("0xcbf29ce484222325")});
233
+ var Ue = { OK: 200, BAD_REQUEST: 400, UNAUTHORIZED: 401, FORBIDDEN: 403, NOT_FOUND: 404, REQUEST_TIMEOUT: 408, CONFLICT: 409, TOO_MANY_REQUESTS: 429, INTERNAL_SERVER_ERROR: 500, NOT_IMPLEMENTED: 501, BAD_GATEWAY: 502, SERVICE_UNAVAILABLE: 503, GATEWAY_TIMEOUT: 504};
234
+ var a = { unauthorized: { status: 401}, internal_server_error: { status: 500}};
235
+ ({ InvalidInput: { timestamp: (/* @__PURE__ */ new Date()).toISOString() }, [a.internal_server_error.status]: { timestamp: (/* @__PURE__ */ new Date()).toISOString() }, [a.unauthorized.status]: { timestamp: (/* @__PURE__ */ new Date()).toISOString() } });
236
+ ({ SUPABASE_URL: globalThis.process.env.NEXT_PUBLIC_SUPABASE_URL ?? "", SUPABASE_ANON_KEY: globalThis.process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ?? "" });
237
+ globalThis.process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY ?? "";
238
+
239
+ // src/errors/codes.ts
240
+ var ERROR_CODES = {
241
+ // ===== API Package Errors =====
242
+ // Client Configuration
243
+ CLIENT_INITIALIZATION_FAILED: "CLIENT_INITIALIZATION_FAILED",
244
+ CLIENT_INVALID_CONFIG: "CLIENT_INVALID_CONFIG",
245
+ CLIENT_MISSING_BASE_URL: "CLIENT_MISSING_BASE_URL",
246
+ CLIENT_CANCELLED: "CLIENT_CANCELLED",
247
+ CONFIG_VALIDATION_FAILED: "CONFIG_VALIDATION_FAILED",
248
+ HEADER_PROCESSING_FAILED: "HEADER_PROCESSING_FAILED",
249
+ NETWORK_OVERRIDE_FAILED: "NETWORK_OVERRIDE_FAILED",
250
+ // Request
251
+ REQUEST_TIMEOUT: "REQUEST_TIMEOUT",
252
+ REQUEST_ABORTED: "REQUEST_ABORTED",
253
+ REQUEST_INVALID_PARAMS: "REQUEST_INVALID_PARAMS",
254
+ REQUEST_PREPARATION_FAILED: "REQUEST_PREPARATION_FAILED",
255
+ // Response
256
+ RESPONSE_INVALID_FORMAT: "RESPONSE_INVALID_FORMAT",
257
+ RESPONSE_PARSING_FAILED: "RESPONSE_PARSING_FAILED",
258
+ // Authentication/Authorization
259
+ AUTH_UNAUTHORIZED: "AUTH_UNAUTHORIZED",
260
+ AUTH_FORBIDDEN: "AUTH_FORBIDDEN",
261
+ AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
262
+ AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
263
+ // Rate Limiting
264
+ RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
265
+ // Resources
266
+ RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND",
267
+ RESOURCE_CONFLICT: "RESOURCE_CONFLICT",
268
+ // Validation
269
+ API_VALIDATION_FAILED: "API_VALIDATION_FAILED",
270
+ API_INVALID_INPUT: "API_INVALID_INPUT",
271
+ VALIDATION_ERROR: "VALIDATION_ERROR",
272
+ REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING",
273
+ INVALID_FORMAT: "INVALID_FORMAT",
274
+ VALIDATION_INVALID_FORMAT: "VALIDATION_INVALID_FORMAT",
275
+ STRING_TOO_SHORT: "STRING_TOO_SHORT",
276
+ STRING_TOO_LONG: "STRING_TOO_LONG",
277
+ // Network
278
+ NETWORK_ERROR: "NETWORK_ERROR",
279
+ CONNECTION_FAILED: "CONNECTION_FAILED",
280
+ NETWORK_CONNECTION_FAILED: "NETWORK_CONNECTION_FAILED",
281
+ NETWORK_OFFLINE: "NETWORK_OFFLINE",
282
+ NETWORK_DNS_FAILED: "NETWORK_DNS_FAILED",
283
+ NETWORK_TIMEOUT: "NETWORK_TIMEOUT",
284
+ NETWORK_PRESET_NOT_FOUND: "NETWORK_PRESET_NOT_FOUND",
285
+ NETWORK_CONFIGURATION_INVALID: "NETWORK_CONFIGURATION_INVALID",
286
+ // Server
287
+ SERVER_ERROR: "SERVER_ERROR",
288
+ INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR",
289
+ SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
290
+ // Cache
291
+ CACHE_READ_FAILED: "CACHE_READ_FAILED",
292
+ CACHE_WRITE_FAILED: "CACHE_WRITE_FAILED",
293
+ CACHE_INVALIDATION_FAILED: "CACHE_INVALIDATION_FAILED",
294
+ CACHE_STORAGE_FAILED: "CACHE_STORAGE_FAILED",
295
+ CACHE_RETRIEVAL_FAILED: "CACHE_RETRIEVAL_FAILED",
296
+ // Retry
297
+ RETRY_LIMIT_EXCEEDED: "RETRY_LIMIT_EXCEEDED",
298
+ RETRY_FAILED: "RETRY_FAILED",
299
+ RETRY_EXHAUSTED: "RETRY_EXHAUSTED",
300
+ RETRY_STRATEGY_INVALID: "RETRY_STRATEGY_INVALID",
301
+ // Strategy
302
+ STRATEGY_INVALID: "STRATEGY_INVALID",
303
+ STRATEGY_CONFLICT: "STRATEGY_CONFLICT",
304
+ STRATEGY_EXECUTION_FAILED: "STRATEGY_EXECUTION_FAILED",
305
+ // Headers
306
+ HEADERS_ENRICHMENT_FAILED: "HEADERS_ENRICHMENT_FAILED",
307
+ HEADERS_VALIDATION_FAILED: "HEADERS_VALIDATION_FAILED",
308
+ HEADERS_MERGE_CONFLICT: "HEADERS_MERGE_CONFLICT",
309
+ // Regional
310
+ REGION_DETECTION_FAILED: "REGION_DETECTION_FAILED",
311
+ REGIONAL_PRESET_NOT_FOUND: "REGIONAL_PRESET_NOT_FOUND",
312
+ // External Services
313
+ EXTERNAL_SERVICE_ERROR: "EXTERNAL_SERVICE_ERROR",
314
+ // Timeout (generic)
315
+ TIMEOUT: "TIMEOUT",
316
+ // Debugging
317
+ DEBUG_TRACKING_FAILED: "DEBUG_TRACKING_FAILED",
318
+ // Polling
319
+ POLLING_CANCELLED: "POLLING_CANCELLED",
320
+ POLLING_TIMEOUT: "POLLING_TIMEOUT",
321
+ POLLING_INVALID_CONFIG: "POLLING_INVALID_CONFIG",
322
+ // PubSub
323
+ PUBSUB_SUBSCRIPTION_FAILED: "PUBSUB_SUBSCRIPTION_FAILED",
324
+ PUBSUB_PUBLICATION_FAILED: "PUBSUB_PUBLICATION_FAILED",
325
+ PUBSUB_INVALID_TOPIC: "PUBSUB_INVALID_TOPIC",
326
+ PUBSUB_CHANNEL_ERROR: "PUBSUB_CHANNEL_ERROR",
327
+ // Revalidation
328
+ REVALIDATION_FAILED: "REVALIDATION_FAILED",
329
+ REVALIDATION_IN_PROGRESS: "REVALIDATION_IN_PROGRESS",
330
+ // Debugging
331
+ DEBUG_OVERRIDE_FAILED: "DEBUG_OVERRIDE_FAILED",
332
+ DEBUG_CONFLICT_DETECTED: "DEBUG_CONFLICT_DETECTED",
333
+ // Endpoint
334
+ ENDPOINT_BUILD_FAILED: "ENDPOINT_BUILD_FAILED",
335
+ ENDPOINT_NOT_FOUND: "ENDPOINT_NOT_FOUND",
336
+ ENDPOINT_INVALID_CONFIG: "ENDPOINT_INVALID_CONFIG",
337
+ // Event
338
+ EVENT_HANDLER_FAILED: "EVENT_HANDLER_FAILED",
339
+ EVENT_EMISSION_FAILED: "EVENT_EMISSION_FAILED",
340
+ MONITORING_FAILED: "MONITORING_FAILED",
341
+ // Context
342
+ CONTEXT_OPERATION_FAILED: "CONTEXT_OPERATION_FAILED",
343
+ // Generic
344
+ CLIENT_ERROR: "CLIENT_ERROR",
345
+ UNKNOWN_ERROR: "UNKNOWN_ERROR",
346
+ // ===== Notification Package Errors =====
347
+ // Provider
348
+ NOTIFICATION_PROVIDER_SEND_FAILED: "notification.provider.send.failed",
349
+ NOTIFICATION_PROVIDER_CONFIGURATION_INVALID: "notification.provider.configuration.invalid",
350
+ NOTIFICATION_PROVIDER_RATE_LIMIT: "notification.provider.rate.limit",
351
+ NOTIFICATION_PROVIDER_AUTH_FAILED: "notification.provider.auth.failed",
352
+ NOTIFICATION_PROVIDER_TIMEOUT: "notification.provider.timeout",
353
+ NOTIFICATION_PROVIDER_UNAVAILABLE: "notification.provider.unavailable",
354
+ NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED: "notification.provider.feature.not.supported",
355
+ NOTIFICATION_ALL_PROVIDERS_FAILED: "notification.all.providers.failed",
356
+ // Validation
357
+ NOTIFICATION_INVALID_INPUT: "notification.validation.input.invalid",
358
+ NOTIFICATION_INVALID_RECIPIENT: "notification.validation.recipient.invalid",
359
+ NOTIFICATION_INVALID_TEMPLATE: "notification.validation.template.invalid",
360
+ NOTIFICATION_INVALID_PAYLOAD: "notification.validation.payload.invalid",
361
+ NOTIFICATION_MISSING_REQUIRED_FIELD: "notification.validation.field.required",
362
+ NOTIFICATION_VALIDATION_FAILED: "notification.validation.failed",
363
+ // User Preferences
364
+ NOTIFICATION_USER_OPTED_OUT: "notification.user.opted.out",
365
+ // Queue
366
+ NOTIFICATION_QUEUE_FULL: "notification.queue.full",
367
+ NOTIFICATION_QUEUE_PROCESSING_FAILED: "notification.queue.processing.failed",
368
+ // Webhook
369
+ NOTIFICATION_WEBHOOK_SIGNATURE_INVALID: "notification.webhook.signature.invalid",
370
+ NOTIFICATION_WEBHOOK_VALIDATION_FAILED: "notification.webhook.validation.failed",
371
+ NOTIFICATION_WEBHOOK_PROCESSING_FAILED: "notification.webhook.processing.failed",
372
+ // Template
373
+ NOTIFICATION_TEMPLATE_NOT_FOUND: "notification.template.not.found",
374
+ NOTIFICATION_TEMPLATE_RENDER_FAILED: "notification.template.render.failed",
375
+ // General Notification
376
+ NOTIFICATION_UNKNOWN_ERROR: "notification.unknown.error",
377
+ NOTIFICATION_INITIALIZATION_FAILED: "notification.initialization.failed"
378
+ };
379
+ var API_ERROR_CODES = {
380
+ CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
381
+ CLIENT_INVALID_CONFIG: ERROR_CODES.CLIENT_INVALID_CONFIG,
382
+ CLIENT_MISSING_BASE_URL: ERROR_CODES.CLIENT_MISSING_BASE_URL,
383
+ CLIENT_CANCELLED: ERROR_CODES.CLIENT_CANCELLED,
384
+ CONFIG_VALIDATION_FAILED: ERROR_CODES.CONFIG_VALIDATION_FAILED,
385
+ HEADER_PROCESSING_FAILED: ERROR_CODES.HEADER_PROCESSING_FAILED,
386
+ NETWORK_OVERRIDE_FAILED: ERROR_CODES.NETWORK_OVERRIDE_FAILED,
387
+ REQUEST_TIMEOUT: ERROR_CODES.REQUEST_TIMEOUT,
388
+ REQUEST_ABORTED: ERROR_CODES.REQUEST_ABORTED,
389
+ REQUEST_INVALID_PARAMS: ERROR_CODES.REQUEST_INVALID_PARAMS,
390
+ REQUEST_PREPARATION_FAILED: ERROR_CODES.REQUEST_PREPARATION_FAILED,
391
+ RESPONSE_INVALID_FORMAT: ERROR_CODES.RESPONSE_INVALID_FORMAT,
392
+ RESPONSE_PARSING_FAILED: ERROR_CODES.RESPONSE_PARSING_FAILED,
393
+ AUTH_UNAUTHORIZED: ERROR_CODES.AUTH_UNAUTHORIZED,
394
+ AUTH_FORBIDDEN: ERROR_CODES.AUTH_FORBIDDEN,
395
+ AUTH_TOKEN_EXPIRED: ERROR_CODES.AUTH_TOKEN_EXPIRED,
396
+ AUTH_INVALID_CREDENTIALS: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
397
+ RATE_LIMIT_EXCEEDED: ERROR_CODES.RATE_LIMIT_EXCEEDED,
398
+ RESOURCE_NOT_FOUND: ERROR_CODES.RESOURCE_NOT_FOUND,
399
+ RESOURCE_CONFLICT: ERROR_CODES.RESOURCE_CONFLICT,
400
+ VALIDATION_FAILED: ERROR_CODES.API_VALIDATION_FAILED,
401
+ INVALID_INPUT: ERROR_CODES.API_INVALID_INPUT,
402
+ VALIDATION_ERROR: ERROR_CODES.VALIDATION_ERROR,
403
+ REQUIRED_FIELD_MISSING: ERROR_CODES.REQUIRED_FIELD_MISSING,
404
+ INVALID_FORMAT: ERROR_CODES.INVALID_FORMAT,
405
+ VALIDATION_INVALID_FORMAT: ERROR_CODES.VALIDATION_INVALID_FORMAT,
406
+ STRING_TOO_SHORT: ERROR_CODES.STRING_TOO_SHORT,
407
+ STRING_TOO_LONG: ERROR_CODES.STRING_TOO_LONG,
408
+ NETWORK_ERROR: ERROR_CODES.NETWORK_ERROR,
409
+ CONNECTION_FAILED: ERROR_CODES.CONNECTION_FAILED,
410
+ NETWORK_CONNECTION_FAILED: ERROR_CODES.NETWORK_CONNECTION_FAILED,
411
+ NETWORK_OFFLINE: ERROR_CODES.NETWORK_OFFLINE,
412
+ NETWORK_DNS_FAILED: ERROR_CODES.NETWORK_DNS_FAILED,
413
+ NETWORK_TIMEOUT: ERROR_CODES.NETWORK_TIMEOUT,
414
+ NETWORK_CONFIGURATION_INVALID: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,
415
+ SERVER_ERROR: ERROR_CODES.SERVER_ERROR,
416
+ INTERNAL_SERVER_ERROR: ERROR_CODES.INTERNAL_SERVER_ERROR,
417
+ SERVICE_UNAVAILABLE: ERROR_CODES.SERVICE_UNAVAILABLE,
418
+ CACHE_READ_FAILED: ERROR_CODES.CACHE_READ_FAILED,
419
+ CACHE_WRITE_FAILED: ERROR_CODES.CACHE_WRITE_FAILED,
420
+ CACHE_INVALIDATION_FAILED: ERROR_CODES.CACHE_INVALIDATION_FAILED,
421
+ CACHE_STORAGE_FAILED: ERROR_CODES.CACHE_STORAGE_FAILED,
422
+ CACHE_RETRIEVAL_FAILED: ERROR_CODES.CACHE_RETRIEVAL_FAILED,
423
+ RETRY_LIMIT_EXCEEDED: ERROR_CODES.RETRY_LIMIT_EXCEEDED,
424
+ RETRY_FAILED: ERROR_CODES.RETRY_FAILED,
425
+ RETRY_EXHAUSTED: ERROR_CODES.RETRY_EXHAUSTED,
426
+ RETRY_STRATEGY_INVALID: ERROR_CODES.RETRY_STRATEGY_INVALID,
427
+ STRATEGY_INVALID: ERROR_CODES.STRATEGY_INVALID,
428
+ STRATEGY_CONFLICT: ERROR_CODES.STRATEGY_CONFLICT,
429
+ STRATEGY_EXECUTION_FAILED: ERROR_CODES.STRATEGY_EXECUTION_FAILED,
430
+ HEADERS_ENRICHMENT_FAILED: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
431
+ HEADERS_VALIDATION_FAILED: ERROR_CODES.HEADERS_VALIDATION_FAILED,
432
+ HEADERS_MERGE_CONFLICT: ERROR_CODES.HEADERS_MERGE_CONFLICT,
433
+ REGION_DETECTION_FAILED: ERROR_CODES.REGION_DETECTION_FAILED,
434
+ REGIONAL_PRESET_NOT_FOUND: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
435
+ EXTERNAL_SERVICE_ERROR: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
436
+ NETWORK_PRESET_NOT_FOUND: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,
437
+ TIMEOUT: ERROR_CODES.TIMEOUT,
438
+ DEBUG_TRACKING_FAILED: ERROR_CODES.DEBUG_TRACKING_FAILED,
439
+ DEBUG_OVERRIDE_FAILED: ERROR_CODES.DEBUG_OVERRIDE_FAILED,
440
+ DEBUG_CONFLICT_DETECTED: ERROR_CODES.DEBUG_CONFLICT_DETECTED,
441
+ POLLING_CANCELLED: ERROR_CODES.POLLING_CANCELLED,
442
+ POLLING_TIMEOUT: ERROR_CODES.POLLING_TIMEOUT,
443
+ POLLING_INVALID_CONFIG: ERROR_CODES.POLLING_INVALID_CONFIG,
444
+ PUBSUB_SUBSCRIPTION_FAILED: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,
445
+ PUBSUB_PUBLICATION_FAILED: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,
446
+ PUBSUB_INVALID_TOPIC: ERROR_CODES.PUBSUB_INVALID_TOPIC,
447
+ PUBSUB_CHANNEL_ERROR: ERROR_CODES.PUBSUB_CHANNEL_ERROR,
448
+ REVALIDATION_FAILED: ERROR_CODES.REVALIDATION_FAILED,
449
+ REVALIDATION_IN_PROGRESS: ERROR_CODES.REVALIDATION_IN_PROGRESS,
450
+ ENDPOINT_BUILD_FAILED: ERROR_CODES.ENDPOINT_BUILD_FAILED,
451
+ ENDPOINT_NOT_FOUND: ERROR_CODES.ENDPOINT_NOT_FOUND,
452
+ ENDPOINT_INVALID_CONFIG: ERROR_CODES.ENDPOINT_INVALID_CONFIG,
453
+ EVENT_HANDLER_FAILED: ERROR_CODES.EVENT_HANDLER_FAILED,
454
+ EVENT_EMISSION_FAILED: ERROR_CODES.EVENT_EMISSION_FAILED,
455
+ MONITORING_FAILED: ERROR_CODES.MONITORING_FAILED,
456
+ CONTEXT_OPERATION_FAILED: ERROR_CODES.CONTEXT_OPERATION_FAILED,
457
+ CLIENT_ERROR: ERROR_CODES.CLIENT_ERROR,
458
+ UNKNOWN_ERROR: ERROR_CODES.UNKNOWN_ERROR
459
+ };
460
+ var NOTIFICATION_ERROR_CODES = {
461
+ PROVIDER_SEND_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,
462
+ PROVIDER_CONFIGURATION_INVALID: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,
463
+ PROVIDER_RATE_LIMIT: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,
464
+ PROVIDER_AUTH_FAILED: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,
465
+ PROVIDER_TIMEOUT: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,
466
+ PROVIDER_UNAVAILABLE: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,
467
+ PROVIDER_FEATURE_NOT_SUPPORTED: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,
468
+ ALL_PROVIDERS_FAILED: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,
469
+ INVALID_INPUT: ERROR_CODES.NOTIFICATION_INVALID_INPUT,
470
+ INVALID_RECIPIENT: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,
471
+ INVALID_TEMPLATE: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,
472
+ INVALID_PAYLOAD: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,
473
+ MISSING_REQUIRED_FIELD: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,
474
+ VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,
475
+ USER_OPTED_OUT: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,
476
+ QUEUE_FULL: ERROR_CODES.NOTIFICATION_QUEUE_FULL,
477
+ QUEUE_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,
478
+ WEBHOOK_SIGNATURE_INVALID: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,
479
+ WEBHOOK_VALIDATION_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,
480
+ WEBHOOK_PROCESSING_FAILED: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,
481
+ TEMPLATE_NOT_FOUND: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,
482
+ TEMPLATE_RENDER_FAILED: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,
483
+ UNKNOWN_ERROR: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,
484
+ INITIALIZATION_FAILED: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED
485
+ };
486
+ var ERROR_DEFINITIONS = {
487
+ // ===== API Package Error Definitions =====
488
+ // Authentication
489
+ [ERROR_CODES.AUTH_UNAUTHORIZED]: {
490
+ code: ERROR_CODES.AUTH_UNAUTHORIZED,
491
+ status: Ue.UNAUTHORIZED,
492
+ category: ERROR_CATEGORY.Authentication,
493
+ userMessage: "errors.auth.unauthorized",
494
+ severity: ERROR_SEVERITY.Medium,
495
+ retryable: false
496
+ },
497
+ [ERROR_CODES.AUTH_FORBIDDEN]: {
498
+ code: ERROR_CODES.AUTH_FORBIDDEN,
499
+ status: Ue.FORBIDDEN,
500
+ category: ERROR_CATEGORY.Authorization,
501
+ userMessage: "errors.auth.forbidden",
502
+ severity: ERROR_SEVERITY.Medium,
503
+ retryable: false
504
+ },
505
+ [ERROR_CODES.AUTH_TOKEN_EXPIRED]: {
506
+ code: ERROR_CODES.AUTH_TOKEN_EXPIRED,
507
+ status: Ue.UNAUTHORIZED,
508
+ category: ERROR_CATEGORY.Authentication,
509
+ userMessage: "errors.auth.token_expired",
510
+ severity: ERROR_SEVERITY.Medium,
511
+ retryable: false
512
+ },
513
+ [ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {
514
+ code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
515
+ status: Ue.UNAUTHORIZED,
516
+ category: ERROR_CATEGORY.Authentication,
517
+ userMessage: "errors.auth.invalid_credentials",
518
+ severity: ERROR_SEVERITY.Medium,
519
+ retryable: false
520
+ },
521
+ // Rate Limiting
522
+ [ERROR_CODES.RATE_LIMIT_EXCEEDED]: {
523
+ code: ERROR_CODES.RATE_LIMIT_EXCEEDED,
524
+ status: Ue.TOO_MANY_REQUESTS,
525
+ category: ERROR_CATEGORY.RateLimit,
526
+ userMessage: "errors.rate_limit.exceeded",
527
+ severity: ERROR_SEVERITY.Medium,
528
+ retryable: true
529
+ },
530
+ // Resources
531
+ [ERROR_CODES.RESOURCE_NOT_FOUND]: {
532
+ code: ERROR_CODES.RESOURCE_NOT_FOUND,
533
+ status: Ue.NOT_FOUND,
534
+ category: ERROR_CATEGORY.NotFound,
535
+ userMessage: "errors.resource.not_found",
536
+ severity: ERROR_SEVERITY.Medium,
537
+ retryable: false
538
+ },
539
+ [ERROR_CODES.RESOURCE_CONFLICT]: {
540
+ code: ERROR_CODES.RESOURCE_CONFLICT,
541
+ status: Ue.CONFLICT,
542
+ category: ERROR_CATEGORY.Conflict,
543
+ userMessage: "errors.resource.conflict",
544
+ severity: ERROR_SEVERITY.Medium,
545
+ retryable: false
546
+ },
547
+ // Validation
548
+ [ERROR_CODES.API_VALIDATION_FAILED]: {
549
+ code: ERROR_CODES.API_VALIDATION_FAILED,
550
+ status: Ue.BAD_REQUEST,
551
+ category: ERROR_CATEGORY.Validation,
552
+ userMessage: "errors.validation.failed",
553
+ severity: ERROR_SEVERITY.Medium,
554
+ retryable: false
555
+ },
556
+ [ERROR_CODES.API_INVALID_INPUT]: {
557
+ code: ERROR_CODES.API_INVALID_INPUT,
558
+ status: Ue.BAD_REQUEST,
559
+ category: ERROR_CATEGORY.Validation,
560
+ userMessage: "errors.validation.invalid_input",
561
+ severity: ERROR_SEVERITY.Medium,
562
+ retryable: false
563
+ },
564
+ [ERROR_CODES.VALIDATION_ERROR]: {
565
+ code: ERROR_CODES.VALIDATION_ERROR,
566
+ status: Ue.BAD_REQUEST,
567
+ category: ERROR_CATEGORY.Validation,
568
+ userMessage: "errors.validation.error",
569
+ severity: ERROR_SEVERITY.Medium,
570
+ retryable: false
571
+ },
572
+ [ERROR_CODES.REQUIRED_FIELD_MISSING]: {
573
+ code: ERROR_CODES.REQUIRED_FIELD_MISSING,
574
+ status: Ue.BAD_REQUEST,
575
+ category: ERROR_CATEGORY.Validation,
576
+ userMessage: "errors.validation.required_field_missing",
577
+ severity: ERROR_SEVERITY.Medium,
578
+ retryable: false
579
+ },
580
+ [ERROR_CODES.INVALID_FORMAT]: {
581
+ code: ERROR_CODES.INVALID_FORMAT,
582
+ status: Ue.BAD_REQUEST,
583
+ category: ERROR_CATEGORY.Validation,
584
+ userMessage: "errors.validation.invalid_format",
585
+ severity: ERROR_SEVERITY.Medium,
586
+ retryable: false
587
+ },
588
+ [ERROR_CODES.VALIDATION_INVALID_FORMAT]: {
589
+ code: ERROR_CODES.VALIDATION_INVALID_FORMAT,
590
+ status: Ue.BAD_REQUEST,
591
+ category: ERROR_CATEGORY.Validation,
592
+ userMessage: "errors.validation.invalid_format",
593
+ severity: ERROR_SEVERITY.Medium,
594
+ retryable: false
595
+ },
596
+ [ERROR_CODES.STRING_TOO_SHORT]: {
597
+ code: ERROR_CODES.STRING_TOO_SHORT,
598
+ status: Ue.BAD_REQUEST,
599
+ category: ERROR_CATEGORY.Validation,
600
+ userMessage: "errors.validation.string_too_short",
601
+ severity: ERROR_SEVERITY.Medium,
602
+ retryable: false
603
+ },
604
+ [ERROR_CODES.STRING_TOO_LONG]: {
605
+ code: ERROR_CODES.STRING_TOO_LONG,
606
+ status: Ue.BAD_REQUEST,
607
+ category: ERROR_CATEGORY.Validation,
608
+ userMessage: "errors.validation.string_too_long",
609
+ severity: ERROR_SEVERITY.Medium,
610
+ retryable: false
611
+ },
612
+ // Network
613
+ [ERROR_CODES.NETWORK_ERROR]: {
614
+ code: ERROR_CODES.NETWORK_ERROR,
615
+ status: Ue.BAD_GATEWAY,
616
+ category: ERROR_CATEGORY.Network,
617
+ userMessage: "errors.network.error",
618
+ severity: ERROR_SEVERITY.High,
619
+ retryable: true
620
+ },
621
+ [ERROR_CODES.CONNECTION_FAILED]: {
622
+ code: ERROR_CODES.CONNECTION_FAILED,
623
+ status: 0,
624
+ category: ERROR_CATEGORY.Network,
625
+ userMessage: "errors.network.connection_failed",
626
+ severity: ERROR_SEVERITY.High,
627
+ retryable: true
628
+ },
629
+ [ERROR_CODES.NETWORK_CONNECTION_FAILED]: {
630
+ code: ERROR_CODES.NETWORK_CONNECTION_FAILED,
631
+ status: 0,
632
+ category: ERROR_CATEGORY.Network,
633
+ userMessage: "errors.network.connection_failed",
634
+ severity: ERROR_SEVERITY.High,
635
+ retryable: true
636
+ },
637
+ [ERROR_CODES.NETWORK_OFFLINE]: {
638
+ code: ERROR_CODES.NETWORK_OFFLINE,
639
+ status: 0,
640
+ category: ERROR_CATEGORY.Network,
641
+ userMessage: "errors.network.offline",
642
+ severity: ERROR_SEVERITY.High,
643
+ retryable: true
644
+ },
645
+ [ERROR_CODES.NETWORK_DNS_FAILED]: {
646
+ code: ERROR_CODES.NETWORK_DNS_FAILED,
647
+ status: 0,
648
+ category: ERROR_CATEGORY.Network,
649
+ userMessage: "errors.network.dns_failed",
650
+ severity: ERROR_SEVERITY.High,
651
+ retryable: true
652
+ },
653
+ [ERROR_CODES.NETWORK_TIMEOUT]: {
654
+ code: ERROR_CODES.NETWORK_TIMEOUT,
655
+ status: 0,
656
+ category: ERROR_CATEGORY.Network,
657
+ userMessage: "errors.network.timeout",
658
+ severity: ERROR_SEVERITY.High,
659
+ retryable: true
660
+ },
661
+ [ERROR_CODES.NETWORK_CONFIGURATION_INVALID]: {
662
+ code: ERROR_CODES.NETWORK_CONFIGURATION_INVALID,
663
+ status: Ue.INTERNAL_SERVER_ERROR,
664
+ category: ERROR_CATEGORY.Configuration,
665
+ userMessage: "errors.network.configuration_invalid",
666
+ severity: ERROR_SEVERITY.Critical,
667
+ retryable: true
668
+ },
669
+ [ERROR_CODES.NETWORK_PRESET_NOT_FOUND]: {
670
+ code: ERROR_CODES.NETWORK_PRESET_NOT_FOUND,
671
+ status: Ue.NOT_FOUND,
672
+ category: ERROR_CATEGORY.Configuration,
673
+ userMessage: "errors.network.preset_not_found",
674
+ severity: ERROR_SEVERITY.High,
675
+ retryable: true
676
+ },
677
+ // Server
678
+ [ERROR_CODES.SERVER_ERROR]: {
679
+ code: ERROR_CODES.SERVER_ERROR,
680
+ status: Ue.INTERNAL_SERVER_ERROR,
681
+ category: ERROR_CATEGORY.Server,
682
+ userMessage: "errors.server.error",
683
+ severity: ERROR_SEVERITY.High,
684
+ retryable: false
685
+ },
686
+ [ERROR_CODES.INTERNAL_SERVER_ERROR]: {
687
+ code: ERROR_CODES.INTERNAL_SERVER_ERROR,
688
+ status: Ue.INTERNAL_SERVER_ERROR,
689
+ category: ERROR_CATEGORY.Server,
690
+ userMessage: "errors.server.internal_error",
691
+ severity: ERROR_SEVERITY.High,
692
+ retryable: false
693
+ },
694
+ [ERROR_CODES.SERVICE_UNAVAILABLE]: {
695
+ code: ERROR_CODES.SERVICE_UNAVAILABLE,
696
+ status: Ue.SERVICE_UNAVAILABLE,
697
+ category: ERROR_CATEGORY.Server,
698
+ userMessage: "errors.server.service_unavailable",
699
+ severity: ERROR_SEVERITY.Medium,
700
+ retryable: true
701
+ },
702
+ // Cache
703
+ [ERROR_CODES.CACHE_READ_FAILED]: {
704
+ code: ERROR_CODES.CACHE_READ_FAILED,
705
+ status: Ue.INTERNAL_SERVER_ERROR,
706
+ category: ERROR_CATEGORY.Cache,
707
+ userMessage: "errors.cache.read_failed",
708
+ severity: ERROR_SEVERITY.Medium,
709
+ retryable: false
710
+ },
711
+ [ERROR_CODES.CACHE_WRITE_FAILED]: {
712
+ code: ERROR_CODES.CACHE_WRITE_FAILED,
713
+ status: Ue.INTERNAL_SERVER_ERROR,
714
+ category: ERROR_CATEGORY.Cache,
715
+ userMessage: "errors.cache.write_failed",
716
+ severity: ERROR_SEVERITY.Medium,
717
+ retryable: false
718
+ },
719
+ [ERROR_CODES.CACHE_INVALIDATION_FAILED]: {
720
+ code: ERROR_CODES.CACHE_INVALIDATION_FAILED,
721
+ status: Ue.INTERNAL_SERVER_ERROR,
722
+ category: ERROR_CATEGORY.Cache,
723
+ userMessage: "errors.cache.invalidation_failed",
724
+ severity: ERROR_SEVERITY.Medium,
725
+ retryable: false
726
+ },
727
+ [ERROR_CODES.CACHE_STORAGE_FAILED]: {
728
+ code: ERROR_CODES.CACHE_STORAGE_FAILED,
729
+ status: Ue.INTERNAL_SERVER_ERROR,
730
+ category: ERROR_CATEGORY.Cache,
731
+ userMessage: "errors.cache.storage_failed",
732
+ severity: ERROR_SEVERITY.Medium,
733
+ retryable: false
734
+ },
735
+ [ERROR_CODES.CACHE_RETRIEVAL_FAILED]: {
736
+ code: ERROR_CODES.CACHE_RETRIEVAL_FAILED,
737
+ status: Ue.INTERNAL_SERVER_ERROR,
738
+ category: ERROR_CATEGORY.Cache,
739
+ userMessage: "errors.cache.retrieval_failed",
740
+ severity: ERROR_SEVERITY.Medium,
741
+ retryable: false
742
+ },
743
+ // Retry
744
+ [ERROR_CODES.RETRY_LIMIT_EXCEEDED]: {
745
+ code: ERROR_CODES.RETRY_LIMIT_EXCEEDED,
746
+ status: Ue.SERVICE_UNAVAILABLE,
747
+ category: ERROR_CATEGORY.Retry,
748
+ userMessage: "errors.retry.limit_exceeded",
749
+ severity: ERROR_SEVERITY.Medium,
750
+ retryable: true
751
+ },
752
+ [ERROR_CODES.RETRY_FAILED]: {
753
+ code: ERROR_CODES.RETRY_FAILED,
754
+ status: Ue.INTERNAL_SERVER_ERROR,
755
+ category: ERROR_CATEGORY.Retry,
756
+ userMessage: "errors.retry.failed",
757
+ severity: ERROR_SEVERITY.Medium,
758
+ retryable: true
759
+ },
760
+ [ERROR_CODES.RETRY_EXHAUSTED]: {
761
+ code: ERROR_CODES.RETRY_EXHAUSTED,
762
+ status: Ue.SERVICE_UNAVAILABLE,
763
+ category: ERROR_CATEGORY.Retry,
764
+ userMessage: "errors.retry.exhausted",
765
+ severity: ERROR_SEVERITY.Medium,
766
+ retryable: true
767
+ },
768
+ [ERROR_CODES.RETRY_STRATEGY_INVALID]: {
769
+ code: ERROR_CODES.RETRY_STRATEGY_INVALID,
770
+ status: Ue.BAD_REQUEST,
771
+ category: ERROR_CATEGORY.Configuration,
772
+ userMessage: "errors.retry.strategy_invalid",
773
+ severity: ERROR_SEVERITY.Medium,
774
+ retryable: true
775
+ },
776
+ // Strategy
777
+ [ERROR_CODES.STRATEGY_INVALID]: {
778
+ code: ERROR_CODES.STRATEGY_INVALID,
779
+ status: Ue.BAD_REQUEST,
780
+ category: ERROR_CATEGORY.Configuration,
781
+ userMessage: "errors.strategy.invalid",
782
+ severity: ERROR_SEVERITY.Medium,
783
+ retryable: false
784
+ },
785
+ [ERROR_CODES.STRATEGY_CONFLICT]: {
786
+ code: ERROR_CODES.STRATEGY_CONFLICT,
787
+ status: Ue.CONFLICT,
788
+ category: ERROR_CATEGORY.Configuration,
789
+ userMessage: "errors.strategy.conflict",
790
+ severity: ERROR_SEVERITY.Medium,
791
+ retryable: false
792
+ },
793
+ [ERROR_CODES.STRATEGY_EXECUTION_FAILED]: {
794
+ code: ERROR_CODES.STRATEGY_EXECUTION_FAILED,
795
+ status: Ue.INTERNAL_SERVER_ERROR,
796
+ category: ERROR_CATEGORY.Configuration,
797
+ userMessage: "errors.strategy.execution_failed",
798
+ severity: ERROR_SEVERITY.Medium,
799
+ retryable: false
800
+ },
801
+ // Headers
802
+ [ERROR_CODES.HEADERS_ENRICHMENT_FAILED]: {
803
+ code: ERROR_CODES.HEADERS_ENRICHMENT_FAILED,
804
+ status: Ue.INTERNAL_SERVER_ERROR,
805
+ category: ERROR_CATEGORY.Headers,
806
+ userMessage: "errors.headers.enrichment_failed",
807
+ severity: ERROR_SEVERITY.Medium,
808
+ retryable: false
809
+ },
810
+ [ERROR_CODES.HEADERS_VALIDATION_FAILED]: {
811
+ code: ERROR_CODES.HEADERS_VALIDATION_FAILED,
812
+ status: Ue.BAD_REQUEST,
813
+ category: ERROR_CATEGORY.Headers,
814
+ userMessage: "errors.headers.validation_failed",
815
+ severity: ERROR_SEVERITY.Medium,
816
+ retryable: false
817
+ },
818
+ [ERROR_CODES.HEADERS_MERGE_CONFLICT]: {
819
+ code: ERROR_CODES.HEADERS_MERGE_CONFLICT,
820
+ status: Ue.CONFLICT,
821
+ category: ERROR_CATEGORY.Headers,
822
+ userMessage: "errors.headers.merge_conflict",
823
+ severity: ERROR_SEVERITY.Medium,
824
+ retryable: false
825
+ },
826
+ // Regional
827
+ [ERROR_CODES.REGION_DETECTION_FAILED]: {
828
+ code: ERROR_CODES.REGION_DETECTION_FAILED,
829
+ status: Ue.INTERNAL_SERVER_ERROR,
830
+ category: ERROR_CATEGORY.Network,
831
+ userMessage: "errors.regional.detection_failed",
832
+ severity: ERROR_SEVERITY.Medium,
833
+ retryable: false
834
+ },
835
+ [ERROR_CODES.REGIONAL_PRESET_NOT_FOUND]: {
836
+ code: ERROR_CODES.REGIONAL_PRESET_NOT_FOUND,
837
+ status: Ue.NOT_FOUND,
838
+ category: ERROR_CATEGORY.Configuration,
839
+ userMessage: "errors.regional.preset_not_found",
840
+ severity: ERROR_SEVERITY.Medium,
841
+ retryable: false
842
+ },
843
+ // External Services
844
+ [ERROR_CODES.EXTERNAL_SERVICE_ERROR]: {
845
+ code: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
846
+ status: Ue.BAD_GATEWAY,
847
+ category: ERROR_CATEGORY.Server,
848
+ userMessage: "errors.external.service_error",
849
+ severity: ERROR_SEVERITY.Medium,
850
+ retryable: false
851
+ },
852
+ // Timeout
853
+ [ERROR_CODES.TIMEOUT]: {
854
+ code: ERROR_CODES.TIMEOUT,
855
+ status: Ue.REQUEST_TIMEOUT,
856
+ category: ERROR_CATEGORY.Timeout,
857
+ userMessage: "errors.timeout.generic",
858
+ severity: ERROR_SEVERITY.High,
859
+ retryable: true
860
+ },
861
+ // Debugging
862
+ [ERROR_CODES.DEBUG_TRACKING_FAILED]: {
863
+ code: ERROR_CODES.DEBUG_TRACKING_FAILED,
864
+ status: Ue.INTERNAL_SERVER_ERROR,
865
+ category: ERROR_CATEGORY.Client,
866
+ userMessage: "errors.debug.tracking_failed",
867
+ severity: ERROR_SEVERITY.Medium,
868
+ retryable: false
869
+ },
870
+ [ERROR_CODES.DEBUG_OVERRIDE_FAILED]: {
871
+ code: ERROR_CODES.DEBUG_OVERRIDE_FAILED,
872
+ status: Ue.INTERNAL_SERVER_ERROR,
873
+ category: ERROR_CATEGORY.Configuration,
874
+ userMessage: "errors.debug.override_failed",
875
+ severity: ERROR_SEVERITY.Medium,
876
+ retryable: false
877
+ },
878
+ [ERROR_CODES.DEBUG_CONFLICT_DETECTED]: {
879
+ code: ERROR_CODES.DEBUG_CONFLICT_DETECTED,
880
+ status: Ue.CONFLICT,
881
+ category: ERROR_CATEGORY.Configuration,
882
+ userMessage: "errors.debug.conflict_detected",
883
+ severity: ERROR_SEVERITY.Medium,
884
+ retryable: false
885
+ },
886
+ // Endpoint
887
+ [ERROR_CODES.ENDPOINT_BUILD_FAILED]: {
888
+ code: ERROR_CODES.ENDPOINT_BUILD_FAILED,
889
+ status: Ue.INTERNAL_SERVER_ERROR,
890
+ category: ERROR_CATEGORY.Configuration,
891
+ userMessage: "errors.endpoint.build_failed",
892
+ severity: ERROR_SEVERITY.Medium,
893
+ retryable: false
894
+ },
895
+ [ERROR_CODES.ENDPOINT_NOT_FOUND]: {
896
+ code: ERROR_CODES.ENDPOINT_NOT_FOUND,
897
+ status: Ue.NOT_FOUND,
898
+ category: ERROR_CATEGORY.NotFound,
899
+ userMessage: "errors.endpoint.not_found",
900
+ severity: ERROR_SEVERITY.Medium,
901
+ retryable: false
902
+ },
903
+ [ERROR_CODES.ENDPOINT_INVALID_CONFIG]: {
904
+ code: ERROR_CODES.ENDPOINT_INVALID_CONFIG,
905
+ status: Ue.BAD_REQUEST,
906
+ category: ERROR_CATEGORY.Configuration,
907
+ userMessage: "errors.endpoint.invalid_config",
908
+ severity: ERROR_SEVERITY.Critical,
909
+ retryable: false
910
+ },
911
+ // Event
912
+ [ERROR_CODES.EVENT_HANDLER_FAILED]: {
913
+ code: ERROR_CODES.EVENT_HANDLER_FAILED,
914
+ status: Ue.INTERNAL_SERVER_ERROR,
915
+ category: ERROR_CATEGORY.Client,
916
+ userMessage: "errors.event.handler_failed",
917
+ severity: ERROR_SEVERITY.Medium,
918
+ retryable: false
919
+ },
920
+ [ERROR_CODES.EVENT_EMISSION_FAILED]: {
921
+ code: ERROR_CODES.EVENT_EMISSION_FAILED,
922
+ status: Ue.INTERNAL_SERVER_ERROR,
923
+ category: ERROR_CATEGORY.Client,
924
+ userMessage: "errors.event.emission_failed",
925
+ severity: ERROR_SEVERITY.Medium,
926
+ retryable: false
927
+ },
928
+ [ERROR_CODES.MONITORING_FAILED]: {
929
+ code: ERROR_CODES.MONITORING_FAILED,
930
+ status: Ue.INTERNAL_SERVER_ERROR,
931
+ category: ERROR_CATEGORY.Client,
932
+ userMessage: "errors.monitoring.failed",
933
+ severity: ERROR_SEVERITY.Medium,
934
+ retryable: false
935
+ },
936
+ // Polling
937
+ [ERROR_CODES.POLLING_CANCELLED]: {
938
+ code: ERROR_CODES.POLLING_CANCELLED,
939
+ status: 0,
940
+ category: ERROR_CATEGORY.Client,
941
+ userMessage: "errors.polling.cancelled",
942
+ severity: ERROR_SEVERITY.Low,
943
+ retryable: false
944
+ },
945
+ [ERROR_CODES.POLLING_TIMEOUT]: {
946
+ code: ERROR_CODES.POLLING_TIMEOUT,
947
+ status: Ue.REQUEST_TIMEOUT,
948
+ category: ERROR_CATEGORY.Timeout,
949
+ userMessage: "errors.polling.timeout",
950
+ severity: ERROR_SEVERITY.High,
951
+ retryable: true
952
+ },
953
+ [ERROR_CODES.POLLING_INVALID_CONFIG]: {
954
+ code: ERROR_CODES.POLLING_INVALID_CONFIG,
955
+ status: Ue.BAD_REQUEST,
956
+ category: ERROR_CATEGORY.Configuration,
957
+ userMessage: "errors.polling.invalid_config",
958
+ severity: ERROR_SEVERITY.Critical,
959
+ retryable: false
960
+ },
961
+ // PubSub
962
+ [ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED]: {
963
+ code: ERROR_CODES.PUBSUB_SUBSCRIPTION_FAILED,
964
+ status: Ue.INTERNAL_SERVER_ERROR,
965
+ category: ERROR_CATEGORY.Client,
966
+ userMessage: "errors.pubsub.subscription_failed",
967
+ severity: ERROR_SEVERITY.Medium,
968
+ retryable: false
969
+ },
970
+ [ERROR_CODES.PUBSUB_PUBLICATION_FAILED]: {
971
+ code: ERROR_CODES.PUBSUB_PUBLICATION_FAILED,
972
+ status: Ue.INTERNAL_SERVER_ERROR,
973
+ category: ERROR_CATEGORY.Client,
974
+ userMessage: "errors.pubsub.publication_failed",
975
+ severity: ERROR_SEVERITY.Medium,
976
+ retryable: false
977
+ },
978
+ [ERROR_CODES.PUBSUB_INVALID_TOPIC]: {
979
+ code: ERROR_CODES.PUBSUB_INVALID_TOPIC,
980
+ status: Ue.BAD_REQUEST,
981
+ category: ERROR_CATEGORY.Validation,
982
+ userMessage: "errors.pubsub.invalid_topic",
983
+ severity: ERROR_SEVERITY.Medium,
984
+ retryable: false
985
+ },
986
+ [ERROR_CODES.PUBSUB_CHANNEL_ERROR]: {
987
+ code: ERROR_CODES.PUBSUB_CHANNEL_ERROR,
988
+ status: Ue.INTERNAL_SERVER_ERROR,
989
+ category: ERROR_CATEGORY.Client,
990
+ userMessage: "errors.pubsub.channel_error",
991
+ severity: ERROR_SEVERITY.Medium,
992
+ retryable: false
993
+ },
994
+ // Revalidation
995
+ [ERROR_CODES.REVALIDATION_FAILED]: {
996
+ code: ERROR_CODES.REVALIDATION_FAILED,
997
+ status: Ue.INTERNAL_SERVER_ERROR,
998
+ category: ERROR_CATEGORY.Cache,
999
+ userMessage: "errors.revalidation.failed",
1000
+ severity: ERROR_SEVERITY.Medium,
1001
+ retryable: false
1002
+ },
1003
+ [ERROR_CODES.REVALIDATION_IN_PROGRESS]: {
1004
+ code: ERROR_CODES.REVALIDATION_IN_PROGRESS,
1005
+ status: Ue.CONFLICT,
1006
+ category: ERROR_CATEGORY.Cache,
1007
+ userMessage: "errors.revalidation.in_progress",
1008
+ severity: ERROR_SEVERITY.Medium,
1009
+ retryable: false
1010
+ },
1011
+ // Context
1012
+ [ERROR_CODES.CONTEXT_OPERATION_FAILED]: {
1013
+ code: ERROR_CODES.CONTEXT_OPERATION_FAILED,
1014
+ status: Ue.INTERNAL_SERVER_ERROR,
1015
+ category: ERROR_CATEGORY.Client,
1016
+ userMessage: "errors.context.operation_failed",
1017
+ severity: ERROR_SEVERITY.Medium,
1018
+ retryable: false
1019
+ },
1020
+ // Request
1021
+ [ERROR_CODES.REQUEST_TIMEOUT]: {
1022
+ code: ERROR_CODES.REQUEST_TIMEOUT,
1023
+ status: Ue.REQUEST_TIMEOUT,
1024
+ category: ERROR_CATEGORY.Timeout,
1025
+ userMessage: "errors.request.timeout",
1026
+ severity: ERROR_SEVERITY.High,
1027
+ retryable: true
1028
+ },
1029
+ [ERROR_CODES.REQUEST_ABORTED]: {
1030
+ code: ERROR_CODES.REQUEST_ABORTED,
1031
+ status: 0,
1032
+ category: ERROR_CATEGORY.Client,
1033
+ userMessage: "errors.request.aborted",
1034
+ severity: ERROR_SEVERITY.Medium,
1035
+ retryable: true
1036
+ },
1037
+ [ERROR_CODES.REQUEST_INVALID_PARAMS]: {
1038
+ code: ERROR_CODES.REQUEST_INVALID_PARAMS,
1039
+ status: Ue.BAD_REQUEST,
1040
+ category: ERROR_CATEGORY.Validation,
1041
+ userMessage: "errors.request.invalid_params",
1042
+ severity: ERROR_SEVERITY.Medium,
1043
+ retryable: false
1044
+ },
1045
+ [ERROR_CODES.REQUEST_PREPARATION_FAILED]: {
1046
+ code: ERROR_CODES.REQUEST_PREPARATION_FAILED,
1047
+ status: Ue.INTERNAL_SERVER_ERROR,
1048
+ category: ERROR_CATEGORY.Client,
1049
+ userMessage: "errors.request.preparation_failed",
1050
+ severity: ERROR_SEVERITY.Medium,
1051
+ retryable: false
1052
+ },
1053
+ // Response
1054
+ [ERROR_CODES.RESPONSE_INVALID_FORMAT]: {
1055
+ code: ERROR_CODES.RESPONSE_INVALID_FORMAT,
1056
+ status: Ue.INTERNAL_SERVER_ERROR,
1057
+ category: ERROR_CATEGORY.Server,
1058
+ userMessage: "errors.response.invalid_format",
1059
+ severity: ERROR_SEVERITY.Medium,
1060
+ retryable: false
1061
+ },
1062
+ [ERROR_CODES.RESPONSE_PARSING_FAILED]: {
1063
+ code: ERROR_CODES.RESPONSE_PARSING_FAILED,
1064
+ status: Ue.INTERNAL_SERVER_ERROR,
1065
+ category: ERROR_CATEGORY.Server,
1066
+ userMessage: "errors.response.parsing_failed",
1067
+ severity: ERROR_SEVERITY.Medium,
1068
+ retryable: false
1069
+ },
1070
+ // Client
1071
+ [ERROR_CODES.CLIENT_ERROR]: {
1072
+ code: ERROR_CODES.CLIENT_ERROR,
1073
+ status: Ue.BAD_REQUEST,
1074
+ category: ERROR_CATEGORY.Client,
1075
+ userMessage: "errors.client.error",
1076
+ severity: ERROR_SEVERITY.Medium,
1077
+ retryable: false
1078
+ },
1079
+ [ERROR_CODES.CLIENT_INITIALIZATION_FAILED]: {
1080
+ code: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
1081
+ status: Ue.INTERNAL_SERVER_ERROR,
1082
+ category: ERROR_CATEGORY.Client,
1083
+ userMessage: "errors.client.initialization_failed",
1084
+ severity: ERROR_SEVERITY.Medium,
1085
+ retryable: false
1086
+ },
1087
+ [ERROR_CODES.CLIENT_INVALID_CONFIG]: {
1088
+ code: ERROR_CODES.CLIENT_INVALID_CONFIG,
1089
+ status: Ue.INTERNAL_SERVER_ERROR,
1090
+ category: ERROR_CATEGORY.Client,
1091
+ userMessage: "errors.client.invalid_config",
1092
+ severity: ERROR_SEVERITY.Critical,
1093
+ retryable: false
1094
+ },
1095
+ [ERROR_CODES.CLIENT_MISSING_BASE_URL]: {
1096
+ code: ERROR_CODES.CLIENT_MISSING_BASE_URL,
1097
+ status: Ue.INTERNAL_SERVER_ERROR,
1098
+ category: ERROR_CATEGORY.Configuration,
1099
+ userMessage: "errors.client.missing_base_url",
1100
+ severity: ERROR_SEVERITY.Critical,
1101
+ retryable: false
1102
+ },
1103
+ [ERROR_CODES.CLIENT_CANCELLED]: {
1104
+ code: ERROR_CODES.CLIENT_CANCELLED,
1105
+ status: 0,
1106
+ category: ERROR_CATEGORY.Client,
1107
+ userMessage: "errors.client.cancelled",
1108
+ severity: ERROR_SEVERITY.Low,
1109
+ retryable: true
1110
+ },
1111
+ // Configuration
1112
+ [ERROR_CODES.CONFIG_VALIDATION_FAILED]: {
1113
+ code: ERROR_CODES.CONFIG_VALIDATION_FAILED,
1114
+ status: Ue.INTERNAL_SERVER_ERROR,
1115
+ category: ERROR_CATEGORY.Configuration,
1116
+ userMessage: "errors.config.validation_failed",
1117
+ severity: ERROR_SEVERITY.Critical,
1118
+ retryable: false
1119
+ },
1120
+ [ERROR_CODES.HEADER_PROCESSING_FAILED]: {
1121
+ code: ERROR_CODES.HEADER_PROCESSING_FAILED,
1122
+ status: Ue.INTERNAL_SERVER_ERROR,
1123
+ category: ERROR_CATEGORY.Headers,
1124
+ userMessage: "errors.headers.processing_failed",
1125
+ severity: ERROR_SEVERITY.Medium,
1126
+ retryable: false
1127
+ },
1128
+ [ERROR_CODES.NETWORK_OVERRIDE_FAILED]: {
1129
+ code: ERROR_CODES.NETWORK_OVERRIDE_FAILED,
1130
+ status: Ue.INTERNAL_SERVER_ERROR,
1131
+ category: ERROR_CATEGORY.Network,
1132
+ userMessage: "errors.network.override_failed",
1133
+ severity: ERROR_SEVERITY.High,
1134
+ retryable: true
1135
+ },
1136
+ // Generic
1137
+ [ERROR_CODES.UNKNOWN_ERROR]: {
1138
+ code: ERROR_CODES.UNKNOWN_ERROR,
1139
+ status: Ue.INTERNAL_SERVER_ERROR,
1140
+ category: ERROR_CATEGORY.Unknown,
1141
+ userMessage: "errors.unknown",
1142
+ severity: ERROR_SEVERITY.Medium,
1143
+ retryable: false
1144
+ },
1145
+ // ===== Notification Package Error Definitions =====
1146
+ // Provider errors (retryable)
1147
+ [ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED]: {
1148
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_SEND_FAILED,
1149
+ status: Ue.INTERNAL_SERVER_ERROR,
1150
+ category: ERROR_CATEGORY.Provider,
1151
+ severity: ERROR_SEVERITY.High,
1152
+ retryable: true,
1153
+ userMessage: "errors.notification.provider.send_failed"
1154
+ },
1155
+ [ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID]: {
1156
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_CONFIGURATION_INVALID,
1157
+ status: Ue.INTERNAL_SERVER_ERROR,
1158
+ category: ERROR_CATEGORY.Configuration,
1159
+ severity: ERROR_SEVERITY.Critical,
1160
+ retryable: false,
1161
+ userMessage: "errors.notification.provider.configuration_invalid"
1162
+ },
1163
+ [ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT]: {
1164
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_RATE_LIMIT,
1165
+ status: Ue.TOO_MANY_REQUESTS,
1166
+ category: ERROR_CATEGORY.RateLimit,
1167
+ severity: ERROR_SEVERITY.Medium,
1168
+ retryable: true,
1169
+ userMessage: "errors.notification.provider.rate_limit"
1170
+ },
1171
+ [ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED]: {
1172
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_AUTH_FAILED,
1173
+ status: Ue.UNAUTHORIZED,
1174
+ category: ERROR_CATEGORY.Provider,
1175
+ severity: ERROR_SEVERITY.Critical,
1176
+ retryable: false,
1177
+ userMessage: "errors.notification.provider.auth_failed"
1178
+ },
1179
+ [ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT]: {
1180
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_TIMEOUT,
1181
+ status: Ue.GATEWAY_TIMEOUT,
1182
+ category: ERROR_CATEGORY.Network,
1183
+ severity: ERROR_SEVERITY.Medium,
1184
+ retryable: true,
1185
+ userMessage: "errors.notification.provider.timeout"
1186
+ },
1187
+ [ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE]: {
1188
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_UNAVAILABLE,
1189
+ status: Ue.SERVICE_UNAVAILABLE,
1190
+ category: ERROR_CATEGORY.Provider,
1191
+ severity: ERROR_SEVERITY.High,
1192
+ retryable: true,
1193
+ userMessage: "errors.notification.provider.unavailable"
1194
+ },
1195
+ [ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED]: {
1196
+ code: ERROR_CODES.NOTIFICATION_PROVIDER_FEATURE_NOT_SUPPORTED,
1197
+ status: Ue.NOT_IMPLEMENTED,
1198
+ category: ERROR_CATEGORY.Provider,
1199
+ severity: ERROR_SEVERITY.Low,
1200
+ retryable: false,
1201
+ userMessage: "errors.notification.provider.feature_not_supported"
1202
+ },
1203
+ [ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED]: {
1204
+ code: ERROR_CODES.NOTIFICATION_ALL_PROVIDERS_FAILED,
1205
+ status: Ue.SERVICE_UNAVAILABLE,
1206
+ category: ERROR_CATEGORY.Provider,
1207
+ severity: ERROR_SEVERITY.Critical,
1208
+ retryable: false,
1209
+ userMessage: "errors.notification.all_providers_failed"
1210
+ },
1211
+ // Validation errors (non-retryable)
1212
+ [ERROR_CODES.NOTIFICATION_INVALID_INPUT]: {
1213
+ code: ERROR_CODES.NOTIFICATION_INVALID_INPUT,
1214
+ status: Ue.BAD_REQUEST,
1215
+ category: ERROR_CATEGORY.Validation,
1216
+ severity: ERROR_SEVERITY.Medium,
1217
+ retryable: false,
1218
+ userMessage: "errors.notification.validation.invalid_input"
1219
+ },
1220
+ [ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT]: {
1221
+ code: ERROR_CODES.NOTIFICATION_INVALID_RECIPIENT,
1222
+ status: Ue.BAD_REQUEST,
1223
+ category: ERROR_CATEGORY.Validation,
1224
+ severity: ERROR_SEVERITY.Medium,
1225
+ retryable: false,
1226
+ userMessage: "errors.notification.validation.invalid_recipient"
1227
+ },
1228
+ [ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE]: {
1229
+ code: ERROR_CODES.NOTIFICATION_INVALID_TEMPLATE,
1230
+ status: Ue.BAD_REQUEST,
1231
+ category: ERROR_CATEGORY.Template,
1232
+ severity: ERROR_SEVERITY.Medium,
1233
+ retryable: false,
1234
+ userMessage: "errors.notification.validation.invalid_template"
1235
+ },
1236
+ [ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD]: {
1237
+ code: ERROR_CODES.NOTIFICATION_INVALID_PAYLOAD,
1238
+ status: Ue.BAD_REQUEST,
1239
+ category: ERROR_CATEGORY.Validation,
1240
+ severity: ERROR_SEVERITY.Medium,
1241
+ retryable: false,
1242
+ userMessage: "errors.notification.validation.invalid_payload"
1243
+ },
1244
+ [ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD]: {
1245
+ code: ERROR_CODES.NOTIFICATION_MISSING_REQUIRED_FIELD,
1246
+ status: Ue.BAD_REQUEST,
1247
+ category: ERROR_CATEGORY.Validation,
1248
+ severity: ERROR_SEVERITY.Medium,
1249
+ retryable: false,
1250
+ userMessage: "errors.notification.validation.required_field_missing"
1251
+ },
1252
+ [ERROR_CODES.NOTIFICATION_VALIDATION_FAILED]: {
1253
+ code: ERROR_CODES.NOTIFICATION_VALIDATION_FAILED,
1254
+ status: Ue.BAD_REQUEST,
1255
+ category: ERROR_CATEGORY.Validation,
1256
+ severity: ERROR_SEVERITY.Medium,
1257
+ retryable: false,
1258
+ userMessage: "errors.notification.validation.failed"
1259
+ },
1260
+ // User Preferences
1261
+ [ERROR_CODES.NOTIFICATION_USER_OPTED_OUT]: {
1262
+ code: ERROR_CODES.NOTIFICATION_USER_OPTED_OUT,
1263
+ status: Ue.OK,
1264
+ category: ERROR_CATEGORY.Validation,
1265
+ severity: ERROR_SEVERITY.Low,
1266
+ retryable: false,
1267
+ userMessage: "errors.notification.user.opted_out"
1268
+ },
1269
+ // Queue errors (retryable)
1270
+ [ERROR_CODES.NOTIFICATION_QUEUE_FULL]: {
1271
+ code: ERROR_CODES.NOTIFICATION_QUEUE_FULL,
1272
+ status: Ue.SERVICE_UNAVAILABLE,
1273
+ category: ERROR_CATEGORY.Queue,
1274
+ severity: ERROR_SEVERITY.High,
1275
+ retryable: true,
1276
+ userMessage: "errors.notification.queue.full"
1277
+ },
1278
+ [ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED]: {
1279
+ code: ERROR_CODES.NOTIFICATION_QUEUE_PROCESSING_FAILED,
1280
+ status: Ue.INTERNAL_SERVER_ERROR,
1281
+ category: ERROR_CATEGORY.Queue,
1282
+ severity: ERROR_SEVERITY.High,
1283
+ retryable: true,
1284
+ userMessage: "errors.notification.queue.processing_failed"
1285
+ },
1286
+ // Webhook errors
1287
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID]: {
1288
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_SIGNATURE_INVALID,
1289
+ status: Ue.UNAUTHORIZED,
1290
+ category: ERROR_CATEGORY.Webhook,
1291
+ severity: ERROR_SEVERITY.High,
1292
+ retryable: false,
1293
+ userMessage: "errors.notification.webhook.signature_invalid"
1294
+ },
1295
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED]: {
1296
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_VALIDATION_FAILED,
1297
+ status: Ue.BAD_REQUEST,
1298
+ category: ERROR_CATEGORY.Webhook,
1299
+ severity: ERROR_SEVERITY.Medium,
1300
+ retryable: false,
1301
+ userMessage: "errors.notification.webhook.validation_failed"
1302
+ },
1303
+ [ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED]: {
1304
+ code: ERROR_CODES.NOTIFICATION_WEBHOOK_PROCESSING_FAILED,
1305
+ status: Ue.INTERNAL_SERVER_ERROR,
1306
+ category: ERROR_CATEGORY.Webhook,
1307
+ severity: ERROR_SEVERITY.High,
1308
+ retryable: true,
1309
+ userMessage: "errors.notification.webhook.processing_failed"
1310
+ },
1311
+ // Template errors
1312
+ [ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND]: {
1313
+ code: ERROR_CODES.NOTIFICATION_TEMPLATE_NOT_FOUND,
1314
+ status: Ue.NOT_FOUND,
1315
+ category: ERROR_CATEGORY.Template,
1316
+ severity: ERROR_SEVERITY.High,
1317
+ retryable: false,
1318
+ userMessage: "errors.notification.template.not_found"
1319
+ },
1320
+ [ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED]: {
1321
+ code: ERROR_CODES.NOTIFICATION_TEMPLATE_RENDER_FAILED,
1322
+ status: Ue.INTERNAL_SERVER_ERROR,
1323
+ category: ERROR_CATEGORY.Template,
1324
+ severity: ERROR_SEVERITY.High,
1325
+ retryable: false,
1326
+ userMessage: "errors.notification.template.render_failed"
1327
+ },
1328
+ // General notification errors
1329
+ [ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR]: {
1330
+ code: ERROR_CODES.NOTIFICATION_UNKNOWN_ERROR,
1331
+ status: Ue.INTERNAL_SERVER_ERROR,
1332
+ category: ERROR_CATEGORY.Unknown,
1333
+ severity: ERROR_SEVERITY.Medium,
1334
+ retryable: false,
1335
+ userMessage: "errors.notification.unknown"
1336
+ },
1337
+ [ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED]: {
1338
+ code: ERROR_CODES.NOTIFICATION_INITIALIZATION_FAILED,
1339
+ status: Ue.INTERNAL_SERVER_ERROR,
1340
+ category: ERROR_CATEGORY.Configuration,
1341
+ severity: ERROR_SEVERITY.Critical,
1342
+ retryable: false,
1343
+ userMessage: "errors.notification.initialization_failed"
1344
+ }
1345
+ };
68
1346
 
1347
+ exports.API_ERROR_CODES = API_ERROR_CODES;
1348
+ exports.COMMON_FIELDS = COMMON_FIELDS;
1349
+ exports.COMMON_OPERATIONS = COMMON_OPERATIONS;
1350
+ exports.COMMON_STORAGE_TYPES = COMMON_STORAGE_TYPES;
69
1351
  exports.ERROR_CATEGORY = ERROR_CATEGORY;
1352
+ exports.ERROR_CATEGORY_TO_EMITTER_KEY = ERROR_CATEGORY_TO_EMITTER_KEY;
1353
+ exports.ERROR_CODES = ERROR_CODES;
1354
+ exports.ERROR_DEFINITIONS = ERROR_DEFINITIONS;
70
1355
  exports.ERROR_SEVERITY = ERROR_SEVERITY;
71
1356
  exports.ERROR_TYPE = ERROR_TYPE;
1357
+ exports.INTERNAL_STATUS_CODES = INTERNAL_STATUS_CODES;
1358
+ exports.NOTIFICATION_ERROR_CODES = NOTIFICATION_ERROR_CODES;
72
1359
  //# sourceMappingURL=index.cjs.map
73
1360
  //# sourceMappingURL=index.cjs.map