@brightchain/brightchain-lib 0.29.27 → 0.31.0

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 (409) hide show
  1. package/README.md +34 -5
  2. package/package.json +4 -4
  3. package/src/browser.d.ts +7 -0
  4. package/src/browser.d.ts.map +1 -1
  5. package/src/browser.js +21 -1
  6. package/src/browser.js.map +1 -1
  7. package/src/lib/asset/assetAccount.d.ts +66 -0
  8. package/src/lib/asset/assetAccount.d.ts.map +1 -0
  9. package/src/lib/asset/assetAccount.js +192 -0
  10. package/src/lib/asset/assetAccount.js.map +1 -0
  11. package/src/lib/asset/formatAssetAmount.d.ts +30 -0
  12. package/src/lib/asset/formatAssetAmount.d.ts.map +1 -0
  13. package/src/lib/asset/formatAssetAmount.js +54 -0
  14. package/src/lib/asset/formatAssetAmount.js.map +1 -0
  15. package/src/lib/asset/index.d.ts +11 -0
  16. package/src/lib/asset/index.d.ts.map +1 -0
  17. package/src/lib/asset/index.js +14 -0
  18. package/src/lib/asset/index.js.map +1 -0
  19. package/src/lib/asset/jouleConstants.d.ts +21 -0
  20. package/src/lib/asset/jouleConstants.d.ts.map +1 -0
  21. package/src/lib/asset/jouleConstants.js +24 -0
  22. package/src/lib/asset/jouleConstants.js.map +1 -0
  23. package/src/lib/asset/microunits.d.ts +19 -0
  24. package/src/lib/asset/microunits.d.ts.map +1 -0
  25. package/src/lib/asset/microunits.js +36 -0
  26. package/src/lib/asset/microunits.js.map +1 -0
  27. package/src/lib/constants.d.ts +5 -26
  28. package/src/lib/constants.d.ts.map +1 -1
  29. package/src/lib/constants.js +25 -2
  30. package/src/lib/constants.js.map +1 -1
  31. package/src/lib/db/collection.d.ts +1 -1
  32. package/src/lib/db/collection.d.ts.map +1 -1
  33. package/src/lib/db/collection.js +2 -1
  34. package/src/lib/db/collection.js.map +1 -1
  35. package/src/lib/db/driverBackedHeadRegistry.d.ts +42 -0
  36. package/src/lib/db/driverBackedHeadRegistry.d.ts.map +1 -0
  37. package/src/lib/db/driverBackedHeadRegistry.js +146 -0
  38. package/src/lib/db/driverBackedHeadRegistry.js.map +1 -0
  39. package/src/lib/db/headRegistryGossipTransport.d.ts +74 -0
  40. package/src/lib/db/headRegistryGossipTransport.d.ts.map +1 -0
  41. package/src/lib/db/headRegistryGossipTransport.js +153 -0
  42. package/src/lib/db/headRegistryGossipTransport.js.map +1 -0
  43. package/src/lib/db/inMemoryHeadRegistry.d.ts +9 -0
  44. package/src/lib/db/inMemoryHeadRegistry.d.ts.map +1 -1
  45. package/src/lib/db/inMemoryHeadRegistry.js +48 -0
  46. package/src/lib/db/inMemoryHeadRegistry.js.map +1 -1
  47. package/src/lib/db/inMemoryHeadRegistryDriver.d.ts +13 -0
  48. package/src/lib/db/inMemoryHeadRegistryDriver.d.ts.map +1 -0
  49. package/src/lib/db/inMemoryHeadRegistryDriver.js +24 -0
  50. package/src/lib/db/inMemoryHeadRegistryDriver.js.map +1 -0
  51. package/src/lib/db/index.d.ts +3 -0
  52. package/src/lib/db/index.d.ts.map +1 -1
  53. package/src/lib/db/index.js +3 -0
  54. package/src/lib/db/index.js.map +1 -1
  55. package/src/lib/energyAccount.d.ts +15 -62
  56. package/src/lib/energyAccount.d.ts.map +1 -1
  57. package/src/lib/energyAccount.js +20 -118
  58. package/src/lib/energyAccount.js.map +1 -1
  59. package/src/lib/enumerations/brightChainStrings.d.ts +141 -0
  60. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
  61. package/src/lib/enumerations/brightChainStrings.js +150 -0
  62. package/src/lib/enumerations/brightChainStrings.js.map +1 -1
  63. package/src/lib/enumerations/difficultyTier.d.ts +20 -0
  64. package/src/lib/enumerations/difficultyTier.d.ts.map +1 -0
  65. package/src/lib/enumerations/difficultyTier.js +25 -0
  66. package/src/lib/enumerations/difficultyTier.js.map +1 -0
  67. package/src/lib/enumerations/friendRequestStatus.d.ts +7 -0
  68. package/src/lib/enumerations/friendRequestStatus.d.ts.map +1 -0
  69. package/src/lib/enumerations/friendRequestStatus.js +11 -0
  70. package/src/lib/enumerations/friendRequestStatus.js.map +1 -0
  71. package/src/lib/enumerations/friendsErrorCode.d.ts +10 -0
  72. package/src/lib/enumerations/friendsErrorCode.d.ts.map +1 -0
  73. package/src/lib/enumerations/friendsErrorCode.js +14 -0
  74. package/src/lib/enumerations/friendsErrorCode.js.map +1 -0
  75. package/src/lib/enumerations/friendshipStatus.d.ts +7 -0
  76. package/src/lib/enumerations/friendshipStatus.d.ts.map +1 -0
  77. package/src/lib/enumerations/friendshipStatus.js +11 -0
  78. package/src/lib/enumerations/friendshipStatus.js.map +1 -0
  79. package/src/lib/enumerations/index.d.ts +4 -0
  80. package/src/lib/enumerations/index.d.ts.map +1 -1
  81. package/src/lib/enumerations/index.js +6 -0
  82. package/src/lib/enumerations/index.js.map +1 -1
  83. package/src/lib/errors/asset/assetUnknownError.d.ts +12 -0
  84. package/src/lib/errors/asset/assetUnknownError.d.ts.map +1 -0
  85. package/src/lib/errors/asset/assetUnknownError.js +21 -0
  86. package/src/lib/errors/asset/assetUnknownError.js.map +1 -0
  87. package/src/lib/errors/asset/index.d.ts +13 -0
  88. package/src/lib/errors/asset/index.d.ts.map +1 -0
  89. package/src/lib/errors/asset/index.js +16 -0
  90. package/src/lib/errors/asset/index.js.map +1 -0
  91. package/src/lib/errors/asset/insufficientAvailableBalanceError.d.ts +13 -0
  92. package/src/lib/errors/asset/insufficientAvailableBalanceError.d.ts.map +1 -0
  93. package/src/lib/errors/asset/insufficientAvailableBalanceError.js +25 -0
  94. package/src/lib/errors/asset/insufficientAvailableBalanceError.js.map +1 -0
  95. package/src/lib/errors/asset/invalidAmountError.d.ts +11 -0
  96. package/src/lib/errors/asset/invalidAmountError.d.ts.map +1 -0
  97. package/src/lib/errors/asset/invalidAmountError.js +20 -0
  98. package/src/lib/errors/asset/invalidAmountError.js.map +1 -0
  99. package/src/lib/errors/asset/ledgerAlreadyAttachedError.d.ts +11 -0
  100. package/src/lib/errors/asset/ledgerAlreadyAttachedError.d.ts.map +1 -0
  101. package/src/lib/errors/asset/ledgerAlreadyAttachedError.js +19 -0
  102. package/src/lib/errors/asset/ledgerAlreadyAttachedError.js.map +1 -0
  103. package/src/lib/errors/asset/mixedAssetError.d.ts +12 -0
  104. package/src/lib/errors/asset/mixedAssetError.d.ts.map +1 -0
  105. package/src/lib/errors/asset/mixedAssetError.js +22 -0
  106. package/src/lib/errors/asset/mixedAssetError.js.map +1 -0
  107. package/src/lib/errors/asset/reservationExpiredError.d.ts +13 -0
  108. package/src/lib/errors/asset/reservationExpiredError.d.ts.map +1 -0
  109. package/src/lib/errors/asset/reservationExpiredError.js +24 -0
  110. package/src/lib/errors/asset/reservationExpiredError.js.map +1 -0
  111. package/src/lib/errors/asset/reservationNotFoundError.d.ts +11 -0
  112. package/src/lib/errors/asset/reservationNotFoundError.d.ts.map +1 -0
  113. package/src/lib/errors/asset/reservationNotFoundError.js +20 -0
  114. package/src/lib/errors/asset/reservationNotFoundError.js.map +1 -0
  115. package/src/lib/errors/encryptionErrors.d.ts.map +1 -1
  116. package/src/lib/errors/encryptionErrors.js.map +1 -1
  117. package/src/lib/errors/friendsServiceError.d.ts +20 -0
  118. package/src/lib/errors/friendsServiceError.d.ts.map +1 -0
  119. package/src/lib/errors/friendsServiceError.js +48 -0
  120. package/src/lib/errors/friendsServiceError.js.map +1 -0
  121. package/src/lib/errors/index.d.ts +23 -0
  122. package/src/lib/errors/index.d.ts.map +1 -1
  123. package/src/lib/errors/index.js +29 -0
  124. package/src/lib/errors/index.js.map +1 -1
  125. package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
  126. package/src/lib/i18n/strings/englishUs.js +151 -1
  127. package/src/lib/i18n/strings/englishUs.js.map +1 -1
  128. package/src/lib/i18n/strings/french.d.ts.map +1 -1
  129. package/src/lib/i18n/strings/french.js +153 -3
  130. package/src/lib/i18n/strings/french.js.map +1 -1
  131. package/src/lib/i18n/strings/german.d.ts.map +1 -1
  132. package/src/lib/i18n/strings/german.js +151 -1
  133. package/src/lib/i18n/strings/german.js.map +1 -1
  134. package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
  135. package/src/lib/i18n/strings/japanese.js +151 -1
  136. package/src/lib/i18n/strings/japanese.js.map +1 -1
  137. package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
  138. package/src/lib/i18n/strings/mandarin.js +151 -1
  139. package/src/lib/i18n/strings/mandarin.js.map +1 -1
  140. package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
  141. package/src/lib/i18n/strings/spanish.js +151 -1
  142. package/src/lib/i18n/strings/spanish.js.map +1 -1
  143. package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
  144. package/src/lib/i18n/strings/ukrainian.js +151 -1
  145. package/src/lib/i18n/strings/ukrainian.js.map +1 -1
  146. package/src/lib/index.d.ts +36 -1
  147. package/src/lib/index.d.ts.map +1 -1
  148. package/src/lib/index.js +48 -1
  149. package/src/lib/index.js.map +1 -1
  150. package/src/lib/interfaces/appSubsystemPlugin.d.ts +74 -0
  151. package/src/lib/interfaces/appSubsystemPlugin.d.ts.map +1 -0
  152. package/src/lib/interfaces/appSubsystemPlugin.js +3 -0
  153. package/src/lib/interfaces/appSubsystemPlugin.js.map +1 -0
  154. package/src/lib/interfaces/assetAccount.d.ts +91 -0
  155. package/src/lib/interfaces/assetAccount.d.ts.map +1 -0
  156. package/src/lib/interfaces/assetAccount.js +3 -0
  157. package/src/lib/interfaces/assetAccount.js.map +1 -0
  158. package/src/lib/interfaces/brightpass/vaultEntry.d.ts +38 -0
  159. package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -1
  160. package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +11 -0
  161. package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -1
  162. package/src/lib/interfaces/communication/chatStorageProvider.d.ts +1 -1
  163. package/src/lib/interfaces/communication/chatStorageProvider.d.ts.map +1 -1
  164. package/src/lib/interfaces/communication/index.d.ts +2 -0
  165. package/src/lib/interfaces/communication/index.d.ts.map +1 -1
  166. package/src/lib/interfaces/communication/index.js +2 -0
  167. package/src/lib/interfaces/communication/index.js.map +1 -1
  168. package/src/lib/interfaces/communication/server.d.ts +8 -0
  169. package/src/lib/interfaces/communication/server.d.ts.map +1 -1
  170. package/src/lib/interfaces/communication/serverIconConfig.d.ts +32 -0
  171. package/src/lib/interfaces/communication/serverIconConfig.d.ts.map +1 -0
  172. package/src/lib/interfaces/communication/serverIconConfig.js +35 -0
  173. package/src/lib/interfaces/communication/serverIconConfig.js.map +1 -0
  174. package/src/lib/interfaces/communication/serverIconRequest.d.ts +12 -0
  175. package/src/lib/interfaces/communication/serverIconRequest.d.ts.map +1 -0
  176. package/src/lib/interfaces/communication/serverIconRequest.js +3 -0
  177. package/src/lib/interfaces/communication/serverIconRequest.js.map +1 -0
  178. package/src/lib/interfaces/communication.d.ts +2 -0
  179. package/src/lib/interfaces/communication.d.ts.map +1 -1
  180. package/src/lib/interfaces/constants.d.ts +16 -0
  181. package/src/lib/interfaces/constants.d.ts.map +1 -1
  182. package/src/lib/interfaces/energyAccount.d.ts +13 -34
  183. package/src/lib/interfaces/energyAccount.d.ts.map +1 -1
  184. package/src/lib/interfaces/energyTransaction.d.ts +25 -6
  185. package/src/lib/interfaces/energyTransaction.d.ts.map +1 -1
  186. package/src/lib/interfaces/friends/baseFriendRequest.d.ts +13 -0
  187. package/src/lib/interfaces/friends/baseFriendRequest.d.ts.map +1 -0
  188. package/src/lib/interfaces/friends/baseFriendRequest.js +3 -0
  189. package/src/lib/interfaces/friends/baseFriendRequest.js.map +1 -0
  190. package/src/lib/interfaces/friends/baseFriendship.d.ts +11 -0
  191. package/src/lib/interfaces/friends/baseFriendship.d.ts.map +1 -0
  192. package/src/lib/interfaces/friends/baseFriendship.js +3 -0
  193. package/src/lib/interfaces/friends/baseFriendship.js.map +1 -0
  194. package/src/lib/interfaces/friends/friendsService.d.ts +32 -0
  195. package/src/lib/interfaces/friends/friendsService.d.ts.map +1 -0
  196. package/src/lib/interfaces/friends/friendsService.js +3 -0
  197. package/src/lib/interfaces/friends/friendsService.js.map +1 -0
  198. package/src/lib/interfaces/friends/friendsSuggestionProvider.d.ts +17 -0
  199. package/src/lib/interfaces/friends/friendsSuggestionProvider.d.ts.map +1 -0
  200. package/src/lib/interfaces/friends/friendsSuggestionProvider.js +3 -0
  201. package/src/lib/interfaces/friends/friendsSuggestionProvider.js.map +1 -0
  202. package/src/lib/interfaces/friends/index.d.ts +6 -0
  203. package/src/lib/interfaces/friends/index.d.ts.map +1 -0
  204. package/src/lib/interfaces/friends/index.js +3 -0
  205. package/src/lib/interfaces/friends/index.js.map +1 -0
  206. package/src/lib/interfaces/friends/pagination.d.ts +11 -0
  207. package/src/lib/interfaces/friends/pagination.d.ts.map +1 -0
  208. package/src/lib/interfaces/friends/pagination.js +3 -0
  209. package/src/lib/interfaces/friends/pagination.js.map +1 -0
  210. package/src/lib/interfaces/identity/brightChainIdentity.d.ts +29 -0
  211. package/src/lib/interfaces/identity/brightChainIdentity.d.ts.map +1 -0
  212. package/src/lib/interfaces/identity/brightChainIdentity.js +3 -0
  213. package/src/lib/interfaces/identity/brightChainIdentity.js.map +1 -0
  214. package/src/lib/interfaces/identity/index.d.ts +1 -0
  215. package/src/lib/interfaces/identity/index.d.ts.map +1 -1
  216. package/src/lib/interfaces/index.d.ts +7 -0
  217. package/src/lib/interfaces/index.d.ts.map +1 -1
  218. package/src/lib/interfaces/index.js +8 -0
  219. package/src/lib/interfaces/index.js.map +1 -1
  220. package/src/lib/interfaces/messaging/attachmentMetadata.d.ts +12 -0
  221. package/src/lib/interfaces/messaging/attachmentMetadata.d.ts.map +1 -1
  222. package/src/lib/interfaces/messaging/emailMetadata.d.ts +55 -0
  223. package/src/lib/interfaces/messaging/emailMetadata.d.ts.map +1 -1
  224. package/src/lib/interfaces/messaging/emailMetadata.js.map +1 -1
  225. package/src/lib/interfaces/pouw/challengeToken.d.ts +20 -0
  226. package/src/lib/interfaces/pouw/challengeToken.d.ts.map +1 -0
  227. package/src/lib/interfaces/pouw/challengeToken.js +3 -0
  228. package/src/lib/interfaces/pouw/challengeToken.js.map +1 -0
  229. package/src/lib/interfaces/pouw/index.d.ts +8 -0
  230. package/src/lib/interfaces/pouw/index.d.ts.map +1 -0
  231. package/src/lib/interfaces/pouw/index.js +12 -0
  232. package/src/lib/interfaces/pouw/index.js.map +1 -0
  233. package/src/lib/interfaces/pouw/pouwConfig.d.ts +91 -0
  234. package/src/lib/interfaces/pouw/pouwConfig.d.ts.map +1 -0
  235. package/src/lib/interfaces/pouw/pouwConfig.js +24 -0
  236. package/src/lib/interfaces/pouw/pouwConfig.js.map +1 -0
  237. package/src/lib/interfaces/pouw/pouwMetrics.d.ts +23 -0
  238. package/src/lib/interfaces/pouw/pouwMetrics.d.ts.map +1 -0
  239. package/src/lib/interfaces/pouw/pouwMetrics.js +3 -0
  240. package/src/lib/interfaces/pouw/pouwMetrics.js.map +1 -0
  241. package/src/lib/interfaces/pouw/workResult.d.ts +19 -0
  242. package/src/lib/interfaces/pouw/workResult.d.ts.map +1 -0
  243. package/src/lib/interfaces/pouw/workResult.js +3 -0
  244. package/src/lib/interfaces/pouw/workResult.js.map +1 -0
  245. package/src/lib/interfaces/pouw/workUnit.d.ts +48 -0
  246. package/src/lib/interfaces/pouw/workUnit.d.ts.map +1 -0
  247. package/src/lib/interfaces/pouw/workUnit.js +14 -0
  248. package/src/lib/interfaces/pouw/workUnit.js.map +1 -0
  249. package/src/lib/interfaces/responses/adminDashboardResponse.d.ts +7 -0
  250. package/src/lib/interfaces/responses/adminDashboardResponse.d.ts.map +1 -1
  251. package/src/lib/interfaces/responses/communicationResponses.d.ts +2 -0
  252. package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -1
  253. package/src/lib/interfaces/responses/identityResponseData.d.ts +10 -0
  254. package/src/lib/interfaces/responses/identityResponseData.d.ts.map +1 -0
  255. package/src/lib/interfaces/responses/identityResponseData.js +3 -0
  256. package/src/lib/interfaces/responses/identityResponseData.js.map +1 -0
  257. package/src/lib/interfaces/responses/index.d.ts +1 -0
  258. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  259. package/src/lib/interfaces/staging/commitRequest.d.ts +28 -0
  260. package/src/lib/interfaces/staging/commitRequest.d.ts.map +1 -0
  261. package/src/lib/interfaces/staging/commitRequest.js +3 -0
  262. package/src/lib/interfaces/staging/commitRequest.js.map +1 -0
  263. package/src/lib/interfaces/staging/commitResponse.d.ts +17 -0
  264. package/src/lib/interfaces/staging/commitResponse.d.ts.map +1 -0
  265. package/src/lib/interfaces/staging/commitResponse.js +3 -0
  266. package/src/lib/interfaces/staging/commitResponse.js.map +1 -0
  267. package/src/lib/interfaces/staging/index.d.ts +7 -0
  268. package/src/lib/interfaces/staging/index.d.ts.map +1 -0
  269. package/src/lib/interfaces/staging/index.js +6 -0
  270. package/src/lib/interfaces/staging/index.js.map +1 -0
  271. package/src/lib/interfaces/staging/processingParams.d.ts +16 -0
  272. package/src/lib/interfaces/staging/processingParams.d.ts.map +1 -0
  273. package/src/lib/interfaces/staging/processingParams.js +3 -0
  274. package/src/lib/interfaces/staging/processingParams.js.map +1 -0
  275. package/src/lib/interfaces/staging/stagedFileRecord.d.ts +23 -0
  276. package/src/lib/interfaces/staging/stagedFileRecord.d.ts.map +1 -0
  277. package/src/lib/interfaces/staging/stagedFileRecord.js +3 -0
  278. package/src/lib/interfaces/staging/stagedFileRecord.js.map +1 -0
  279. package/src/lib/interfaces/staging/stagingConfig.d.ts +19 -0
  280. package/src/lib/interfaces/staging/stagingConfig.d.ts.map +1 -0
  281. package/src/lib/interfaces/staging/stagingConfig.js +11 -0
  282. package/src/lib/interfaces/staging/stagingConfig.js.map +1 -0
  283. package/src/lib/interfaces/staging/tempUploadResponse.d.ts +19 -0
  284. package/src/lib/interfaces/staging/tempUploadResponse.d.ts.map +1 -0
  285. package/src/lib/interfaces/staging/tempUploadResponse.js +3 -0
  286. package/src/lib/interfaces/staging/tempUploadResponse.js.map +1 -0
  287. package/src/lib/interfaces/storage/blockStore.d.ts +22 -4
  288. package/src/lib/interfaces/storage/blockStore.d.ts.map +1 -1
  289. package/src/lib/interfaces/storage/documentTypes.d.ts +4 -0
  290. package/src/lib/interfaces/storage/documentTypes.d.ts.map +1 -1
  291. package/src/lib/interfaces/storage/headRegistry.d.ts +38 -0
  292. package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -1
  293. package/src/lib/interfaces/storage/headRegistryDriver.d.ts +47 -0
  294. package/src/lib/interfaces/storage/headRegistryDriver.d.ts.map +1 -0
  295. package/src/lib/interfaces/storage/headRegistryDriver.js +15 -0
  296. package/src/lib/interfaces/storage/headRegistryDriver.js.map +1 -0
  297. package/src/lib/interfaces/storage/index.d.ts +1 -0
  298. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  299. package/src/lib/interfaces/storage/index.js.map +1 -1
  300. package/src/lib/joule/formatJoule.d.ts +44 -0
  301. package/src/lib/joule/formatJoule.d.ts.map +1 -0
  302. package/src/lib/joule/formatJoule.js +121 -0
  303. package/src/lib/joule/formatJoule.js.map +1 -0
  304. package/src/lib/joule/index.d.ts +10 -0
  305. package/src/lib/joule/index.d.ts.map +1 -0
  306. package/src/lib/joule/index.js +13 -0
  307. package/src/lib/joule/index.js.map +1 -0
  308. package/src/lib/joule/jouleConstants.d.ts +13 -0
  309. package/src/lib/joule/jouleConstants.d.ts.map +1 -0
  310. package/src/lib/joule/jouleConstants.js +18 -0
  311. package/src/lib/joule/jouleConstants.js.map +1 -0
  312. package/src/lib/joule/rateTable.d.ts +55 -0
  313. package/src/lib/joule/rateTable.d.ts.map +1 -0
  314. package/src/lib/joule/rateTable.js +58 -0
  315. package/src/lib/joule/rateTable.js.map +1 -0
  316. package/src/lib/joule/resourceClass.d.ts +18 -0
  317. package/src/lib/joule/resourceClass.d.ts.map +1 -0
  318. package/src/lib/joule/resourceClass.js +28 -0
  319. package/src/lib/joule/resourceClass.js.map +1 -0
  320. package/src/lib/operationCost.d.ts +12 -7
  321. package/src/lib/operationCost.d.ts.map +1 -1
  322. package/src/lib/operationCost.js +11 -4
  323. package/src/lib/operationCost.js.map +1 -1
  324. package/src/lib/pouw/computeWorkUnit.d.ts +41 -0
  325. package/src/lib/pouw/computeWorkUnit.d.ts.map +1 -0
  326. package/src/lib/pouw/computeWorkUnit.js +92 -0
  327. package/src/lib/pouw/computeWorkUnit.js.map +1 -0
  328. package/src/lib/pouw/index.d.ts +8 -0
  329. package/src/lib/pouw/index.d.ts.map +1 -0
  330. package/src/lib/pouw/index.js +12 -0
  331. package/src/lib/pouw/index.js.map +1 -0
  332. package/src/lib/serializers/index.d.ts +2 -0
  333. package/src/lib/serializers/index.d.ts.map +1 -0
  334. package/src/lib/serializers/index.js +10 -0
  335. package/src/lib/serializers/index.js.map +1 -0
  336. package/src/lib/serializers/workUnitSerializer.d.ts +39 -0
  337. package/src/lib/serializers/workUnitSerializer.d.ts.map +1 -0
  338. package/src/lib/serializers/workUnitSerializer.js +150 -0
  339. package/src/lib/serializers/workUnitSerializer.js.map +1 -0
  340. package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts +1 -1
  341. package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts.map +1 -1
  342. package/src/lib/services/communication/__tests__/mockChatStorageProvider.js +5 -3
  343. package/src/lib/services/communication/__tests__/mockChatStorageProvider.js.map +1 -1
  344. package/src/lib/services/communication/__tests__/mockStorageProvider.d.ts +6 -0
  345. package/src/lib/services/communication/__tests__/mockStorageProvider.d.ts.map +1 -0
  346. package/src/lib/services/communication/__tests__/mockStorageProvider.js +41 -0
  347. package/src/lib/services/communication/__tests__/mockStorageProvider.js.map +1 -0
  348. package/src/lib/services/communication/channelService.d.ts +17 -3
  349. package/src/lib/services/communication/channelService.d.ts.map +1 -1
  350. package/src/lib/services/communication/channelService.js +80 -15
  351. package/src/lib/services/communication/channelService.js.map +1 -1
  352. package/src/lib/services/communication/conversationService.d.ts +1 -1
  353. package/src/lib/services/communication/conversationService.d.ts.map +1 -1
  354. package/src/lib/services/communication/conversationService.js +34 -4
  355. package/src/lib/services/communication/conversationService.js.map +1 -1
  356. package/src/lib/services/communication/groupService.d.ts +1 -1
  357. package/src/lib/services/communication/groupService.d.ts.map +1 -1
  358. package/src/lib/services/communication/groupService.js +30 -4
  359. package/src/lib/services/communication/groupService.js.map +1 -1
  360. package/src/lib/services/communication/rehydrationHelpers.d.ts.map +1 -1
  361. package/src/lib/services/communication/rehydrationHelpers.js +1 -2
  362. package/src/lib/services/communication/rehydrationHelpers.js.map +1 -1
  363. package/src/lib/services/communication/serverService.d.ts +13 -115
  364. package/src/lib/services/communication/serverService.d.ts.map +1 -1
  365. package/src/lib/services/communication/serverService.js +93 -239
  366. package/src/lib/services/communication/serverService.js.map +1 -1
  367. package/src/lib/services/copyOnWrite.service.d.ts +110 -0
  368. package/src/lib/services/copyOnWrite.service.d.ts.map +1 -0
  369. package/src/lib/services/copyOnWrite.service.js +255 -0
  370. package/src/lib/services/copyOnWrite.service.js.map +1 -0
  371. package/src/lib/services/index.d.ts +1 -0
  372. package/src/lib/services/index.d.ts.map +1 -1
  373. package/src/lib/services/index.js +1 -0
  374. package/src/lib/services/index.js.map +1 -1
  375. package/src/lib/services/memberStore.d.ts +7 -1
  376. package/src/lib/services/memberStore.d.ts.map +1 -1
  377. package/src/lib/services/memberStore.js +57 -1
  378. package/src/lib/services/memberStore.js.map +1 -1
  379. package/src/lib/services/messaging/emailMessageService.d.ts +89 -0
  380. package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
  381. package/src/lib/services/messaging/emailMessageService.js +207 -28
  382. package/src/lib/services/messaging/emailMessageService.js.map +1 -1
  383. package/src/lib/services/messaging/emailParser.d.ts.map +1 -1
  384. package/src/lib/services/messaging/emailParser.js +1 -0
  385. package/src/lib/services/messaging/emailParser.js.map +1 -1
  386. package/src/lib/stores/assetAccountStore.d.ts +102 -0
  387. package/src/lib/stores/assetAccountStore.d.ts.map +1 -0
  388. package/src/lib/stores/assetAccountStore.js +276 -0
  389. package/src/lib/stores/assetAccountStore.js.map +1 -0
  390. package/src/lib/stores/blockStoreAdapter.d.ts +2 -0
  391. package/src/lib/stores/blockStoreAdapter.d.ts.map +1 -1
  392. package/src/lib/stores/blockStoreAdapter.js +3 -0
  393. package/src/lib/stores/blockStoreAdapter.js.map +1 -1
  394. package/src/lib/stores/energyAccountStore.d.ts +22 -36
  395. package/src/lib/stores/energyAccountStore.d.ts.map +1 -1
  396. package/src/lib/stores/energyAccountStore.js +33 -63
  397. package/src/lib/stores/energyAccountStore.js.map +1 -1
  398. package/src/lib/stores/memoryBlockStore.d.ts +16 -1
  399. package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
  400. package/src/lib/stores/memoryBlockStore.js +42 -6
  401. package/src/lib/stores/memoryBlockStore.js.map +1 -1
  402. package/src/lib/utils/index.d.ts +6 -0
  403. package/src/lib/utils/index.d.ts.map +1 -1
  404. package/src/lib/utils/index.js +9 -0
  405. package/src/lib/utils/index.js.map +1 -1
  406. package/src/lib/utils/sortPair.d.ts +6 -0
  407. package/src/lib/utils/sortPair.d.ts.map +1 -0
  408. package/src/lib/utils/sortPair.js +11 -0
  409. package/src/lib/utils/sortPair.js.map +1 -0
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * ServerService — manages server lifecycle, membership, and channel organization.
4
4
  *
5
- * Maintains in-memory stores for servers. When an IChatStorageProvider is
6
- * injected, servers are also persisted to the provider's collections (write-through).
7
- * Without a provider (e.g. in unit tests), services fall back to in-memory Maps.
5
+ * Uses the IChatStorageProvider collections as the primary data store.
6
+ * An in-memory cache is maintained for fast synchronous lookups (e.g.
7
+ * getMemberRole) and is kept in sync with the collection on every write.
8
8
  *
9
9
  * Requirements: 1.1, 1.3, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
10
10
  */
@@ -66,85 +66,64 @@ class ServerInviteExpiredError extends Error {
66
66
  exports.ServerInviteExpiredError = ServerInviteExpiredError;
67
67
  // ─── Service ────────────────────────────────────────────────────────────────
68
68
  class ServerService {
69
- /** serverId IServer */
70
- servers = new Map();
71
- /** token IServerInviteToken */
72
- serverInviteTokens = new Map();
69
+ /** In-memory cache for fast synchronous lookups (getMemberRole). */
70
+ cache = new Map();
71
+ inviteCache = new Map();
73
72
  channelService;
74
73
  eventEmitter;
75
- /** Optional persistent collection for servers (write-through). */
74
+ /** Persistent collection source of truth. */
76
75
  serverCollection;
77
- /** Optional persistent collection for server invite tokens (write-through). */
78
76
  serverInviteCollection;
79
- /** Whether init() has already been called. */
80
77
  initialized = false;
81
78
  constructor(options) {
82
79
  this.channelService = options.channelService;
83
80
  this.eventEmitter = options.eventEmitter ?? new events_1.NullEventEmitter();
84
- if (options.storageProvider) {
85
- this.serverCollection = options.storageProvider.servers;
86
- this.serverInviteCollection = options.storageProvider.serverInvites;
87
- }
81
+ this.serverCollection = options.storageProvider.servers;
82
+ this.serverInviteCollection = options.storageProvider.serverInvites;
88
83
  }
89
- // ─── Rehydration ──────────────────────────────────────────────────────
90
- /**
91
- * Load persisted servers and server invite tokens back into in-memory Maps.
92
- *
93
- * Idempotent: only the first call performs rehydration. No-op when no
94
- * storage provider was supplied at construction time.
95
- *
96
- * Requirements: 1.4, 1.5, 1.6, 5.1, 5.2, 8.1, 8.2, 9.1
97
- */
84
+ // ─── Initialization ───────────────────────────────────────────────────
85
+ /** Load persisted data into the cache. Must be called before use. */
98
86
  async init() {
99
87
  if (this.initialized)
100
88
  return;
101
- if (!this.serverCollection)
102
- return;
103
89
  this.initialized = true;
104
- // ── Load servers ──────────────────────────────────────────────────
105
- let loadedServers;
106
- try {
107
- loadedServers = await this.serverCollection.findMany();
108
- }
109
- catch (error) {
110
- console.error('[ServerService] Failed to load from servers collection:', error);
111
- throw error;
112
- }
113
- for (const server of loadedServers) {
114
- this.servers.set(server.id, server);
90
+ const servers = await this.serverCollection.findMany();
91
+ for (const server of servers) {
92
+ this.cache.set(server.id, server);
115
93
  }
116
- // ── Load server invite tokens ───────────────────────────────────
117
- let loadedInvites;
118
- try {
119
- loadedInvites = await this.serverInviteCollection.findMany();
120
- }
121
- catch (error) {
122
- console.error('[ServerService] Failed to load from serverInvites collection:', error);
123
- throw error;
124
- }
125
- for (const invite of loadedInvites) {
126
- this.serverInviteTokens.set(invite.token, invite);
94
+ const invites = await this.serverInviteCollection.findMany();
95
+ for (const invite of invites) {
96
+ this.inviteCache.set(invite.token, invite);
127
97
  }
128
98
  }
129
- // ─── Helpers ──────────────────────────────────────────────────────────
99
+ // ─── Private helpers ──────────────────────────────────────────────────
130
100
  validateServerName(name) {
131
101
  if (!name || name.length === 0 || name.length > 100) {
132
102
  throw new ServerNameValidationError();
133
103
  }
134
104
  }
135
- assertServerExists(serverId) {
136
- const server = this.servers.get(serverId);
137
- if (!server)
138
- throw new ServerNotFoundError(serverId);
139
- return server;
105
+ async resolveServer(serverId) {
106
+ const fromDb = await this.serverCollection.findById(serverId);
107
+ if (fromDb) {
108
+ this.cache.set(serverId, fromDb);
109
+ return fromDb;
110
+ }
111
+ throw new ServerNotFoundError(serverId);
112
+ }
113
+ async persistServer(server) {
114
+ this.cache.set(server.id, server);
115
+ await this.serverCollection.update(server.id, server);
116
+ }
117
+ async resolveInvite(token) {
118
+ const fromDb = await this.serverInviteCollection.findById(token);
119
+ if (fromDb) {
120
+ this.inviteCache.set(token, fromDb);
121
+ return fromDb;
122
+ }
123
+ return null;
140
124
  }
141
- /**
142
- * Returns the role of a member within a server.
143
- * The server owner always has OWNER role; all other members have MEMBER role.
144
- * Returns null if the user is not a member.
145
- */
146
125
  getMemberRole(serverId, memberId) {
147
- const server = this.servers.get(serverId);
126
+ const server = this.cache.get(serverId);
148
127
  if (!server)
149
128
  return null;
150
129
  if (!server.memberIds.includes(memberId))
@@ -165,22 +144,12 @@ class ServerService {
165
144
  }
166
145
  }
167
146
  // ─── CRUD ─────────────────────────────────────────────────────────────
168
- /**
169
- * Create a new server with a default "General" category and "general" channel.
170
- * The owner is added as the first member.
171
- *
172
- * Requirements: 1.1, 1.3, 2.1
173
- */
174
147
  async createServer(ownerId, params) {
175
148
  this.validateServerName(params.name);
176
149
  const now = new Date();
177
150
  const serverId = (0, uuid_1.v4)();
178
151
  const categoryId = (0, uuid_1.v4)();
179
- // Create the default "general" channel via ChannelService
180
- const generalChannel = await this.channelService.createChannel('general', ownerId, communication_1.ChannelVisibility.PUBLIC, '');
181
- // Link the channel to this server
182
- generalChannel.serverId = serverId;
183
- // Build the default "General" category
152
+ const generalChannel = await this.channelService.createChannel('general', ownerId, communication_1.ChannelVisibility.PUBLIC, '', serverId);
184
153
  const defaultCategory = {
185
154
  id: categoryId,
186
155
  name: 'General',
@@ -198,97 +167,68 @@ class ServerService {
198
167
  createdAt: now,
199
168
  updatedAt: now,
200
169
  };
201
- this.servers.set(serverId, server);
202
- // Persist to storage provider if available
203
- if (this.serverCollection) {
204
- await this.serverCollection.create(server);
205
- }
170
+ this.cache.set(serverId, server);
171
+ await this.serverCollection.create(server);
206
172
  return server;
207
173
  }
208
- /**
209
- * Get a server by ID.
210
- * Throws ServerNotFoundError if the server does not exist.
211
- *
212
- * Requirement: 2.3
213
- */
214
174
  async getServer(serverId) {
215
- return this.assertServerExists(serverId);
175
+ return this.resolveServer(serverId);
216
176
  }
217
- /**
218
- * Update server settings (name, iconUrl, categories).
219
- * Only the owner or admin can update.
220
- *
221
- * Requirements: 2.4, 2.5
222
- */
223
177
  async updateServer(serverId, userId, update) {
224
- const server = this.assertServerExists(serverId);
178
+ const server = await this.resolveServer(serverId);
225
179
  this.assertCanUpdate(server, userId);
226
180
  if (update.name !== undefined) {
227
181
  this.validateServerName(update.name);
228
182
  server.name = update.name;
229
183
  }
230
- if (update.iconUrl !== undefined) {
184
+ if ('iconUrl' in update)
231
185
  server.iconUrl = update.iconUrl;
232
- }
233
- if (update.categories !== undefined) {
186
+ if ('iconFaClass' in update)
187
+ server.iconFaClass = update.iconFaClass;
188
+ if ('iconAssetId' in update)
189
+ server.iconAssetId = update.iconAssetId;
190
+ if ('iconVaultContainerId' in update)
191
+ server.iconVaultContainerId = update.iconVaultContainerId;
192
+ if (update.categories !== undefined)
234
193
  server.categories = update.categories;
235
- }
236
194
  server.updatedAt = new Date();
237
- // Persist to storage provider if available
238
- if (this.serverCollection) {
239
- await this.serverCollection.update(serverId, server);
240
- }
195
+ await this.persistServer(server);
241
196
  return server;
242
197
  }
243
- /**
244
- * Delete a server and cascade-delete all its channels.
245
- * Only the owner can delete.
246
- *
247
- * Requirements: 2.5, 2.6
248
- */
249
198
  async deleteServer(serverId, userId) {
250
- const server = this.assertServerExists(serverId);
199
+ const server = await this.resolveServer(serverId);
251
200
  this.assertCanDelete(server, userId);
252
- // Cascade delete all channels belonging to this server
253
201
  for (const channelId of server.channelIds) {
254
202
  try {
255
203
  await this.channelService.deleteChannel(channelId, server.ownerId);
256
204
  }
257
205
  catch {
258
- // Channel may already be deleted; continue cleanup
206
+ // Channel may already be deleted
259
207
  }
260
208
  }
261
- this.servers.delete(serverId);
262
- // Persist deletion to storage provider if available
263
- if (this.serverCollection) {
264
- await this.serverCollection.delete(serverId);
265
- }
209
+ this.cache.delete(serverId);
210
+ await this.serverCollection.delete(serverId);
266
211
  }
267
- /**
268
- * List all servers where the given member is a member.
269
- * Supports cursor-based pagination.
270
- *
271
- * Requirement: 2.2
272
- */
273
212
  async listServersForMember(memberId, pagination) {
274
- const memberServers = Array.from(this.servers.values()).filter((s) => s.memberIds.includes(memberId));
275
- // Sort by creation date descending (newest first)
276
- memberServers.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
213
+ const allServers = await this.serverCollection.findMany();
214
+ // Refresh cache
215
+ for (const s of allServers)
216
+ this.cache.set(s.id, s);
217
+ const memberServers = allServers.filter((s) => s.memberIds.includes(memberId));
218
+ memberServers.sort((a, b) => {
219
+ const aTime = a.createdAt instanceof Date
220
+ ? a.createdAt.getTime()
221
+ : new Date(a.createdAt).getTime();
222
+ const bTime = b.createdAt instanceof Date
223
+ ? b.createdAt.getTime()
224
+ : new Date(b.createdAt).getTime();
225
+ return bTime - aTime;
226
+ });
277
227
  return (0, pagination_1.paginateItems)(memberServers, pagination?.cursor, pagination?.limit ?? 50);
278
228
  }
279
229
  // ─── Membership ────────────────────────────────────────────────────────
280
- /**
281
- * Add members to a server. Only owner or admin can add members.
282
- * Skips members who are already in the server. Returns the list of
283
- * actually added member IDs.
284
- *
285
- * After adding, distributes channel keys for all server channels
286
- * to each new member via ChannelService.addMemberToChannel().
287
- *
288
- * Requirements: 2.7, 6.1, 6.2, 6.3
289
- */
290
230
  async addMembers(serverId, userId, memberIds) {
291
- const server = this.assertServerExists(serverId);
231
+ const server = await this.resolveServer(serverId);
292
232
  this.assertCanUpdate(server, userId);
293
233
  const added = [];
294
234
  for (const memberId of memberIds) {
@@ -298,57 +238,30 @@ class ServerService {
298
238
  }
299
239
  }
300
240
  if (added.length > 0) {
301
- // Distribute channel keys for all server channels to each new member
302
241
  for (const memberId of added) {
303
242
  for (const channelId of server.channelIds) {
304
243
  await this.channelService.addMemberToChannel(channelId, memberId);
305
244
  }
306
245
  }
307
246
  server.updatedAt = new Date();
308
- // Persist to storage provider if available
309
- if (this.serverCollection) {
310
- await this.serverCollection.update(serverId, server);
311
- }
247
+ await this.persistServer(server);
312
248
  }
313
249
  return added;
314
250
  }
315
- /**
316
- * Remove a member from a server and all of its channels.
317
- * Only owner or admin can remove members. Emits SERVER_MEMBER_REMOVED event.
318
- *
319
- * Delegates to ChannelService.removeMemberFromChannel() for each channel,
320
- * which performs epoch-aware key rotation and removes the member's wrapped
321
- * key entries from all epochs.
322
- *
323
- * Requirements: 2.8, 7.1, 7.2, 7.3
324
- */
325
251
  async removeMember(serverId, userId, memberId) {
326
- const server = this.assertServerExists(serverId);
252
+ const server = await this.resolveServer(serverId);
327
253
  this.assertCanUpdate(server, userId);
328
- // Remove from server memberIds
329
254
  server.memberIds = server.memberIds.filter((id) => id !== memberId);
330
- // Remove from all server channels via ChannelService (triggers key rotation)
331
255
  for (const channelId of server.channelIds) {
332
256
  await this.channelService.removeMemberFromChannel(channelId, memberId);
333
257
  }
334
258
  server.updatedAt = new Date();
335
- // Persist to storage provider if available
336
- if (this.serverCollection) {
337
- await this.serverCollection.update(serverId, server);
338
- }
259
+ await this.persistServer(server);
339
260
  this.eventEmitter.emitServerMemberRemoved(serverId, memberId);
340
261
  }
341
262
  // ─── Invites ──────────────────────────────────────────────────────────
342
- /**
343
- * Create an invite token for a server.
344
- * Only members of the server can create invites.
345
- * Generates a unique token with optional expiration and max-use limits.
346
- *
347
- * Requirements: 3.1
348
- */
349
263
  async createInvite(serverId, userId, params) {
350
- const server = this.assertServerExists(serverId);
351
- // Caller must be a member of the server
264
+ const server = await this.resolveServer(serverId);
352
265
  if (!server.memberIds.includes(userId)) {
353
266
  throw new NotServerMemberError();
354
267
  }
@@ -364,82 +277,40 @@ class ServerService {
364
277
  maxUses: params.maxUses,
365
278
  currentUses: 0,
366
279
  };
367
- this.serverInviteTokens.set(invite.token, invite);
368
- // Persist to storage provider if available
369
- if (this.serverInviteCollection) {
370
- await this.serverInviteCollection.create(invite);
371
- }
280
+ this.inviteCache.set(invite.token, invite);
281
+ await this.serverInviteCollection.create(invite);
372
282
  return invite;
373
283
  }
374
- /**
375
- * Redeem an invite token to join a server.
376
- * Validates the token belongs to the specified server, checks expiration
377
- * and max-use limits, increments currentUses, and adds the user to the server.
378
- *
379
- * After joining, distributes channel keys for all server channels
380
- * to the new member via ChannelService.addMemberToChannel().
381
- *
382
- * Requirements: 3.2, 3.3, 3.4, 6.1, 6.2, 6.3
383
- */
384
284
  async redeemInvite(serverId, token, userId) {
385
- const invite = this.serverInviteTokens.get(token);
386
- if (!invite) {
285
+ const invite = await this.resolveInvite(token);
286
+ if (!invite)
387
287
  throw new ServerInviteNotFoundError(token);
388
- }
389
- // Validate the token belongs to the specified server
390
- if (invite.serverId !== serverId) {
288
+ if (invite.serverId !== serverId)
391
289
  throw new ServerInviteNotFoundError(token);
392
- }
393
- // Check expiration
394
- if (invite.expiresAt && new Date() >= invite.expiresAt) {
290
+ if (invite.expiresAt && new Date() >= invite.expiresAt)
395
291
  throw new ServerInviteExpiredError();
396
- }
397
- // Check max uses
398
- if (invite.maxUses !== undefined && invite.currentUses >= invite.maxUses) {
292
+ if (invite.maxUses !== undefined && invite.currentUses >= invite.maxUses)
399
293
  throw new ServerInviteExpiredError();
400
- }
401
- const server = this.assertServerExists(serverId);
402
- // Skip if already a member
294
+ const server = await this.resolveServer(serverId);
403
295
  if (server.memberIds.includes(userId)) {
404
296
  throw new MemberAlreadyInServerError(userId);
405
297
  }
406
- // Add user to server
407
298
  server.memberIds.push(userId);
408
299
  server.updatedAt = new Date();
409
- // Distribute channel keys for all server channels to the new member
410
300
  for (const channelId of server.channelIds) {
411
301
  await this.channelService.addMemberToChannel(channelId, userId);
412
302
  }
413
- // Increment usage
414
303
  invite.currentUses++;
415
- // Persist changes to storage provider if available
416
- if (this.serverCollection) {
417
- await this.serverCollection.update(serverId, server);
418
- }
419
- if (this.serverInviteCollection) {
420
- await this.serverInviteCollection.update(invite.token, invite);
421
- }
304
+ await this.persistServer(server);
305
+ this.inviteCache.set(invite.token, invite);
306
+ await this.serverInviteCollection.update(invite.token, invite);
422
307
  }
423
308
  // ─── Channel management within server ────────────────────────────────
424
- /**
425
- * Create a channel within a server.
426
- * Validates caller has owner/admin role, creates the channel via ChannelService,
427
- * sets serverId on the channel, adds channelId to server.channelIds,
428
- * adds to specified category (or first category if not specified),
429
- * and emits SERVER_CHANNEL_CREATED event.
430
- *
431
- * Requirements: 1.3, 1.4, 7.2
432
- */
433
309
  async createChannelInServer(serverId, userId, params, categoryId) {
434
- const server = this.assertServerExists(serverId);
310
+ const server = await this.resolveServer(serverId);
435
311
  this.assertCanUpdate(server, userId);
436
- // Create the channel via ChannelService
437
- const channel = await this.channelService.createChannel(params.name, userId, params.visibility, params.topic ?? '');
438
- // Link the channel to this server
439
- channel.serverId = serverId;
440
- // Add channelId to server's channelIds
312
+ const channel = await this.channelService.createChannel(params.name, userId, params.visibility, params.topic ?? '', serverId);
441
313
  server.channelIds.push(channel.id);
442
- // Determine target category
443
314
  let targetCategory;
444
315
  if (categoryId) {
445
316
  targetCategory = server.categories.find((c) => c.id === categoryId);
@@ -452,45 +323,28 @@ class ServerService {
452
323
  targetCategory.channelIds.push(channel.id);
453
324
  }
454
325
  server.updatedAt = new Date();
455
- // Persist to storage provider if available
456
- if (this.serverCollection) {
457
- await this.serverCollection.update(serverId, server);
458
- }
326
+ await this.persistServer(server);
459
327
  this.eventEmitter.emitServerChannelCreated(serverId, channel.id, channel.name, resolvedCategoryId);
460
328
  return channel;
461
329
  }
462
- /**
463
- * Remove a channel from a server.
464
- * Validates caller has owner/admin role, deletes the channel via ChannelService,
465
- * removes channelId from server.channelIds and from category.channelIds,
466
- * and emits SERVER_CHANNEL_DELETED event.
467
- *
468
- * Requirements: 1.3, 1.4, 7.2
469
- */
470
330
  async removeChannelFromServer(serverId, channelId, userId) {
471
- const server = this.assertServerExists(serverId);
331
+ const server = await this.resolveServer(serverId);
472
332
  this.assertCanUpdate(server, userId);
473
- // Delete the channel via ChannelService
474
333
  await this.channelService.deleteChannel(channelId, userId);
475
- // Remove channelId from server's channelIds
476
334
  server.channelIds = server.channelIds.filter((id) => id !== channelId);
477
- // Remove from any category that contains it
478
335
  for (const category of server.categories) {
479
336
  category.channelIds = category.channelIds.filter((id) => id !== channelId);
480
337
  }
481
338
  server.updatedAt = new Date();
482
- // Persist to storage provider if available
483
- if (this.serverCollection) {
484
- await this.serverCollection.update(serverId, server);
485
- }
339
+ await this.persistServer(server);
486
340
  this.eventEmitter.emitServerChannelDeleted(serverId, channelId);
487
341
  }
488
342
  // ─── Accessors (for testing / internal use) ───────────────────────────
489
343
  getServerById(serverId) {
490
- return this.servers.get(serverId);
344
+ return this.cache.get(serverId);
491
345
  }
492
346
  getInviteToken(token) {
493
- return this.serverInviteTokens.get(token);
347
+ return this.inviteCache.get(token);
494
348
  }
495
349
  }
496
350
  exports.ServerService = ServerService;
@@ -1 +1 @@
1
- {"version":3,"file":"serverService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/serverService.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,+BAAoC;AACpC,oEAI0C;AAe1C,oDAGiC;AACjC,uDAAuD;AAGvD,+EAA+E;AAE/E,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,QAAgB;QAC1B,KAAK,CAAC,UAAU,QAAQ,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAO,GAAG,mDAAmD;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C;QACE,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAO,GAAG,kDAAkD;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED,MAAa,0BAA2B,SAAQ,KAAK;IACnD,YAAY,QAAgB;QAC1B,KAAK,CAAC,UAAU,QAAQ,4BAA4B,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AALD,gEAKC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,KAAa;QACvB,KAAK,CAAC,uBAAuB,KAAK,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED,MAAa,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AALD,4DAKC;AAyBD,+EAA+E;AAE/E,MAAa,aAAa;IACxB,yBAAyB;IACR,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEtD,iCAAiC;IAChB,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,cAAc,CAAiB;IAC/B,YAAY,CAA6B;IAE1D,kEAAkE;IACjD,gBAAgB,CAAuC;IAExE,+EAA+E;IAC9D,sBAAsB,CAAkD;IAEzF,8CAA8C;IACtC,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAIX;QACC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,yBAAgB,EAAE,CAAC;QACnE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;QACtE,CAAC;IACH,CAAC;IAED,yEAAyE;IAEzE;;;;;;;OAOG;IACI,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,qEAAqE;QACrE,IAAI,aAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,yDAAyD,EACzD,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,mEAAmE;QACnE,IAAI,aAAmC,CAAC;QACxC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAuB,CAAC,QAAQ,EAAE,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,+DAA+D,EAC/D,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,yEAAyE;IAEjE,kBAAkB,CAAC,IAAY;QACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpD,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,QAAgB,EAAE,QAAgB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,2BAAW,CAAC,KAAK,CAAC;QAC1D,OAAO,2BAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEO,eAAe,CAAC,MAAe,EAAE,MAAc;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,2BAAW,CAAC,KAAK,IAAI,IAAI,KAAK,2BAAW,CAAC,KAAK,EAAE,CAAC;YAC7D,MAAM,IAAI,qBAAqB,CAC7B,uDAAuD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAe,EAAE,MAAc;QACrD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,qBAAqB,CAC7B,8CAA8C,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yEAAyE;IAEzE;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,MAA0B;QAE1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAA,SAAM,GAAE,CAAC;QAE5B,0DAA0D;QAC1D,MAAM,cAAc,GAAa,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACtE,SAAS,EACT,OAAO,EACP,iCAAiB,CAAC,MAAM,EACxB,EAAE,CACH,CAAC;QAEF,kCAAkC;QAClC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEnC,uCAAuC;QACvC,MAAM,eAAe,GAAoB;YACvC,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;SAChC,CAAC;QAEF,MAAM,MAAM,GAAY;YACtB,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO;YACP,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,UAAU,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,UAAU,EAAE,CAAC,eAAe,CAAC;YAC7B,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnC,2CAA2C;QAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,MAAc,EACd,MAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClC,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAc;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErC,uDAAuD;QACvD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE9B,oDAAoD;QACpD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,UAAgD;QAEhD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC/B,CAAC;QAEF,kDAAkD;QAClD,aAAa,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CACxD,CAAC;QAEF,OAAO,IAAA,0BAAa,EAClB,aAAa,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,KAAK,IAAI,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,0EAA0E;IAE1E;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAc,EACd,SAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,qEAAqE;YACrE,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAE9B,2CAA2C;YAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,MAAc,EACd,QAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErC,+BAA+B;QAC/B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAEpE,6EAA6E;QAC7E,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,yEAAyE;IAEzE;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,MAAc,EACd,MAAgC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEjD,wCAAwC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAuB;YACjC,KAAK,EAAE,IAAA,SAAM,GAAE;YACf,QAAQ;YACR,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,MAAM,CAAC,WAAW;gBAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC9C,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,CAAC;SACf,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAElD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,KAAa,EACb,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,mBAAmB;QACnB,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzE,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,qBAAqB;QACrB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,oEAAoE;QACpE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QAED,kBAAkB;QAClB,MAAM,CAAC,WAAW,EAAE,CAAC;QAErB,mDAAmD;QACnD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,wEAAwE;IAExE;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB,CACzB,QAAgB,EAChB,MAAc,EACd,MAAmC,EACnC,UAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErC,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrD,MAAM,CAAC,IAAI,EACX,MAAM,EACN,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,KAAK,IAAI,EAAE,CACnB,CAAC;QAEF,kCAAkC;QAClC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE5B,uCAAuC;QACvC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnC,4BAA4B;QAC5B,IAAI,cAA2C,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,kBAAkB,GAAG,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,wBAAwB,CACxC,QAAQ,EACR,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,uBAAuB,CAC3B,QAAgB,EAChB,SAAiB,EACjB,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErC,wCAAwC;QACxC,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAEvE,4CAA4C;QAC5C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAC9C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CACzB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,yEAAyE;IAEzE,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF;AAzkBD,sCAykBC"}
1
+ {"version":3,"file":"serverService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/serverService.ts"],"names":[],"mappings":"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"}