@explorins/pers-shared 2.1.35 → 2.1.36

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 (121) hide show
  1. package/dist/cjs/shared-lib/dto/auth.dto.d.ts +1 -2
  2. package/dist/cjs/shared-lib/dto/auth.dto.d.ts.map +1 -1
  3. package/dist/cjs/shared-lib/dto/auth.dto.js +1 -10
  4. package/dist/cjs/shared-lib/dto/auth.dto.js.map +1 -1
  5. package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
  6. package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
  7. package/dist/cjs/shared-lib/errors/base/error-classification-enums.js +20 -1
  8. package/dist/cjs/shared-lib/errors/base/error-classification-enums.js.map +1 -1
  9. package/dist/cjs/shared-lib/errors/base-business-error.d.ts +56 -2
  10. package/dist/cjs/shared-lib/errors/base-business-error.d.ts.map +1 -1
  11. package/dist/cjs/shared-lib/errors/base-business-error.js +110 -11
  12. package/dist/cjs/shared-lib/errors/base-business-error.js.map +1 -1
  13. package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
  14. package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
  15. package/dist/cjs/shared-lib/errors/domains/authentication-errors.js +6 -6
  16. package/dist/cjs/shared-lib/errors/domains/authentication-errors.js.map +1 -1
  17. package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts +2 -2
  18. package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
  19. package/dist/cjs/shared-lib/errors/domains/balance-errors.js +2 -2
  20. package/dist/cjs/shared-lib/errors/domains/balance-errors.js.map +1 -1
  21. package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts +24 -3
  22. package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
  23. package/dist/cjs/shared-lib/errors/domains/business-errors.js +42 -3
  24. package/dist/cjs/shared-lib/errors/domains/business-errors.js.map +1 -1
  25. package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts +2 -2
  26. package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
  27. package/dist/cjs/shared-lib/errors/domains/contract-errors.js +1 -1
  28. package/dist/cjs/shared-lib/errors/domains/contract-errors.js.map +1 -1
  29. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
  30. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
  31. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js +12 -10
  32. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
  33. package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts +7 -4
  34. package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
  35. package/dist/cjs/shared-lib/errors/domains/system-errors.js +13 -6
  36. package/dist/cjs/shared-lib/errors/domains/system-errors.js.map +1 -1
  37. package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts +10 -4
  38. package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
  39. package/dist/cjs/shared-lib/errors/domains/token-errors.js +19 -5
  40. package/dist/cjs/shared-lib/errors/domains/token-errors.js.map +1 -1
  41. package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
  42. package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
  43. package/dist/cjs/shared-lib/errors/domains/transaction-errors.js +14 -7
  44. package/dist/cjs/shared-lib/errors/domains/transaction-errors.js.map +1 -1
  45. package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts +2 -2
  46. package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
  47. package/dist/cjs/shared-lib/errors/domains/user-errors.js +1 -1
  48. package/dist/cjs/shared-lib/errors/domains/user-errors.js.map +1 -1
  49. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts +4 -4
  50. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  51. package/dist/cjs/shared-lib/errors/domains/validation-errors.js +6 -7
  52. package/dist/cjs/shared-lib/errors/domains/validation-errors.js.map +1 -1
  53. package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
  54. package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
  55. package/dist/cjs/shared-lib/errors/domains/wallet-errors.js +5 -4
  56. package/dist/cjs/shared-lib/errors/domains/wallet-errors.js.map +1 -1
  57. package/dist/cjs/shared-lib/errors/index.d.ts +1 -1
  58. package/dist/cjs/shared-lib/errors/index.d.ts.map +1 -1
  59. package/dist/cjs/shared-lib/errors/index.js +9 -1
  60. package/dist/cjs/shared-lib/errors/index.js.map +1 -1
  61. package/dist/esm/shared-lib/dto/auth.dto.d.ts +1 -2
  62. package/dist/esm/shared-lib/dto/auth.dto.d.ts.map +1 -1
  63. package/dist/esm/shared-lib/dto/auth.dto.js +1 -9
  64. package/dist/esm/shared-lib/dto/auth.dto.js.map +1 -1
  65. package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
  66. package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
  67. package/dist/esm/shared-lib/errors/base/error-classification-enums.js +11 -0
  68. package/dist/esm/shared-lib/errors/base/error-classification-enums.js.map +1 -1
  69. package/dist/esm/shared-lib/errors/base-business-error.d.ts +56 -2
  70. package/dist/esm/shared-lib/errors/base-business-error.d.ts.map +1 -1
  71. package/dist/esm/shared-lib/errors/base-business-error.js +101 -10
  72. package/dist/esm/shared-lib/errors/base-business-error.js.map +1 -1
  73. package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
  74. package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
  75. package/dist/esm/shared-lib/errors/domains/authentication-errors.js +7 -7
  76. package/dist/esm/shared-lib/errors/domains/authentication-errors.js.map +1 -1
  77. package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts +2 -2
  78. package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
  79. package/dist/esm/shared-lib/errors/domains/balance-errors.js +3 -3
  80. package/dist/esm/shared-lib/errors/domains/balance-errors.js.map +1 -1
  81. package/dist/esm/shared-lib/errors/domains/business-errors.d.ts +24 -3
  82. package/dist/esm/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
  83. package/dist/esm/shared-lib/errors/domains/business-errors.js +37 -3
  84. package/dist/esm/shared-lib/errors/domains/business-errors.js.map +1 -1
  85. package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts +2 -2
  86. package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
  87. package/dist/esm/shared-lib/errors/domains/contract-errors.js +2 -2
  88. package/dist/esm/shared-lib/errors/domains/contract-errors.js.map +1 -1
  89. package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
  90. package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
  91. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js +13 -11
  92. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
  93. package/dist/esm/shared-lib/errors/domains/system-errors.d.ts +7 -4
  94. package/dist/esm/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
  95. package/dist/esm/shared-lib/errors/domains/system-errors.js +12 -6
  96. package/dist/esm/shared-lib/errors/domains/system-errors.js.map +1 -1
  97. package/dist/esm/shared-lib/errors/domains/token-errors.d.ts +10 -4
  98. package/dist/esm/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
  99. package/dist/esm/shared-lib/errors/domains/token-errors.js +17 -5
  100. package/dist/esm/shared-lib/errors/domains/token-errors.js.map +1 -1
  101. package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
  102. package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
  103. package/dist/esm/shared-lib/errors/domains/transaction-errors.js +13 -7
  104. package/dist/esm/shared-lib/errors/domains/transaction-errors.js.map +1 -1
  105. package/dist/esm/shared-lib/errors/domains/user-errors.d.ts +2 -2
  106. package/dist/esm/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
  107. package/dist/esm/shared-lib/errors/domains/user-errors.js +2 -2
  108. package/dist/esm/shared-lib/errors/domains/user-errors.js.map +1 -1
  109. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts +4 -4
  110. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  111. package/dist/esm/shared-lib/errors/domains/validation-errors.js +7 -8
  112. package/dist/esm/shared-lib/errors/domains/validation-errors.js.map +1 -1
  113. package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
  114. package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
  115. package/dist/esm/shared-lib/errors/domains/wallet-errors.js +6 -5
  116. package/dist/esm/shared-lib/errors/domains/wallet-errors.js.map +1 -1
  117. package/dist/esm/shared-lib/errors/index.d.ts +1 -1
  118. package/dist/esm/shared-lib/errors/index.d.ts.map +1 -1
  119. package/dist/esm/shared-lib/errors/index.js +1 -1
  120. package/dist/esm/shared-lib/errors/index.js.map +1 -1
  121. package/package.json +1 -1
@@ -9,9 +9,8 @@ export declare class SessionAuthRequestDTO {
9
9
  export declare class RefreshTokenRequestDTO {
10
10
  refreshToken: string;
11
11
  }
12
- export declare class SessionAuthResponseDTO {
12
+ export declare class SessionAuthResponseDTO extends RefreshTokenRequestDTO {
13
13
  accessToken: string;
14
- refreshToken: string;
15
14
  }
16
15
  export declare class SessionAuthContextResponseDTO extends SessionAuthResponseDTO {
17
16
  admin?: AdminDTO;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/auth.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAG,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,qBAAa,qBAAqB;IAQ9B,SAAS,EAAE,MAAM,CAAM;IAQvB,QAAQ,CAAC,EAAE,gBAAgB,CAAyB;CACvD;AAGD,qBAAa,sBAAsB;IAO/B,YAAY,EAAE,MAAM,CAAM;CAC7B;AAGD,qBAAa,sBAAsB;IAQ/B,WAAW,EAAE,MAAM,CAAM;IAQzB,YAAY,EAAE,MAAM,CAAM;CAEzB;AAEL,qBAAa,6BAA8B,SAAQ,sBAAsB;IAKrE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAMjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAMf,QAAQ,CAAC,EAAE,WAAW,CAAC;IAQvB,QAAQ,EAAE,gBAAgB,CAAyB;CACtD"}
1
+ {"version":3,"file":"auth.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/auth.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAG,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,qBAAa,qBAAqB;IAQ9B,SAAS,EAAE,MAAM,CAAM;IAQvB,QAAQ,CAAC,EAAE,gBAAgB,CAAyB;CACvD;AAGD,qBAAa,sBAAsB;IAO/B,YAAY,EAAE,MAAM,CAAM;CAC7B;AAGD,qBAAa,sBAAuB,SAAQ,sBAAsB;IAQ9D,WAAW,EAAE,MAAM,CAAM;CAUxB;AAEL,qBAAa,6BAA8B,SAAQ,sBAAsB;IAKrE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAMjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAMf,QAAQ,CAAC,EAAE,WAAW,CAAC;IAQvB,QAAQ,EAAE,gBAAgB,CAAyB;CACtD"}
@@ -55,9 +55,8 @@ __decorate([
55
55
  (0, class_validator_1.IsString)(),
56
56
  __metadata("design:type", String)
57
57
  ], RefreshTokenRequestDTO.prototype, "refreshToken", void 0);
58
- class SessionAuthResponseDTO {
58
+ class SessionAuthResponseDTO extends RefreshTokenRequestDTO {
59
59
  accessToken = '';
60
- refreshToken = '';
61
60
  }
62
61
  exports.SessionAuthResponseDTO = SessionAuthResponseDTO;
63
62
  __decorate([
@@ -68,14 +67,6 @@ __decorate([
68
67
  (0, class_validator_1.IsString)(),
69
68
  __metadata("design:type", String)
70
69
  ], SessionAuthResponseDTO.prototype, "accessToken", void 0);
71
- __decorate([
72
- (0, swagger_1.ApiProperty)({
73
- description: 'JWT refresh token this token is used to get a new access token when the current one expires. It is valid for 1 day.',
74
- }),
75
- (0, class_validator_1.IsNotEmpty)(),
76
- (0, class_validator_1.IsString)(),
77
- __metadata("design:type", String)
78
- ], SessionAuthResponseDTO.prototype, "refreshToken", void 0);
79
70
  class SessionAuthContextResponseDTO extends SessionAuthResponseDTO {
80
71
  admin;
81
72
  user;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/auth.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAAuD;AACvD,yCAAqC;AACrC,yCAA0C;AAC1C,kCAA2C;AAC3C,mCAAmC;AAEnC,MAAa,qBAAqB;IAQ9B,SAAS,GAAW,EAAE,CAAC;IAQvB,AADA,4BAA4B;IAC5B,QAAQ,GAAsB,uBAAgB,CAAC,IAAI,CAAC;CACvD;AAjBD,sDAiBC;AATG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACY;AAQvB;IANC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,iFAAiF;QAC9F,0BAA0B;QAC1B,IAAI,EAAE,uBAAgB;KACzB,CAAC;IACF,4BAA4B;;;uDACwB;AAIxD,MAAa,sBAAsB;IAO/B,YAAY,GAAW,EAAE,CAAC;CAC7B;AARD,wDAQC;AADG;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,sJAAsJ;KAClK,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DACe;AAI9B,MAAa,sBAAsB;IAQ/B,WAAW,GAAW,EAAE,CAAC;IAQzB,YAAY,GAAW,EAAE,CAAC;CAEzB;AAlBL,wDAkBK;AAVD;IAPC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,uKAAuK;KACvL,CACJ;IACA,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2DACc;AAQzB;IANC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,qHAAqH;KACrI,CAAC;IACD,IAAA,4BAAU,GAAE;IAChB,IAAA,0BAAQ,GAAE;;4DACe;AAI9B,MAAa,6BAA8B,SAAQ,sBAAsB;IAKrE,KAAK,CAAY;IAMjB,IAAI,CAAW;IAMf,QAAQ,CAAe;IAQvB,AADA,4BAA4B;IAC5B,QAAQ,GAAqB,uBAAgB,CAAC,IAAI,CAAC;CACtD;AA1BD,sEA0BC;AArBG;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAQ;KACvB,CAAC;8BACM,gBAAQ;4DAAC;AAMjB;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAO;KACtB,CAAC;8BACK,kBAAO;2DAAC;AAMf;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,sBAAW;KAC1B,CAAC;8BACS,sBAAW;+DAAC;AAQvB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,iFAAiF;QAC9F,0BAA0B;QAC1B,IAAI,EAAE,uBAAgB;KACzB,CAAC;IACF,4BAA4B;;;+DACuB"}
1
+ {"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/auth.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAAuD;AACvD,yCAAqC;AACrC,yCAA0C;AAC1C,kCAA2C;AAC3C,mCAAmC;AAEnC,MAAa,qBAAqB;IAQ9B,SAAS,GAAW,EAAE,CAAC;IAQvB,AADA,4BAA4B;IAC5B,QAAQ,GAAsB,uBAAgB,CAAC,IAAI,CAAC;CACvD;AAjBD,sDAiBC;AATG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACY;AAQvB;IANC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,iFAAiF;QAC9F,0BAA0B;QAC1B,IAAI,EAAE,uBAAgB;KACzB,CAAC;IACF,4BAA4B;;;uDACwB;AAIxD,MAAa,sBAAsB;IAO/B,YAAY,GAAW,EAAE,CAAC;CAC7B;AARD,wDAQC;AADG;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,sJAAsJ;KAClK,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DACe;AAI9B,MAAa,sBAAuB,SAAQ,sBAAsB;IAQ9D,WAAW,GAAW,EAAE,CAAC;CAUxB;AAlBL,wDAkBK;AAVD;IAPC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,uKAAuK;KACvL,CACJ;IACA,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2DACc;AAY7B,MAAa,6BAA8B,SAAQ,sBAAsB;IAKrE,KAAK,CAAY;IAMjB,IAAI,CAAW;IAMf,QAAQ,CAAe;IAQvB,AADA,4BAA4B;IAC5B,QAAQ,GAAqB,uBAAgB,CAAC,IAAI,CAAC;CACtD;AA1BD,sEA0BC;AArBG;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAQ;KACvB,CAAC;8BACM,gBAAQ;4DAAC;AAMjB;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAO;KACtB,CAAC;8BACK,kBAAO;2DAAC;AAMf;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,sBAAW;KAC1B,CAAC;8BACS,sBAAW;+DAAC;AAQvB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,iFAAiF;QAC9F,0BAA0B;QAC1B,IAAI,EAAE,uBAAgB;KACzB,CAAC;IACF,4BAA4B;;;+DACuB"}
@@ -40,15 +40,171 @@ export declare enum ErrorCategory {
40
40
  }
41
41
  /**
42
42
  * Structured error object for classification
43
+ * Follows RFC 7807 (Problem Details for HTTP APIs) with extensions
43
44
  */
44
45
  export interface StructuredError {
46
+ /** HTTP status code as number (industry standard) */
47
+ status: number;
48
+ /** Human-readable summary of the error type */
49
+ title: string;
50
+ /** Human-readable explanation specific to this occurrence */
51
+ detail: string;
52
+ /** Common error message field (industry standard) - usually same as detail */
45
53
  message: string;
54
+ /** URI reference identifying the problem type (optional) */
55
+ type?: string;
56
+ /** URI reference to this specific error occurrence (optional) */
57
+ instance?: string;
58
+ /** Service-defined error code for programmatic handling */
46
59
  code: string;
47
- timestamp?: string;
60
+ /** Error category for classification and routing */
48
61
  category: ErrorCategory;
62
+ /** ISO 8601 timestamp when error occurred */
63
+ timestamp?: string;
64
+ /** Correlation ID for request tracing */
49
65
  correlationId?: string;
66
+ /** Additional structured error details */
50
67
  details?: Record<string, any>;
68
+ /** User-friendly message safe for end-user display */
51
69
  userMessage?: string;
70
+ /** Whether the operation can be safely retried */
71
+ retryable: boolean;
72
+ /** Target property/parameter that caused the error (for validation errors) */
73
+ target?: string;
74
+ }
75
+ /**
76
+ * Backward compatibility alias
77
+ * @deprecated Use StructuredError instead
78
+ */
79
+ export type ErrorResponse = StructuredError;
80
+ /**
81
+ * Validation error detail for field-specific errors
82
+ */
83
+ export interface ValidationErrorDetail {
84
+ field: string;
85
+ code: string;
86
+ message: string;
87
+ rejectedValue?: any;
88
+ constraints?: Record<string, string>;
89
+ }
90
+ /**
91
+ * Category-specific structured error interfaces for type safety
92
+ */
93
+ /**
94
+ * Validation error for input validation failures
95
+ */
96
+ export interface ValidationStructuredError extends StructuredError {
97
+ category: ErrorCategory.VALIDATION;
98
+ details: {
99
+ violations: ValidationErrorDetail[];
100
+ [key: string]: any;
101
+ };
102
+ target: string;
103
+ retryable: false;
104
+ }
105
+ /**
106
+ * Domain rule error for business logic violations
107
+ */
108
+ export interface DomainRuleStructuredError extends StructuredError {
109
+ category: ErrorCategory.DOMAIN_RULE;
110
+ details?: {
111
+ businessRule: string;
112
+ violatedConstraints?: string[];
113
+ [key: string]: any;
114
+ };
115
+ retryable: false;
116
+ }
117
+ /**
118
+ * Technical error for application/configuration issues
119
+ */
120
+ export interface TechnicalStructuredError extends StructuredError {
121
+ category: ErrorCategory.TECHNICAL;
122
+ details?: {
123
+ component?: string;
124
+ operation?: string;
125
+ technicalDetails?: string;
126
+ [key: string]: any;
127
+ };
52
128
  retryable: boolean;
53
129
  }
130
+ /**
131
+ * Infrastructure error for system/external service failures
132
+ */
133
+ export interface InfrastructureStructuredError extends StructuredError {
134
+ category: ErrorCategory.INFRASTRUCTURE;
135
+ details?: {
136
+ service?: string;
137
+ endpoint?: string;
138
+ connectionDetails?: string;
139
+ [key: string]: any;
140
+ };
141
+ retryable: true;
142
+ }
143
+ /**
144
+ * Security error for authentication/authorization failures
145
+ */
146
+ export interface SecurityStructuredError extends StructuredError {
147
+ category: ErrorCategory.SECURITY;
148
+ details?: {
149
+ securityViolationType?: 'authentication' | 'authorization' | 'suspicious_activity';
150
+ requiredPermissions?: string[];
151
+ attemptedAction?: string;
152
+ [key: string]: any;
153
+ };
154
+ retryable: false;
155
+ }
156
+ /**
157
+ * Rate limit error for usage limit violations
158
+ */
159
+ export interface RateLimitStructuredError extends StructuredError {
160
+ category: ErrorCategory.RATE_LIMIT;
161
+ details: {
162
+ limit: number;
163
+ remaining: number;
164
+ resetTime: string;
165
+ window: string;
166
+ [key: string]: any;
167
+ };
168
+ retryable: true;
169
+ }
170
+ /**
171
+ * Timeout error for operations that exceed time limits
172
+ */
173
+ export interface TimeoutStructuredError extends StructuredError {
174
+ category: ErrorCategory.TIMEOUT;
175
+ details?: {
176
+ timeoutMs: number;
177
+ operation?: string;
178
+ elapsedMs?: number;
179
+ [key: string]: any;
180
+ };
181
+ retryable: true;
182
+ }
183
+ /**
184
+ * Unknown error for unclassified failures
185
+ */
186
+ export interface UnknownStructuredError extends StructuredError {
187
+ category: ErrorCategory.UNKNOWN;
188
+ details?: {
189
+ originalError?: string;
190
+ context?: string;
191
+ [key: string]: any;
192
+ };
193
+ retryable: boolean;
194
+ }
195
+ /**
196
+ * Union type of all category-specific structured errors for type safety
197
+ */
198
+ export type CategorizedStructuredError = ValidationStructuredError | DomainRuleStructuredError | TechnicalStructuredError | InfrastructureStructuredError | SecurityStructuredError | RateLimitStructuredError | TimeoutStructuredError | UnknownStructuredError;
199
+ /**
200
+ * Type guard functions for category-specific error handling
201
+ */
202
+ export declare const isValidationError: (error: StructuredError) => error is ValidationStructuredError;
203
+ export declare const isDomainRuleError: (error: StructuredError) => error is DomainRuleStructuredError;
204
+ export declare const isTechnicalError: (error: StructuredError) => error is TechnicalStructuredError;
205
+ export declare const isInfrastructureError: (error: StructuredError) => error is InfrastructureStructuredError;
206
+ export declare const isSecurityError: (error: StructuredError) => error is SecurityStructuredError;
207
+ export declare const isRateLimitError: (error: StructuredError) => error is RateLimitStructuredError;
208
+ export declare const isTimeoutError: (error: StructuredError) => error is TimeoutStructuredError;
209
+ export declare const isUnknownError: (error: StructuredError) => error is UnknownStructuredError;
54
210
  //# sourceMappingURL=error-classification-enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-classification-enums.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/base/error-classification-enums.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,aAAa;IACvB;;OAEG;IACH,UAAU,eAAe;IAEzB;;OAEG;IACH,WAAW,gBAAgB;IAE3B;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,cAAc,mBAAmB;IAEjC;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,UAAU,eAAe;IAEzB;;OAEG;IACH,OAAO,YAAY;IAEnB;;OAEG;IACH,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"error-classification-enums.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/base/error-classification-enums.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorCategory = void 0;
3
+ exports.isUnknownError = exports.isTimeoutError = exports.isRateLimitError = exports.isSecurityError = exports.isInfrastructureError = exports.isTechnicalError = exports.isDomainRuleError = exports.isValidationError = exports.ErrorCategory = void 0;
4
4
  /**
5
5
  * Error categories for classification and handling
6
6
  *
@@ -42,4 +42,23 @@ var ErrorCategory;
42
42
  */
43
43
  ErrorCategory["UNKNOWN"] = "UNKNOWN";
44
44
  })(ErrorCategory || (exports.ErrorCategory = ErrorCategory = {}));
45
+ /**
46
+ * Type guard functions for category-specific error handling
47
+ */
48
+ const isValidationError = (error) => error.category === ErrorCategory.VALIDATION;
49
+ exports.isValidationError = isValidationError;
50
+ const isDomainRuleError = (error) => error.category === ErrorCategory.DOMAIN_RULE;
51
+ exports.isDomainRuleError = isDomainRuleError;
52
+ const isTechnicalError = (error) => error.category === ErrorCategory.TECHNICAL;
53
+ exports.isTechnicalError = isTechnicalError;
54
+ const isInfrastructureError = (error) => error.category === ErrorCategory.INFRASTRUCTURE;
55
+ exports.isInfrastructureError = isInfrastructureError;
56
+ const isSecurityError = (error) => error.category === ErrorCategory.SECURITY;
57
+ exports.isSecurityError = isSecurityError;
58
+ const isRateLimitError = (error) => error.category === ErrorCategory.RATE_LIMIT;
59
+ exports.isRateLimitError = isRateLimitError;
60
+ const isTimeoutError = (error) => error.category === ErrorCategory.TIMEOUT;
61
+ exports.isTimeoutError = isTimeoutError;
62
+ const isUnknownError = (error) => error.category === ErrorCategory.UNKNOWN;
63
+ exports.isUnknownError = isUnknownError;
45
64
  //# sourceMappingURL=error-classification-enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-classification-enums.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/base/error-classification-enums.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,aAwCX;AAxCD,WAAY,aAAa;IACvB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,4CAA2B,CAAA;IAE3B;;OAEG;IACH,wCAAuB,CAAA;IAEvB;;OAEG;IACH,kDAAiC,CAAA;IAEjC;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,oCAAmB,CAAA;IAEnB;;OAEG;IACH,oCAAmB,CAAA;AACrB,CAAC,EAxCW,aAAa,6BAAb,aAAa,QAwCxB"}
1
+ {"version":3,"file":"error-classification-enums.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/base/error-classification-enums.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,aAwCX;AAxCD,WAAY,aAAa;IACvB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,4CAA2B,CAAA;IAE3B;;OAEG;IACH,wCAAuB,CAAA;IAEvB;;OAEG;IACH,kDAAiC,CAAA;IAEjC;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,oCAAmB,CAAA;IAEnB;;OAEG;IACH,oCAAmB,CAAA;AACrB,CAAC,EAxCW,aAAa,6BAAb,aAAa,QAwCxB;AAoMD;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAsC,EAAE,CAC9F,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,UAAU,CAAC;AADjC,QAAA,iBAAiB,qBACgB;AAEvC,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAsC,EAAE,CAC9F,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,WAAW,CAAC;AADlC,QAAA,iBAAiB,qBACiB;AAExC,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAqC,EAAE,CAC5F,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,SAAS,CAAC;AADhC,QAAA,gBAAgB,oBACgB;AAEtC,MAAM,qBAAqB,GAAG,CAAC,KAAsB,EAA0C,EAAE,CACtG,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,cAAc,CAAC;AADrC,QAAA,qBAAqB,yBACgB;AAE3C,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAoC,EAAE,CAC1F,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC;AAD/B,QAAA,eAAe,mBACgB;AAErC,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAqC,EAAE,CAC5F,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,UAAU,CAAC;AADjC,QAAA,gBAAgB,oBACiB;AAEvC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAmC,EAAE,CACxF,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,OAAO,CAAC;AAD9B,QAAA,cAAc,kBACgB;AAEpC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAmC,EAAE,CACxF,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,OAAO,CAAC;AAD9B,QAAA,cAAc,kBACgB"}
@@ -1,4 +1,5 @@
1
1
  import { HttpException, HttpStatus } from '@nestjs/common';
2
+ import { ErrorCategory, StructuredError } from './base/error-classification-enums';
2
3
  /**
3
4
  * Base class for business logic errors that should be surfaced to clients
4
5
  * with meaningful error messages and appropriate HTTP status codes.
@@ -11,7 +12,9 @@ export declare abstract class BusinessLogicError extends HttpException {
11
12
  readonly userMessage: string;
12
13
  readonly developerMessage: string;
13
14
  readonly action?: string;
14
- constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
15
+ readonly category: ErrorCategory;
16
+ readonly retryable: boolean;
17
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string, category?: ErrorCategory, retryable?: boolean);
15
18
  /**
16
19
  * Type guard to check if an error is a business logic error
17
20
  */
@@ -19,6 +22,57 @@ export declare abstract class BusinessLogicError extends HttpException {
19
22
  /**
20
23
  * Get structured error response for API consumers
21
24
  */
22
- getStructuredResponse(): object;
25
+ getStructuredResponse(): StructuredError;
26
+ }
27
+ /**
28
+ * Category-specific base error classes for type safety and proper defaults
29
+ */
30
+ /**
31
+ * Base class for validation errors - input validation failures
32
+ */
33
+ export declare class ValidationError extends BusinessLogicError {
34
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, target: string, action?: string);
35
+ }
36
+ /**
37
+ * Base class for domain rule errors - business logic violations
38
+ */
39
+ export declare class DomainRuleError extends BusinessLogicError {
40
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
41
+ }
42
+ /**
43
+ * Base class for technical errors - application/configuration issues
44
+ */
45
+ export declare class TechnicalError extends BusinessLogicError {
46
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string, retryable?: boolean);
47
+ }
48
+ /**
49
+ * Base class for infrastructure errors - system/external service failures
50
+ */
51
+ export declare class InfrastructureError extends BusinessLogicError {
52
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
53
+ }
54
+ /**
55
+ * Base class for security errors - authentication/authorization failures
56
+ */
57
+ export declare class SecurityError extends BusinessLogicError {
58
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
59
+ }
60
+ /**
61
+ * Base class for rate limit errors - usage limit violations
62
+ */
63
+ export declare class RateLimitError extends BusinessLogicError {
64
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, action?: string);
65
+ }
66
+ /**
67
+ * Base class for timeout errors - operations that exceed time limits
68
+ */
69
+ export declare class TimeoutError extends BusinessLogicError {
70
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
71
+ }
72
+ /**
73
+ * Base class for unknown errors - unclassified failures
74
+ */
75
+ export declare class UnknownError extends BusinessLogicError {
76
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string, retryable?: boolean);
23
77
  }
24
78
  //# sourceMappingURL=base-business-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-business-error.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG3D;;;;;GAKG;AACH,8BAAsB,kBAAmB,SAAQ,aAAa;IAC5D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAG9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAmC,EAC/C,MAAM,CAAC,EAAE,MAAM;IAuBjB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB;IAI/D;;OAEG;IACH,qBAAqB;CAYtB"}
1
+ {"version":3,"file":"base-business-error.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEnF;;;;;GAKG;AACH,8BAAsB,kBAAmB,SAAQ,aAAa;IAC5D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAmC,EAC/C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,GAAE,aAAyC,EACnD,SAAS,GAAE,OAAe;IAmC5B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB;IAI/D;;OAEG;IACH,qBAAqB,IAAI,eAAe;CAkBzC;AAED;;GAEG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAEnD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAEnD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAmC,EAC/C,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;gBAElD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAA6C,EACzD,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,OAAc;CAa5B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;gBAEvD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAA2C,EACvD,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,kBAAkB;gBAEjD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAoC,EAChD,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;gBAElD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;gBAEhD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAuC,EACnD,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;gBAEhD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAA6C,EACzD,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,OAAe;CAa7B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BusinessLogicError = void 0;
3
+ exports.UnknownError = exports.TimeoutError = exports.RateLimitError = exports.SecurityError = exports.InfrastructureError = exports.TechnicalError = exports.DomainRuleError = exports.ValidationError = exports.BusinessLogicError = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const error_classification_enums_1 = require("./base/error-classification-enums");
6
6
  /**
@@ -15,16 +15,26 @@ class BusinessLogicError extends common_1.HttpException {
15
15
  userMessage;
16
16
  developerMessage;
17
17
  action;
18
- constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.BAD_REQUEST, action) {
19
- // Create structured response for NestJS
18
+ category;
19
+ retryable;
20
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.BAD_REQUEST, action, category = error_classification_enums_1.ErrorCategory.DOMAIN_RULE, retryable = false) {
21
+ // Create structured response following RFC 7807 with extensions
20
22
  const response = {
23
+ // RFC 7807 core fields
24
+ status: httpStatus,
25
+ title: userMessage,
26
+ detail: developerMessage,
27
+ message: userMessage, // Industry standard field
28
+ // Custom extensions
21
29
  code: errorCode,
30
+ category: category,
31
+ timestamp: new Date().toISOString(),
32
+ retryable: retryable,
33
+ // Legacy fields for backward compatibility
22
34
  domain: domain,
23
- message: userMessage,
24
35
  developerMessage: developerMessage,
25
36
  action: action,
26
- timestamp: new Date().toISOString(),
27
- category: error_classification_enums_1.ErrorCategory.DOMAIN_RULE
37
+ userMessage: userMessage
28
38
  };
29
39
  super(response, httpStatus);
30
40
  this.errorCode = errorCode;
@@ -32,6 +42,8 @@ class BusinessLogicError extends common_1.HttpException {
32
42
  this.userMessage = userMessage;
33
43
  this.developerMessage = developerMessage;
34
44
  this.action = action;
45
+ this.category = category;
46
+ this.retryable = retryable;
35
47
  this.name = this.constructor.name;
36
48
  }
37
49
  /**
@@ -46,15 +58,102 @@ class BusinessLogicError extends common_1.HttpException {
46
58
  getStructuredResponse() {
47
59
  const response = this.getResponse();
48
60
  return typeof response === 'object' ? response : {
49
- code: this.errorCode,
50
- domain: this.domain,
61
+ status: this.getStatus(),
62
+ title: this.userMessage,
63
+ detail: this.developerMessage,
51
64
  message: this.userMessage,
52
- developerMessage: this.developerMessage,
53
- action: this.action,
65
+ code: this.errorCode,
66
+ category: this.category,
54
67
  timestamp: new Date().toISOString(),
55
- category: error_classification_enums_1.ErrorCategory.DOMAIN_RULE
68
+ retryable: this.retryable,
69
+ userMessage: this.userMessage,
70
+ details: {
71
+ domain: this.domain,
72
+ action: this.action
73
+ }
56
74
  };
57
75
  }
58
76
  }
59
77
  exports.BusinessLogicError = BusinessLogicError;
78
+ /**
79
+ * Category-specific base error classes for type safety and proper defaults
80
+ */
81
+ /**
82
+ * Base class for validation errors - input validation failures
83
+ */
84
+ class ValidationError extends BusinessLogicError {
85
+ constructor(errorCode, domain, userMessage, developerMessage, target, action) {
86
+ super(errorCode, domain, userMessage, developerMessage, common_1.HttpStatus.BAD_REQUEST, action, error_classification_enums_1.ErrorCategory.VALIDATION, false // Validation errors are never retryable
87
+ );
88
+ }
89
+ }
90
+ exports.ValidationError = ValidationError;
91
+ /**
92
+ * Base class for domain rule errors - business logic violations
93
+ */
94
+ class DomainRuleError extends BusinessLogicError {
95
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.BAD_REQUEST, action) {
96
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, error_classification_enums_1.ErrorCategory.DOMAIN_RULE, false // Domain rules don't change on retry
97
+ );
98
+ }
99
+ }
100
+ exports.DomainRuleError = DomainRuleError;
101
+ /**
102
+ * Base class for technical errors - application/configuration issues
103
+ */
104
+ class TechnicalError extends BusinessLogicError {
105
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.INTERNAL_SERVER_ERROR, action, retryable = true) {
106
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, error_classification_enums_1.ErrorCategory.TECHNICAL, retryable);
107
+ }
108
+ }
109
+ exports.TechnicalError = TechnicalError;
110
+ /**
111
+ * Base class for infrastructure errors - system/external service failures
112
+ */
113
+ class InfrastructureError extends BusinessLogicError {
114
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.SERVICE_UNAVAILABLE, action) {
115
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, error_classification_enums_1.ErrorCategory.INFRASTRUCTURE, true // Infrastructure issues are typically retryable
116
+ );
117
+ }
118
+ }
119
+ exports.InfrastructureError = InfrastructureError;
120
+ /**
121
+ * Base class for security errors - authentication/authorization failures
122
+ */
123
+ class SecurityError extends BusinessLogicError {
124
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.UNAUTHORIZED, action) {
125
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, error_classification_enums_1.ErrorCategory.SECURITY, false // Security violations are never retryable
126
+ );
127
+ }
128
+ }
129
+ exports.SecurityError = SecurityError;
130
+ /**
131
+ * Base class for rate limit errors - usage limit violations
132
+ */
133
+ class RateLimitError extends BusinessLogicError {
134
+ constructor(errorCode, domain, userMessage, developerMessage, action) {
135
+ super(errorCode, domain, userMessage, developerMessage, common_1.HttpStatus.TOO_MANY_REQUESTS, action, error_classification_enums_1.ErrorCategory.RATE_LIMIT, true // Can retry after rate limit window
136
+ );
137
+ }
138
+ }
139
+ exports.RateLimitError = RateLimitError;
140
+ /**
141
+ * Base class for timeout errors - operations that exceed time limits
142
+ */
143
+ class TimeoutError extends BusinessLogicError {
144
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.REQUEST_TIMEOUT, action) {
145
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, error_classification_enums_1.ErrorCategory.TIMEOUT, true // Timeouts can often be retried
146
+ );
147
+ }
148
+ }
149
+ exports.TimeoutError = TimeoutError;
150
+ /**
151
+ * Base class for unknown errors - unclassified failures
152
+ */
153
+ class UnknownError extends BusinessLogicError {
154
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = common_1.HttpStatus.INTERNAL_SERVER_ERROR, action, retryable = false) {
155
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, error_classification_enums_1.ErrorCategory.UNKNOWN, retryable);
156
+ }
157
+ }
158
+ exports.UnknownError = UnknownError;
60
159
  //# sourceMappingURL=base-business-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-business-error.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAC3D,kFAAkE;AAElE;;;;;GAKG;AACH,MAAsB,kBAAmB,SAAQ,sBAAa;IAC5C,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,WAAW,CAAS;IACpB,gBAAgB,CAAS;IACzB,MAAM,CAAU;IAEhC,YACE,SAAiB,EACjB,MAAc,EACd,WAAmB,EACnB,gBAAwB,EACxB,aAAyB,mBAAU,CAAC,WAAW,EAC/C,MAAe;QAEf,wCAAwC;QACxC,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,gBAAgB,EAAE,gBAAgB;YAClC,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,0CAAa,CAAC,WAAW;SACpC,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAU;QAC/B,OAAO,KAAK,YAAY,kBAAkB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,0CAAa,CAAC,WAAW;SACpC,CAAC;IACJ,CAAC;CACF;AA1DD,gDA0DC"}
1
+ {"version":3,"file":"base-business-error.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,26 @@
1
- import { BusinessLogicError } from '../base-business-error';
1
+ import { SecurityError } from '../base-business-error';
2
2
  /**
3
3
  * Authentication domain business errors
4
4
  */
5
- export declare class AuthenticationRequiredError extends BusinessLogicError {
5
+ export declare class AuthenticationRequiredError extends SecurityError {
6
6
  constructor(resource: string);
7
7
  }
8
- export declare class AuthorizationFailedError extends BusinessLogicError {
8
+ export declare class AuthorizationFailedError extends SecurityError {
9
9
  constructor(action: string, resource: string);
10
10
  }
11
11
  /**
12
12
  * Firebase authentication specific errors
13
13
  */
14
- export declare class InvalidTokenError extends BusinessLogicError {
14
+ export declare class InvalidTokenError extends SecurityError {
15
15
  constructor(reason?: string);
16
16
  }
17
- export declare class TokenExpiredError extends BusinessLogicError {
17
+ export declare class TokenExpiredError extends SecurityError {
18
18
  constructor();
19
19
  }
20
- export declare class TokenRevokedException extends BusinessLogicError {
20
+ export declare class TokenRevokedException extends SecurityError {
21
21
  constructor();
22
22
  }
23
- export declare class FirebaseAuthenticationError extends BusinessLogicError {
23
+ export declare class FirebaseAuthenticationError extends SecurityError {
24
24
  constructor(firebaseErrorCode: string, message?: string);
25
25
  }
26
26
  //# sourceMappingURL=authentication-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,QAAQ,EAAE,MAAM;CAU7B;AAED,qBAAa,wBAAyB,SAAQ,kBAAkB;gBAClD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAU7C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;gBAC3C,MAAM,CAAC,EAAE,MAAM;CAW5B;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;;CAWxD;AAED,qBAAa,qBAAsB,SAAQ,kBAAkB;;CAW5D;AAED,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAUxD"}
1
+ {"version":3,"file":"authentication-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI3E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,aAAa;gBAChD,QAAQ,EAAE,MAAM;CAU7B;AAED,qBAAa,wBAAyB,SAAQ,aAAa;gBAC7C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAU7C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,CAAC,EAAE,MAAM;CAW5B;AAED,qBAAa,iBAAkB,SAAQ,aAAa;;CAWnD;AAED,qBAAa,qBAAsB,SAAQ,aAAa;;CAWvD;AAED,qBAAa,2BAA4B,SAAQ,aAAa;gBAChD,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAUxD"}
@@ -7,13 +7,13 @@ const error_codes_1 = require("../error-codes");
7
7
  /**
8
8
  * Authentication domain business errors
9
9
  */
10
- class AuthenticationRequiredError extends base_business_error_1.BusinessLogicError {
10
+ class AuthenticationRequiredError extends base_business_error_1.SecurityError {
11
11
  constructor(resource) {
12
12
  super(error_codes_1.CommonErrorCodes.AUTHENTICATION_REQUIRED, error_codes_1.ErrorDomains.AUTHENTICATION, 'Authentication required', `Access to ${resource} requires authentication`, common_1.HttpStatus.UNAUTHORIZED, 'Please sign in and try again');
13
13
  }
14
14
  }
15
15
  exports.AuthenticationRequiredError = AuthenticationRequiredError;
16
- class AuthorizationFailedError extends base_business_error_1.BusinessLogicError {
16
+ class AuthorizationFailedError extends base_business_error_1.SecurityError {
17
17
  constructor(action, resource) {
18
18
  super(error_codes_1.CommonErrorCodes.AUTHORIZATION_FAILED, error_codes_1.ErrorDomains.AUTHENTICATION, 'Authorization failed', `User not authorized to ${action} on ${resource}`, common_1.HttpStatus.FORBIDDEN, 'You do not have permission for this action');
19
19
  }
@@ -22,26 +22,26 @@ exports.AuthorizationFailedError = AuthorizationFailedError;
22
22
  /**
23
23
  * Firebase authentication specific errors
24
24
  */
25
- class InvalidTokenError extends base_business_error_1.BusinessLogicError {
25
+ class InvalidTokenError extends base_business_error_1.SecurityError {
26
26
  constructor(reason) {
27
27
  const details = reason ? `: ${reason}` : '';
28
28
  super('INVALID_TOKEN', error_codes_1.ErrorDomains.AUTHENTICATION, 'Invalid token', `Authentication token is invalid${details}`, common_1.HttpStatus.UNAUTHORIZED, 'Your session is invalid. Please sign in again');
29
29
  }
30
30
  }
31
31
  exports.InvalidTokenError = InvalidTokenError;
32
- class TokenExpiredError extends base_business_error_1.BusinessLogicError {
32
+ class TokenExpiredError extends base_business_error_1.SecurityError {
33
33
  constructor() {
34
34
  super('TOKEN_EXPIRED', error_codes_1.ErrorDomains.AUTHENTICATION, 'Token expired', 'Authentication token has expired', common_1.HttpStatus.UNAUTHORIZED, 'Your session has expired. Please sign in again');
35
35
  }
36
36
  }
37
37
  exports.TokenExpiredError = TokenExpiredError;
38
- class TokenRevokedException extends base_business_error_1.BusinessLogicError {
38
+ class TokenRevokedException extends base_business_error_1.SecurityError {
39
39
  constructor() {
40
40
  super('TOKEN_REVOKED', error_codes_1.ErrorDomains.AUTHENTICATION, 'Token revoked', 'Authentication token has been revoked', common_1.HttpStatus.UNAUTHORIZED, 'Your session has been revoked. Please sign in again');
41
41
  }
42
42
  }
43
43
  exports.TokenRevokedException = TokenRevokedException;
44
- class FirebaseAuthenticationError extends base_business_error_1.BusinessLogicError {
44
+ class FirebaseAuthenticationError extends base_business_error_1.SecurityError {
45
45
  constructor(firebaseErrorCode, message) {
46
46
  super('FIREBASE_AUTH_ERROR', error_codes_1.ErrorDomains.AUTHENTICATION, 'Authentication failed', message || `Firebase authentication error: ${firebaseErrorCode}`, common_1.HttpStatus.UNAUTHORIZED, 'Authentication failed. Please try signing in again');
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,gEAA4D;AAC5D,gDAAgE;AAEhE;;GAEG;AACH,MAAa,2BAA4B,SAAQ,wCAAkB;IACjE,YAAY,QAAgB;QAC1B,KAAK,CACH,8BAAgB,CAAC,uBAAuB,EACxC,0BAAY,CAAC,cAAc,EAC3B,yBAAyB,EACzB,aAAa,QAAQ,0BAA0B,EAC/C,mBAAU,CAAC,YAAY,EACvB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;CACF;AAXD,kEAWC;AAED,MAAa,wBAAyB,SAAQ,wCAAkB;IAC9D,YAAY,MAAc,EAAE,QAAgB;QAC1C,KAAK,CACH,8BAAgB,CAAC,oBAAoB,EACrC,0BAAY,CAAC,cAAc,EAC3B,sBAAsB,EACtB,0BAA0B,MAAM,OAAO,QAAQ,EAAE,EACjD,mBAAU,CAAC,SAAS,EACpB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;CACF;AAXD,4DAWC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wCAAkB;IACvD,YAAY,MAAe;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CACH,eAAe,EACf,0BAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,OAAO,EAAE,EAC3C,mBAAU,CAAC,YAAY,EACvB,+CAA+C,CAChD,CAAC;IACJ,CAAC;CACF;AAZD,8CAYC;AAED,MAAa,iBAAkB,SAAQ,wCAAkB;IACvD;QACE,KAAK,CACH,eAAe,EACf,0BAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,EAClC,mBAAU,CAAC,YAAY,EACvB,gDAAgD,CACjD,CAAC;IACJ,CAAC;CACF;AAXD,8CAWC;AAED,MAAa,qBAAsB,SAAQ,wCAAkB;IAC3D;QACE,KAAK,CACH,eAAe,EACf,0BAAY,CAAC,cAAc,EAC3B,eAAe,EACf,uCAAuC,EACvC,mBAAU,CAAC,YAAY,EACvB,qDAAqD,CACtD,CAAC;IACJ,CAAC;CACF;AAXD,sDAWC;AAED,MAAa,2BAA4B,SAAQ,wCAAkB;IACjE,YAAY,iBAAyB,EAAE,OAAgB;QACrD,KAAK,CACH,qBAAqB,EACrB,0BAAY,CAAC,cAAc,EAC3B,uBAAuB,EACvB,OAAO,IAAI,kCAAkC,iBAAiB,EAAE,EAChE,mBAAU,CAAC,YAAY,EACvB,oDAAoD,CACrD,CAAC;IACJ,CAAC;CACF;AAXD,kEAWC"}
1
+ {"version":3,"file":"authentication-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,gEAA2E;AAC3E,gDAAgE;AAGhE;;GAEG;AACH,MAAa,2BAA4B,SAAQ,mCAAa;IAC5D,YAAY,QAAgB;QAC1B,KAAK,CACH,8BAAgB,CAAC,uBAAuB,EACxC,0BAAY,CAAC,cAAc,EAC3B,yBAAyB,EACzB,aAAa,QAAQ,0BAA0B,EAC/C,mBAAU,CAAC,YAAY,EACvB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;CACF;AAXD,kEAWC;AAED,MAAa,wBAAyB,SAAQ,mCAAa;IACzD,YAAY,MAAc,EAAE,QAAgB;QAC1C,KAAK,CACH,8BAAgB,CAAC,oBAAoB,EACrC,0BAAY,CAAC,cAAc,EAC3B,sBAAsB,EACtB,0BAA0B,MAAM,OAAO,QAAQ,EAAE,EACjD,mBAAU,CAAC,SAAS,EACpB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;CACF;AAXD,4DAWC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,mCAAa;IAClD,YAAY,MAAe;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CACH,eAAe,EACf,0BAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,OAAO,EAAE,EAC3C,mBAAU,CAAC,YAAY,EACvB,+CAA+C,CAChD,CAAC;IACJ,CAAC;CACF;AAZD,8CAYC;AAED,MAAa,iBAAkB,SAAQ,mCAAa;IAClD;QACE,KAAK,CACH,eAAe,EACf,0BAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,EAClC,mBAAU,CAAC,YAAY,EACvB,gDAAgD,CACjD,CAAC;IACJ,CAAC;CACF;AAXD,8CAWC;AAED,MAAa,qBAAsB,SAAQ,mCAAa;IACtD;QACE,KAAK,CACH,eAAe,EACf,0BAAY,CAAC,cAAc,EAC3B,eAAe,EACf,uCAAuC,EACvC,mBAAU,CAAC,YAAY,EACvB,qDAAqD,CACtD,CAAC;IACJ,CAAC;CACF;AAXD,sDAWC;AAED,MAAa,2BAA4B,SAAQ,mCAAa;IAC5D,YAAY,iBAAyB,EAAE,OAAgB;QACrD,KAAK,CACH,qBAAqB,EACrB,0BAAY,CAAC,cAAc,EAC3B,uBAAuB,EACvB,OAAO,IAAI,kCAAkC,iBAAiB,EAAE,EAChE,mBAAU,CAAC,YAAY,EACvB,oDAAoD,CACrD,CAAC;IACJ,CAAC;CACF;AAXD,kEAWC"}