@plyaz/types 1.27.3 → 1.27.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.
package/dist/index.js CHANGED
@@ -4,767 +4,6 @@ import { z } from 'zod';
4
4
  var __defProp = Object.defineProperty;
5
5
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
6
 
7
- // src/http/constants.ts
8
- var HTTP_STATUS = {
9
- // 1xx Informational
10
- /**
11
- * 100 Continue - The initial part of a request has been received
12
- */
13
- CONTINUE: 100,
14
- /**
15
- * 101 Switching Protocols - The server is switching protocols
16
- */
17
- SWITCHING_PROTOCOLS: 101,
18
- /**
19
- * 102 Processing - The server has received and is processing the request
20
- */
21
- PROCESSING: 102,
22
- /**
23
- * 103 Early Hints - Used to return some response headers before final HTTP message
24
- */
25
- EARLY_HINTS: 103,
26
- // 2xx Success
27
- /**
28
- * 200 OK - The request succeeded
29
- */
30
- OK: 200,
31
- /**
32
- * 201 Created - The request succeeded and a new resource was created
33
- */
34
- CREATED: 201,
35
- /**
36
- * 202 Accepted - The request has been received but not yet acted upon
37
- */
38
- ACCEPTED: 202,
39
- /**
40
- * 203 Non-Authoritative Information - The returned metadata is not from the origin server
41
- */
42
- NON_AUTHORITATIVE_INFORMATION: 203,
43
- /**
44
- * 204 No Content - There is no content to send for this request
45
- */
46
- NO_CONTENT: 204,
47
- /**
48
- * 205 Reset Content - Tells the user agent to reset the document
49
- */
50
- RESET_CONTENT: 205,
51
- /**
52
- * 206 Partial Content - The server is delivering only part of the resource
53
- */
54
- PARTIAL_CONTENT: 206,
55
- /**
56
- * 207 Multi-Status - Conveys information about multiple resources
57
- */
58
- MULTI_STATUS: 207,
59
- /**
60
- * 208 Already Reported - The members of a DAV binding have already been enumerated
61
- */
62
- ALREADY_REPORTED: 208,
63
- /**
64
- * 226 IM Used - The server has fulfilled a request for the resource
65
- */
66
- IM_USED: 226,
67
- // 3xx Redirection
68
- /**
69
- * 300 Multiple Choices - Multiple options for the resource are available
70
- */
71
- MULTIPLE_CHOICES: 300,
72
- /**
73
- * 301 Moved Permanently - The URL of the requested resource has been changed permanently
74
- */
75
- MOVED_PERMANENTLY: 301,
76
- /**
77
- * 302 Found - The resource resides temporarily under a different URI
78
- */
79
- FOUND: 302,
80
- /**
81
- * 303 See Other - Direct the client to get the resource at another URI
82
- */
83
- SEE_OTHER: 303,
84
- /**
85
- * 304 Not Modified - The cached version is still valid
86
- */
87
- NOT_MODIFIED: 304,
88
- /**
89
- * 305 Use Proxy - Defined in a previous version of the HTTP specification
90
- */
91
- USE_PROXY: 305,
92
- /**
93
- * 307 Temporary Redirect - The request should be repeated with another URI
94
- */
95
- TEMPORARY_REDIRECT: 307,
96
- /**
97
- * 308 Permanent Redirect - The resource is permanently located at another URI
98
- */
99
- PERMANENT_REDIRECT: 308,
100
- // 4xx Client Errors
101
- /**
102
- * 400 Bad Request - The server cannot process the request due to client error
103
- */
104
- BAD_REQUEST: 400,
105
- /**
106
- * 401 Unauthorized - Authentication is required and has failed or not been provided
107
- */
108
- UNAUTHORIZED: 401,
109
- /**
110
- * 402 Payment Required - Reserved for future use
111
- */
112
- PAYMENT_REQUIRED: 402,
113
- /**
114
- * 403 Forbidden - The server understood the request but refuses to authorize it
115
- */
116
- FORBIDDEN: 403,
117
- /**
118
- * 404 Not Found - The server cannot find the requested resource
119
- */
120
- NOT_FOUND: 404,
121
- /**
122
- * 405 Method Not Allowed - The request method is not supported for the requested resource
123
- */
124
- METHOD_NOT_ALLOWED: 405,
125
- /**
126
- * 406 Not Acceptable - The requested resource is not available in a format acceptable to the client
127
- */
128
- NOT_ACCEPTABLE: 406,
129
- /**
130
- * 407 Proxy Authentication Required - The client must authenticate itself with the proxy
131
- */
132
- PROXY_AUTHENTICATION_REQUIRED: 407,
133
- /**
134
- * 408 Request Timeout - The server timed out waiting for the request
135
- */
136
- REQUEST_TIMEOUT: 408,
137
- /**
138
- * 409 Conflict - The request conflicts with the current state of the server
139
- */
140
- CONFLICT: 409,
141
- /**
142
- * 410 Gone - The requested resource is no longer available and will not be available again
143
- */
144
- GONE: 410,
145
- /**
146
- * 411 Length Required - The request did not specify the length of its content
147
- */
148
- LENGTH_REQUIRED: 411,
149
- /**
150
- * 412 Precondition Failed - The server does not meet one of the preconditions
151
- */
152
- PRECONDITION_FAILED: 412,
153
- /**
154
- * 413 Payload Too Large - The request is larger than the server is willing to process
155
- */
156
- PAYLOAD_TOO_LARGE: 413,
157
- /**
158
- * 414 URI Too Long - The URI provided was too long for the server to process
159
- */
160
- URI_TOO_LONG: 414,
161
- /**
162
- * 415 Unsupported Media Type - The request entity has a media type not supported by the server
163
- */
164
- UNSUPPORTED_MEDIA_TYPE: 415,
165
- /**
166
- * 416 Range Not Satisfiable - The client has asked for a portion of the file that the server cannot supply
167
- */
168
- RANGE_NOT_SATISFIABLE: 416,
169
- /**
170
- * 417 Expectation Failed - The server cannot meet the requirements of the Expect request-header field
171
- */
172
- EXPECTATION_FAILED: 417,
173
- /**
174
- * 418 I'm a teapot - The server refuses to brew coffee because it is a teapot
175
- */
176
- IM_A_TEAPOT: 418,
177
- /**
178
- * 421 Misdirected Request - The request was directed at a server that is not able to produce a response
179
- */
180
- MISDIRECTED_REQUEST: 421,
181
- /**
182
- * 422 Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors
183
- */
184
- UNPROCESSABLE_ENTITY: 422,
185
- /**
186
- * 423 Locked - The resource that is being accessed is locked
187
- */
188
- LOCKED: 423,
189
- /**
190
- * 424 Failed Dependency - The request failed due to failure of a previous request
191
- */
192
- FAILED_DEPENDENCY: 424,
193
- /**
194
- * 425 Too Early - The server is unwilling to risk processing a request that might be replayed
195
- */
196
- TOO_EARLY: 425,
197
- /**
198
- * 426 Upgrade Required - The client should switch to a different protocol
199
- */
200
- UPGRADE_REQUIRED: 426,
201
- /**
202
- * 428 Precondition Required - The origin server requires the request to be conditional
203
- */
204
- PRECONDITION_REQUIRED: 428,
205
- /**
206
- * 429 Too Many Requests - The user has sent too many requests in a given amount of time
207
- */
208
- TOO_MANY_REQUESTS: 429,
209
- /**
210
- * 431 Request Header Fields Too Large - The server is unwilling to process the request because its header fields are too large
211
- */
212
- REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
213
- /**
214
- * 451 Unavailable For Legal Reasons - The user requested a resource that cannot legally be provided
215
- */
216
- UNAVAILABLE_FOR_LEGAL_REASONS: 451,
217
- // 5xx Server Errors
218
- /**
219
- * 500 Internal Server Error - The server encountered an unexpected condition
220
- */
221
- INTERNAL_SERVER_ERROR: 500,
222
- /**
223
- * 501 Not Implemented - The server does not support the functionality required to fulfill the request
224
- */
225
- NOT_IMPLEMENTED: 501,
226
- /**
227
- * 502 Bad Gateway - The server received an invalid response from the upstream server
228
- */
229
- BAD_GATEWAY: 502,
230
- /**
231
- * 503 Service Unavailable - The server is not ready to handle the request
232
- */
233
- SERVICE_UNAVAILABLE: 503,
234
- /**
235
- * 504 Gateway Timeout - The server did not get a response in time from the upstream server
236
- */
237
- GATEWAY_TIMEOUT: 504,
238
- /**
239
- * 505 HTTP Version Not Supported - The HTTP version used in the request is not supported by the server
240
- */
241
- HTTP_VERSION_NOT_SUPPORTED: 505,
242
- /**
243
- * 506 Variant Also Negotiates - The server has an internal configuration error
244
- */
245
- VARIANT_ALSO_NEGOTIATES: 506,
246
- /**
247
- * 507 Insufficient Storage - The server is unable to store the representation needed to complete the request
248
- */
249
- INSUFFICIENT_STORAGE: 507,
250
- /**
251
- * 508 Loop Detected - The server detected an infinite loop while processing the request
252
- */
253
- LOOP_DETECTED: 508,
254
- /**
255
- * 510 Not Extended - Further extensions to the request are required for the server to fulfill it
256
- */
257
- NOT_EXTENDED: 510,
258
- /**
259
- * 511 Network Authentication Required - The client needs to authenticate to gain network access
260
- */
261
- NETWORK_AUTHENTICATION_REQUIRED: 511
262
- };
263
-
264
- // src/auth/types.ts
265
- var AUTH_ERROR_CODES = {
266
- INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
267
- TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
268
- TOKEN_INVALID: "AUTH_TOKEN_INVALID",
269
- TOKEN_REVOKED: "AUTH_TOKEN_REVOKED",
270
- SESSION_EXPIRED: "AUTH_SESSION_EXPIRED",
271
- MFA_REQUIRED: "AUTH_MFA_REQUIRED",
272
- MFA_INVALID: "AUTH_MFA_INVALID",
273
- INSUFFICIENT_PERMISSIONS: "AUTH_INSUFFICIENT_PERMISSIONS",
274
- ROLE_REQUIRED: "AUTH_ROLE_REQUIRED",
275
- WALLET_SIGNATURE_INVALID: "AUTH_WALLET_SIGNATURE_INVALID",
276
- NONCE_EXPIRED: "AUTH_NONCE_EXPIRED",
277
- NONCE_ALREADY_USED: "AUTH_NONCE_ALREADY_USED",
278
- ACCOUNT_LOCKED: "AUTH_ACCOUNT_LOCKED",
279
- ACCOUNT_SUSPENDED: "AUTH_ACCOUNT_SUSPENDED"
280
- };
281
-
282
- // src/auth/enums.ts
283
- var USER_ROLE = {
284
- /** A user who is an athlete and participates in sports activities. */
285
- Athlete: "athlete",
286
- /** A user who scouts and discovers talent. */
287
- Scout: "scout",
288
- /** A user who acts as an agent representing athletes or clubs. */
289
- Agent: "agent",
290
- /** A user representing a sports club or organization. */
291
- Club: "club",
292
- /** A fan or supporter of athletes or clubs. */
293
- Fan: "fan",
294
- /** A system administrator with access to management tools. */
295
- Admin: "admin",
296
- /** A super admin with the highest level of access and control. */
297
- SuperAdmin: "super.admin"
298
- };
299
- var USER_STATUS = {
300
- /** Active user with full access. */
301
- Active: "active",
302
- /** Inactive user, typically not currently using the platform. */
303
- Inactive: "inactive",
304
- /** User account is awaiting approval or completion of setup. */
305
- Pending: "pending",
306
- /** User has been temporarily suspended due to policy violations or manual review. */
307
- Suspended: "suspended",
308
- /** User has been permanently banned from the platform. */
309
- Banned: "banned"
310
- };
311
- var AUTH_PROVIDER_TYPE = /* @__PURE__ */ ((AUTH_PROVIDER_TYPE2) => {
312
- AUTH_PROVIDER_TYPE2["ClerkSupabase"] = "CLERK_SUPABASE";
313
- AUTH_PROVIDER_TYPE2["InternalDb"] = "INTERNAL_DB";
314
- return AUTH_PROVIDER_TYPE2;
315
- })(AUTH_PROVIDER_TYPE || {});
316
- var AUTH_PROVIDER = /* @__PURE__ */ ((AUTH_PROVIDER2) => {
317
- AUTH_PROVIDER2["EMAIL"] = "EMAIL";
318
- AUTH_PROVIDER2["CLERK"] = "CLERK";
319
- AUTH_PROVIDER2["GOOGLE"] = "GOOGLE";
320
- AUTH_PROVIDER2["FACEBOOK"] = "FACEBOOK";
321
- AUTH_PROVIDER2["APPLE"] = "APPLE";
322
- AUTH_PROVIDER2["WEB3"] = "WEB3";
323
- return AUTH_PROVIDER2;
324
- })(AUTH_PROVIDER || {});
325
- var USER_ROLE_STATUS = /* @__PURE__ */ ((USER_ROLE_STATUS2) => {
326
- USER_ROLE_STATUS2["ACTIVE"] = "ACTIVE";
327
- USER_ROLE_STATUS2["INACTIVE"] = "INACTIVE";
328
- USER_ROLE_STATUS2["SUSPENDED"] = "SUSPENDED";
329
- return USER_ROLE_STATUS2;
330
- })(USER_ROLE_STATUS || {});
331
- var TOKEN_TYPE = /* @__PURE__ */ ((TOKEN_TYPE2) => {
332
- TOKEN_TYPE2["BEARER"] = "Bearer";
333
- TOKEN_TYPE2["JWT"] = "JWT";
334
- return TOKEN_TYPE2;
335
- })(TOKEN_TYPE || {});
336
- var AUTH_ERROR_DEFINITIONS = {
337
- [AUTH_ERROR_CODES.INVALID_CREDENTIALS]: {
338
- status: HTTP_STATUS.UNAUTHORIZED,
339
- message: "Wrong email/password.",
340
- severity: "medium",
341
- retryable: false
342
- },
343
- [AUTH_ERROR_CODES.TOKEN_EXPIRED]: {
344
- status: HTTP_STATUS.UNAUTHORIZED,
345
- message: "Access/refresh token expired.",
346
- severity: "medium",
347
- retryable: false
348
- },
349
- [AUTH_ERROR_CODES.TOKEN_INVALID]: {
350
- status: HTTP_STATUS.UNAUTHORIZED,
351
- message: "Token signature invalid.",
352
- severity: "high",
353
- retryable: false
354
- },
355
- [AUTH_ERROR_CODES.TOKEN_REVOKED]: {
356
- status: HTTP_STATUS.UNAUTHORIZED,
357
- message: "Token has been revoked.",
358
- severity: "medium",
359
- retryable: false
360
- },
361
- [AUTH_ERROR_CODES.SESSION_EXPIRED]: {
362
- status: HTTP_STATUS.UNAUTHORIZED,
363
- message: "Session no longer valid.",
364
- severity: "medium",
365
- retryable: false
366
- },
367
- [AUTH_ERROR_CODES.MFA_REQUIRED]: {
368
- status: HTTP_STATUS.FORBIDDEN,
369
- // 403 Forbidden is appropriate here
370
- message: "MFA verification needed.",
371
- severity: "low",
372
- retryable: false
373
- },
374
- [AUTH_ERROR_CODES.MFA_INVALID]: {
375
- status: HTTP_STATUS.UNAUTHORIZED,
376
- message: "MFA code incorrect.",
377
- severity: "medium",
378
- retryable: false
379
- },
380
- [AUTH_ERROR_CODES.INSUFFICIENT_PERMISSIONS]: {
381
- status: HTTP_STATUS.FORBIDDEN,
382
- message: "User lacks required permission.",
383
- severity: "medium",
384
- retryable: false
385
- },
386
- [AUTH_ERROR_CODES.ROLE_REQUIRED]: {
387
- status: HTTP_STATUS.FORBIDDEN,
388
- message: "User lacks required role.",
389
- severity: "medium",
390
- retryable: false
391
- },
392
- [AUTH_ERROR_CODES.WALLET_SIGNATURE_INVALID]: {
393
- status: HTTP_STATUS.UNAUTHORIZED,
394
- message: "Web3 signature verification failed.",
395
- severity: "high",
396
- retryable: false
397
- },
398
- [AUTH_ERROR_CODES.NONCE_EXPIRED]: {
399
- status: HTTP_STATUS.UNAUTHORIZED,
400
- message: "SIWE nonce has expired.",
401
- severity: "medium",
402
- retryable: false
403
- },
404
- [AUTH_ERROR_CODES.NONCE_ALREADY_USED]: {
405
- status: HTTP_STATUS.UNAUTHORIZED,
406
- message: "Replay attack detected.",
407
- severity: "high",
408
- retryable: false
409
- },
410
- [AUTH_ERROR_CODES.ACCOUNT_LOCKED]: {
411
- status: HTTP_STATUS.LOCKED,
412
- // 423 Locked is perfect for this
413
- message: "Too many failed attempts.",
414
- severity: "high",
415
- retryable: false
416
- },
417
- [AUTH_ERROR_CODES.ACCOUNT_SUSPENDED]: {
418
- status: HTTP_STATUS.FORBIDDEN,
419
- message: "Account has been suspended.",
420
- severity: "high",
421
- retryable: false
422
- }
423
- };
424
- var DEFAULT_PASSWORD = 8;
425
- var ContactUsFormSchema = z.object({
426
- name: z.string({ error: "errors.form.missingField" }).min(1, "errors.form.nameMissing"),
427
- email: z.email({ error: "errors.form.emailInvalid" })
428
- });
429
- var SignupFormSchema = z.object({
430
- name: z.string({ error: "errors.form.missingField" }).min(1, "errors.form.nameMissing"),
431
- email: z.email({ error: "errors.form.emailInvalid" }),
432
- password: z.string({ error: "errors.form.missingField" }).min(DEFAULT_PASSWORD, "errors.form.passwordTooShort")
433
- });
434
-
435
- // src/core/modules.ts
436
- var BACKEND_RUNTIMES = [
437
- "node",
438
- "nestjs",
439
- "express",
440
- "deno",
441
- "bun"
442
- ];
443
- var FRONTEND_RUNTIMES = ["browser"];
444
- var UNIVERSAL_RUNTIMES = [
445
- "nextjs",
446
- "nuxt",
447
- "edge"
448
- ];
449
- var APP_CONTEXTS = [
450
- "webapp",
451
- "backoffice",
452
- "mobile",
453
- "microapp",
454
- "cli"
455
- ];
456
-
457
- // src/core/tables/enum.ts
458
- var TABLES = /* @__PURE__ */ ((TABLES2) => {
459
- TABLES2["User"] = "users";
460
- return TABLES2;
461
- })(TABLES || {});
462
-
463
- // src/core/featureFlag/enums.ts
464
- var SORT_DIRECTION = /* @__PURE__ */ ((SORT_DIRECTION2) => {
465
- SORT_DIRECTION2["Asc"] = "asc";
466
- SORT_DIRECTION2["Desc"] = "desc";
467
- return SORT_DIRECTION2;
468
- })(SORT_DIRECTION || {});
469
- var FEATURE_FLAG_TABLE = /* @__PURE__ */ ((FEATURE_FLAG_TABLE2) => {
470
- FEATURE_FLAG_TABLE2["FeatureFlags"] = "feature_flags";
471
- FEATURE_FLAG_TABLE2["FeatureFlagRules"] = "feature_flag_rules";
472
- FEATURE_FLAG_TABLE2["FeatureFlagEvaluations"] = "feature_flag_evaluations";
473
- FEATURE_FLAG_TABLE2["FeatureFlagOverrides"] = "feature_flag_overrides";
474
- return FEATURE_FLAG_TABLE2;
475
- })(FEATURE_FLAG_TABLE || {});
476
- var FEATURE_FLAG_FIELD = /* @__PURE__ */ ((FEATURE_FLAG_FIELD2) => {
477
- FEATURE_FLAG_FIELD2["Key"] = "key";
478
- FEATURE_FLAG_FIELD2["Name"] = "name";
479
- FEATURE_FLAG_FIELD2["Value"] = "value";
480
- FEATURE_FLAG_FIELD2["Type"] = "type";
481
- FEATURE_FLAG_FIELD2["IsEnabled"] = "is_enabled";
482
- FEATURE_FLAG_FIELD2["Environments"] = "environments";
483
- FEATURE_FLAG_FIELD2["Description"] = "description";
484
- FEATURE_FLAG_FIELD2["CreatedAt"] = "created_at";
485
- FEATURE_FLAG_FIELD2["UpdatedAt"] = "updated_at";
486
- return FEATURE_FLAG_FIELD2;
487
- })(FEATURE_FLAG_FIELD || {});
488
- var FEATURE_FLAG_RULE_FIELD = /* @__PURE__ */ ((FEATURE_FLAG_RULE_FIELD2) => {
489
- FEATURE_FLAG_RULE_FIELD2["Id"] = "id";
490
- FEATURE_FLAG_RULE_FIELD2["FlagKey"] = "flag_key";
491
- FEATURE_FLAG_RULE_FIELD2["Name"] = "name";
492
- FEATURE_FLAG_RULE_FIELD2["Conditions"] = "conditions";
493
- FEATURE_FLAG_RULE_FIELD2["Value"] = "value";
494
- FEATURE_FLAG_RULE_FIELD2["Priority"] = "priority";
495
- FEATURE_FLAG_RULE_FIELD2["IsEnabled"] = "is_enabled";
496
- return FEATURE_FLAG_RULE_FIELD2;
497
- })(FEATURE_FLAG_RULE_FIELD || {});
498
- var FEATURE_FLAG_PROVIDERS = /* @__PURE__ */ ((FEATURE_FLAG_PROVIDERS2) => {
499
- FEATURE_FLAG_PROVIDERS2["MEMORY"] = "memory";
500
- FEATURE_FLAG_PROVIDERS2["FILE"] = "file";
501
- FEATURE_FLAG_PROVIDERS2["REDIS"] = "redis";
502
- FEATURE_FLAG_PROVIDERS2["API"] = "api";
503
- FEATURE_FLAG_PROVIDERS2["DATABASE"] = "database";
504
- return FEATURE_FLAG_PROVIDERS2;
505
- })(FEATURE_FLAG_PROVIDERS || {});
506
- var NODE_ENVIRONMENTS = /* @__PURE__ */ ((NODE_ENVIRONMENTS2) => {
507
- NODE_ENVIRONMENTS2["DEVELOPMENT"] = "development";
508
- NODE_ENVIRONMENTS2["PRODUCTION"] = "production";
509
- NODE_ENVIRONMENTS2["STAGING"] = "staging";
510
- NODE_ENVIRONMENTS2["TEST"] = "test";
511
- return NODE_ENVIRONMENTS2;
512
- })(NODE_ENVIRONMENTS || {});
513
- var DATABASE_FIELDS = /* @__PURE__ */ ((DATABASE_FIELDS2) => {
514
- DATABASE_FIELDS2["Key"] = "key";
515
- DATABASE_FIELDS2["FlagKey"] = "flag_key";
516
- DATABASE_FIELDS2["UserId"] = "user_id";
517
- DATABASE_FIELDS2["IsEnabled"] = "is_enabled";
518
- DATABASE_FIELDS2["CreatedAt"] = "created_at";
519
- DATABASE_FIELDS2["UpdatedAt"] = "updated_at";
520
- DATABASE_FIELDS2["ExpiresAt"] = "expires_at";
521
- DATABASE_FIELDS2["EvaluatedAt"] = "evaluated_at";
522
- return DATABASE_FIELDS2;
523
- })(DATABASE_FIELDS || {});
524
- var SYSTEM_USERS = /* @__PURE__ */ ((SYSTEM_USERS2) => {
525
- SYSTEM_USERS2["SYSTEM"] = "system";
526
- return SYSTEM_USERS2;
527
- })(SYSTEM_USERS || {});
528
- var EVALUATION_REASONS = /* @__PURE__ */ ((EVALUATION_REASONS2) => {
529
- EVALUATION_REASONS2["Default"] = "default";
530
- EVALUATION_REASONS2["RuleMatch"] = "rule_match";
531
- EVALUATION_REASONS2["Rollout"] = "rollout";
532
- EVALUATION_REASONS2["Override"] = "override";
533
- EVALUATION_REASONS2["Disabled"] = "disabled";
534
- return EVALUATION_REASONS2;
535
- })(EVALUATION_REASONS || {});
536
- var FEATURE_FLAG_TYPES = /* @__PURE__ */ ((FEATURE_FLAG_TYPES2) => {
537
- FEATURE_FLAG_TYPES2["BOOLEAN"] = "boolean";
538
- FEATURE_FLAG_TYPES2["STRING"] = "string";
539
- FEATURE_FLAG_TYPES2["NUMBER"] = "number";
540
- FEATURE_FLAG_TYPES2["OBJECT"] = "object";
541
- return FEATURE_FLAG_TYPES2;
542
- })(FEATURE_FLAG_TYPES || {});
543
-
544
- // src/core/featureFlag/constants.ts
545
- var FEATURE_FLAG_DEFAULTS = {
546
- CACHE_TTL: 300,
547
- REFRESH_INTERVAL: 0,
548
- POOL_SIZE: 10,
549
- TIMEOUT: 3e4,
550
- TABLE_NAME: "feature_flags"
551
- };
552
- var FEATURE_FLAG_METADATA = {
553
- FLAG_CHECK: "plyaz:feature_flag_check",
554
- // Single feature flag check
555
- RESOLVE_FLAGS: "plyaz:resolve_feature_flags"
556
- // Multiple flags resolved at once
557
- };
558
-
559
- // src/core/events/enums.ts
560
- var CoreEventScope = {
561
- SYSTEM: "system",
562
- ENTITY: "entity",
563
- VALIDATION: "validation",
564
- SANITIZATION: "sanitization",
565
- API: "api",
566
- CACHE: "cache",
567
- AUTH: "auth",
568
- DATABASE: "database",
569
- FEATURE_FLAG: "featureFlag",
570
- STORE: "store",
571
- STORAGE: "storage",
572
- NOTIFICATION: "notification"
573
- };
574
- var SystemEventAction = {
575
- INITIALIZED: "initialized",
576
- READY: "ready",
577
- SHUTDOWN: "shutdown",
578
- ERROR: "error",
579
- WARNING: "warning"
580
- };
581
- var EntityEventAction = {
582
- // Lifecycle (before API call)
583
- CREATING: "creating",
584
- UPDATING: "updating",
585
- PATCHING: "patching",
586
- DELETING: "deleting",
587
- // Completed (after API call)
588
- CREATED: "created",
589
- UPDATED: "updated",
590
- PATCHED: "patched",
591
- DELETED: "deleted",
592
- // Error/Complete
593
- ERROR: "error",
594
- COMPLETE: "complete",
595
- // Bulk operations
596
- BULK_CREATED: "bulkCreated",
597
- BULK_DELETED: "bulkDeleted"
598
- };
599
- var ValidationEventAction = {
600
- STARTED: "started",
601
- SUCCESS: "success",
602
- FAILED: "failed"
603
- };
604
- var SanitizationEventAction = {
605
- STARTED: "started",
606
- SUCCESS: "success",
607
- FAILED: "failed"
608
- };
609
- var ApiEventAction = {
610
- REQUEST_START: "requestStart",
611
- REQUEST_SUCCESS: "requestSuccess",
612
- REQUEST_ERROR: "requestError",
613
- RETRY: "retry",
614
- TIMEOUT: "timeout"
615
- };
616
- var CacheEventAction = {
617
- HIT: "hit",
618
- MISS: "miss",
619
- SET: "set",
620
- DELETE: "delete",
621
- CLEAR: "clear",
622
- EXPIRED: "expired"
623
- };
624
- var AuthEventAction = {
625
- LOGIN: "login",
626
- LOGOUT: "logout",
627
- TOKEN_REFRESH: "tokenRefresh",
628
- SESSION_EXPIRED: "sessionExpired",
629
- UNAUTHORIZED: "unauthorized"
630
- };
631
- var DatabaseEventAction = {
632
- CONNECTED: "connected",
633
- DISCONNECTED: "disconnected",
634
- QUERY: "query",
635
- ERROR: "error",
636
- TRANSACTION_START: "transactionStart",
637
- TRANSACTION_COMMIT: "transactionCommit",
638
- TRANSACTION_ROLLBACK: "transactionRollback"
639
- };
640
- var FeatureFlagEventAction = {
641
- CHANGED: "changed",
642
- EVALUATED: "evaluated",
643
- REFRESHED: "refreshed"
644
- };
645
- var StoreEventAction = {
646
- UPDATED: "updated",
647
- RESET: "reset",
648
- HYDRATED: "hydrated"
649
- };
650
- var StorageEventAction = {
651
- UPLOADED: "uploaded",
652
- DOWNLOADED: "downloaded",
653
- DELETED: "deleted",
654
- ERROR: "error",
655
- HEALTH_CHECK: "healthCheck"
656
- };
657
- var NotificationEventAction = {
658
- SENT: "sent",
659
- FAILED: "failed",
660
- DELIVERED: "delivered",
661
- OPENED: "opened",
662
- CLICKED: "clicked",
663
- ERROR: "error",
664
- HEALTH_CHECK: "healthCheck"
665
- };
666
- var CORE_EVENTS = {
667
- SYSTEM: {
668
- INITIALIZED: `${CoreEventScope.SYSTEM}:${SystemEventAction.INITIALIZED}`,
669
- READY: `${CoreEventScope.SYSTEM}:${SystemEventAction.READY}`,
670
- SHUTDOWN: `${CoreEventScope.SYSTEM}:${SystemEventAction.SHUTDOWN}`,
671
- ERROR: `${CoreEventScope.SYSTEM}:${SystemEventAction.ERROR}`,
672
- WARNING: `${CoreEventScope.SYSTEM}:${SystemEventAction.WARNING}`
673
- },
674
- ENTITY: {
675
- CREATING: `${CoreEventScope.ENTITY}:${EntityEventAction.CREATING}`,
676
- UPDATING: `${CoreEventScope.ENTITY}:${EntityEventAction.UPDATING}`,
677
- PATCHING: `${CoreEventScope.ENTITY}:${EntityEventAction.PATCHING}`,
678
- DELETING: `${CoreEventScope.ENTITY}:${EntityEventAction.DELETING}`,
679
- CREATED: `${CoreEventScope.ENTITY}:${EntityEventAction.CREATED}`,
680
- UPDATED: `${CoreEventScope.ENTITY}:${EntityEventAction.UPDATED}`,
681
- PATCHED: `${CoreEventScope.ENTITY}:${EntityEventAction.PATCHED}`,
682
- DELETED: `${CoreEventScope.ENTITY}:${EntityEventAction.DELETED}`,
683
- ERROR: `${CoreEventScope.ENTITY}:${EntityEventAction.ERROR}`,
684
- COMPLETE: `${CoreEventScope.ENTITY}:${EntityEventAction.COMPLETE}`,
685
- BULK_CREATED: `${CoreEventScope.ENTITY}:${EntityEventAction.BULK_CREATED}`,
686
- BULK_DELETED: `${CoreEventScope.ENTITY}:${EntityEventAction.BULK_DELETED}`
687
- },
688
- VALIDATION: {
689
- STARTED: `${CoreEventScope.VALIDATION}:${ValidationEventAction.STARTED}`,
690
- SUCCESS: `${CoreEventScope.VALIDATION}:${ValidationEventAction.SUCCESS}`,
691
- FAILED: `${CoreEventScope.VALIDATION}:${ValidationEventAction.FAILED}`
692
- },
693
- SANITIZATION: {
694
- STARTED: `${CoreEventScope.SANITIZATION}:${SanitizationEventAction.STARTED}`,
695
- SUCCESS: `${CoreEventScope.SANITIZATION}:${SanitizationEventAction.SUCCESS}`,
696
- FAILED: `${CoreEventScope.SANITIZATION}:${SanitizationEventAction.FAILED}`
697
- },
698
- API: {
699
- REQUEST_START: `${CoreEventScope.API}:${ApiEventAction.REQUEST_START}`,
700
- REQUEST_SUCCESS: `${CoreEventScope.API}:${ApiEventAction.REQUEST_SUCCESS}`,
701
- REQUEST_ERROR: `${CoreEventScope.API}:${ApiEventAction.REQUEST_ERROR}`,
702
- RETRY: `${CoreEventScope.API}:${ApiEventAction.RETRY}`,
703
- TIMEOUT: `${CoreEventScope.API}:${ApiEventAction.TIMEOUT}`
704
- },
705
- CACHE: {
706
- HIT: `${CoreEventScope.CACHE}:${CacheEventAction.HIT}`,
707
- MISS: `${CoreEventScope.CACHE}:${CacheEventAction.MISS}`,
708
- SET: `${CoreEventScope.CACHE}:${CacheEventAction.SET}`,
709
- DELETE: `${CoreEventScope.CACHE}:${CacheEventAction.DELETE}`,
710
- CLEAR: `${CoreEventScope.CACHE}:${CacheEventAction.CLEAR}`,
711
- EXPIRED: `${CoreEventScope.CACHE}:${CacheEventAction.EXPIRED}`
712
- },
713
- AUTH: {
714
- LOGIN: `${CoreEventScope.AUTH}:${AuthEventAction.LOGIN}`,
715
- LOGOUT: `${CoreEventScope.AUTH}:${AuthEventAction.LOGOUT}`,
716
- TOKEN_REFRESH: `${CoreEventScope.AUTH}:${AuthEventAction.TOKEN_REFRESH}`,
717
- SESSION_EXPIRED: `${CoreEventScope.AUTH}:${AuthEventAction.SESSION_EXPIRED}`,
718
- UNAUTHORIZED: `${CoreEventScope.AUTH}:${AuthEventAction.UNAUTHORIZED}`
719
- },
720
- DATABASE: {
721
- CONNECTED: `${CoreEventScope.DATABASE}:${DatabaseEventAction.CONNECTED}`,
722
- DISCONNECTED: `${CoreEventScope.DATABASE}:${DatabaseEventAction.DISCONNECTED}`,
723
- QUERY: `${CoreEventScope.DATABASE}:${DatabaseEventAction.QUERY}`,
724
- ERROR: `${CoreEventScope.DATABASE}:${DatabaseEventAction.ERROR}`,
725
- TRANSACTION_START: `${CoreEventScope.DATABASE}:${DatabaseEventAction.TRANSACTION_START}`,
726
- TRANSACTION_COMMIT: `${CoreEventScope.DATABASE}:${DatabaseEventAction.TRANSACTION_COMMIT}`,
727
- TRANSACTION_ROLLBACK: `${CoreEventScope.DATABASE}:${DatabaseEventAction.TRANSACTION_ROLLBACK}`
728
- },
729
- FEATURE_FLAG: {
730
- CHANGED: `${CoreEventScope.FEATURE_FLAG}:${FeatureFlagEventAction.CHANGED}`,
731
- EVALUATED: `${CoreEventScope.FEATURE_FLAG}:${FeatureFlagEventAction.EVALUATED}`,
732
- REFRESHED: `${CoreEventScope.FEATURE_FLAG}:${FeatureFlagEventAction.REFRESHED}`
733
- },
734
- STORE: {
735
- UPDATED: `${CoreEventScope.STORE}:${StoreEventAction.UPDATED}`,
736
- RESET: `${CoreEventScope.STORE}:${StoreEventAction.RESET}`,
737
- HYDRATED: `${CoreEventScope.STORE}:${StoreEventAction.HYDRATED}`
738
- },
739
- STORAGE: {
740
- UPLOADED: `${CoreEventScope.STORAGE}:${StorageEventAction.UPLOADED}`,
741
- DOWNLOADED: `${CoreEventScope.STORAGE}:${StorageEventAction.DOWNLOADED}`,
742
- DELETED: `${CoreEventScope.STORAGE}:${StorageEventAction.DELETED}`,
743
- ERROR: `${CoreEventScope.STORAGE}:${StorageEventAction.ERROR}`,
744
- HEALTH_CHECK: `${CoreEventScope.STORAGE}:${StorageEventAction.HEALTH_CHECK}`
745
- },
746
- NOTIFICATION: {
747
- SENT: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.SENT}`,
748
- FAILED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.FAILED}`,
749
- DELIVERED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.DELIVERED}`,
750
- OPENED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.OPENED}`,
751
- CLICKED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.CLICKED}`,
752
- ERROR: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.ERROR}`,
753
- HEALTH_CHECK: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.HEALTH_CHECK}`
754
- }
755
- };
756
-
757
- // src/core/services/keys.ts
758
- var SERVICE_KEYS = {
759
- /** Example domain service (backend) */
760
- EXAMPLE: "example",
761
- /** Example domain service (frontend) */
762
- EXAMPLE_FRONTEND: "example-frontend",
763
- /** Feature flags service */
764
- FEATURE_FLAGS: "featureFlags"
765
- };
766
- var ALL_SERVICE_KEYS = Object.values(SERVICE_KEYS);
767
-
768
7
  // src/errors/enums.ts
769
8
  var ERROR_TYPE = {
770
9
  /** A general validation error (e.g., form or input errors). */
@@ -1045,6 +284,263 @@ var ERROR_EXCEPTIONS_NAMESPACES = {
1045
284
  PAYMENT_WEBHOOKS: "payment-webhook"
1046
285
  };
1047
286
 
287
+ // src/http/constants.ts
288
+ var HTTP_STATUS = {
289
+ // 1xx Informational
290
+ /**
291
+ * 100 Continue - The initial part of a request has been received
292
+ */
293
+ CONTINUE: 100,
294
+ /**
295
+ * 101 Switching Protocols - The server is switching protocols
296
+ */
297
+ SWITCHING_PROTOCOLS: 101,
298
+ /**
299
+ * 102 Processing - The server has received and is processing the request
300
+ */
301
+ PROCESSING: 102,
302
+ /**
303
+ * 103 Early Hints - Used to return some response headers before final HTTP message
304
+ */
305
+ EARLY_HINTS: 103,
306
+ // 2xx Success
307
+ /**
308
+ * 200 OK - The request succeeded
309
+ */
310
+ OK: 200,
311
+ /**
312
+ * 201 Created - The request succeeded and a new resource was created
313
+ */
314
+ CREATED: 201,
315
+ /**
316
+ * 202 Accepted - The request has been received but not yet acted upon
317
+ */
318
+ ACCEPTED: 202,
319
+ /**
320
+ * 203 Non-Authoritative Information - The returned metadata is not from the origin server
321
+ */
322
+ NON_AUTHORITATIVE_INFORMATION: 203,
323
+ /**
324
+ * 204 No Content - There is no content to send for this request
325
+ */
326
+ NO_CONTENT: 204,
327
+ /**
328
+ * 205 Reset Content - Tells the user agent to reset the document
329
+ */
330
+ RESET_CONTENT: 205,
331
+ /**
332
+ * 206 Partial Content - The server is delivering only part of the resource
333
+ */
334
+ PARTIAL_CONTENT: 206,
335
+ /**
336
+ * 207 Multi-Status - Conveys information about multiple resources
337
+ */
338
+ MULTI_STATUS: 207,
339
+ /**
340
+ * 208 Already Reported - The members of a DAV binding have already been enumerated
341
+ */
342
+ ALREADY_REPORTED: 208,
343
+ /**
344
+ * 226 IM Used - The server has fulfilled a request for the resource
345
+ */
346
+ IM_USED: 226,
347
+ // 3xx Redirection
348
+ /**
349
+ * 300 Multiple Choices - Multiple options for the resource are available
350
+ */
351
+ MULTIPLE_CHOICES: 300,
352
+ /**
353
+ * 301 Moved Permanently - The URL of the requested resource has been changed permanently
354
+ */
355
+ MOVED_PERMANENTLY: 301,
356
+ /**
357
+ * 302 Found - The resource resides temporarily under a different URI
358
+ */
359
+ FOUND: 302,
360
+ /**
361
+ * 303 See Other - Direct the client to get the resource at another URI
362
+ */
363
+ SEE_OTHER: 303,
364
+ /**
365
+ * 304 Not Modified - The cached version is still valid
366
+ */
367
+ NOT_MODIFIED: 304,
368
+ /**
369
+ * 305 Use Proxy - Defined in a previous version of the HTTP specification
370
+ */
371
+ USE_PROXY: 305,
372
+ /**
373
+ * 307 Temporary Redirect - The request should be repeated with another URI
374
+ */
375
+ TEMPORARY_REDIRECT: 307,
376
+ /**
377
+ * 308 Permanent Redirect - The resource is permanently located at another URI
378
+ */
379
+ PERMANENT_REDIRECT: 308,
380
+ // 4xx Client Errors
381
+ /**
382
+ * 400 Bad Request - The server cannot process the request due to client error
383
+ */
384
+ BAD_REQUEST: 400,
385
+ /**
386
+ * 401 Unauthorized - Authentication is required and has failed or not been provided
387
+ */
388
+ UNAUTHORIZED: 401,
389
+ /**
390
+ * 402 Payment Required - Reserved for future use
391
+ */
392
+ PAYMENT_REQUIRED: 402,
393
+ /**
394
+ * 403 Forbidden - The server understood the request but refuses to authorize it
395
+ */
396
+ FORBIDDEN: 403,
397
+ /**
398
+ * 404 Not Found - The server cannot find the requested resource
399
+ */
400
+ NOT_FOUND: 404,
401
+ /**
402
+ * 405 Method Not Allowed - The request method is not supported for the requested resource
403
+ */
404
+ METHOD_NOT_ALLOWED: 405,
405
+ /**
406
+ * 406 Not Acceptable - The requested resource is not available in a format acceptable to the client
407
+ */
408
+ NOT_ACCEPTABLE: 406,
409
+ /**
410
+ * 407 Proxy Authentication Required - The client must authenticate itself with the proxy
411
+ */
412
+ PROXY_AUTHENTICATION_REQUIRED: 407,
413
+ /**
414
+ * 408 Request Timeout - The server timed out waiting for the request
415
+ */
416
+ REQUEST_TIMEOUT: 408,
417
+ /**
418
+ * 409 Conflict - The request conflicts with the current state of the server
419
+ */
420
+ CONFLICT: 409,
421
+ /**
422
+ * 410 Gone - The requested resource is no longer available and will not be available again
423
+ */
424
+ GONE: 410,
425
+ /**
426
+ * 411 Length Required - The request did not specify the length of its content
427
+ */
428
+ LENGTH_REQUIRED: 411,
429
+ /**
430
+ * 412 Precondition Failed - The server does not meet one of the preconditions
431
+ */
432
+ PRECONDITION_FAILED: 412,
433
+ /**
434
+ * 413 Payload Too Large - The request is larger than the server is willing to process
435
+ */
436
+ PAYLOAD_TOO_LARGE: 413,
437
+ /**
438
+ * 414 URI Too Long - The URI provided was too long for the server to process
439
+ */
440
+ URI_TOO_LONG: 414,
441
+ /**
442
+ * 415 Unsupported Media Type - The request entity has a media type not supported by the server
443
+ */
444
+ UNSUPPORTED_MEDIA_TYPE: 415,
445
+ /**
446
+ * 416 Range Not Satisfiable - The client has asked for a portion of the file that the server cannot supply
447
+ */
448
+ RANGE_NOT_SATISFIABLE: 416,
449
+ /**
450
+ * 417 Expectation Failed - The server cannot meet the requirements of the Expect request-header field
451
+ */
452
+ EXPECTATION_FAILED: 417,
453
+ /**
454
+ * 418 I'm a teapot - The server refuses to brew coffee because it is a teapot
455
+ */
456
+ IM_A_TEAPOT: 418,
457
+ /**
458
+ * 421 Misdirected Request - The request was directed at a server that is not able to produce a response
459
+ */
460
+ MISDIRECTED_REQUEST: 421,
461
+ /**
462
+ * 422 Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors
463
+ */
464
+ UNPROCESSABLE_ENTITY: 422,
465
+ /**
466
+ * 423 Locked - The resource that is being accessed is locked
467
+ */
468
+ LOCKED: 423,
469
+ /**
470
+ * 424 Failed Dependency - The request failed due to failure of a previous request
471
+ */
472
+ FAILED_DEPENDENCY: 424,
473
+ /**
474
+ * 425 Too Early - The server is unwilling to risk processing a request that might be replayed
475
+ */
476
+ TOO_EARLY: 425,
477
+ /**
478
+ * 426 Upgrade Required - The client should switch to a different protocol
479
+ */
480
+ UPGRADE_REQUIRED: 426,
481
+ /**
482
+ * 428 Precondition Required - The origin server requires the request to be conditional
483
+ */
484
+ PRECONDITION_REQUIRED: 428,
485
+ /**
486
+ * 429 Too Many Requests - The user has sent too many requests in a given amount of time
487
+ */
488
+ TOO_MANY_REQUESTS: 429,
489
+ /**
490
+ * 431 Request Header Fields Too Large - The server is unwilling to process the request because its header fields are too large
491
+ */
492
+ REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
493
+ /**
494
+ * 451 Unavailable For Legal Reasons - The user requested a resource that cannot legally be provided
495
+ */
496
+ UNAVAILABLE_FOR_LEGAL_REASONS: 451,
497
+ // 5xx Server Errors
498
+ /**
499
+ * 500 Internal Server Error - The server encountered an unexpected condition
500
+ */
501
+ INTERNAL_SERVER_ERROR: 500,
502
+ /**
503
+ * 501 Not Implemented - The server does not support the functionality required to fulfill the request
504
+ */
505
+ NOT_IMPLEMENTED: 501,
506
+ /**
507
+ * 502 Bad Gateway - The server received an invalid response from the upstream server
508
+ */
509
+ BAD_GATEWAY: 502,
510
+ /**
511
+ * 503 Service Unavailable - The server is not ready to handle the request
512
+ */
513
+ SERVICE_UNAVAILABLE: 503,
514
+ /**
515
+ * 504 Gateway Timeout - The server did not get a response in time from the upstream server
516
+ */
517
+ GATEWAY_TIMEOUT: 504,
518
+ /**
519
+ * 505 HTTP Version Not Supported - The HTTP version used in the request is not supported by the server
520
+ */
521
+ HTTP_VERSION_NOT_SUPPORTED: 505,
522
+ /**
523
+ * 506 Variant Also Negotiates - The server has an internal configuration error
524
+ */
525
+ VARIANT_ALSO_NEGOTIATES: 506,
526
+ /**
527
+ * 507 Insufficient Storage - The server is unable to store the representation needed to complete the request
528
+ */
529
+ INSUFFICIENT_STORAGE: 507,
530
+ /**
531
+ * 508 Loop Detected - The server detected an infinite loop while processing the request
532
+ */
533
+ LOOP_DETECTED: 508,
534
+ /**
535
+ * 510 Not Extended - Further extensions to the request are required for the server to fulfill it
536
+ */
537
+ NOT_EXTENDED: 510,
538
+ /**
539
+ * 511 Network Authentication Required - The client needs to authenticate to gain network access
540
+ */
541
+ NETWORK_AUTHENTICATION_REQUIRED: 511
542
+ };
543
+
1048
544
  // src/errors/codes.ts
1049
545
  var ERROR_CODES = {
1050
546
  // ===== Generic/Common Errors =====
@@ -1072,8 +568,6 @@ var ERROR_CODES = {
1072
568
  // Authentication/Authorization
1073
569
  AUTH_UNAUTHORIZED: "AUTH_UNAUTHORIZED",
1074
570
  AUTH_FORBIDDEN: "AUTH_FORBIDDEN",
1075
- AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
1076
- AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
1077
571
  // Rate Limiting
1078
572
  RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
1079
573
  // Resources
@@ -1649,7 +1143,22 @@ var ERROR_CODES = {
1649
1143
  PRICING_PROVIDER_ERROR: "payment.pricing.provider.error",
1650
1144
  PRICING_ALREADY_INACTIVE: "payment.pricing.already.inactive",
1651
1145
  PRICING_SYNC_FAILED: "payment.pricing.sync.failed",
1652
- PRICING_REQUIRES_NEW_VERSION: "payment.pricing.requires.new.version"
1146
+ PRICING_REQUIRES_NEW_VERSION: "payment.pricing.requires.new.version",
1147
+ // Authentication
1148
+ INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
1149
+ TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
1150
+ TOKEN_INVALID: "AUTH_TOKEN_INVALID",
1151
+ TOKEN_REVOKED: "AUTH_TOKEN_REVOKED",
1152
+ SESSION_EXPIRED: "AUTH_SESSION_EXPIRED",
1153
+ MFA_REQUIRED: "AUTH_MFA_REQUIRED",
1154
+ MFA_INVALID: "AUTH_MFA_INVALID",
1155
+ INSUFFICIENT_PERMISSIONS: "AUTH_INSUFFICIENT_PERMISSIONS",
1156
+ ROLE_REQUIRED: "AUTH_ROLE_REQUIRED",
1157
+ WALLET_SIGNATURE_INVALID: "AUTH_WALLET_SIGNATURE_INVALID",
1158
+ NONCE_EXPIRED: "AUTH_NONCE_EXPIRED",
1159
+ NONCE_ALREADY_USED: "AUTH_NONCE_ALREADY_USED",
1160
+ ACCOUNT_LOCKED: "AUTH_ACCOUNT_LOCKED",
1161
+ ACCOUNT_SUSPENDED: "AUTH_ACCOUNT_SUSPENDED"
1653
1162
  };
1654
1163
  var API_ERROR_CODES = {
1655
1164
  CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
@@ -1667,8 +1176,8 @@ var API_ERROR_CODES = {
1667
1176
  RESPONSE_PARSING_FAILED: ERROR_CODES.RESPONSE_PARSING_FAILED,
1668
1177
  AUTH_UNAUTHORIZED: ERROR_CODES.AUTH_UNAUTHORIZED,
1669
1178
  AUTH_FORBIDDEN: ERROR_CODES.AUTH_FORBIDDEN,
1670
- AUTH_TOKEN_EXPIRED: ERROR_CODES.AUTH_TOKEN_EXPIRED,
1671
- AUTH_INVALID_CREDENTIALS: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
1179
+ AUTH_TOKEN_EXPIRED: ERROR_CODES.TOKEN_EXPIRED,
1180
+ AUTH_INVALID_CREDENTIALS: ERROR_CODES.INVALID_CREDENTIALS,
1672
1181
  RATE_LIMIT_EXCEEDED: ERROR_CODES.RATE_LIMIT_EXCEEDED,
1673
1182
  RESOURCE_NOT_FOUND: ERROR_CODES.RESOURCE_NOT_FOUND,
1674
1183
  RESOURCE_CONFLICT: ERROR_CODES.RESOURCE_CONFLICT,
@@ -2274,22 +1783,6 @@ var ERROR_DEFINITIONS = {
2274
1783
  severity: ERROR_SEVERITY.Medium,
2275
1784
  retryable: false
2276
1785
  },
2277
- [ERROR_CODES.AUTH_TOKEN_EXPIRED]: {
2278
- code: ERROR_CODES.AUTH_TOKEN_EXPIRED,
2279
- status: HTTP_STATUS.UNAUTHORIZED,
2280
- category: ERROR_CATEGORY.Authentication,
2281
- userMessage: "errors.auth.token_expired",
2282
- severity: ERROR_SEVERITY.Medium,
2283
- retryable: false
2284
- },
2285
- [ERROR_CODES.AUTH_INVALID_CREDENTIALS]: {
2286
- code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
2287
- status: HTTP_STATUS.UNAUTHORIZED,
2288
- category: ERROR_CATEGORY.Authentication,
2289
- userMessage: "errors.auth.invalid_credentials",
2290
- severity: ERROR_SEVERITY.Medium,
2291
- retryable: false
2292
- },
2293
1786
  // Rate Limiting
2294
1787
  [ERROR_CODES.RATE_LIMIT_EXCEEDED]: {
2295
1788
  code: ERROR_CODES.RATE_LIMIT_EXCEEDED,
@@ -5895,324 +5388,948 @@ var ERROR_DEFINITIONS = {
5895
5388
  severity: ERROR_SEVERITY.High,
5896
5389
  retryable: true
5897
5390
  },
5898
- [ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED]: {
5899
- code: ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED,
5900
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5901
- category: ERROR_CATEGORY.Processing,
5902
- userMessage: "errors.payment.transaction.history.fetch_failed",
5391
+ [ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED]: {
5392
+ code: ERROR_CODES.PAYMENT_TRANSACTION_HISTORY_FETCH_FAILED,
5393
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5394
+ category: ERROR_CATEGORY.Processing,
5395
+ userMessage: "errors.payment.transaction.history.fetch_failed",
5396
+ severity: ERROR_SEVERITY.Medium,
5397
+ retryable: true
5398
+ },
5399
+ // ===== Unsupported Operations =====
5400
+ [ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED]: {
5401
+ code: ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED,
5402
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5403
+ category: ERROR_CATEGORY.Provider,
5404
+ userMessage: "errors.payment.method.save_unsupported",
5405
+ severity: ERROR_SEVERITY.Medium,
5406
+ retryable: false
5407
+ },
5408
+ [ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED]: {
5409
+ code: ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED,
5410
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5411
+ category: ERROR_CATEGORY.Provider,
5412
+ userMessage: "errors.payment.method.delete_unsupported",
5413
+ severity: ERROR_SEVERITY.Medium,
5414
+ retryable: false
5415
+ },
5416
+ [ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED]: {
5417
+ code: ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED,
5418
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5419
+ category: ERROR_CATEGORY.Provider,
5420
+ userMessage: "errors.payment.method.get_user_methods_unsupported",
5421
+ severity: ERROR_SEVERITY.Medium,
5422
+ retryable: false
5423
+ },
5424
+ [ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED]: {
5425
+ code: ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED,
5426
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5427
+ category: ERROR_CATEGORY.Provider,
5428
+ userMessage: "errors.payment.subscription.create_unsupported",
5429
+ severity: ERROR_SEVERITY.Medium,
5430
+ retryable: false
5431
+ },
5432
+ [ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED]: {
5433
+ code: ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED,
5434
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5435
+ category: ERROR_CATEGORY.Provider,
5436
+ userMessage: "errors.payment.subscription.cancel_unsupported",
5437
+ severity: ERROR_SEVERITY.Medium,
5438
+ retryable: false
5439
+ },
5440
+ [ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED]: {
5441
+ code: ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED,
5442
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5443
+ category: ERROR_CATEGORY.Provider,
5444
+ userMessage: "errors.payment.payout.unsupported",
5445
+ severity: ERROR_SEVERITY.Medium,
5446
+ retryable: false
5447
+ },
5448
+ [ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED]: {
5449
+ code: ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED,
5450
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5451
+ category: ERROR_CATEGORY.Provider,
5452
+ userMessage: "errors.payment.transaction.history_unsupported",
5453
+ severity: ERROR_SEVERITY.Medium,
5454
+ retryable: false
5455
+ },
5456
+ // Withdrawal Errors
5457
+ [ERROR_CODES.WITHDRAWAL_UNSUPPORTED]: {
5458
+ code: ERROR_CODES.WITHDRAWAL_UNSUPPORTED,
5459
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5460
+ category: ERROR_CATEGORY.Provider,
5461
+ userMessage: "errors.payment.withdrawal.unsupported",
5462
+ severity: ERROR_SEVERITY.Medium,
5463
+ retryable: false
5464
+ },
5465
+ [ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED]: {
5466
+ code: ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED,
5467
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5468
+ category: ERROR_CATEGORY.Provider,
5469
+ userMessage: "errors.payment.withdrawal.create_unsupported",
5470
+ severity: ERROR_SEVERITY.Medium,
5471
+ retryable: false
5472
+ },
5473
+ [ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED]: {
5474
+ code: ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED,
5475
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5476
+ category: ERROR_CATEGORY.Provider,
5477
+ userMessage: "errors.payment.withdrawal.process_unsupported",
5478
+ severity: ERROR_SEVERITY.Medium,
5479
+ retryable: false
5480
+ },
5481
+ [ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED]: {
5482
+ code: ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED,
5483
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5484
+ category: ERROR_CATEGORY.Provider,
5485
+ userMessage: "errors.payment.withdrawal.status_fetch_unsupported",
5486
+ severity: ERROR_SEVERITY.Medium,
5487
+ retryable: false
5488
+ },
5489
+ [ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED]: {
5490
+ code: ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED,
5491
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5492
+ category: ERROR_CATEGORY.Provider,
5493
+ userMessage: "errors.payment.withdrawal.cancel_unsupported",
5494
+ severity: ERROR_SEVERITY.Medium,
5495
+ retryable: false
5496
+ },
5497
+ [ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE]: {
5498
+ code: ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE,
5499
+ status: HTTP_STATUS.BAD_REQUEST,
5500
+ category: ERROR_CATEGORY.Limits,
5501
+ userMessage: "errors.payment.withdrawal.insufficient_balance",
5502
+ severity: ERROR_SEVERITY.Medium,
5503
+ retryable: false
5504
+ },
5505
+ [ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT]: {
5506
+ code: ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT,
5507
+ status: HTTP_STATUS.BAD_REQUEST,
5508
+ category: ERROR_CATEGORY.Validation,
5509
+ userMessage: "errors.payment.withdrawal.invalid_account",
5510
+ severity: ERROR_SEVERITY.Medium,
5511
+ retryable: false
5512
+ },
5513
+ [ERROR_CODES.WITHDRAWAL_KYC_REQUIRED]: {
5514
+ code: ERROR_CODES.WITHDRAWAL_KYC_REQUIRED,
5515
+ status: HTTP_STATUS.FORBIDDEN,
5516
+ category: ERROR_CATEGORY.Compliance,
5517
+ userMessage: "errors.payment.withdrawal.kyc_required",
5518
+ severity: ERROR_SEVERITY.Medium,
5519
+ retryable: false
5520
+ },
5521
+ [ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED]: {
5522
+ code: ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED,
5523
+ status: HTTP_STATUS.FORBIDDEN,
5524
+ category: ERROR_CATEGORY.Limits,
5525
+ userMessage: "errors.payment.withdrawal.limit_exceeded",
5526
+ severity: ERROR_SEVERITY.Medium,
5527
+ retryable: false
5528
+ },
5529
+ [ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR]: {
5530
+ code: ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR,
5531
+ status: HTTP_STATUS.BAD_GATEWAY,
5532
+ category: ERROR_CATEGORY.Provider,
5533
+ userMessage: "errors.payment.withdrawal.provider_error",
5534
+ severity: ERROR_SEVERITY.High,
5535
+ retryable: true
5536
+ },
5537
+ [ERROR_CODES.WITHDRAWAL_FAILED]: {
5538
+ code: ERROR_CODES.WITHDRAWAL_FAILED,
5539
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5540
+ category: ERROR_CATEGORY.Provider,
5541
+ userMessage: "errors.payment.withdrawal.failed",
5542
+ severity: ERROR_SEVERITY.High,
5543
+ retryable: true
5544
+ },
5545
+ [ERROR_CODES.WITHDRAWAL_TIMEOUT]: {
5546
+ code: ERROR_CODES.WITHDRAWAL_TIMEOUT,
5547
+ status: HTTP_STATUS.GATEWAY_TIMEOUT,
5548
+ category: ERROR_CATEGORY.Timeout,
5549
+ userMessage: "errors.payment.withdrawal.timeout",
5550
+ severity: ERROR_SEVERITY.Medium,
5551
+ retryable: true
5552
+ },
5553
+ // Product Errors
5554
+ [ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED]: {
5555
+ code: ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED,
5556
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5557
+ category: ERROR_CATEGORY.Provider,
5558
+ userMessage: "errors.payment.product.create_unsupported",
5559
+ severity: ERROR_SEVERITY.Medium,
5560
+ retryable: false
5561
+ },
5562
+ [ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED]: {
5563
+ code: ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED,
5564
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5565
+ category: ERROR_CATEGORY.Provider,
5566
+ userMessage: "errors.payment.product.update_unsupported",
5567
+ severity: ERROR_SEVERITY.Medium,
5568
+ retryable: false
5569
+ },
5570
+ [ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED]: {
5571
+ code: ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED,
5572
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5573
+ category: ERROR_CATEGORY.Provider,
5574
+ userMessage: "errors.payment.product.fetch_unsupported",
5575
+ severity: ERROR_SEVERITY.Medium,
5576
+ retryable: false
5577
+ },
5578
+ [ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED]: {
5579
+ code: ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED,
5580
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5581
+ category: ERROR_CATEGORY.Provider,
5582
+ userMessage: "errors.payment.product.deactivate_unsupported",
5583
+ severity: ERROR_SEVERITY.Medium,
5584
+ retryable: false
5585
+ },
5586
+ [ERROR_CODES.PRODUCT_NOT_FOUND]: {
5587
+ code: ERROR_CODES.PRODUCT_NOT_FOUND,
5588
+ status: HTTP_STATUS.NOT_FOUND,
5589
+ category: ERROR_CATEGORY.NotFound,
5590
+ userMessage: "errors.payment.product.not_found",
5591
+ severity: ERROR_SEVERITY.Medium,
5592
+ retryable: false
5593
+ },
5594
+ [ERROR_CODES.PRODUCT_INVALID_DATA]: {
5595
+ code: ERROR_CODES.PRODUCT_INVALID_DATA,
5596
+ status: HTTP_STATUS.BAD_REQUEST,
5597
+ category: ERROR_CATEGORY.Validation,
5598
+ userMessage: "errors.payment.product.invalid_data",
5599
+ severity: ERROR_SEVERITY.Medium,
5600
+ retryable: false
5601
+ },
5602
+ [ERROR_CODES.PRODUCT_PROVIDER_ERROR]: {
5603
+ code: ERROR_CODES.PRODUCT_PROVIDER_ERROR,
5604
+ status: HTTP_STATUS.BAD_GATEWAY,
5605
+ category: ERROR_CATEGORY.Provider,
5606
+ userMessage: "errors.payment.product.provider_error",
5607
+ severity: ERROR_SEVERITY.High,
5608
+ retryable: true
5609
+ },
5610
+ [ERROR_CODES.PRODUCT_ALREADY_INACTIVE]: {
5611
+ code: ERROR_CODES.PRODUCT_ALREADY_INACTIVE,
5612
+ status: HTTP_STATUS.CONFLICT,
5613
+ category: ERROR_CATEGORY.Conflict,
5614
+ userMessage: "errors.payment.product.already_inactive",
5903
5615
  severity: ERROR_SEVERITY.Medium,
5616
+ retryable: false
5617
+ },
5618
+ [ERROR_CODES.PRODUCT_SYNC_FAILED]: {
5619
+ code: ERROR_CODES.PRODUCT_SYNC_FAILED,
5620
+ status: HTTP_STATUS.BAD_GATEWAY,
5621
+ category: ERROR_CATEGORY.Provider,
5622
+ userMessage: "errors.payment.product.sync_failed",
5623
+ severity: ERROR_SEVERITY.High,
5904
5624
  retryable: true
5905
5625
  },
5906
- // ===== Unsupported Operations =====
5907
- [ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED]: {
5908
- code: ERROR_CODES.SAVE_PAYMENT_METHOD_UNSUPPORTED,
5626
+ // Pricing Errors
5627
+ [ERROR_CODES.PRICING_CREATE_UNSUPPORTED]: {
5628
+ code: ERROR_CODES.PRICING_CREATE_UNSUPPORTED,
5909
5629
  status: HTTP_STATUS.NOT_IMPLEMENTED,
5910
5630
  category: ERROR_CATEGORY.Provider,
5911
- userMessage: "errors.payment.method.save_unsupported",
5631
+ userMessage: "errors.payment.pricing.create_unsupported",
5912
5632
  severity: ERROR_SEVERITY.Medium,
5913
5633
  retryable: false
5914
5634
  },
5915
- [ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED]: {
5916
- code: ERROR_CODES.DELETE_PAYMENT_METHOD_UNSUPPORTED,
5635
+ [ERROR_CODES.PRICING_UPDATE_UNSUPPORTED]: {
5636
+ code: ERROR_CODES.PRICING_UPDATE_UNSUPPORTED,
5917
5637
  status: HTTP_STATUS.NOT_IMPLEMENTED,
5918
5638
  category: ERROR_CATEGORY.Provider,
5919
- userMessage: "errors.payment.method.delete_unsupported",
5639
+ userMessage: "errors.payment.pricing.update_unsupported",
5920
5640
  severity: ERROR_SEVERITY.Medium,
5921
5641
  retryable: false
5922
5642
  },
5923
- [ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED]: {
5924
- code: ERROR_CODES.GET_USER_PAYMENT_METHODS_UNSUPPORTED,
5643
+ [ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED]: {
5644
+ code: ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED,
5925
5645
  status: HTTP_STATUS.NOT_IMPLEMENTED,
5926
5646
  category: ERROR_CATEGORY.Provider,
5927
- userMessage: "errors.payment.method.get_user_methods_unsupported",
5647
+ userMessage: "errors.payment.pricing.deactivate_unsupported",
5928
5648
  severity: ERROR_SEVERITY.Medium,
5929
5649
  retryable: false
5930
5650
  },
5931
- [ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED]: {
5932
- code: ERROR_CODES.CREATE_SUBSCRIPTION_UNSUPPORTED,
5933
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5934
- category: ERROR_CATEGORY.Provider,
5935
- userMessage: "errors.payment.subscription.create_unsupported",
5651
+ [ERROR_CODES.PRICING_NOT_FOUND]: {
5652
+ code: ERROR_CODES.PRICING_NOT_FOUND,
5653
+ status: HTTP_STATUS.NOT_FOUND,
5654
+ category: ERROR_CATEGORY.NotFound,
5655
+ userMessage: "errors.payment.pricing.not_found",
5936
5656
  severity: ERROR_SEVERITY.Medium,
5937
5657
  retryable: false
5938
5658
  },
5939
- [ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED]: {
5940
- code: ERROR_CODES.CANCEL_SUBSCRIPTION_UNSUPPORTED,
5941
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5942
- category: ERROR_CATEGORY.Provider,
5943
- userMessage: "errors.payment.subscription.cancel_unsupported",
5659
+ [ERROR_CODES.PRICING_INVALID_AMOUNT]: {
5660
+ code: ERROR_CODES.PRICING_INVALID_AMOUNT,
5661
+ status: HTTP_STATUS.BAD_REQUEST,
5662
+ category: ERROR_CATEGORY.Validation,
5663
+ userMessage: "errors.payment.pricing.invalid_amount",
5944
5664
  severity: ERROR_SEVERITY.Medium,
5945
5665
  retryable: false
5946
5666
  },
5947
- [ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED]: {
5948
- code: ERROR_CODES.PROCESS_PAYOUT_UNSUPPORTED,
5949
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5950
- category: ERROR_CATEGORY.Provider,
5951
- userMessage: "errors.payment.payout.unsupported",
5667
+ [ERROR_CODES.PRICING_INVALID_CURRENCY]: {
5668
+ code: ERROR_CODES.PRICING_INVALID_CURRENCY,
5669
+ status: HTTP_STATUS.BAD_REQUEST,
5670
+ category: ERROR_CATEGORY.Validation,
5671
+ userMessage: "errors.payment.pricing.invalid_currency",
5952
5672
  severity: ERROR_SEVERITY.Medium,
5953
5673
  retryable: false
5954
5674
  },
5955
- [ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED]: {
5956
- code: ERROR_CODES.GET_TRANSACTION_HISTORY_UNSUPPORTED,
5957
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5675
+ [ERROR_CODES.PRICING_PROVIDER_ERROR]: {
5676
+ code: ERROR_CODES.PRICING_PROVIDER_ERROR,
5677
+ status: HTTP_STATUS.BAD_GATEWAY,
5958
5678
  category: ERROR_CATEGORY.Provider,
5959
- userMessage: "errors.payment.transaction.history_unsupported",
5679
+ userMessage: "errors.payment.pricing.provider_error",
5680
+ severity: ERROR_SEVERITY.High,
5681
+ retryable: true
5682
+ },
5683
+ [ERROR_CODES.PRICING_ALREADY_INACTIVE]: {
5684
+ code: ERROR_CODES.PRICING_ALREADY_INACTIVE,
5685
+ status: HTTP_STATUS.CONFLICT,
5686
+ category: ERROR_CATEGORY.Conflict,
5687
+ userMessage: "errors.payment.pricing.already_inactive",
5960
5688
  severity: ERROR_SEVERITY.Medium,
5961
5689
  retryable: false
5962
5690
  },
5963
- // Withdrawal Errors
5964
- [ERROR_CODES.WITHDRAWAL_UNSUPPORTED]: {
5965
- code: ERROR_CODES.WITHDRAWAL_UNSUPPORTED,
5966
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5691
+ [ERROR_CODES.PRICING_SYNC_FAILED]: {
5692
+ code: ERROR_CODES.PRICING_SYNC_FAILED,
5693
+ status: HTTP_STATUS.BAD_GATEWAY,
5967
5694
  category: ERROR_CATEGORY.Provider,
5968
- userMessage: "errors.payment.withdrawal.unsupported",
5695
+ userMessage: "errors.payment.pricing.sync_failed",
5696
+ severity: ERROR_SEVERITY.High,
5697
+ retryable: true
5698
+ },
5699
+ [ERROR_CODES.PRICING_REQUIRES_NEW_VERSION]: {
5700
+ code: ERROR_CODES.PRICING_REQUIRES_NEW_VERSION,
5701
+ status: HTTP_STATUS.CONFLICT,
5702
+ category: ERROR_CATEGORY.Conflict,
5703
+ userMessage: "errors.payment.pricing.requires_new_version",
5969
5704
  severity: ERROR_SEVERITY.Medium,
5970
5705
  retryable: false
5971
5706
  },
5972
- [ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED]: {
5973
- code: ERROR_CODES.WITHDRAWAL_CREATE_UNSUPPORTED,
5974
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5975
- category: ERROR_CATEGORY.Provider,
5976
- userMessage: "errors.payment.withdrawal.create_unsupported",
5707
+ [ERROR_CODES.INVALID_CREDENTIALS]: {
5708
+ code: ERROR_CODES.INVALID_CREDENTIALS,
5709
+ status: HTTP_STATUS.UNAUTHORIZED,
5710
+ category: ERROR_CATEGORY.Authentication,
5711
+ userMessage: "errors.auth.invalid_credentials",
5977
5712
  severity: ERROR_SEVERITY.Medium,
5978
5713
  retryable: false
5979
5714
  },
5980
- [ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED]: {
5981
- code: ERROR_CODES.WITHDRAWAL_PROCESS_UNSUPPORTED,
5982
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5983
- category: ERROR_CATEGORY.Provider,
5984
- userMessage: "errors.payment.withdrawal.process_unsupported",
5715
+ [ERROR_CODES.TOKEN_EXPIRED]: {
5716
+ code: ERROR_CODES.TOKEN_EXPIRED,
5717
+ status: HTTP_STATUS.UNAUTHORIZED,
5718
+ category: ERROR_CATEGORY.Authentication,
5719
+ userMessage: "errors.auth.token_expired",
5985
5720
  severity: ERROR_SEVERITY.Medium,
5986
5721
  retryable: false
5987
5722
  },
5988
- [ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED]: {
5989
- code: ERROR_CODES.WITHDRAWAL_STATUS_FETCH_UNSUPPORTED,
5990
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5991
- category: ERROR_CATEGORY.Provider,
5992
- userMessage: "errors.payment.withdrawal.status_fetch_unsupported",
5723
+ [ERROR_CODES.TOKEN_INVALID]: {
5724
+ code: ERROR_CODES.TOKEN_INVALID,
5725
+ status: HTTP_STATUS.UNAUTHORIZED,
5726
+ category: ERROR_CATEGORY.Authentication,
5727
+ userMessage: "errors.auth.token_invalid",
5728
+ severity: ERROR_SEVERITY.High,
5729
+ retryable: false
5730
+ },
5731
+ [ERROR_CODES.TOKEN_REVOKED]: {
5732
+ code: ERROR_CODES.TOKEN_REVOKED,
5733
+ status: HTTP_STATUS.UNAUTHORIZED,
5734
+ category: ERROR_CATEGORY.Authentication,
5735
+ userMessage: "errors.auth.token_revoked",
5993
5736
  severity: ERROR_SEVERITY.Medium,
5994
5737
  retryable: false
5995
5738
  },
5996
- [ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED]: {
5997
- code: ERROR_CODES.WITHDRAWAL_CANCEL_UNSUPPORTED,
5998
- status: HTTP_STATUS.NOT_IMPLEMENTED,
5999
- category: ERROR_CATEGORY.Provider,
6000
- userMessage: "errors.payment.withdrawal.cancel_unsupported",
5739
+ [ERROR_CODES.SESSION_EXPIRED]: {
5740
+ code: ERROR_CODES.SESSION_EXPIRED,
5741
+ status: HTTP_STATUS.UNAUTHORIZED,
5742
+ category: ERROR_CATEGORY.Authentication,
5743
+ userMessage: "errors.auth.session_expired",
6001
5744
  severity: ERROR_SEVERITY.Medium,
6002
5745
  retryable: false
6003
5746
  },
6004
- [ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE]: {
6005
- code: ERROR_CODES.WITHDRAWAL_INSUFFICIENT_BALANCE,
6006
- status: HTTP_STATUS.BAD_REQUEST,
6007
- category: ERROR_CATEGORY.Limits,
6008
- userMessage: "errors.payment.withdrawal.insufficient_balance",
5747
+ [ERROR_CODES.MFA_REQUIRED]: {
5748
+ code: ERROR_CODES.MFA_REQUIRED,
5749
+ status: HTTP_STATUS.FORBIDDEN,
5750
+ category: ERROR_CATEGORY.Authorization,
5751
+ userMessage: "errors.auth.mfa_required",
5752
+ severity: ERROR_SEVERITY.Low,
5753
+ retryable: false
5754
+ },
5755
+ [ERROR_CODES.MFA_INVALID]: {
5756
+ code: ERROR_CODES.MFA_INVALID,
5757
+ status: HTTP_STATUS.UNAUTHORIZED,
5758
+ category: ERROR_CATEGORY.Authentication,
5759
+ userMessage: "errors.auth.mfa_invalid",
6009
5760
  severity: ERROR_SEVERITY.Medium,
6010
5761
  retryable: false
6011
5762
  },
6012
- [ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT]: {
6013
- code: ERROR_CODES.WITHDRAWAL_INVALID_ACCOUNT,
6014
- status: HTTP_STATUS.BAD_REQUEST,
6015
- category: ERROR_CATEGORY.Validation,
6016
- userMessage: "errors.payment.withdrawal.invalid_account",
5763
+ [ERROR_CODES.INSUFFICIENT_PERMISSIONS]: {
5764
+ code: ERROR_CODES.INSUFFICIENT_PERMISSIONS,
5765
+ status: HTTP_STATUS.FORBIDDEN,
5766
+ category: ERROR_CATEGORY.Authorization,
5767
+ userMessage: "errors.auth.insufficient_permissions",
6017
5768
  severity: ERROR_SEVERITY.Medium,
6018
5769
  retryable: false
6019
5770
  },
6020
- [ERROR_CODES.WITHDRAWAL_KYC_REQUIRED]: {
6021
- code: ERROR_CODES.WITHDRAWAL_KYC_REQUIRED,
5771
+ [ERROR_CODES.ROLE_REQUIRED]: {
5772
+ code: ERROR_CODES.ROLE_REQUIRED,
6022
5773
  status: HTTP_STATUS.FORBIDDEN,
6023
- category: ERROR_CATEGORY.Compliance,
6024
- userMessage: "errors.payment.withdrawal.kyc_required",
5774
+ category: ERROR_CATEGORY.Authorization,
5775
+ userMessage: "errors.auth.role_required",
6025
5776
  severity: ERROR_SEVERITY.Medium,
6026
5777
  retryable: false
6027
5778
  },
6028
- [ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED]: {
6029
- code: ERROR_CODES.WITHDRAWAL_LIMIT_EXCEEDED,
5779
+ [ERROR_CODES.WALLET_SIGNATURE_INVALID]: {
5780
+ code: ERROR_CODES.WALLET_SIGNATURE_INVALID,
5781
+ status: HTTP_STATUS.UNAUTHORIZED,
5782
+ category: ERROR_CATEGORY.Authentication,
5783
+ userMessage: "errors.auth.wallet_signature_invalid",
5784
+ severity: ERROR_SEVERITY.High,
5785
+ retryable: false
5786
+ },
5787
+ [ERROR_CODES.NONCE_EXPIRED]: {
5788
+ code: ERROR_CODES.NONCE_EXPIRED,
5789
+ status: HTTP_STATUS.UNAUTHORIZED,
5790
+ category: ERROR_CATEGORY.Authentication,
5791
+ userMessage: "errors.auth.nonce_expired",
5792
+ severity: ERROR_SEVERITY.Medium,
5793
+ retryable: false
5794
+ },
5795
+ [ERROR_CODES.NONCE_ALREADY_USED]: {
5796
+ code: ERROR_CODES.NONCE_ALREADY_USED,
5797
+ status: HTTP_STATUS.UNAUTHORIZED,
5798
+ category: ERROR_CATEGORY.Authentication,
5799
+ userMessage: "errors.auth.nonce_already_used",
5800
+ severity: ERROR_SEVERITY.High,
5801
+ retryable: false
5802
+ },
5803
+ [ERROR_CODES.ACCOUNT_LOCKED]: {
5804
+ code: ERROR_CODES.ACCOUNT_LOCKED,
5805
+ status: HTTP_STATUS.LOCKED,
5806
+ category: ERROR_CATEGORY.Authorization,
5807
+ userMessage: "errors.auth.account_locked",
5808
+ severity: ERROR_SEVERITY.High,
5809
+ retryable: false
5810
+ },
5811
+ [ERROR_CODES.ACCOUNT_SUSPENDED]: {
5812
+ code: ERROR_CODES.ACCOUNT_SUSPENDED,
6030
5813
  status: HTTP_STATUS.FORBIDDEN,
6031
- category: ERROR_CATEGORY.Limits,
6032
- userMessage: "errors.payment.withdrawal.limit_exceeded",
5814
+ category: ERROR_CATEGORY.Authorization,
5815
+ userMessage: "errors.auth.account_suspended",
5816
+ severity: ERROR_SEVERITY.High,
5817
+ retryable: false
5818
+ }
5819
+ };
5820
+
5821
+ // src/auth/enums.ts
5822
+ var USER_ROLE = {
5823
+ /** A user who is an athlete and participates in sports activities. */
5824
+ Athlete: "athlete",
5825
+ /** A user who scouts and discovers talent. */
5826
+ Scout: "scout",
5827
+ /** A user who acts as an agent representing athletes or clubs. */
5828
+ Agent: "agent",
5829
+ /** A user representing a sports club or organization. */
5830
+ Club: "club",
5831
+ /** A fan or supporter of athletes or clubs. */
5832
+ Fan: "fan",
5833
+ /** A system administrator with access to management tools. */
5834
+ Admin: "admin",
5835
+ /** A super admin with the highest level of access and control. */
5836
+ SuperAdmin: "super.admin"
5837
+ };
5838
+ var USER_STATUS = {
5839
+ /** Active user with full access. */
5840
+ Active: "active",
5841
+ /** Inactive user, typically not currently using the platform. */
5842
+ Inactive: "inactive",
5843
+ /** User account is awaiting approval or completion of setup. */
5844
+ Pending: "pending",
5845
+ /** User has been temporarily suspended due to policy violations or manual review. */
5846
+ Suspended: "suspended",
5847
+ /** User has been permanently banned from the platform. */
5848
+ Banned: "banned"
5849
+ };
5850
+ var AUTH_PROVIDER_TYPE = /* @__PURE__ */ ((AUTH_PROVIDER_TYPE2) => {
5851
+ AUTH_PROVIDER_TYPE2["ClerkSupabase"] = "CLERK_SUPABASE";
5852
+ AUTH_PROVIDER_TYPE2["InternalDb"] = "INTERNAL_DB";
5853
+ return AUTH_PROVIDER_TYPE2;
5854
+ })(AUTH_PROVIDER_TYPE || {});
5855
+ var AUTH_PROVIDER = /* @__PURE__ */ ((AUTH_PROVIDER2) => {
5856
+ AUTH_PROVIDER2["EMAIL"] = "EMAIL";
5857
+ AUTH_PROVIDER2["CLERK"] = "CLERK";
5858
+ AUTH_PROVIDER2["GOOGLE"] = "GOOGLE";
5859
+ AUTH_PROVIDER2["FACEBOOK"] = "FACEBOOK";
5860
+ AUTH_PROVIDER2["APPLE"] = "APPLE";
5861
+ AUTH_PROVIDER2["WEB3"] = "WEB3";
5862
+ return AUTH_PROVIDER2;
5863
+ })(AUTH_PROVIDER || {});
5864
+ var USER_ROLE_STATUS = /* @__PURE__ */ ((USER_ROLE_STATUS2) => {
5865
+ USER_ROLE_STATUS2["ACTIVE"] = "ACTIVE";
5866
+ USER_ROLE_STATUS2["INACTIVE"] = "INACTIVE";
5867
+ USER_ROLE_STATUS2["SUSPENDED"] = "SUSPENDED";
5868
+ return USER_ROLE_STATUS2;
5869
+ })(USER_ROLE_STATUS || {});
5870
+ var TOKEN_TYPE = /* @__PURE__ */ ((TOKEN_TYPE2) => {
5871
+ TOKEN_TYPE2["BEARER"] = "Bearer";
5872
+ TOKEN_TYPE2["JWT"] = "JWT";
5873
+ return TOKEN_TYPE2;
5874
+ })(TOKEN_TYPE || {});
5875
+ var AUTH_ERROR_DEFINITIONS = {
5876
+ [ERROR_CODES.INVALID_CREDENTIALS]: {
5877
+ code: ERROR_CODES.INVALID_CREDENTIALS,
5878
+ status: HTTP_STATUS.UNAUTHORIZED,
5879
+ category: ERROR_CATEGORY.Authentication,
5880
+ userMessage: "errors.auth.invalid_credentials",
5881
+ severity: ERROR_SEVERITY.Medium,
5882
+ retryable: false
5883
+ },
5884
+ [ERROR_CODES.TOKEN_EXPIRED]: {
5885
+ code: ERROR_CODES.TOKEN_EXPIRED,
5886
+ status: HTTP_STATUS.UNAUTHORIZED,
5887
+ category: ERROR_CATEGORY.Authentication,
5888
+ userMessage: "errors.auth.token_expired",
6033
5889
  severity: ERROR_SEVERITY.Medium,
6034
5890
  retryable: false
6035
5891
  },
6036
- [ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR]: {
6037
- code: ERROR_CODES.WITHDRAWAL_PROVIDER_ERROR,
6038
- status: HTTP_STATUS.BAD_GATEWAY,
6039
- category: ERROR_CATEGORY.Provider,
6040
- userMessage: "errors.payment.withdrawal.provider_error",
6041
- severity: ERROR_SEVERITY.High,
6042
- retryable: true
6043
- },
6044
- [ERROR_CODES.WITHDRAWAL_FAILED]: {
6045
- code: ERROR_CODES.WITHDRAWAL_FAILED,
6046
- status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
6047
- category: ERROR_CATEGORY.Provider,
6048
- userMessage: "errors.payment.withdrawal.failed",
5892
+ [ERROR_CODES.TOKEN_INVALID]: {
5893
+ code: ERROR_CODES.TOKEN_INVALID,
5894
+ status: HTTP_STATUS.UNAUTHORIZED,
5895
+ category: ERROR_CATEGORY.Authentication,
5896
+ userMessage: "errors.auth.token_invalid",
6049
5897
  severity: ERROR_SEVERITY.High,
6050
- retryable: true
5898
+ retryable: false
6051
5899
  },
6052
- [ERROR_CODES.WITHDRAWAL_TIMEOUT]: {
6053
- code: ERROR_CODES.WITHDRAWAL_TIMEOUT,
6054
- status: HTTP_STATUS.GATEWAY_TIMEOUT,
6055
- category: ERROR_CATEGORY.Timeout,
6056
- userMessage: "errors.payment.withdrawal.timeout",
5900
+ [ERROR_CODES.TOKEN_REVOKED]: {
5901
+ code: ERROR_CODES.TOKEN_REVOKED,
5902
+ status: HTTP_STATUS.UNAUTHORIZED,
5903
+ category: ERROR_CATEGORY.Authentication,
5904
+ userMessage: "errors.auth.token_revoked",
6057
5905
  severity: ERROR_SEVERITY.Medium,
6058
- retryable: true
5906
+ retryable: false
6059
5907
  },
6060
- // Product Errors
6061
- [ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED]: {
6062
- code: ERROR_CODES.PRODUCT_CREATE_UNSUPPORTED,
6063
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6064
- category: ERROR_CATEGORY.Provider,
6065
- userMessage: "errors.payment.product.create_unsupported",
5908
+ [ERROR_CODES.SESSION_EXPIRED]: {
5909
+ code: ERROR_CODES.SESSION_EXPIRED,
5910
+ status: HTTP_STATUS.UNAUTHORIZED,
5911
+ category: ERROR_CATEGORY.Authentication,
5912
+ userMessage: "errors.auth.session_expired",
6066
5913
  severity: ERROR_SEVERITY.Medium,
6067
5914
  retryable: false
6068
5915
  },
6069
- [ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED]: {
6070
- code: ERROR_CODES.PRODUCT_UPDATE_UNSUPPORTED,
6071
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6072
- category: ERROR_CATEGORY.Provider,
6073
- userMessage: "errors.payment.product.update_unsupported",
6074
- severity: ERROR_SEVERITY.Medium,
5916
+ [ERROR_CODES.MFA_REQUIRED]: {
5917
+ code: ERROR_CODES.MFA_REQUIRED,
5918
+ status: HTTP_STATUS.FORBIDDEN,
5919
+ category: ERROR_CATEGORY.Authorization,
5920
+ userMessage: "errors.auth.mfa_required",
5921
+ severity: ERROR_SEVERITY.Low,
6075
5922
  retryable: false
6076
5923
  },
6077
- [ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED]: {
6078
- code: ERROR_CODES.PRODUCT_FETCH_UNSUPPORTED,
6079
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6080
- category: ERROR_CATEGORY.Provider,
6081
- userMessage: "errors.payment.product.fetch_unsupported",
5924
+ [ERROR_CODES.MFA_INVALID]: {
5925
+ code: ERROR_CODES.MFA_INVALID,
5926
+ status: HTTP_STATUS.UNAUTHORIZED,
5927
+ category: ERROR_CATEGORY.Authentication,
5928
+ userMessage: "errors.auth.mfa_invalid",
6082
5929
  severity: ERROR_SEVERITY.Medium,
6083
5930
  retryable: false
6084
5931
  },
6085
- [ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED]: {
6086
- code: ERROR_CODES.PRODUCT_DEACTIVATE_UNSUPPORTED,
6087
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6088
- category: ERROR_CATEGORY.Provider,
6089
- userMessage: "errors.payment.product.deactivate_unsupported",
5932
+ [ERROR_CODES.INSUFFICIENT_PERMISSIONS]: {
5933
+ code: ERROR_CODES.INSUFFICIENT_PERMISSIONS,
5934
+ status: HTTP_STATUS.FORBIDDEN,
5935
+ category: ERROR_CATEGORY.Authorization,
5936
+ userMessage: "errors.auth.insufficient_permissions",
6090
5937
  severity: ERROR_SEVERITY.Medium,
6091
5938
  retryable: false
6092
5939
  },
6093
- [ERROR_CODES.PRODUCT_NOT_FOUND]: {
6094
- code: ERROR_CODES.PRODUCT_NOT_FOUND,
6095
- status: HTTP_STATUS.NOT_FOUND,
6096
- category: ERROR_CATEGORY.NotFound,
6097
- userMessage: "errors.payment.product.not_found",
5940
+ [ERROR_CODES.ROLE_REQUIRED]: {
5941
+ code: ERROR_CODES.ROLE_REQUIRED,
5942
+ status: HTTP_STATUS.FORBIDDEN,
5943
+ category: ERROR_CATEGORY.Authorization,
5944
+ userMessage: "errors.auth.role_required",
6098
5945
  severity: ERROR_SEVERITY.Medium,
6099
5946
  retryable: false
6100
5947
  },
6101
- [ERROR_CODES.PRODUCT_INVALID_DATA]: {
6102
- code: ERROR_CODES.PRODUCT_INVALID_DATA,
6103
- status: HTTP_STATUS.BAD_REQUEST,
6104
- category: ERROR_CATEGORY.Validation,
6105
- userMessage: "errors.payment.product.invalid_data",
5948
+ [ERROR_CODES.WALLET_SIGNATURE_INVALID]: {
5949
+ code: ERROR_CODES.WALLET_SIGNATURE_INVALID,
5950
+ status: HTTP_STATUS.UNAUTHORIZED,
5951
+ category: ERROR_CATEGORY.Authentication,
5952
+ userMessage: "errors.auth.wallet_signature_invalid",
5953
+ severity: ERROR_SEVERITY.High,
5954
+ retryable: false
5955
+ },
5956
+ [ERROR_CODES.NONCE_EXPIRED]: {
5957
+ code: ERROR_CODES.NONCE_EXPIRED,
5958
+ status: HTTP_STATUS.UNAUTHORIZED,
5959
+ category: ERROR_CATEGORY.Authentication,
5960
+ userMessage: "errors.auth.nonce_expired",
6106
5961
  severity: ERROR_SEVERITY.Medium,
6107
5962
  retryable: false
6108
5963
  },
6109
- [ERROR_CODES.PRODUCT_PROVIDER_ERROR]: {
6110
- code: ERROR_CODES.PRODUCT_PROVIDER_ERROR,
6111
- status: HTTP_STATUS.BAD_GATEWAY,
6112
- category: ERROR_CATEGORY.Provider,
6113
- userMessage: "errors.payment.product.provider_error",
5964
+ [ERROR_CODES.NONCE_ALREADY_USED]: {
5965
+ code: ERROR_CODES.NONCE_ALREADY_USED,
5966
+ status: HTTP_STATUS.UNAUTHORIZED,
5967
+ category: ERROR_CATEGORY.Authentication,
5968
+ userMessage: "errors.auth.nonce_already_used",
6114
5969
  severity: ERROR_SEVERITY.High,
6115
- retryable: true
5970
+ retryable: false
6116
5971
  },
6117
- [ERROR_CODES.PRODUCT_ALREADY_INACTIVE]: {
6118
- code: ERROR_CODES.PRODUCT_ALREADY_INACTIVE,
6119
- status: HTTP_STATUS.CONFLICT,
6120
- category: ERROR_CATEGORY.Conflict,
6121
- userMessage: "errors.payment.product.already_inactive",
6122
- severity: ERROR_SEVERITY.Medium,
5972
+ [ERROR_CODES.ACCOUNT_LOCKED]: {
5973
+ code: ERROR_CODES.ACCOUNT_LOCKED,
5974
+ status: HTTP_STATUS.LOCKED,
5975
+ category: ERROR_CATEGORY.Authorization,
5976
+ userMessage: "errors.auth.account_locked",
5977
+ severity: ERROR_SEVERITY.High,
5978
+ retryable: false
5979
+ },
5980
+ [ERROR_CODES.ACCOUNT_SUSPENDED]: {
5981
+ code: ERROR_CODES.ACCOUNT_SUSPENDED,
5982
+ status: HTTP_STATUS.FORBIDDEN,
5983
+ category: ERROR_CATEGORY.Authorization,
5984
+ userMessage: "errors.auth.account_suspended",
5985
+ severity: ERROR_SEVERITY.High,
6123
5986
  retryable: false
5987
+ }
5988
+ };
5989
+ var DEFAULT_PASSWORD = 8;
5990
+ var ContactUsFormSchema = z.object({
5991
+ name: z.string({ error: "errors.form.missingField" }).min(1, "errors.form.nameMissing"),
5992
+ email: z.email({ error: "errors.form.emailInvalid" })
5993
+ });
5994
+ var SignupFormSchema = z.object({
5995
+ name: z.string({ error: "errors.form.missingField" }).min(1, "errors.form.nameMissing"),
5996
+ email: z.email({ error: "errors.form.emailInvalid" }),
5997
+ password: z.string({ error: "errors.form.missingField" }).min(DEFAULT_PASSWORD, "errors.form.passwordTooShort")
5998
+ });
5999
+
6000
+ // src/core/modules.ts
6001
+ var BACKEND_RUNTIMES = [
6002
+ "node",
6003
+ "nestjs",
6004
+ "express",
6005
+ "deno",
6006
+ "bun"
6007
+ ];
6008
+ var FRONTEND_RUNTIMES = ["browser"];
6009
+ var UNIVERSAL_RUNTIMES = [
6010
+ "nextjs",
6011
+ "nuxt",
6012
+ "edge"
6013
+ ];
6014
+ var APP_CONTEXTS = [
6015
+ "webapp",
6016
+ "backoffice",
6017
+ "mobile",
6018
+ "microapp",
6019
+ "cli"
6020
+ ];
6021
+
6022
+ // src/core/tables/enum.ts
6023
+ var TABLES = /* @__PURE__ */ ((TABLES2) => {
6024
+ TABLES2["User"] = "users";
6025
+ return TABLES2;
6026
+ })(TABLES || {});
6027
+
6028
+ // src/core/featureFlag/enums.ts
6029
+ var SORT_DIRECTION = /* @__PURE__ */ ((SORT_DIRECTION2) => {
6030
+ SORT_DIRECTION2["Asc"] = "asc";
6031
+ SORT_DIRECTION2["Desc"] = "desc";
6032
+ return SORT_DIRECTION2;
6033
+ })(SORT_DIRECTION || {});
6034
+ var FEATURE_FLAG_TABLE = /* @__PURE__ */ ((FEATURE_FLAG_TABLE2) => {
6035
+ FEATURE_FLAG_TABLE2["FeatureFlags"] = "feature_flags";
6036
+ FEATURE_FLAG_TABLE2["FeatureFlagRules"] = "feature_flag_rules";
6037
+ FEATURE_FLAG_TABLE2["FeatureFlagEvaluations"] = "feature_flag_evaluations";
6038
+ FEATURE_FLAG_TABLE2["FeatureFlagOverrides"] = "feature_flag_overrides";
6039
+ return FEATURE_FLAG_TABLE2;
6040
+ })(FEATURE_FLAG_TABLE || {});
6041
+ var FEATURE_FLAG_FIELD = /* @__PURE__ */ ((FEATURE_FLAG_FIELD2) => {
6042
+ FEATURE_FLAG_FIELD2["Key"] = "key";
6043
+ FEATURE_FLAG_FIELD2["Name"] = "name";
6044
+ FEATURE_FLAG_FIELD2["Value"] = "value";
6045
+ FEATURE_FLAG_FIELD2["Type"] = "type";
6046
+ FEATURE_FLAG_FIELD2["IsEnabled"] = "is_enabled";
6047
+ FEATURE_FLAG_FIELD2["Environments"] = "environments";
6048
+ FEATURE_FLAG_FIELD2["Description"] = "description";
6049
+ FEATURE_FLAG_FIELD2["CreatedAt"] = "created_at";
6050
+ FEATURE_FLAG_FIELD2["UpdatedAt"] = "updated_at";
6051
+ return FEATURE_FLAG_FIELD2;
6052
+ })(FEATURE_FLAG_FIELD || {});
6053
+ var FEATURE_FLAG_RULE_FIELD = /* @__PURE__ */ ((FEATURE_FLAG_RULE_FIELD2) => {
6054
+ FEATURE_FLAG_RULE_FIELD2["Id"] = "id";
6055
+ FEATURE_FLAG_RULE_FIELD2["FlagKey"] = "flag_key";
6056
+ FEATURE_FLAG_RULE_FIELD2["Name"] = "name";
6057
+ FEATURE_FLAG_RULE_FIELD2["Conditions"] = "conditions";
6058
+ FEATURE_FLAG_RULE_FIELD2["Value"] = "value";
6059
+ FEATURE_FLAG_RULE_FIELD2["Priority"] = "priority";
6060
+ FEATURE_FLAG_RULE_FIELD2["IsEnabled"] = "is_enabled";
6061
+ return FEATURE_FLAG_RULE_FIELD2;
6062
+ })(FEATURE_FLAG_RULE_FIELD || {});
6063
+ var FEATURE_FLAG_PROVIDERS = /* @__PURE__ */ ((FEATURE_FLAG_PROVIDERS2) => {
6064
+ FEATURE_FLAG_PROVIDERS2["MEMORY"] = "memory";
6065
+ FEATURE_FLAG_PROVIDERS2["FILE"] = "file";
6066
+ FEATURE_FLAG_PROVIDERS2["REDIS"] = "redis";
6067
+ FEATURE_FLAG_PROVIDERS2["API"] = "api";
6068
+ FEATURE_FLAG_PROVIDERS2["DATABASE"] = "database";
6069
+ return FEATURE_FLAG_PROVIDERS2;
6070
+ })(FEATURE_FLAG_PROVIDERS || {});
6071
+ var NODE_ENVIRONMENTS = /* @__PURE__ */ ((NODE_ENVIRONMENTS2) => {
6072
+ NODE_ENVIRONMENTS2["DEVELOPMENT"] = "development";
6073
+ NODE_ENVIRONMENTS2["PRODUCTION"] = "production";
6074
+ NODE_ENVIRONMENTS2["STAGING"] = "staging";
6075
+ NODE_ENVIRONMENTS2["TEST"] = "test";
6076
+ return NODE_ENVIRONMENTS2;
6077
+ })(NODE_ENVIRONMENTS || {});
6078
+ var DATABASE_FIELDS = /* @__PURE__ */ ((DATABASE_FIELDS2) => {
6079
+ DATABASE_FIELDS2["Key"] = "key";
6080
+ DATABASE_FIELDS2["FlagKey"] = "flag_key";
6081
+ DATABASE_FIELDS2["UserId"] = "user_id";
6082
+ DATABASE_FIELDS2["IsEnabled"] = "is_enabled";
6083
+ DATABASE_FIELDS2["CreatedAt"] = "created_at";
6084
+ DATABASE_FIELDS2["UpdatedAt"] = "updated_at";
6085
+ DATABASE_FIELDS2["ExpiresAt"] = "expires_at";
6086
+ DATABASE_FIELDS2["EvaluatedAt"] = "evaluated_at";
6087
+ return DATABASE_FIELDS2;
6088
+ })(DATABASE_FIELDS || {});
6089
+ var SYSTEM_USERS = /* @__PURE__ */ ((SYSTEM_USERS2) => {
6090
+ SYSTEM_USERS2["SYSTEM"] = "system";
6091
+ return SYSTEM_USERS2;
6092
+ })(SYSTEM_USERS || {});
6093
+ var EVALUATION_REASONS = /* @__PURE__ */ ((EVALUATION_REASONS2) => {
6094
+ EVALUATION_REASONS2["Default"] = "default";
6095
+ EVALUATION_REASONS2["RuleMatch"] = "rule_match";
6096
+ EVALUATION_REASONS2["Rollout"] = "rollout";
6097
+ EVALUATION_REASONS2["Override"] = "override";
6098
+ EVALUATION_REASONS2["Disabled"] = "disabled";
6099
+ return EVALUATION_REASONS2;
6100
+ })(EVALUATION_REASONS || {});
6101
+ var FEATURE_FLAG_TYPES = /* @__PURE__ */ ((FEATURE_FLAG_TYPES2) => {
6102
+ FEATURE_FLAG_TYPES2["BOOLEAN"] = "boolean";
6103
+ FEATURE_FLAG_TYPES2["STRING"] = "string";
6104
+ FEATURE_FLAG_TYPES2["NUMBER"] = "number";
6105
+ FEATURE_FLAG_TYPES2["OBJECT"] = "object";
6106
+ return FEATURE_FLAG_TYPES2;
6107
+ })(FEATURE_FLAG_TYPES || {});
6108
+
6109
+ // src/core/featureFlag/constants.ts
6110
+ var FEATURE_FLAG_DEFAULTS = {
6111
+ CACHE_TTL: 300,
6112
+ REFRESH_INTERVAL: 0,
6113
+ POOL_SIZE: 10,
6114
+ TIMEOUT: 3e4,
6115
+ TABLE_NAME: "feature_flags"
6116
+ };
6117
+ var FEATURE_FLAG_METADATA = {
6118
+ FLAG_CHECK: "plyaz:feature_flag_check",
6119
+ // Single feature flag check
6120
+ RESOLVE_FLAGS: "plyaz:resolve_feature_flags"
6121
+ // Multiple flags resolved at once
6122
+ };
6123
+
6124
+ // src/core/events/enums.ts
6125
+ var CoreEventScope = {
6126
+ SYSTEM: "system",
6127
+ ENTITY: "entity",
6128
+ VALIDATION: "validation",
6129
+ SANITIZATION: "sanitization",
6130
+ API: "api",
6131
+ CACHE: "cache",
6132
+ AUTH: "auth",
6133
+ DATABASE: "database",
6134
+ FEATURE_FLAG: "featureFlag",
6135
+ STORE: "store",
6136
+ STORAGE: "storage",
6137
+ NOTIFICATION: "notification"
6138
+ };
6139
+ var SystemEventAction = {
6140
+ INITIALIZED: "initialized",
6141
+ READY: "ready",
6142
+ SHUTDOWN: "shutdown",
6143
+ ERROR: "error",
6144
+ WARNING: "warning"
6145
+ };
6146
+ var EntityEventAction = {
6147
+ // Lifecycle (before API call)
6148
+ CREATING: "creating",
6149
+ UPDATING: "updating",
6150
+ PATCHING: "patching",
6151
+ DELETING: "deleting",
6152
+ // Completed (after API call)
6153
+ CREATED: "created",
6154
+ UPDATED: "updated",
6155
+ PATCHED: "patched",
6156
+ DELETED: "deleted",
6157
+ // Error/Complete
6158
+ ERROR: "error",
6159
+ COMPLETE: "complete",
6160
+ // Bulk operations
6161
+ BULK_CREATED: "bulkCreated",
6162
+ BULK_DELETED: "bulkDeleted"
6163
+ };
6164
+ var ValidationEventAction = {
6165
+ STARTED: "started",
6166
+ SUCCESS: "success",
6167
+ FAILED: "failed"
6168
+ };
6169
+ var SanitizationEventAction = {
6170
+ STARTED: "started",
6171
+ SUCCESS: "success",
6172
+ FAILED: "failed"
6173
+ };
6174
+ var ApiEventAction = {
6175
+ REQUEST_START: "requestStart",
6176
+ REQUEST_SUCCESS: "requestSuccess",
6177
+ REQUEST_ERROR: "requestError",
6178
+ RETRY: "retry",
6179
+ TIMEOUT: "timeout"
6180
+ };
6181
+ var CacheEventAction = {
6182
+ HIT: "hit",
6183
+ MISS: "miss",
6184
+ SET: "set",
6185
+ DELETE: "delete",
6186
+ CLEAR: "clear",
6187
+ EXPIRED: "expired"
6188
+ };
6189
+ var AuthEventAction = {
6190
+ LOGIN: "login",
6191
+ LOGOUT: "logout",
6192
+ TOKEN_REFRESH: "tokenRefresh",
6193
+ SESSION_EXPIRED: "sessionExpired",
6194
+ UNAUTHORIZED: "unauthorized"
6195
+ };
6196
+ var DatabaseEventAction = {
6197
+ CONNECTED: "connected",
6198
+ DISCONNECTED: "disconnected",
6199
+ QUERY: "query",
6200
+ ERROR: "error",
6201
+ TRANSACTION_START: "transactionStart",
6202
+ TRANSACTION_COMMIT: "transactionCommit",
6203
+ TRANSACTION_ROLLBACK: "transactionRollback"
6204
+ };
6205
+ var FeatureFlagEventAction = {
6206
+ CHANGED: "changed",
6207
+ EVALUATED: "evaluated",
6208
+ REFRESHED: "refreshed"
6209
+ };
6210
+ var StoreEventAction = {
6211
+ UPDATED: "updated",
6212
+ RESET: "reset",
6213
+ HYDRATED: "hydrated"
6214
+ };
6215
+ var StorageEventAction = {
6216
+ UPLOADED: "uploaded",
6217
+ DOWNLOADED: "downloaded",
6218
+ DELETED: "deleted",
6219
+ ERROR: "error",
6220
+ HEALTH_CHECK: "healthCheck"
6221
+ };
6222
+ var NotificationEventAction = {
6223
+ SENT: "sent",
6224
+ FAILED: "failed",
6225
+ DELIVERED: "delivered",
6226
+ OPENED: "opened",
6227
+ CLICKED: "clicked",
6228
+ ERROR: "error",
6229
+ HEALTH_CHECK: "healthCheck"
6230
+ };
6231
+ var CORE_EVENTS = {
6232
+ SYSTEM: {
6233
+ INITIALIZED: `${CoreEventScope.SYSTEM}:${SystemEventAction.INITIALIZED}`,
6234
+ READY: `${CoreEventScope.SYSTEM}:${SystemEventAction.READY}`,
6235
+ SHUTDOWN: `${CoreEventScope.SYSTEM}:${SystemEventAction.SHUTDOWN}`,
6236
+ ERROR: `${CoreEventScope.SYSTEM}:${SystemEventAction.ERROR}`,
6237
+ WARNING: `${CoreEventScope.SYSTEM}:${SystemEventAction.WARNING}`
6124
6238
  },
6125
- [ERROR_CODES.PRODUCT_SYNC_FAILED]: {
6126
- code: ERROR_CODES.PRODUCT_SYNC_FAILED,
6127
- status: HTTP_STATUS.BAD_GATEWAY,
6128
- category: ERROR_CATEGORY.Provider,
6129
- userMessage: "errors.payment.product.sync_failed",
6130
- severity: ERROR_SEVERITY.High,
6131
- retryable: true
6239
+ ENTITY: {
6240
+ CREATING: `${CoreEventScope.ENTITY}:${EntityEventAction.CREATING}`,
6241
+ UPDATING: `${CoreEventScope.ENTITY}:${EntityEventAction.UPDATING}`,
6242
+ PATCHING: `${CoreEventScope.ENTITY}:${EntityEventAction.PATCHING}`,
6243
+ DELETING: `${CoreEventScope.ENTITY}:${EntityEventAction.DELETING}`,
6244
+ CREATED: `${CoreEventScope.ENTITY}:${EntityEventAction.CREATED}`,
6245
+ UPDATED: `${CoreEventScope.ENTITY}:${EntityEventAction.UPDATED}`,
6246
+ PATCHED: `${CoreEventScope.ENTITY}:${EntityEventAction.PATCHED}`,
6247
+ DELETED: `${CoreEventScope.ENTITY}:${EntityEventAction.DELETED}`,
6248
+ ERROR: `${CoreEventScope.ENTITY}:${EntityEventAction.ERROR}`,
6249
+ COMPLETE: `${CoreEventScope.ENTITY}:${EntityEventAction.COMPLETE}`,
6250
+ BULK_CREATED: `${CoreEventScope.ENTITY}:${EntityEventAction.BULK_CREATED}`,
6251
+ BULK_DELETED: `${CoreEventScope.ENTITY}:${EntityEventAction.BULK_DELETED}`
6132
6252
  },
6133
- // Pricing Errors
6134
- [ERROR_CODES.PRICING_CREATE_UNSUPPORTED]: {
6135
- code: ERROR_CODES.PRICING_CREATE_UNSUPPORTED,
6136
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6137
- category: ERROR_CATEGORY.Provider,
6138
- userMessage: "errors.payment.pricing.create_unsupported",
6139
- severity: ERROR_SEVERITY.Medium,
6140
- retryable: false
6253
+ VALIDATION: {
6254
+ STARTED: `${CoreEventScope.VALIDATION}:${ValidationEventAction.STARTED}`,
6255
+ SUCCESS: `${CoreEventScope.VALIDATION}:${ValidationEventAction.SUCCESS}`,
6256
+ FAILED: `${CoreEventScope.VALIDATION}:${ValidationEventAction.FAILED}`
6141
6257
  },
6142
- [ERROR_CODES.PRICING_UPDATE_UNSUPPORTED]: {
6143
- code: ERROR_CODES.PRICING_UPDATE_UNSUPPORTED,
6144
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6145
- category: ERROR_CATEGORY.Provider,
6146
- userMessage: "errors.payment.pricing.update_unsupported",
6147
- severity: ERROR_SEVERITY.Medium,
6148
- retryable: false
6258
+ SANITIZATION: {
6259
+ STARTED: `${CoreEventScope.SANITIZATION}:${SanitizationEventAction.STARTED}`,
6260
+ SUCCESS: `${CoreEventScope.SANITIZATION}:${SanitizationEventAction.SUCCESS}`,
6261
+ FAILED: `${CoreEventScope.SANITIZATION}:${SanitizationEventAction.FAILED}`
6149
6262
  },
6150
- [ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED]: {
6151
- code: ERROR_CODES.PRICING_DEACTIVATE_UNSUPPORTED,
6152
- status: HTTP_STATUS.NOT_IMPLEMENTED,
6153
- category: ERROR_CATEGORY.Provider,
6154
- userMessage: "errors.payment.pricing.deactivate_unsupported",
6155
- severity: ERROR_SEVERITY.Medium,
6156
- retryable: false
6263
+ API: {
6264
+ REQUEST_START: `${CoreEventScope.API}:${ApiEventAction.REQUEST_START}`,
6265
+ REQUEST_SUCCESS: `${CoreEventScope.API}:${ApiEventAction.REQUEST_SUCCESS}`,
6266
+ REQUEST_ERROR: `${CoreEventScope.API}:${ApiEventAction.REQUEST_ERROR}`,
6267
+ RETRY: `${CoreEventScope.API}:${ApiEventAction.RETRY}`,
6268
+ TIMEOUT: `${CoreEventScope.API}:${ApiEventAction.TIMEOUT}`
6157
6269
  },
6158
- [ERROR_CODES.PRICING_NOT_FOUND]: {
6159
- code: ERROR_CODES.PRICING_NOT_FOUND,
6160
- status: HTTP_STATUS.NOT_FOUND,
6161
- category: ERROR_CATEGORY.NotFound,
6162
- userMessage: "errors.payment.pricing.not_found",
6163
- severity: ERROR_SEVERITY.Medium,
6164
- retryable: false
6270
+ CACHE: {
6271
+ HIT: `${CoreEventScope.CACHE}:${CacheEventAction.HIT}`,
6272
+ MISS: `${CoreEventScope.CACHE}:${CacheEventAction.MISS}`,
6273
+ SET: `${CoreEventScope.CACHE}:${CacheEventAction.SET}`,
6274
+ DELETE: `${CoreEventScope.CACHE}:${CacheEventAction.DELETE}`,
6275
+ CLEAR: `${CoreEventScope.CACHE}:${CacheEventAction.CLEAR}`,
6276
+ EXPIRED: `${CoreEventScope.CACHE}:${CacheEventAction.EXPIRED}`
6165
6277
  },
6166
- [ERROR_CODES.PRICING_INVALID_AMOUNT]: {
6167
- code: ERROR_CODES.PRICING_INVALID_AMOUNT,
6168
- status: HTTP_STATUS.BAD_REQUEST,
6169
- category: ERROR_CATEGORY.Validation,
6170
- userMessage: "errors.payment.pricing.invalid_amount",
6171
- severity: ERROR_SEVERITY.Medium,
6172
- retryable: false
6278
+ AUTH: {
6279
+ LOGIN: `${CoreEventScope.AUTH}:${AuthEventAction.LOGIN}`,
6280
+ LOGOUT: `${CoreEventScope.AUTH}:${AuthEventAction.LOGOUT}`,
6281
+ TOKEN_REFRESH: `${CoreEventScope.AUTH}:${AuthEventAction.TOKEN_REFRESH}`,
6282
+ SESSION_EXPIRED: `${CoreEventScope.AUTH}:${AuthEventAction.SESSION_EXPIRED}`,
6283
+ UNAUTHORIZED: `${CoreEventScope.AUTH}:${AuthEventAction.UNAUTHORIZED}`
6173
6284
  },
6174
- [ERROR_CODES.PRICING_INVALID_CURRENCY]: {
6175
- code: ERROR_CODES.PRICING_INVALID_CURRENCY,
6176
- status: HTTP_STATUS.BAD_REQUEST,
6177
- category: ERROR_CATEGORY.Validation,
6178
- userMessage: "errors.payment.pricing.invalid_currency",
6179
- severity: ERROR_SEVERITY.Medium,
6180
- retryable: false
6285
+ DATABASE: {
6286
+ CONNECTED: `${CoreEventScope.DATABASE}:${DatabaseEventAction.CONNECTED}`,
6287
+ DISCONNECTED: `${CoreEventScope.DATABASE}:${DatabaseEventAction.DISCONNECTED}`,
6288
+ QUERY: `${CoreEventScope.DATABASE}:${DatabaseEventAction.QUERY}`,
6289
+ ERROR: `${CoreEventScope.DATABASE}:${DatabaseEventAction.ERROR}`,
6290
+ TRANSACTION_START: `${CoreEventScope.DATABASE}:${DatabaseEventAction.TRANSACTION_START}`,
6291
+ TRANSACTION_COMMIT: `${CoreEventScope.DATABASE}:${DatabaseEventAction.TRANSACTION_COMMIT}`,
6292
+ TRANSACTION_ROLLBACK: `${CoreEventScope.DATABASE}:${DatabaseEventAction.TRANSACTION_ROLLBACK}`
6181
6293
  },
6182
- [ERROR_CODES.PRICING_PROVIDER_ERROR]: {
6183
- code: ERROR_CODES.PRICING_PROVIDER_ERROR,
6184
- status: HTTP_STATUS.BAD_GATEWAY,
6185
- category: ERROR_CATEGORY.Provider,
6186
- userMessage: "errors.payment.pricing.provider_error",
6187
- severity: ERROR_SEVERITY.High,
6188
- retryable: true
6294
+ FEATURE_FLAG: {
6295
+ CHANGED: `${CoreEventScope.FEATURE_FLAG}:${FeatureFlagEventAction.CHANGED}`,
6296
+ EVALUATED: `${CoreEventScope.FEATURE_FLAG}:${FeatureFlagEventAction.EVALUATED}`,
6297
+ REFRESHED: `${CoreEventScope.FEATURE_FLAG}:${FeatureFlagEventAction.REFRESHED}`
6189
6298
  },
6190
- [ERROR_CODES.PRICING_ALREADY_INACTIVE]: {
6191
- code: ERROR_CODES.PRICING_ALREADY_INACTIVE,
6192
- status: HTTP_STATUS.CONFLICT,
6193
- category: ERROR_CATEGORY.Conflict,
6194
- userMessage: "errors.payment.pricing.already_inactive",
6195
- severity: ERROR_SEVERITY.Medium,
6196
- retryable: false
6299
+ STORE: {
6300
+ UPDATED: `${CoreEventScope.STORE}:${StoreEventAction.UPDATED}`,
6301
+ RESET: `${CoreEventScope.STORE}:${StoreEventAction.RESET}`,
6302
+ HYDRATED: `${CoreEventScope.STORE}:${StoreEventAction.HYDRATED}`
6197
6303
  },
6198
- [ERROR_CODES.PRICING_SYNC_FAILED]: {
6199
- code: ERROR_CODES.PRICING_SYNC_FAILED,
6200
- status: HTTP_STATUS.BAD_GATEWAY,
6201
- category: ERROR_CATEGORY.Provider,
6202
- userMessage: "errors.payment.pricing.sync_failed",
6203
- severity: ERROR_SEVERITY.High,
6204
- retryable: true
6304
+ STORAGE: {
6305
+ UPLOADED: `${CoreEventScope.STORAGE}:${StorageEventAction.UPLOADED}`,
6306
+ DOWNLOADED: `${CoreEventScope.STORAGE}:${StorageEventAction.DOWNLOADED}`,
6307
+ DELETED: `${CoreEventScope.STORAGE}:${StorageEventAction.DELETED}`,
6308
+ ERROR: `${CoreEventScope.STORAGE}:${StorageEventAction.ERROR}`,
6309
+ HEALTH_CHECK: `${CoreEventScope.STORAGE}:${StorageEventAction.HEALTH_CHECK}`
6205
6310
  },
6206
- [ERROR_CODES.PRICING_REQUIRES_NEW_VERSION]: {
6207
- code: ERROR_CODES.PRICING_REQUIRES_NEW_VERSION,
6208
- status: HTTP_STATUS.CONFLICT,
6209
- category: ERROR_CATEGORY.Conflict,
6210
- userMessage: "errors.payment.pricing.requires_new_version",
6211
- severity: ERROR_SEVERITY.Medium,
6212
- retryable: false
6311
+ NOTIFICATION: {
6312
+ SENT: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.SENT}`,
6313
+ FAILED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.FAILED}`,
6314
+ DELIVERED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.DELIVERED}`,
6315
+ OPENED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.OPENED}`,
6316
+ CLICKED: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.CLICKED}`,
6317
+ ERROR: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.ERROR}`,
6318
+ HEALTH_CHECK: `${CoreEventScope.NOTIFICATION}:${NotificationEventAction.HEALTH_CHECK}`
6213
6319
  }
6214
6320
  };
6215
6321
 
6322
+ // src/core/services/keys.ts
6323
+ var SERVICE_KEYS = {
6324
+ /** Example domain service (backend) */
6325
+ EXAMPLE: "example",
6326
+ /** Example domain service (frontend) */
6327
+ EXAMPLE_FRONTEND: "example-frontend",
6328
+ /** Feature flags service */
6329
+ FEATURE_FLAGS: "featureFlags"
6330
+ };
6331
+ var ALL_SERVICE_KEYS = Object.values(SERVICE_KEYS);
6332
+
6216
6333
  // src/events/enums.ts
6217
6334
  var EVENT_TYPE = {
6218
6335
  /** Application initialization event. */