@brightchain/brightchain-lib 0.29.26 → 0.29.27

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 (214) hide show
  1. package/package.json +10 -4
  2. package/src/index.d.ts +1 -1
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +2 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/enumeration-translations/index.d.ts +2 -0
  7. package/src/lib/enumeration-translations/index.d.ts.map +1 -1
  8. package/src/lib/enumeration-translations/index.js +1 -0
  9. package/src/lib/enumeration-translations/index.js.map +1 -1
  10. package/src/lib/enumeration-translations/memberStatusType.d.ts +5 -0
  11. package/src/lib/enumeration-translations/memberStatusType.d.ts.map +1 -0
  12. package/src/lib/enumeration-translations/memberStatusType.js +58 -0
  13. package/src/lib/enumeration-translations/memberStatusType.js.map +1 -0
  14. package/src/lib/enumerations/brightChainStrings.d.ts +43 -0
  15. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
  16. package/src/lib/enumerations/brightChainStrings.js +44 -0
  17. package/src/lib/enumerations/brightChainStrings.js.map +1 -1
  18. package/src/lib/enumerations/brightchainFeatures.d.ts +1 -0
  19. package/src/lib/enumerations/brightchainFeatures.d.ts.map +1 -1
  20. package/src/lib/enumerations/brightchainFeatures.js +1 -0
  21. package/src/lib/enumerations/brightchainFeatures.js.map +1 -1
  22. package/src/lib/enumerations/communication.d.ts +7 -1
  23. package/src/lib/enumerations/communication.d.ts.map +1 -1
  24. package/src/lib/enumerations/communication.js +6 -0
  25. package/src/lib/enumerations/communication.js.map +1 -1
  26. package/src/lib/enumerations/messaging/emailErrorType.d.ts +15 -2
  27. package/src/lib/enumerations/messaging/emailErrorType.d.ts.map +1 -1
  28. package/src/lib/enumerations/messaging/emailErrorType.js +17 -1
  29. package/src/lib/enumerations/messaging/emailErrorType.js.map +1 -1
  30. package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +4 -2
  31. package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -1
  32. package/src/lib/enumerations/messaging/messageEncryptionScheme.js +3 -1
  33. package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -1
  34. package/src/lib/errors/encryptionErrors.d.ts +71 -0
  35. package/src/lib/errors/encryptionErrors.d.ts.map +1 -0
  36. package/src/lib/errors/encryptionErrors.js +112 -0
  37. package/src/lib/errors/encryptionErrors.js.map +1 -0
  38. package/src/lib/errors/index.d.ts +10 -0
  39. package/src/lib/errors/index.d.ts.map +1 -1
  40. package/src/lib/errors/index.js +13 -0
  41. package/src/lib/errors/index.js.map +1 -1
  42. package/src/lib/i18n/i18n-setup.d.ts +2 -2
  43. package/src/lib/i18n/i18n-setup.d.ts.map +1 -1
  44. package/src/lib/i18n/strings/englishUK.d.ts +2 -2
  45. package/src/lib/i18n/strings/englishUK.d.ts.map +1 -1
  46. package/src/lib/i18n/strings/englishUK.js.map +1 -1
  47. package/src/lib/i18n/strings/englishUs.d.ts +2 -2
  48. package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
  49. package/src/lib/i18n/strings/englishUs.js +45 -1
  50. package/src/lib/i18n/strings/englishUs.js.map +1 -1
  51. package/src/lib/i18n/strings/french.d.ts +2 -2
  52. package/src/lib/i18n/strings/french.d.ts.map +1 -1
  53. package/src/lib/i18n/strings/french.js +58 -13
  54. package/src/lib/i18n/strings/french.js.map +1 -1
  55. package/src/lib/i18n/strings/german.d.ts +2 -2
  56. package/src/lib/i18n/strings/german.d.ts.map +1 -1
  57. package/src/lib/i18n/strings/german.js +57 -12
  58. package/src/lib/i18n/strings/german.js.map +1 -1
  59. package/src/lib/i18n/strings/japanese.d.ts +2 -2
  60. package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
  61. package/src/lib/i18n/strings/japanese.js +57 -12
  62. package/src/lib/i18n/strings/japanese.js.map +1 -1
  63. package/src/lib/i18n/strings/mandarin.d.ts +2 -2
  64. package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
  65. package/src/lib/i18n/strings/mandarin.js +57 -12
  66. package/src/lib/i18n/strings/mandarin.js.map +1 -1
  67. package/src/lib/i18n/strings/spanish.d.ts +2 -2
  68. package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
  69. package/src/lib/i18n/strings/spanish.js +57 -12
  70. package/src/lib/i18n/strings/spanish.js.map +1 -1
  71. package/src/lib/i18n/strings/ukrainian.d.ts +2 -2
  72. package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
  73. package/src/lib/i18n/strings/ukrainian.js +57 -12
  74. package/src/lib/i18n/strings/ukrainian.js.map +1 -1
  75. package/src/lib/index.d.ts +31 -0
  76. package/src/lib/index.d.ts.map +1 -1
  77. package/src/lib/index.js +29 -1
  78. package/src/lib/index.js.map +1 -1
  79. package/src/lib/interfaces/auth/writeProof.d.ts +2 -0
  80. package/src/lib/interfaces/auth/writeProof.d.ts.map +1 -1
  81. package/src/lib/interfaces/auth/writeProofUtils.d.ts +1 -1
  82. package/src/lib/interfaces/auth/writeProofUtils.d.ts.map +1 -1
  83. package/src/lib/interfaces/auth/writeProofUtils.js +2 -2
  84. package/src/lib/interfaces/auth/writeProofUtils.js.map +1 -1
  85. package/src/lib/interfaces/availability/gossipService.d.ts +99 -1
  86. package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
  87. package/src/lib/interfaces/availability/gossipService.js +4 -0
  88. package/src/lib/interfaces/availability/gossipService.js.map +1 -1
  89. package/src/lib/interfaces/communication/blockContentStore.d.ts +57 -0
  90. package/src/lib/interfaces/communication/blockContentStore.d.ts.map +1 -0
  91. package/src/lib/interfaces/communication/blockContentStore.js +21 -0
  92. package/src/lib/interfaces/communication/blockContentStore.js.map +1 -0
  93. package/src/lib/interfaces/communication/chatStorageProvider.d.ts +77 -0
  94. package/src/lib/interfaces/communication/chatStorageProvider.d.ts.map +1 -0
  95. package/src/lib/interfaces/communication/chatStorageProvider.js +25 -0
  96. package/src/lib/interfaces/communication/chatStorageProvider.js.map +1 -0
  97. package/src/lib/interfaces/communication/index.d.ts +4 -0
  98. package/src/lib/interfaces/communication/index.d.ts.map +1 -0
  99. package/src/lib/interfaces/communication/index.js +3 -0
  100. package/src/lib/interfaces/communication/index.js.map +1 -0
  101. package/src/lib/interfaces/communication/server.d.ts +57 -0
  102. package/src/lib/interfaces/communication/server.d.ts.map +1 -0
  103. package/src/lib/interfaces/communication/server.js +14 -0
  104. package/src/lib/interfaces/communication/server.js.map +1 -0
  105. package/src/lib/interfaces/communication.d.ts +60 -5
  106. package/src/lib/interfaces/communication.d.ts.map +1 -1
  107. package/src/lib/interfaces/communication.js +8 -0
  108. package/src/lib/interfaces/communication.js.map +1 -1
  109. package/src/lib/interfaces/communicationEvents.d.ts +59 -1
  110. package/src/lib/interfaces/communicationEvents.d.ts.map +1 -1
  111. package/src/lib/interfaces/events/communicationEventEmitter.d.ts +9 -0
  112. package/src/lib/interfaces/events/communicationEventEmitter.d.ts.map +1 -1
  113. package/src/lib/interfaces/events/communicationEventEmitter.js +9 -0
  114. package/src/lib/interfaces/events/communicationEventEmitter.js.map +1 -1
  115. package/src/lib/interfaces/index.d.ts +4 -1
  116. package/src/lib/interfaces/index.d.ts.map +1 -1
  117. package/src/lib/interfaces/index.js +3 -0
  118. package/src/lib/interfaces/index.js.map +1 -1
  119. package/src/lib/interfaces/messaging/gpgKey.d.ts +93 -0
  120. package/src/lib/interfaces/messaging/gpgKey.d.ts.map +1 -0
  121. package/src/lib/interfaces/messaging/gpgKey.js +12 -0
  122. package/src/lib/interfaces/messaging/gpgKey.js.map +1 -0
  123. package/src/lib/interfaces/messaging/index.d.ts +4 -0
  124. package/src/lib/interfaces/messaging/index.d.ts.map +1 -1
  125. package/src/lib/interfaces/messaging/index.js +4 -0
  126. package/src/lib/interfaces/messaging/index.js.map +1 -1
  127. package/src/lib/interfaces/messaging/keyStore.d.ts +100 -0
  128. package/src/lib/interfaces/messaging/keyStore.d.ts.map +1 -0
  129. package/src/lib/interfaces/messaging/keyStore.js +13 -0
  130. package/src/lib/interfaces/messaging/keyStore.js.map +1 -0
  131. package/src/lib/interfaces/messaging/recipientKeyResolver.d.ts +92 -0
  132. package/src/lib/interfaces/messaging/recipientKeyResolver.d.ts.map +1 -0
  133. package/src/lib/interfaces/messaging/recipientKeyResolver.js +13 -0
  134. package/src/lib/interfaces/messaging/recipientKeyResolver.js.map +1 -0
  135. package/src/lib/interfaces/messaging/smimeCertificate.d.ts +99 -0
  136. package/src/lib/interfaces/messaging/smimeCertificate.d.ts.map +1 -0
  137. package/src/lib/interfaces/messaging/smimeCertificate.js +12 -0
  138. package/src/lib/interfaces/messaging/smimeCertificate.js.map +1 -0
  139. package/src/lib/interfaces/responses/adminDashboardResponse.d.ts +8 -0
  140. package/src/lib/interfaces/responses/adminDashboardResponse.d.ts.map +1 -1
  141. package/src/lib/interfaces/responses/communicationResponses.d.ts +25 -0
  142. package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -1
  143. package/src/lib/services/blockService.d.ts +11 -3
  144. package/src/lib/services/blockService.d.ts.map +1 -1
  145. package/src/lib/services/blockService.js +22 -2
  146. package/src/lib/services/blockService.js.map +1 -1
  147. package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts +108 -0
  148. package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts.map +1 -0
  149. package/src/lib/services/communication/__tests__/mockChatStorageProvider.js +284 -0
  150. package/src/lib/services/communication/__tests__/mockChatStorageProvider.js.map +1 -0
  151. package/src/lib/services/communication/attachmentUtils.d.ts +20 -0
  152. package/src/lib/services/communication/attachmentUtils.d.ts.map +1 -0
  153. package/src/lib/services/communication/attachmentUtils.js +43 -0
  154. package/src/lib/services/communication/attachmentUtils.js.map +1 -0
  155. package/src/lib/services/communication/channelService.d.ts +127 -12
  156. package/src/lib/services/communication/channelService.d.ts.map +1 -1
  157. package/src/lib/services/communication/channelService.js +486 -30
  158. package/src/lib/services/communication/channelService.js.map +1 -1
  159. package/src/lib/services/communication/conversationService.d.ts +91 -4
  160. package/src/lib/services/communication/conversationService.d.ts.map +1 -1
  161. package/src/lib/services/communication/conversationService.js +237 -5
  162. package/src/lib/services/communication/conversationService.js.map +1 -1
  163. package/src/lib/services/communication/eciesKeyEncryptionHandler.d.ts +36 -0
  164. package/src/lib/services/communication/eciesKeyEncryptionHandler.d.ts.map +1 -0
  165. package/src/lib/services/communication/eciesKeyEncryptionHandler.js +30 -0
  166. package/src/lib/services/communication/eciesKeyEncryptionHandler.js.map +1 -0
  167. package/src/lib/services/communication/groupService.d.ts +99 -21
  168. package/src/lib/services/communication/groupService.d.ts.map +1 -1
  169. package/src/lib/services/communication/groupService.js +359 -39
  170. package/src/lib/services/communication/groupService.js.map +1 -1
  171. package/src/lib/services/communication/index.d.ts +6 -1
  172. package/src/lib/services/communication/index.d.ts.map +1 -1
  173. package/src/lib/services/communication/index.js +20 -1
  174. package/src/lib/services/communication/index.js.map +1 -1
  175. package/src/lib/services/communication/keyEpochManager.d.ts +41 -0
  176. package/src/lib/services/communication/keyEpochManager.d.ts.map +1 -0
  177. package/src/lib/services/communication/keyEpochManager.js +59 -0
  178. package/src/lib/services/communication/keyEpochManager.js.map +1 -0
  179. package/src/lib/services/communication/rehydrationHelpers.d.ts +32 -0
  180. package/src/lib/services/communication/rehydrationHelpers.d.ts.map +1 -0
  181. package/src/lib/services/communication/rehydrationHelpers.js +58 -0
  182. package/src/lib/services/communication/rehydrationHelpers.js.map +1 -0
  183. package/src/lib/services/communication/serverService.d.ts +193 -0
  184. package/src/lib/services/communication/serverService.d.ts.map +1 -0
  185. package/src/lib/services/communication/serverService.js +497 -0
  186. package/src/lib/services/communication/serverService.js.map +1 -0
  187. package/src/lib/services/memberStore.d.ts +10 -0
  188. package/src/lib/services/memberStore.d.ts.map +1 -1
  189. package/src/lib/services/memberStore.js +41 -16
  190. package/src/lib/services/memberStore.js.map +1 -1
  191. package/src/lib/services/messaging/emailEncryptionService.d.ts +162 -0
  192. package/src/lib/services/messaging/emailEncryptionService.d.ts.map +1 -1
  193. package/src/lib/services/messaging/emailEncryptionService.js +293 -0
  194. package/src/lib/services/messaging/emailEncryptionService.js.map +1 -1
  195. package/src/lib/services/messaging/emailMessageService.d.ts +64 -0
  196. package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
  197. package/src/lib/services/messaging/emailMessageService.js +142 -13
  198. package/src/lib/services/messaging/emailMessageService.js.map +1 -1
  199. package/src/lib/services/messaging/gpgKeyManager.d.ts +130 -0
  200. package/src/lib/services/messaging/gpgKeyManager.d.ts.map +1 -0
  201. package/src/lib/services/messaging/gpgKeyManager.js +381 -0
  202. package/src/lib/services/messaging/gpgKeyManager.js.map +1 -0
  203. package/src/lib/services/messaging/index.d.ts +3 -0
  204. package/src/lib/services/messaging/index.d.ts.map +1 -1
  205. package/src/lib/services/messaging/index.js +3 -0
  206. package/src/lib/services/messaging/index.js.map +1 -1
  207. package/src/lib/services/messaging/recipientKeyResolver.d.ts +47 -0
  208. package/src/lib/services/messaging/recipientKeyResolver.d.ts.map +1 -0
  209. package/src/lib/services/messaging/recipientKeyResolver.js +132 -0
  210. package/src/lib/services/messaging/recipientKeyResolver.js.map +1 -0
  211. package/src/lib/services/messaging/smimeCertificateManager.d.ts +207 -0
  212. package/src/lib/services/messaging/smimeCertificateManager.d.ts.map +1 -0
  213. package/src/lib/services/messaging/smimeCertificateManager.js +696 -0
  214. package/src/lib/services/messaging/smimeCertificateManager.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"blockService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
@@ -79,12 +79,32 @@ class BlockService {
79
79
  }
80
80
  }
81
81
  /**
82
- * Get the appropriate block size for a given data length
82
+ * Get the appropriate block size for a given data length.
83
+ *
84
+ * @param dataLength - The number of bytes that must fit in the block.
85
+ * @param supportedSizes - Optional list of block sizes to choose from
86
+ * (e.g. from a block store's `supportedBlockSizes`). When provided,
87
+ * only sizes in this list are considered. When omitted, all standard
88
+ * sizes are eligible (original behaviour).
89
+ * @returns The smallest qualifying BlockSize, or BlockSize.Unknown if
90
+ * no size is large enough.
83
91
  */
84
- getBlockSizeForData(dataLength) {
92
+ getBlockSizeForData(dataLength, supportedSizes) {
85
93
  if (dataLength < 0) {
86
94
  return blockSize_1.BlockSize.Unknown;
87
95
  }
96
+ // When a supported-sizes filter is provided, iterate in ascending order
97
+ // and return the first size that fits.
98
+ if (supportedSizes && supportedSizes.length > 0) {
99
+ const sorted = [...supportedSizes].sort((a, b) => a - b);
100
+ for (const size of sorted) {
101
+ if (size !== blockSize_1.BlockSize.Unknown && size >= dataLength) {
102
+ return size;
103
+ }
104
+ }
105
+ return blockSize_1.BlockSize.Unknown;
106
+ }
107
+ // Original hard-coded ladder (no filter)
88
108
  if (dataLength >= blockSize_1.BlockSize.Huge) {
89
109
  return blockSize_1.BlockSize.Unknown;
90
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blockService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,0DAKoC;AACpC,uCAA0D;AAC1D,mDAAqD;AACrD,mDAAqD;AACrD,uDAAoD;AACpD,6CAA+C;AAC/C,+CAAiD;AACjD,4CAAqC;AACrC,iEAA8D;AAC9D,6EAA0E;AAC1E,mEAAgE;AAChE,iFAA8E;AAC9E,yDAAsD;AACtD,yDAA2E;AAC3E,2EAAwE;AACxE,mEAAgE;AAChE,2CAAsE;AACtE,mEAAgE;AAChE,qDAAkD;AAClD,yFAAsF;AAGtF,wDAA+D;AAI/D,6EAA6E;AAC7E,kDAA+C;AAC/C,+BAAmC;AAEnC;;GAEG;AACH,MAAa,YAAY;IACf,MAAM,CAAC,UAAU,GAAqC,SAAS,CAAC;IAExE;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,KAAe;QACvC,yBAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,UAAgC;QACvD,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,4BAA4B,CAAC,IAAgB;QAClD,IAAI,IAAI,CAAC,MAAM,GAAG,iBAAK,CAAC,oBAAoB,EAAE,CAAC;YAC7C,MAAM,IAAI,qCAAiB,CAAC,6CAAqB,CAAC,gBAAgB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAwB,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yCAAmB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,qCAAiB,CAAC,6CAAqB,CAAC,gBAAgB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,0BAA0B,CAAC,IAAgB;QAChD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,SAAS,KAAK,yCAAmB,CAAC,eAAe,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,yBAAyB,CAAC,IAAgB;QAC/C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,SAAS,KAAK,yCAAmB,CAAC,cAAc,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,UAAkB;QAC3C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,qBAAS,CAAC,OAAO,CAAC;QAC3B,CAAC;QAED,IAAI,UAAU,IAAI,qBAAS,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,qBAAS,CAAC,OAAO,CAAC;QAC3B,CAAC;QACD,IAAI,UAAU,IAAI,qBAAS,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,qBAAS,CAAC,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,UAAU,IAAI,qBAAS,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,qBAAS,CAAC,KAAK,CAAC;QACzB,CAAC;QACD,IAAI,UAAU,IAAI,qBAAS,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,qBAAS,CAAC,MAAM,CAAC;QAC1B,CAAC;QACD,IAAI,UAAU,IAAI,qBAAS,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,qBAAS,CAAC,KAAK,CAAC;QACzB,CAAC;QACD,IAAI,UAAU,IAAI,qBAAS,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,qBAAS,CAAC,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,qBAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,MAAc;QACvC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC;QACzB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,OAAO,CAClB,YAAuB,EACvB,KAA2B,EAC3B,SAAuB;QAEvB,sBAAsB;QACtB,qBAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,+BAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,kBAAU,CAAC,+BAAc,CAAC,4BAA4B,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,2DAA4B,CACpC,uCAAkB,CAAC,gCAAgC,CACpD,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAU,CAAC,+BAAc,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,yEAAyE;QACzE,yBAAW,CAAC,KAAK,CAAC,SAAS,EAAE;YAC3B,SAAS,EAAE,qBAAS,CAAC,YAAY,CAAC;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,cAAc,EAAE,CAAC;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC;YACnD,MAAM,kBAAkB,GAAG,eAAe,EAAE,SAAS,CAAC;YACtD,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,IAAI,kBAAU,CAAC,+BAAc,CAAC,oBAAoB,CAAC,CAAC;YAC5D,CAAC;YAED,gDAAgD;YAChD,2FAA2F;YAC3F,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CACvC,CAAC,EACD,KAAK,CAAC,sBAAsB,CAC7B,CAAC;YAEF,MAAM,cAAc,GAClB,MAAM,IAAA,gDAAwB,GAAO,CAAC,YAAY,CAAC,OAAO,CACxD,mCAAuB,CAAC,UAAU,EAClC,kBAAkB,EAClB,aAAa,CACd,CAAC;YAEJ,4CAA4C;YAC5C,MAAM,UAAU,GAAG,IAAA,gDAAwB,GAAO,CAAC,UAAU,CAAC;YAC9D,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC;YAEjD,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAE7D,yCAAyC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,yCAAmB,CAAC,eAAe,CAAC;YAErD,wDAAwD;YACxD,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAK,CAAC,oBAAoB,CAAC,CAAC;YAE9D,yCAAyC;YACzC,MAAM,eAAe,GACnB,iBAAK,CAAC,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC;YACrD,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAEjD,MAAM,QAAQ,GACZ,IAAA,gDAAwB,GAAE,CAAC,eAAe,CAAC,iBAAiB,CAC1D,WAAW,CACZ,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,0BAAc,CAAC,IAAI,CACtC,YAAY,EACZ,6BAAa,CAAC,aAAa,EAC3B,KAAK,CAAC,SAAS,EACf,WAAW,EACX,QAAQ,EACR,eAAe,EACf,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,sBAAsB,CAC7B,CAAC;YAEF,yBAAyB;YACzB,yBAAW,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC1B,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE;gBACzB,SAAS,EAAE,qBAAS,CAAC,YAAY,CAAC;gBAClC,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,MAA6B,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,yBAAW,CAAC,KAAK,CACf,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD;gBACE,SAAS,EAAE,qBAAS,CAAC,YAAY,CAAC;gBAClC,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK;aACf,CACF,CAAC;YAEF,iCAAiC;YACjC,IAAI,KAAK,YAAY,uBAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,yCAAyC;YACzC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,uBAAU,CAAC,+BAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE;oBAChE,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,OAAO,CAClB,OAAoB,EACpB,KAA0B,EAC1B,YAAuB;QAEvB,sBAAsB;QACtB,qBAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,kBAAU,CAAC,+BAAc,CAAC,yBAAyB,CAAC,CAAC;QACjE,CAAC;QAED,yEAAyE;QACzE,yBAAW,CAAC,KAAK,CAAC,SAAS,EAAE;YAC3B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;YACjC,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,cAAc,GAClB,MAAM,IAAA,gDAAwB,GAAE,CAAC,YAAY,CAAC,0BAA0B,CACtE,OAAO,CAAC,UAAU,CAAC,YAA0B,EAC7C,KAAK,CAAC,YAAY,CACnB,CAAC;YAEJ,MAAM,QAAQ,GACZ,IAAA,gDAAwB,GAAO,CAAC,eAAe,CAAC,iBAAiB,CAC/D,cAAc,CACf,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,0BAAc,CAAC,IAAI,CACtC,YAAY,EACZ,6BAAa,CAAC,uBAAuB,EACrC,KAAK,CAAC,SAAS,EACf,cAAc,EACd,QAAQ,EACR,OAAO,EACP,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,gBAAgB,CACvB,CAAC;YAEF,yBAAyB;YACzB,yBAAW,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC1B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;gBACjC,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBACrC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,yBAAW,CAAC,KAAK,CACf,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD;gBACE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;gBACjC,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBACrC,OAAO,EAAE,KAAK;aACf,CACF,CAAC;YAEF,iCAAiC;YACjC,IAAI,KAAK,YAAY,uBAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,yCAAyC;YACzC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,uBAAU,CAAC,+BAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE;oBAChE,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe,CAC1B,SAAsB,EACtB,KAA2B;QAE3B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,uBAAU,CAAC,+BAAc,CAAC,mBAAmB,CAAC,CAAC;QAC3D,CAAC;QAED,+EAA+E;QAC/E,yBAAW,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACnC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;YACjC,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,qBAAqB,GACzB,IAAA,gDAAwB,GAAO,CAAC,YAAY,CAAC,yBAAyB,CACpE,KAAK,CAAC,IAAI,CACX,CAAC;YACJ,6CAA6C;YAC7C,MAAM,wBAAwB,GAAG,iBAAK,CAAC,OAAO,GAAG,iBAAK,CAAC,aAAa,CAAC;YACrE,MAAM,aAAa,GACjB,MAAM,IAAA,gDAAwB,GAAO,CAAC,YAAY,CAAC,+BAA+B,CAChF;gBACE,GAAG,qBAAqB;gBACxB,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CACnC,qBAAqB,CAAC,UAAU,EAChC,qBAAqB,CAAC,UAAU;oBAC9B,qBAAqB,CAAC,UAAU;oBAChC,wBAAwB,CAC3B;aACF,EACD,SAA+B,CAChC,CAAC;YACJ,MAAM,QAAQ,GACZ,IAAA,gDAAwB,GAAO,CAAC,eAAe,CAAC,iBAAiB,CAC/D,aAAa,CACd,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,0BAAc,CAAC,IAAI,CACtC,qBAAS,CAAC,uBAAuB,EACjC,6BAAa,CAAC,uBAAuB,EACrC,KAAK,CAAC,SAAS,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,qBAAqB,CAAC,UAAU,CACjC,CAAC;YAEF,+BAA+B;YAC/B,yBAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAClC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;gBACjC,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBACrC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0DAA0D;YAC1D,yBAAW,CAAC,KAAK,CACf,iBAAiB,EACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD;gBACE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;gBACjC,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBACrC,OAAO,EAAE,KAAK;aACf,CACF,CAAC;YAEF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,eAAe,CAC1B,YAAuB,EACvB,KAA0B,EAC1B,UAAyB;QAEzB,sBAAsB;QACtB,qBAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAE7D,2BAA2B;QAC3B,qBAAS,CAAC,sBAAsB,CAC9B,UAAU,CAAC,MAAM,EACjB,yCAAmB,CAAC,cAAc,EAClC,iBAAiB,CAClB,CAAC;QAEF,IAAI,CAAC,+BAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,kBAAU,CAAC,+BAAc,CAAC,4BAA4B,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,+BAAuB,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAU,CAAC,+BAAc,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,+EAA+E;QAC/E,yBAAW,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACnC,SAAS,EAAE,qBAAS,CAAC,YAAY,CAAC;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,cAAc,EAAE,UAAU,CAAC,MAAM;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,uBAAuB,GAC3B,MAAM,IAAA,gDAAwB,GAAO,CAAC,YAAY,CAAC,eAAe,CAChE,UAAU,EACV,KAAK,CAAC,IAAI,CACX,CAAC;YACJ,MAAM,MAAM,GACV,IAAA,gDAAwB,GAAO,CAAC,YAAY,CAAC,iCAAiC,CAC5E,uBAAuB,CACxB,CAAC;YACJ,MAAM,WAAW,GACf,KAAK,CAAC,SAAS;gBACf,MAAM,CAAC,MAAM;gBACb,uBAAuB,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;gBAC1B,GAAG,MAAM;gBACT,GAAG,uBAAuB,CAAC,gBAAgB;gBAC3C,GAAG,OAAO;aACX,CAAC,CAAC;YACH,MAAM,QAAQ,GACZ,IAAA,gDAAwB,GAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,0BAAc,CAAC,IAAI,CACtC,YAAY,EACZ,6BAAa,CAAC,aAAa,EAC3B,KAAK,CAAC,SAAS,EACf,IAAI,EACJ,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,sBAAsB,EAC5B,IAAI,EACJ,KAAK,CACN,CAAC;YAEF,+BAA+B;YAC/B,yBAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAClC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE;gBACzB,SAAS,EAAE,qBAAS,CAAC,YAAY,CAAC;gBAClC,cAAc,EAAE,UAAU,CAAC,MAAM;gBACjC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAkC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0DAA0D;YAC1D,yBAAW,CAAC,KAAK,CACf,iBAAiB,EACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD;gBACE,SAAS,EAAE,qBAAS,CAAC,YAAY,CAAC;gBAClC,cAAc,EAAE,UAAU,CAAC,MAAM;gBACjC,OAAO,EAAE,KAAK;aACf,CACF,CAAC;YAEF,iCAAiC;YACjC,IAAI,KAAK,YAAY,uBAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,yCAAyC;YACzC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,uBAAU,CAAC,+BAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE;oBAChE,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAC1B,KAAiB,EACjB,SAAsD;QAEtD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,qCAAiB,CAAC,6CAAqB,CAAC,mBAAmB,CAAC,CAAC;QACzE,CAAC;QAED,sCAAsC;QACtC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChD,QAAQ,YAAY,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAC1D,CAAC;QAEF,4DAA4D;QAC5D,OAAO,gBAAU,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,SAAoB,EACpB,KAAa,EACb,WAAkB;QAElB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,oBAAW,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9D,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAmB;QACtD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,qCAAiB,CAAC,6CAAqB,CAAC,aAAa,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,MAAM,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,qCAAiB,CACzB,6CAAqB,CAAC,kBAAkB,EACxC,SAAS,EACT,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CACjC,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CACrB,QAAoB,EACpB,UAAmB,EACnB,OAAgB,EAChB,OAAoB,EACpB,SAAuB,EACvB,QAAiB,EACjB,WAAkB;QAElB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,SAAmB,CAAC;QAC5C,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;QAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAE5C,gBAAgB;YAChB,IAAI,SAAS,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtB,kCAAkC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CACrC,eAAe,GAAG,SAAS,CAAC,MAAM,CACnC,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;YAED,qBAAqB;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CACtC,SAAS,EACT,iBAAK,CAAC,IAAI,GAAG,CAAC,EACd,WAAW,CACZ,CAAC;YAEF,kBAAkB;YAClB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;YAED,qBAAqB;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAEnE,sBAAsB;YACtB,MAAM,WAAW,GAAG,IAAI,sBAAY,CAClC,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,qBAAS,CAAC,OAAO,EACjB,6BAAa,CAAC,OAAO,CACtB,CAAC;YAEF,MAAM,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,oBAAoB;QACpB,MAAM,aAAa,GAAG,IAAI,UAAU,CAClC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAChE,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,gDAAwB,GAAO,CAAC,UAAU,CAAC,aAAa,CACrE,OAAO,EACP,WAAW,EACX,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,aAAa,EACb,SAAS,EACT,yCAAmB,CAAC,IAAI,EACxB,UAAU,IAAI,QAAQ;YACpB,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,0BAA0B,EAAE;YACpD,CAAC,CAAC,SAAS,CACd,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,UAAU,CACzB,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAChD,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,+BAAyB,CAAM,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CACpB,MAAa,EACb,OAAoB,EACpB,kBAA0B;QAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,2DAA4B,CACpC,uCAAkB,CAAC,mCAAmC,CACvD,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,2DAA4B,CACpC,uCAAkB,CAAC,sCAAsC,CAC1D,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAAe,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,IAAI,UAAU,CAClC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAChE,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;QACrC,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAA,gDAAwB,GAAO,CAAC,UAAU,CAAC,aAAa,CACrE,OAAO,EACP,IAAI,IAAI,EAAE,EACV,QAAQ,CAAC,MAAM,EACf,kBAAkB,EAClB,aAAa,EACb,qBAAS,CAAC,OAAO,EAAE,wBAAwB;QAC3C,yCAAmB,CAAC,IAAI,CACzB,CAAC;QAEF,yBAAyB;QACzB,MAAM,cAAc,GAAG,qBAAS,CAAC,OAAiB,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,0CAA0C;QAE1C,OAAO,IAAI,+BAAyB,CAAM,IAAI,EAAE,OAAO,EAAE,qBAAS,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAC9B,QAAoB,EACpB,OAAgB,EAChB,UAAkB,EAClB,YAA0D,EAC1D,SAAuB;QAEvB,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,qCAAiB,CACzB,6CAAqB,CAAC,8BAA8B,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,qBAAS,CAAC,OAAO,IAAK,SAAoB,IAAI,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,qCAAiB,CACzB,6CAAqB,CAAC,wBAAwB,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,SAAmB,CAAC;QAC5C,kEAAkE;QAClE,MAAM,eAAe,GAAG,OAAO;YAC7B,CAAC,CAAC,eAAe,GAAG,iBAAK,CAAC,WAAW,CAAC,mBAAmB;YACzD,CAAC,CAAC,eAAe,CAAC;QAEpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,GAAiB,EAAE,CAAC;QAElC,4CAA4C;QAC5C,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC/B,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;QAEF,8CAA8C;QAC9C,MAAM,WAAW,GAAG,KAAK,EAAE,SAAqB,EAAiB,EAAE;YACjE,gBAAgB;YAChB,IAAI,SAAS,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CACrC,eAAe,GAAG,SAAS,CAAC,MAAM,CACnC,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;YACD,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACzB,MAAM,aAAa,GACjB,MAAM,IAAA,gDAAwB,GAAE,CAAC,YAAY,CAAC,OAAO,CACnD,mCAAuB,CAAC,UAAU,EAClC,SAAgB,EAChB,SAAS,CACV,CAAC;gBACJ,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QAEF,wBAAwB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC9C,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7B,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC;YAChC,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,UAAU,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QACD,MAAM,UAAU,EAAE,CAAC;QAEnB,OAAO,WAAW,CAAC;IACrB,CAAC;;AAvyBH,oCAwyBC"}
1
+ {"version":3,"file":"blockService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * In-memory mock implementation of IChatStorageProvider for property-based
3
+ * and unit tests.
4
+ *
5
+ * Each IChatCollection<T> is backed by a T[] array. findMany() returns the
6
+ * full array by default, but can be configured to throw for error-propagation
7
+ * tests.
8
+ *
9
+ * Also exports fast-check arbitraries for all BrightChat entity types.
10
+ *
11
+ * Requirements: all (test infrastructure)
12
+ */
13
+ import fc from 'fast-check';
14
+ import { IChatCollection, IChatStorageProvider } from '../../../interfaces/communication/chatStorageProvider';
15
+ import { IConversation, ICommunicationMessage, IGroup, IChannel, IInviteToken } from '../../../interfaces/communication';
16
+ import { IServer, IServerInviteToken } from '../../../interfaces/communication/server';
17
+ /**
18
+ * In-memory IChatCollection backed by a plain array.
19
+ *
20
+ * `findMany()` returns the full backing array unless `errorOnFindMany` is set,
21
+ * in which case it throws the configured error.
22
+ */
23
+ export declare class MockChatCollection<T> implements IChatCollection<T> {
24
+ private items;
25
+ private errorOnFindMany;
26
+ constructor(initialItems?: T[]);
27
+ /** Configure findMany() to throw the given error on next (and subsequent) calls. */
28
+ setFindManyError(error: Error): void;
29
+ /** Clear any configured findMany() error. */
30
+ clearFindManyError(): void;
31
+ create(doc: T): Promise<void>;
32
+ findById(key: string): Promise<T | null>;
33
+ findMany(_filter?: Partial<T>): Promise<T[]>;
34
+ update(key: string, doc: T): Promise<void>;
35
+ delete(key: string): Promise<void>;
36
+ /** Direct access to the backing array (for test assertions). */
37
+ getItems(): T[];
38
+ }
39
+ /**
40
+ * In-memory IChatStorageProvider. All collections are MockChatCollection
41
+ * instances that can be pre-populated and configured independently.
42
+ */
43
+ export declare class MockChatStorageProvider implements IChatStorageProvider {
44
+ readonly conversations: MockChatCollection<IConversation>;
45
+ readonly messages: MockChatCollection<ICommunicationMessage>;
46
+ readonly groups: MockChatCollection<IGroup>;
47
+ readonly groupMessages: MockChatCollection<ICommunicationMessage>;
48
+ readonly channels: MockChatCollection<IChannel>;
49
+ readonly channelMessages: MockChatCollection<ICommunicationMessage>;
50
+ readonly inviteTokens: MockChatCollection<IInviteToken>;
51
+ readonly servers: MockChatCollection<IServer>;
52
+ readonly serverInvites: MockChatCollection<IServerInviteToken>;
53
+ constructor(opts?: {
54
+ conversations?: IConversation[];
55
+ messages?: ICommunicationMessage[];
56
+ groups?: IGroup[];
57
+ groupMessages?: ICommunicationMessage[];
58
+ channels?: IChannel[];
59
+ channelMessages?: ICommunicationMessage[];
60
+ inviteTokens?: IInviteToken[];
61
+ servers?: IServer[];
62
+ serverInvites?: IServerInviteToken[];
63
+ });
64
+ }
65
+ /**
66
+ * Arbitrary for `Map<number, Map<string, string>>` representing
67
+ * encrypted shared keys across 1–5 epochs.
68
+ *
69
+ * Each epoch maps 1–5 member IDs to a base64-like wrapped key string.
70
+ */
71
+ export declare const arbEncryptedSharedKey: (minEpochs?: number, maxEpochs?: number) => fc.Arbitrary<Map<number, Map<string, string>>>;
72
+ /**
73
+ * Arbitrary for IConversation<string, string>.
74
+ * Generates a conversation with two distinct participants and a valid
75
+ * encryptedSharedKey map.
76
+ */
77
+ export declare const arbConversation: fc.Arbitrary<IConversation>;
78
+ /**
79
+ * Arbitrary for IGroup<string, string>.
80
+ * Generates a group with 1–10 members and a valid encryptedSharedKey map.
81
+ */
82
+ export declare const arbGroup: fc.Arbitrary<IGroup>;
83
+ /**
84
+ * Arbitrary for IChannel<string, string>.
85
+ * Generates a channel with members, visibility, and a valid encryptedSharedKey.
86
+ */
87
+ export declare const arbChannel: fc.Arbitrary<IChannel>;
88
+ /**
89
+ * Arbitrary for IServer<string, string>.
90
+ * Generates a server with members, channels, and categories.
91
+ */
92
+ export declare const arbServer: fc.Arbitrary<IServer>;
93
+ /**
94
+ * Arbitrary for ICommunicationMessage<string, string>.
95
+ * Optionally accepts a fixed contextId; otherwise generates a random one.
96
+ */
97
+ export declare const arbMessage: (contextId?: string) => fc.Arbitrary<ICommunicationMessage>;
98
+ /**
99
+ * Arbitrary for IInviteToken<string>.
100
+ * Generates a channel invite token with valid metadata.
101
+ */
102
+ export declare const arbInviteToken: fc.Arbitrary<IInviteToken>;
103
+ /**
104
+ * Arbitrary for IServerInviteToken<string>.
105
+ * Generates a server invite token with valid metadata.
106
+ */
107
+ export declare const arbServerInviteToken: fc.Arbitrary<IServerInviteToken>;
108
+ //# sourceMappingURL=mockChatStorageProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockChatStorageProvider.d.ts","sourceRoot":"","sources":["../../../../../../../brightchain-lib/src/lib/services/communication/__tests__/mockChatStorageProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ /**
3
+ * In-memory mock implementation of IChatStorageProvider for property-based
4
+ * and unit tests.
5
+ *
6
+ * Each IChatCollection<T> is backed by a T[] array. findMany() returns the
7
+ * full array by default, but can be configured to throw for error-propagation
8
+ * tests.
9
+ *
10
+ * Also exports fast-check arbitraries for all BrightChat entity types.
11
+ *
12
+ * Requirements: all (test infrastructure)
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.arbServerInviteToken = exports.arbInviteToken = exports.arbMessage = exports.arbServer = exports.arbChannel = exports.arbGroup = exports.arbConversation = exports.arbEncryptedSharedKey = exports.MockChatStorageProvider = exports.MockChatCollection = void 0;
16
+ const tslib_1 = require("tslib");
17
+ const fast_check_1 = tslib_1.__importDefault(require("fast-check"));
18
+ const communication_1 = require("../../../enumerations/communication");
19
+ // ─── Mock Collection ────────────────────────────────────────────────────────
20
+ /**
21
+ * In-memory IChatCollection backed by a plain array.
22
+ *
23
+ * `findMany()` returns the full backing array unless `errorOnFindMany` is set,
24
+ * in which case it throws the configured error.
25
+ */
26
+ class MockChatCollection {
27
+ items = [];
28
+ errorOnFindMany = null;
29
+ constructor(initialItems = []) {
30
+ this.items = [...initialItems];
31
+ }
32
+ /** Configure findMany() to throw the given error on next (and subsequent) calls. */
33
+ setFindManyError(error) {
34
+ this.errorOnFindMany = error;
35
+ }
36
+ /** Clear any configured findMany() error. */
37
+ clearFindManyError() {
38
+ this.errorOnFindMany = null;
39
+ }
40
+ async create(doc) {
41
+ this.items.push(doc);
42
+ }
43
+ async findById(key) {
44
+ // Simple lookup — assumes T has an `id` or `token` field
45
+ const item = this.items.find((i) => i['id'] === key ||
46
+ i['token'] === key);
47
+ return item ?? null;
48
+ }
49
+ async findMany(_filter) {
50
+ if (this.errorOnFindMany) {
51
+ throw this.errorOnFindMany;
52
+ }
53
+ return [...this.items];
54
+ }
55
+ async update(key, doc) {
56
+ const idx = this.items.findIndex((i) => i['id'] === key ||
57
+ i['token'] === key);
58
+ if (idx >= 0) {
59
+ this.items[idx] = doc;
60
+ }
61
+ }
62
+ async delete(key) {
63
+ this.items = this.items.filter((i) => i['id'] !== key &&
64
+ i['token'] !== key);
65
+ }
66
+ /** Direct access to the backing array (for test assertions). */
67
+ getItems() {
68
+ return [...this.items];
69
+ }
70
+ }
71
+ exports.MockChatCollection = MockChatCollection;
72
+ // ─── Mock Storage Provider ──────────────────────────────────────────────────
73
+ /**
74
+ * In-memory IChatStorageProvider. All collections are MockChatCollection
75
+ * instances that can be pre-populated and configured independently.
76
+ */
77
+ class MockChatStorageProvider {
78
+ conversations;
79
+ messages;
80
+ groups;
81
+ groupMessages;
82
+ channels;
83
+ channelMessages;
84
+ inviteTokens;
85
+ servers;
86
+ serverInvites;
87
+ constructor(opts) {
88
+ this.conversations = new MockChatCollection(opts?.conversations);
89
+ this.messages = new MockChatCollection(opts?.messages);
90
+ this.groups = new MockChatCollection(opts?.groups);
91
+ this.groupMessages = new MockChatCollection(opts?.groupMessages);
92
+ this.channels = new MockChatCollection(opts?.channels);
93
+ this.channelMessages = new MockChatCollection(opts?.channelMessages);
94
+ this.inviteTokens = new MockChatCollection(opts?.inviteTokens);
95
+ this.servers = new MockChatCollection(opts?.servers);
96
+ this.serverInvites = new MockChatCollection(opts?.serverInvites);
97
+ }
98
+ }
99
+ exports.MockChatStorageProvider = MockChatStorageProvider;
100
+ // ─── fast-check Arbitraries ─────────────────────────────────────────────────
101
+ /** Arbitrary for non-empty alphanumeric IDs (1–36 chars). */
102
+ const arbId = fast_check_1.default.stringMatching(/^[a-zA-Z0-9]{1,36}$/);
103
+ /** Arbitrary for a Date within a reasonable range. */
104
+ const arbDate = fast_check_1.default.date({ min: new Date('2020-01-01'), max: new Date('2030-01-01') });
105
+ /** Arbitrary for DefaultRole enum values. */
106
+ const arbRole = fast_check_1.default.constantFrom(communication_1.DefaultRole.OWNER, communication_1.DefaultRole.ADMIN, communication_1.DefaultRole.MODERATOR, communication_1.DefaultRole.MEMBER);
107
+ /** Arbitrary for ChannelVisibility enum values. */
108
+ const arbVisibility = fast_check_1.default.constantFrom(communication_1.ChannelVisibility.PUBLIC, communication_1.ChannelVisibility.PRIVATE, communication_1.ChannelVisibility.SECRET, communication_1.ChannelVisibility.INVISIBLE);
109
+ /**
110
+ * Arbitrary for `Map<number, Map<string, string>>` representing
111
+ * encrypted shared keys across 1–5 epochs.
112
+ *
113
+ * Each epoch maps 1–5 member IDs to a base64-like wrapped key string.
114
+ */
115
+ const arbEncryptedSharedKey = (minEpochs = 1, maxEpochs = 5) => fast_check_1.default
116
+ .array(fast_check_1.default.tuple(fast_check_1.default.nat({ max: 100 }), // epoch number
117
+ fast_check_1.default.array(fast_check_1.default.tuple(arbId, fast_check_1.default.base64String({ minLength: 8, maxLength: 64 })), { minLength: 1, maxLength: 5 })), { minLength: minEpochs, maxLength: maxEpochs })
118
+ .map((entries) => {
119
+ const outer = new Map();
120
+ // Use unique epoch numbers by offsetting duplicates
121
+ let nextEpoch = 0;
122
+ for (const [epoch, members] of entries) {
123
+ const usedEpoch = outer.has(epoch) ? nextEpoch++ : epoch;
124
+ if (outer.has(usedEpoch)) {
125
+ nextEpoch = usedEpoch + 1;
126
+ outer.set(nextEpoch++, new Map(members));
127
+ }
128
+ else {
129
+ outer.set(usedEpoch, new Map(members));
130
+ if (usedEpoch >= nextEpoch)
131
+ nextEpoch = usedEpoch + 1;
132
+ }
133
+ }
134
+ return outer;
135
+ });
136
+ exports.arbEncryptedSharedKey = arbEncryptedSharedKey;
137
+ /** Arbitrary for IGroupMember. */
138
+ const arbGroupMember = fast_check_1.default.record({
139
+ memberId: arbId,
140
+ role: arbRole,
141
+ joinedAt: arbDate,
142
+ mutedUntil: fast_check_1.default.option(arbDate, { nil: undefined }),
143
+ });
144
+ /** Arbitrary for IChannelMember. */
145
+ const arbChannelMember = fast_check_1.default.record({
146
+ memberId: arbId,
147
+ role: arbRole,
148
+ joinedAt: arbDate,
149
+ mutedUntil: fast_check_1.default.option(arbDate, { nil: undefined }),
150
+ });
151
+ /**
152
+ * Arbitrary for IConversation<string, string>.
153
+ * Generates a conversation with two distinct participants and a valid
154
+ * encryptedSharedKey map.
155
+ */
156
+ exports.arbConversation = fast_check_1.default
157
+ .record({
158
+ id: arbId,
159
+ participant1: arbId,
160
+ participant2: arbId,
161
+ encryptedSharedKey: (0, exports.arbEncryptedSharedKey)(),
162
+ createdAt: arbDate,
163
+ lastMessageAt: arbDate,
164
+ lastMessagePreview: fast_check_1.default.option(fast_check_1.default.string({ minLength: 0, maxLength: 100 }), {
165
+ nil: undefined,
166
+ }),
167
+ })
168
+ .filter((r) => r.participant1 !== r.participant2)
169
+ .map((r) => ({
170
+ id: r.id,
171
+ participants: [r.participant1, r.participant2],
172
+ encryptedSharedKey: r.encryptedSharedKey,
173
+ createdAt: r.createdAt,
174
+ lastMessageAt: r.lastMessageAt,
175
+ lastMessagePreview: r.lastMessagePreview,
176
+ }));
177
+ /**
178
+ * Arbitrary for IGroup<string, string>.
179
+ * Generates a group with 1–10 members and a valid encryptedSharedKey map.
180
+ */
181
+ exports.arbGroup = fast_check_1.default.record({
182
+ id: arbId,
183
+ name: fast_check_1.default.string({ minLength: 1, maxLength: 50 }),
184
+ creatorId: arbId,
185
+ members: fast_check_1.default.array(arbGroupMember, { minLength: 1, maxLength: 10 }),
186
+ encryptedSharedKey: (0, exports.arbEncryptedSharedKey)(),
187
+ createdAt: arbDate,
188
+ lastMessageAt: arbDate,
189
+ pinnedMessageIds: fast_check_1.default.array(arbId, { minLength: 0, maxLength: 5 }),
190
+ promotedFromConversation: fast_check_1.default.option(arbId, { nil: undefined }),
191
+ });
192
+ /**
193
+ * Arbitrary for IChannel<string, string>.
194
+ * Generates a channel with members, visibility, and a valid encryptedSharedKey.
195
+ */
196
+ exports.arbChannel = fast_check_1.default.record({
197
+ id: arbId,
198
+ name: fast_check_1.default.string({ minLength: 1, maxLength: 50 }),
199
+ topic: fast_check_1.default.string({ minLength: 0, maxLength: 100 }),
200
+ creatorId: arbId,
201
+ visibility: arbVisibility,
202
+ members: fast_check_1.default.array(arbChannelMember, { minLength: 1, maxLength: 10 }),
203
+ encryptedSharedKey: (0, exports.arbEncryptedSharedKey)(),
204
+ createdAt: arbDate,
205
+ lastMessageAt: arbDate,
206
+ pinnedMessageIds: fast_check_1.default.array(arbId, { minLength: 0, maxLength: 5 }),
207
+ historyVisibleToNewMembers: fast_check_1.default.boolean(),
208
+ serverId: fast_check_1.default.option(arbId, { nil: undefined }),
209
+ });
210
+ /**
211
+ * Arbitrary for IServer<string, string>.
212
+ * Generates a server with members, channels, and categories.
213
+ */
214
+ exports.arbServer = fast_check_1.default
215
+ .record({
216
+ id: arbId,
217
+ name: fast_check_1.default.string({ minLength: 1, maxLength: 100 }),
218
+ iconUrl: fast_check_1.default.option(fast_check_1.default.webUrl(), { nil: undefined }),
219
+ ownerId: arbId,
220
+ memberIds: fast_check_1.default.array(arbId, { minLength: 1, maxLength: 10 }),
221
+ channelIds: fast_check_1.default.array(arbId, { minLength: 0, maxLength: 10 }),
222
+ categories: fast_check_1.default.array(fast_check_1.default.record({
223
+ id: arbId,
224
+ name: fast_check_1.default.string({ minLength: 1, maxLength: 50 }),
225
+ position: fast_check_1.default.nat({ max: 20 }),
226
+ channelIds: fast_check_1.default.array(arbId, { minLength: 0, maxLength: 5 }),
227
+ }), { minLength: 0, maxLength: 5 }),
228
+ createdAt: arbDate,
229
+ updatedAt: arbDate,
230
+ });
231
+ /**
232
+ * Arbitrary for ICommunicationMessage<string, string>.
233
+ * Optionally accepts a fixed contextId; otherwise generates a random one.
234
+ */
235
+ const arbMessage = (contextId) => fast_check_1.default.record({
236
+ id: arbId,
237
+ contextType: fast_check_1.default.constantFrom('conversation', 'group', 'channel'),
238
+ contextId: contextId ? fast_check_1.default.constant(contextId) : arbId,
239
+ senderId: arbId,
240
+ encryptedContent: fast_check_1.default.base64String({ minLength: 1, maxLength: 200 }),
241
+ createdAt: arbDate,
242
+ editedAt: fast_check_1.default.option(arbDate, { nil: undefined }),
243
+ editHistory: fast_check_1.default.constant([]),
244
+ deleted: fast_check_1.default.constant(false),
245
+ deletedBy: fast_check_1.default.option(arbId, { nil: undefined }),
246
+ pinned: fast_check_1.default.boolean(),
247
+ reactions: fast_check_1.default.constant([]),
248
+ keyEpoch: fast_check_1.default.nat({ max: 100 }),
249
+ attachments: fast_check_1.default.constant([]),
250
+ expiresAt: fast_check_1.default.option(arbDate, { nil: undefined }),
251
+ maxReads: fast_check_1.default.option(fast_check_1.default.nat({ max: 100 }), { nil: undefined }),
252
+ readCount: fast_check_1.default.option(fast_check_1.default.nat({ max: 100 }), { nil: undefined }),
253
+ readBy: fast_check_1.default.option(fast_check_1.default.constant(new Map()), { nil: undefined }),
254
+ exploded: fast_check_1.default.option(fast_check_1.default.boolean(), { nil: undefined }),
255
+ explodedAt: fast_check_1.default.option(arbDate, { nil: undefined }),
256
+ });
257
+ exports.arbMessage = arbMessage;
258
+ /**
259
+ * Arbitrary for IInviteToken<string>.
260
+ * Generates a channel invite token with valid metadata.
261
+ */
262
+ exports.arbInviteToken = fast_check_1.default.record({
263
+ token: fast_check_1.default.stringMatching(/^[a-zA-Z0-9]{8,32}$/),
264
+ channelId: arbId,
265
+ createdBy: arbId,
266
+ createdAt: arbDate,
267
+ expiresAt: arbDate,
268
+ maxUses: fast_check_1.default.integer({ min: 1, max: 1000 }),
269
+ currentUses: fast_check_1.default.nat({ max: 999 }),
270
+ });
271
+ /**
272
+ * Arbitrary for IServerInviteToken<string>.
273
+ * Generates a server invite token with valid metadata.
274
+ */
275
+ exports.arbServerInviteToken = fast_check_1.default.record({
276
+ token: fast_check_1.default.stringMatching(/^[a-zA-Z0-9]{8,32}$/),
277
+ serverId: arbId,
278
+ createdBy: arbId,
279
+ createdAt: arbDate,
280
+ expiresAt: fast_check_1.default.option(arbDate, { nil: undefined }),
281
+ maxUses: fast_check_1.default.option(fast_check_1.default.integer({ min: 1, max: 1000 }), { nil: undefined }),
282
+ currentUses: fast_check_1.default.nat({ max: 999 }),
283
+ });
284
+ //# sourceMappingURL=mockChatStorageProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockChatStorageProvider.js","sourceRoot":"","sources":["../../../../../../../brightchain-lib/src/lib/services/communication/__tests__/mockChatStorageProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared attachment validation and processing utilities for chat services.
3
+ *
4
+ * Validates attachment size/count limits and converts IChatAttachmentInput[]
5
+ * into IChatAttachmentMetadata[] for storage on messages.
6
+ *
7
+ * Requirements: 11.1, 11.2, 11.4, 11.5
8
+ */
9
+ import { IAttachmentConfig, IChatAttachmentInput, IChatAttachmentMetadata } from '../../interfaces/communication';
10
+ /**
11
+ * Validate attachment limits and produce metadata entries.
12
+ *
13
+ * Checks count limit first, then per-file size limit.
14
+ * Returns an array of IChatAttachmentMetadata with generated assetIds.
15
+ *
16
+ * @throws TooManyAttachmentsError if attachments.length > config.maxAttachmentsPerMessage
17
+ * @throws AttachmentTooLargeError if any attachment exceeds config.maxFileSizeBytes
18
+ */
19
+ export declare function validateAndPrepareAttachments(attachments: IChatAttachmentInput[], config?: IAttachmentConfig): IChatAttachmentMetadata[];
20
+ //# sourceMappingURL=attachmentUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentUtils.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/attachmentUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAEL,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,oBAAoB,EAAE,EACnC,MAAM,GAAE,iBAA6C,GACpD,uBAAuB,EAAE,CA6B3B"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * Shared attachment validation and processing utilities for chat services.
4
+ *
5
+ * Validates attachment size/count limits and converts IChatAttachmentInput[]
6
+ * into IChatAttachmentMetadata[] for storage on messages.
7
+ *
8
+ * Requirements: 11.1, 11.2, 11.4, 11.5
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.validateAndPrepareAttachments = validateAndPrepareAttachments;
12
+ const uuid_1 = require("uuid");
13
+ const encryptionErrors_1 = require("../../errors/encryptionErrors");
14
+ const communication_1 = require("../../interfaces/communication");
15
+ /**
16
+ * Validate attachment limits and produce metadata entries.
17
+ *
18
+ * Checks count limit first, then per-file size limit.
19
+ * Returns an array of IChatAttachmentMetadata with generated assetIds.
20
+ *
21
+ * @throws TooManyAttachmentsError if attachments.length > config.maxAttachmentsPerMessage
22
+ * @throws AttachmentTooLargeError if any attachment exceeds config.maxFileSizeBytes
23
+ */
24
+ function validateAndPrepareAttachments(attachments, config = communication_1.DEFAULT_ATTACHMENT_CONFIG) {
25
+ if (attachments.length > config.maxAttachmentsPerMessage) {
26
+ throw new encryptionErrors_1.TooManyAttachmentsError(attachments.length, config.maxAttachmentsPerMessage);
27
+ }
28
+ const metadata = [];
29
+ for (const att of attachments) {
30
+ if (att.content.length > config.maxFileSizeBytes) {
31
+ throw new encryptionErrors_1.AttachmentTooLargeError(att.fileName, att.content.length, config.maxFileSizeBytes);
32
+ }
33
+ metadata.push({
34
+ assetId: (0, uuid_1.v4)(),
35
+ fileName: att.fileName,
36
+ mimeType: att.mimeType,
37
+ encryptedSize: att.content.length, // placeholder — real encryption may change size
38
+ originalSize: att.content.length,
39
+ });
40
+ }
41
+ return metadata;
42
+ }
43
+ //# sourceMappingURL=attachmentUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentUtils.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/attachmentUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAuBH,sEAgCC;AArDD,+BAAoC;AACpC,oEAGuC;AACvC,kEAKwC;AAExC;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAC3C,WAAmC,EACnC,SAA4B,yCAAyB;IAErD,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,CAAC;QACzD,MAAM,IAAI,0CAAuB,CAC/B,WAAW,CAAC,MAAM,EAClB,MAAM,CAAC,wBAAwB,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAE/C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,IAAI,0CAAuB,CAC/B,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,CAAC,MAAM,EAClB,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,gDAAgD;YACnF,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}