@brightchain/brightchain-lib 0.13.0 → 0.15.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 (705) hide show
  1. package/brightchain-lib/BROWSER_COMPAT.md +54 -0
  2. package/package.json +15 -4
  3. package/src/browser.d.ts +1 -1
  4. package/src/browser.d.ts.map +1 -1
  5. package/src/browser.js +3 -3
  6. package/src/browser.js.map +1 -1
  7. package/src/lib/blocks/cblBase.d.ts +16 -1
  8. package/src/lib/blocks/cblBase.d.ts.map +1 -1
  9. package/src/lib/blocks/cblBase.js +33 -4
  10. package/src/lib/blocks/cblBase.js.map +1 -1
  11. package/src/lib/blocks/encryptedBlockFactory.d.ts +6 -1
  12. package/src/lib/blocks/encryptedBlockFactory.d.ts.map +1 -1
  13. package/src/lib/blocks/encryptedBlockFactory.js +14 -5
  14. package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
  15. package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
  16. package/src/lib/blocks/extendedCbl.js +2 -1
  17. package/src/lib/blocks/extendedCbl.js.map +1 -1
  18. package/src/lib/blocks/handle.d.ts +5 -0
  19. package/src/lib/blocks/handle.d.ts.map +1 -1
  20. package/src/lib/blocks/handle.js.map +1 -1
  21. package/src/lib/blocks/handleTuple.d.ts +9 -1
  22. package/src/lib/blocks/handleTuple.d.ts.map +1 -1
  23. package/src/lib/blocks/handleTuple.js +23 -1
  24. package/src/lib/blocks/handleTuple.js.map +1 -1
  25. package/src/lib/blocks/index.d.ts +1 -0
  26. package/src/lib/blocks/index.d.ts.map +1 -1
  27. package/src/lib/blocks/index.js +1 -0
  28. package/src/lib/blocks/index.js.map +1 -1
  29. package/src/lib/blocks/memoryTuple.d.ts +9 -2
  30. package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
  31. package/src/lib/blocks/memoryTuple.js +12 -3
  32. package/src/lib/blocks/memoryTuple.js.map +1 -1
  33. package/src/lib/blocks/vcbl.d.ts +27 -0
  34. package/src/lib/blocks/vcbl.d.ts.map +1 -0
  35. package/src/lib/blocks/vcbl.js +107 -0
  36. package/src/lib/blocks/vcbl.js.map +1 -0
  37. package/src/lib/constants.d.ts +5 -1
  38. package/src/lib/constants.d.ts.map +1 -1
  39. package/src/lib/constants.js +4 -0
  40. package/src/lib/constants.js.map +1 -1
  41. package/src/lib/crypto/index.d.ts +12 -0
  42. package/src/lib/crypto/index.d.ts.map +1 -0
  43. package/src/lib/crypto/index.js +23 -0
  44. package/src/lib/crypto/index.js.map +1 -0
  45. package/src/lib/crypto/platformCrypto.d.ts +132 -0
  46. package/src/lib/crypto/platformCrypto.d.ts.map +1 -0
  47. package/src/lib/crypto/platformCrypto.js +181 -0
  48. package/src/lib/crypto/platformCrypto.js.map +1 -0
  49. package/src/lib/enumeration-translations/blockType.d.ts.map +1 -1
  50. package/src/lib/enumeration-translations/blockType.js +16 -0
  51. package/src/lib/enumeration-translations/blockType.js.map +1 -1
  52. package/src/lib/enumerations/blockType.d.ts +12 -0
  53. package/src/lib/enumerations/blockType.d.ts.map +1 -1
  54. package/src/lib/enumerations/blockType.js +14 -0
  55. package/src/lib/enumerations/blockType.js.map +1 -1
  56. package/src/lib/enumerations/brightChainStrings.d.ts +5 -1
  57. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
  58. package/src/lib/enumerations/brightChainStrings.js +5 -1
  59. package/src/lib/enumerations/brightChainStrings.js.map +1 -1
  60. package/src/lib/enumerations/cblErrorType.d.ts +2 -1
  61. package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
  62. package/src/lib/enumerations/cblErrorType.js +1 -0
  63. package/src/lib/enumerations/cblErrorType.js.map +1 -1
  64. package/src/lib/enumerations/communication.d.ts +57 -0
  65. package/src/lib/enumerations/communication.d.ts.map +1 -0
  66. package/src/lib/enumerations/communication.js +89 -0
  67. package/src/lib/enumerations/communication.js.map +1 -0
  68. package/src/lib/enumerations/deviceType.d.ts +15 -0
  69. package/src/lib/enumerations/deviceType.d.ts.map +1 -0
  70. package/src/lib/enumerations/deviceType.js +19 -0
  71. package/src/lib/enumerations/deviceType.js.map +1 -0
  72. package/src/lib/enumerations/handleTupleErrorType.d.ts +2 -1
  73. package/src/lib/enumerations/handleTupleErrorType.d.ts.map +1 -1
  74. package/src/lib/enumerations/handleTupleErrorType.js +1 -0
  75. package/src/lib/enumerations/handleTupleErrorType.js.map +1 -1
  76. package/src/lib/enumerations/index.d.ts +6 -0
  77. package/src/lib/enumerations/index.d.ts.map +1 -1
  78. package/src/lib/enumerations/index.js +11 -0
  79. package/src/lib/enumerations/index.js.map +1 -1
  80. package/src/lib/enumerations/messaging/deliveryStatus.d.ts +50 -0
  81. package/src/lib/enumerations/messaging/deliveryStatus.d.ts.map +1 -0
  82. package/src/lib/enumerations/messaging/deliveryStatus.js +68 -0
  83. package/src/lib/enumerations/messaging/deliveryStatus.js.map +1 -0
  84. package/src/lib/enumerations/messaging/emailErrorType.d.ts +36 -0
  85. package/src/lib/enumerations/messaging/emailErrorType.d.ts.map +1 -0
  86. package/src/lib/enumerations/messaging/emailErrorType.js +46 -0
  87. package/src/lib/enumerations/messaging/emailErrorType.js.map +1 -0
  88. package/src/lib/enumerations/messaging/index.d.ts +2 -1
  89. package/src/lib/enumerations/messaging/index.d.ts.map +1 -1
  90. package/src/lib/enumerations/messaging/index.js +2 -1
  91. package/src/lib/enumerations/messaging/index.js.map +1 -1
  92. package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +4 -2
  93. package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -1
  94. package/src/lib/enumerations/messaging/messageEncryptionScheme.js +3 -1
  95. package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -1
  96. package/src/lib/enumerations/paperKeyPurpose.d.ts +15 -0
  97. package/src/lib/enumerations/paperKeyPurpose.d.ts.map +1 -0
  98. package/src/lib/enumerations/paperKeyPurpose.js +19 -0
  99. package/src/lib/enumerations/paperKeyPurpose.js.map +1 -0
  100. package/src/lib/enumerations/proofPlatform.d.ts +24 -0
  101. package/src/lib/enumerations/proofPlatform.d.ts.map +1 -0
  102. package/src/lib/enumerations/proofPlatform.js +28 -0
  103. package/src/lib/enumerations/proofPlatform.js.map +1 -0
  104. package/src/lib/enumerations/readConcern.d.ts +22 -0
  105. package/src/lib/enumerations/readConcern.d.ts.map +1 -0
  106. package/src/lib/enumerations/readConcern.js +26 -0
  107. package/src/lib/enumerations/readConcern.js.map +1 -0
  108. package/src/lib/enumerations/tupleErrorType.d.ts +2 -1
  109. package/src/lib/enumerations/tupleErrorType.d.ts.map +1 -1
  110. package/src/lib/enumerations/tupleErrorType.js +1 -0
  111. package/src/lib/enumerations/tupleErrorType.js.map +1 -1
  112. package/src/lib/enumerations/verificationStatus.d.ts +17 -0
  113. package/src/lib/enumerations/verificationStatus.d.ts.map +1 -0
  114. package/src/lib/enumerations/verificationStatus.js +21 -0
  115. package/src/lib/enumerations/verificationStatus.js.map +1 -0
  116. package/src/lib/errors/blockFetchError.d.ts +51 -0
  117. package/src/lib/errors/blockFetchError.d.ts.map +1 -0
  118. package/src/lib/errors/blockFetchError.js +63 -0
  119. package/src/lib/errors/blockFetchError.js.map +1 -0
  120. package/src/lib/errors/cblError.d.ts.map +1 -1
  121. package/src/lib/errors/cblError.js +1 -0
  122. package/src/lib/errors/cblError.js.map +1 -1
  123. package/src/lib/errors/handleTupleError.d.ts +10 -1
  124. package/src/lib/errors/handleTupleError.d.ts.map +1 -1
  125. package/src/lib/errors/handleTupleError.js +10 -1
  126. package/src/lib/errors/handleTupleError.js.map +1 -1
  127. package/src/lib/errors/index.d.ts +16 -0
  128. package/src/lib/errors/index.d.ts.map +1 -1
  129. package/src/lib/errors/index.js +22 -0
  130. package/src/lib/errors/index.js.map +1 -1
  131. package/src/lib/errors/messaging/emailError.d.ts +55 -0
  132. package/src/lib/errors/messaging/emailError.d.ts.map +1 -0
  133. package/src/lib/errors/messaging/emailError.js +64 -0
  134. package/src/lib/errors/messaging/emailError.js.map +1 -0
  135. package/src/lib/errors/messaging/index.d.ts +1 -0
  136. package/src/lib/errors/messaging/index.d.ts.map +1 -1
  137. package/src/lib/errors/messaging/index.js +1 -0
  138. package/src/lib/errors/messaging/index.js.map +1 -1
  139. package/src/lib/errors/poolDeletionError.d.ts +10 -0
  140. package/src/lib/errors/poolDeletionError.d.ts.map +1 -0
  141. package/src/lib/errors/poolDeletionError.js +16 -0
  142. package/src/lib/errors/poolDeletionError.js.map +1 -0
  143. package/src/lib/errors/poolDeletionTombstoneError.d.ts +12 -0
  144. package/src/lib/errors/poolDeletionTombstoneError.d.ts.map +1 -0
  145. package/src/lib/errors/poolDeletionTombstoneError.js +18 -0
  146. package/src/lib/errors/poolDeletionTombstoneError.js.map +1 -0
  147. package/src/lib/errors/tupleError.d.ts.map +1 -1
  148. package/src/lib/errors/tupleError.js +1 -0
  149. package/src/lib/errors/tupleError.js.map +1 -1
  150. package/src/lib/i18n/i18n-setup.d.ts +7 -2
  151. package/src/lib/i18n/i18n-setup.d.ts.map +1 -1
  152. package/src/lib/i18n/i18n-setup.js +84 -24
  153. package/src/lib/i18n/i18n-setup.js.map +1 -1
  154. package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
  155. package/src/lib/i18n/strings/englishUs.js +4 -0
  156. package/src/lib/i18n/strings/englishUs.js.map +1 -1
  157. package/src/lib/i18n/strings/french.d.ts.map +1 -1
  158. package/src/lib/i18n/strings/french.js +4 -0
  159. package/src/lib/i18n/strings/french.js.map +1 -1
  160. package/src/lib/i18n/strings/german.d.ts.map +1 -1
  161. package/src/lib/i18n/strings/german.js +4 -0
  162. package/src/lib/i18n/strings/german.js.map +1 -1
  163. package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
  164. package/src/lib/i18n/strings/japanese.js +4 -0
  165. package/src/lib/i18n/strings/japanese.js.map +1 -1
  166. package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
  167. package/src/lib/i18n/strings/mandarin.js +4 -0
  168. package/src/lib/i18n/strings/mandarin.js.map +1 -1
  169. package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
  170. package/src/lib/i18n/strings/spanish.js +4 -0
  171. package/src/lib/i18n/strings/spanish.js.map +1 -1
  172. package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
  173. package/src/lib/i18n/strings/ukrainian.js +4 -0
  174. package/src/lib/i18n/strings/ukrainian.js.map +1 -1
  175. package/src/lib/index.d.ts +4 -0
  176. package/src/lib/index.d.ts.map +1 -1
  177. package/src/lib/index.js +4 -0
  178. package/src/lib/index.js.map +1 -1
  179. package/src/lib/interfaces/auth/index.d.ts +4 -0
  180. package/src/lib/interfaces/auth/index.d.ts.map +1 -0
  181. package/src/lib/interfaces/auth/index.js +8 -0
  182. package/src/lib/interfaces/auth/index.js.map +1 -0
  183. package/src/lib/interfaces/auth/nodeAuthenticator.d.ts +19 -0
  184. package/src/lib/interfaces/auth/nodeAuthenticator.d.ts.map +1 -0
  185. package/src/lib/interfaces/auth/nodeAuthenticator.js +3 -0
  186. package/src/lib/interfaces/auth/nodeAuthenticator.js.map +1 -0
  187. package/src/lib/interfaces/auth/poolAcl.d.ts +65 -0
  188. package/src/lib/interfaces/auth/poolAcl.d.ts.map +1 -0
  189. package/src/lib/interfaces/auth/poolAcl.js +52 -0
  190. package/src/lib/interfaces/auth/poolAcl.js.map +1 -0
  191. package/src/lib/interfaces/availability/availabilityService.d.ts +5 -3
  192. package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -1
  193. package/src/lib/interfaces/availability/availabilityService.js.map +1 -1
  194. package/src/lib/interfaces/availability/blockRegistry.d.ts +52 -3
  195. package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -1
  196. package/src/lib/interfaces/availability/blockRegistry.js +1 -1
  197. package/src/lib/interfaces/availability/discoveryProtocol.d.ts +81 -3
  198. package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -1
  199. package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -1
  200. package/src/lib/interfaces/availability/gossipService.d.ts +279 -8
  201. package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
  202. package/src/lib/interfaces/availability/gossipService.js +232 -0
  203. package/src/lib/interfaces/availability/gossipService.js.map +1 -1
  204. package/src/lib/interfaces/availability/index.d.ts +1 -0
  205. package/src/lib/interfaces/availability/index.d.ts.map +1 -1
  206. package/src/lib/interfaces/availability/index.js +1 -0
  207. package/src/lib/interfaces/availability/index.js.map +1 -1
  208. package/src/lib/interfaces/availability/locationRecord.d.ts +6 -0
  209. package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -1
  210. package/src/lib/interfaces/availability/locationRecord.js +12 -0
  211. package/src/lib/interfaces/availability/locationRecord.js.map +1 -1
  212. package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts +40 -0
  213. package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts.map +1 -0
  214. package/src/lib/interfaces/availability/poolDeletionTombstone.js +19 -0
  215. package/src/lib/interfaces/availability/poolDeletionTombstone.js.map +1 -0
  216. package/src/lib/interfaces/availability/reconciliationService.d.ts +52 -0
  217. package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -1
  218. package/src/lib/interfaces/availability/reconciliationService.js.map +1 -1
  219. package/src/lib/interfaces/blockCapacity.d.ts +9 -0
  220. package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
  221. package/src/lib/interfaces/blockEncryption.d.ts +4 -2
  222. package/src/lib/interfaces/blockEncryption.d.ts.map +1 -1
  223. package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts +26 -0
  224. package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts.map +1 -0
  225. package/src/lib/interfaces/blockFetch/blockFetchTransport.js +12 -0
  226. package/src/lib/interfaces/blockFetch/blockFetchTransport.js.map +1 -0
  227. package/src/lib/interfaces/blockFetch/blockFetcher.d.ts +71 -0
  228. package/src/lib/interfaces/blockFetch/blockFetcher.d.ts.map +1 -0
  229. package/src/lib/interfaces/blockFetch/blockFetcher.js +22 -0
  230. package/src/lib/interfaces/blockFetch/blockFetcher.js.map +1 -0
  231. package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts +43 -0
  232. package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts.map +1 -0
  233. package/src/lib/interfaces/blockFetch/enrichedQueryResult.js +13 -0
  234. package/src/lib/interfaces/blockFetch/enrichedQueryResult.js.map +1 -0
  235. package/src/lib/interfaces/blockFetch/fetchQueue.d.ts +70 -0
  236. package/src/lib/interfaces/blockFetch/fetchQueue.d.ts.map +1 -0
  237. package/src/lib/interfaces/blockFetch/fetchQueue.js +18 -0
  238. package/src/lib/interfaces/blockFetch/fetchQueue.js.map +1 -0
  239. package/src/lib/interfaces/blockFetch/index.d.ts +10 -0
  240. package/src/lib/interfaces/blockFetch/index.d.ts.map +1 -0
  241. package/src/lib/interfaces/blockFetch/index.js +13 -0
  242. package/src/lib/interfaces/blockFetch/index.js.map +1 -0
  243. package/src/lib/interfaces/blocks/index.d.ts +1 -0
  244. package/src/lib/interfaces/blocks/index.d.ts.map +1 -1
  245. package/src/lib/interfaces/blocks/vcbl.d.ts +16 -0
  246. package/src/lib/interfaces/blocks/vcbl.d.ts.map +1 -0
  247. package/src/lib/interfaces/{messaging/messageRouter.js → blocks/vcbl.js} +1 -1
  248. package/src/lib/interfaces/blocks/vcbl.js.map +1 -0
  249. package/src/lib/interfaces/brightpass/auditLog.d.ts +25 -0
  250. package/src/lib/interfaces/brightpass/auditLog.d.ts.map +1 -0
  251. package/src/lib/interfaces/brightpass/auditLog.js +21 -0
  252. package/src/lib/interfaces/brightpass/auditLog.js.map +1 -0
  253. package/src/lib/interfaces/brightpass/emergencyAccess.d.ts +11 -0
  254. package/src/lib/interfaces/brightpass/emergencyAccess.d.ts.map +1 -0
  255. package/src/lib/interfaces/{network/networkTransport.js → brightpass/emergencyAccess.js} +1 -1
  256. package/src/lib/interfaces/brightpass/emergencyAccess.js.map +1 -0
  257. package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts +11 -0
  258. package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts.map +1 -0
  259. package/src/lib/interfaces/brightpass/entryPropertyRecord.js +3 -0
  260. package/src/lib/interfaces/brightpass/entryPropertyRecord.js.map +1 -0
  261. package/src/lib/interfaces/brightpass/importTypes.d.ts +10 -0
  262. package/src/lib/interfaces/brightpass/importTypes.d.ts.map +1 -0
  263. package/src/lib/interfaces/brightpass/importTypes.js +3 -0
  264. package/src/lib/interfaces/brightpass/importTypes.js.map +1 -0
  265. package/src/lib/interfaces/brightpass/index.d.ts +7 -0
  266. package/src/lib/interfaces/brightpass/index.d.ts.map +1 -0
  267. package/src/lib/interfaces/brightpass/index.js +10 -0
  268. package/src/lib/interfaces/brightpass/index.js.map +1 -0
  269. package/src/lib/interfaces/brightpass/vaultEntry.d.ts +48 -0
  270. package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -0
  271. package/src/lib/interfaces/brightpass/vaultEntry.js +3 -0
  272. package/src/lib/interfaces/brightpass/vaultEntry.js.map +1 -0
  273. package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +34 -0
  274. package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -0
  275. package/src/lib/interfaces/brightpass/vaultMetadata.js +3 -0
  276. package/src/lib/interfaces/brightpass/vaultMetadata.js.map +1 -0
  277. package/src/lib/interfaces/clusterKeys.d.ts +4 -2
  278. package/src/lib/interfaces/clusterKeys.d.ts.map +1 -1
  279. package/src/lib/interfaces/communication.d.ts +173 -0
  280. package/src/lib/interfaces/communication.d.ts.map +1 -0
  281. package/src/lib/interfaces/communication.js +17 -0
  282. package/src/lib/interfaces/communication.js.map +1 -0
  283. package/src/lib/interfaces/communicationEvents.d.ts +168 -0
  284. package/src/lib/interfaces/communicationEvents.d.ts.map +1 -0
  285. package/src/lib/interfaces/communicationEvents.js +12 -0
  286. package/src/lib/interfaces/communicationEvents.js.map +1 -0
  287. package/src/lib/interfaces/crypto/ethereumWallet.d.ts +72 -0
  288. package/src/lib/interfaces/crypto/ethereumWallet.d.ts.map +1 -0
  289. package/src/lib/interfaces/crypto/ethereumWallet.js +12 -0
  290. package/src/lib/interfaces/crypto/ethereumWallet.js.map +1 -0
  291. package/src/lib/interfaces/crypto/gitSignature.d.ts +95 -0
  292. package/src/lib/interfaces/crypto/gitSignature.d.ts.map +1 -0
  293. package/src/lib/interfaces/crypto/gitSignature.js +12 -0
  294. package/src/lib/interfaces/crypto/gitSignature.js.map +1 -0
  295. package/src/lib/interfaces/crypto/index.d.ts +3 -0
  296. package/src/lib/interfaces/crypto/index.d.ts.map +1 -0
  297. package/src/lib/interfaces/crypto/index.js +3 -0
  298. package/src/lib/interfaces/crypto/index.js.map +1 -0
  299. package/src/lib/interfaces/dataKeyComponents.d.ts +7 -2
  300. package/src/lib/interfaces/dataKeyComponents.d.ts.map +1 -1
  301. package/src/lib/interfaces/encryptedBlockCreator.d.ts +4 -2
  302. package/src/lib/interfaces/encryptedBlockCreator.d.ts.map +1 -1
  303. package/src/lib/interfaces/events/communicationEventEmitter.d.ts +65 -0
  304. package/src/lib/interfaces/events/communicationEventEmitter.d.ts.map +1 -0
  305. package/src/lib/interfaces/events/communicationEventEmitter.js +60 -0
  306. package/src/lib/interfaces/events/communicationEventEmitter.js.map +1 -0
  307. package/src/lib/interfaces/events/index.d.ts +2 -0
  308. package/src/lib/interfaces/events/index.d.ts.map +1 -0
  309. package/src/lib/interfaces/events/index.js +5 -0
  310. package/src/lib/interfaces/events/index.js.map +1 -0
  311. package/src/lib/interfaces/failableResult.d.ts +15 -0
  312. package/src/lib/interfaces/failableResult.d.ts.map +1 -0
  313. package/src/lib/interfaces/failableResult.js +3 -0
  314. package/src/lib/interfaces/failableResult.js.map +1 -0
  315. package/src/lib/interfaces/identity/device.d.ts +59 -0
  316. package/src/lib/interfaces/identity/device.d.ts.map +1 -0
  317. package/src/lib/interfaces/identity/device.js +17 -0
  318. package/src/lib/interfaces/identity/device.js.map +1 -0
  319. package/src/lib/interfaces/identity/deviceKeyStorage.d.ts +71 -0
  320. package/src/lib/interfaces/identity/deviceKeyStorage.d.ts.map +1 -0
  321. package/src/lib/interfaces/identity/deviceKeyStorage.js +16 -0
  322. package/src/lib/interfaces/identity/deviceKeyStorage.js.map +1 -0
  323. package/src/lib/interfaces/identity/identityProof.d.ts +90 -0
  324. package/src/lib/interfaces/identity/identityProof.d.ts.map +1 -0
  325. package/src/lib/interfaces/identity/identityProof.js +18 -0
  326. package/src/lib/interfaces/identity/identityProof.js.map +1 -0
  327. package/src/lib/interfaces/identity/index.d.ts +7 -0
  328. package/src/lib/interfaces/identity/index.d.ts.map +1 -0
  329. package/src/lib/interfaces/identity/index.js +3 -0
  330. package/src/lib/interfaces/identity/index.js.map +1 -0
  331. package/src/lib/interfaces/identity/paperKey.d.ts +97 -0
  332. package/src/lib/interfaces/identity/paperKey.d.ts.map +1 -0
  333. package/src/lib/interfaces/identity/paperKey.js +17 -0
  334. package/src/lib/interfaces/identity/paperKey.js.map +1 -0
  335. package/src/lib/interfaces/identity/publicProfile.d.ts +74 -0
  336. package/src/lib/interfaces/identity/publicProfile.d.ts.map +1 -0
  337. package/src/lib/interfaces/identity/publicProfile.js +18 -0
  338. package/src/lib/interfaces/identity/publicProfile.js.map +1 -0
  339. package/src/lib/interfaces/identity/splitPaperKey.d.ts +73 -0
  340. package/src/lib/interfaces/identity/splitPaperKey.d.ts.map +1 -0
  341. package/src/lib/interfaces/identity/splitPaperKey.js +20 -0
  342. package/src/lib/interfaces/identity/splitPaperKey.js.map +1 -0
  343. package/src/lib/interfaces/index.d.ts +11 -2
  344. package/src/lib/interfaces/index.d.ts.map +1 -1
  345. package/src/lib/interfaces/index.js +12 -0
  346. package/src/lib/interfaces/index.js.map +1 -1
  347. package/src/lib/interfaces/messaging/attachmentMetadata.d.ts +47 -0
  348. package/src/lib/interfaces/messaging/attachmentMetadata.d.ts.map +1 -0
  349. package/src/lib/interfaces/messaging/attachmentMetadata.js +3 -0
  350. package/src/lib/interfaces/messaging/attachmentMetadata.js.map +1 -0
  351. package/src/lib/interfaces/messaging/emailAddress.d.ts +210 -0
  352. package/src/lib/interfaces/messaging/emailAddress.d.ts.map +1 -0
  353. package/src/lib/interfaces/messaging/emailAddress.js +213 -0
  354. package/src/lib/interfaces/messaging/emailAddress.js.map +1 -0
  355. package/src/lib/interfaces/messaging/emailDelivery.d.ts +80 -0
  356. package/src/lib/interfaces/messaging/emailDelivery.d.ts.map +1 -0
  357. package/src/lib/interfaces/messaging/emailDelivery.js +50 -0
  358. package/src/lib/interfaces/messaging/emailDelivery.js.map +1 -0
  359. package/src/lib/interfaces/messaging/emailMetadata.d.ts +269 -0
  360. package/src/lib/interfaces/messaging/emailMetadata.d.ts.map +1 -0
  361. package/src/lib/interfaces/messaging/emailMetadata.js +16 -0
  362. package/src/lib/interfaces/messaging/emailMetadata.js.map +1 -0
  363. package/src/lib/interfaces/messaging/index.d.ts +5 -1
  364. package/src/lib/interfaces/messaging/index.d.ts.map +1 -1
  365. package/src/lib/interfaces/messaging/index.js +5 -1
  366. package/src/lib/interfaces/messaging/index.js.map +1 -1
  367. package/src/lib/interfaces/messaging/messageMetadata.d.ts +2 -2
  368. package/src/lib/interfaces/messaging/messageMetadata.d.ts.map +1 -1
  369. package/src/lib/interfaces/messaging/messageMetadataStore.d.ts +2 -2
  370. package/src/lib/interfaces/messaging/messageMetadataStore.d.ts.map +1 -1
  371. package/src/lib/interfaces/messaging/mimePart.d.ts +214 -0
  372. package/src/lib/interfaces/messaging/mimePart.d.ts.map +1 -0
  373. package/src/lib/interfaces/messaging/mimePart.js +71 -0
  374. package/src/lib/interfaces/messaging/mimePart.js.map +1 -0
  375. package/src/lib/interfaces/network/index.d.ts +0 -1
  376. package/src/lib/interfaces/network/index.d.ts.map +1 -1
  377. package/src/lib/interfaces/network/node.d.ts +4 -2
  378. package/src/lib/interfaces/network/node.d.ts.map +1 -1
  379. package/src/lib/interfaces/network/nodeAdvertisement.d.ts +4 -2
  380. package/src/lib/interfaces/network/nodeAdvertisement.d.ts.map +1 -1
  381. package/src/lib/interfaces/privateVotingDerivation.d.ts +7 -2
  382. package/src/lib/interfaces/privateVotingDerivation.d.ts.map +1 -1
  383. package/src/lib/interfaces/requests/communicationRequests.d.ts +154 -0
  384. package/src/lib/interfaces/requests/communicationRequests.d.ts.map +1 -0
  385. package/src/lib/interfaces/requests/communicationRequests.js +10 -0
  386. package/src/lib/interfaces/requests/communicationRequests.js.map +1 -0
  387. package/src/lib/interfaces/requests/index.d.ts +2 -0
  388. package/src/lib/interfaces/requests/index.d.ts.map +1 -0
  389. package/src/lib/interfaces/requests/index.js +3 -0
  390. package/src/lib/interfaces/requests/index.js.map +1 -0
  391. package/src/lib/interfaces/responses/blockDataResponse.d.ts +11 -0
  392. package/src/lib/interfaces/responses/blockDataResponse.d.ts.map +1 -0
  393. package/src/lib/interfaces/responses/blockDataResponse.js +3 -0
  394. package/src/lib/interfaces/responses/blockDataResponse.js.map +1 -0
  395. package/src/lib/interfaces/responses/communicationResponses.d.ts +82 -0
  396. package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -0
  397. package/src/lib/interfaces/responses/communicationResponses.js +17 -0
  398. package/src/lib/interfaces/responses/communicationResponses.js.map +1 -0
  399. package/src/lib/interfaces/responses/cryptoResponses.d.ts +30 -0
  400. package/src/lib/interfaces/responses/cryptoResponses.d.ts.map +1 -0
  401. package/src/lib/interfaces/responses/cryptoResponses.js +12 -0
  402. package/src/lib/interfaces/responses/cryptoResponses.js.map +1 -0
  403. package/src/lib/interfaces/responses/deviceResponses.d.ts +26 -0
  404. package/src/lib/interfaces/responses/deviceResponses.d.ts.map +1 -0
  405. package/src/lib/interfaces/responses/deviceResponses.js +15 -0
  406. package/src/lib/interfaces/responses/deviceResponses.js.map +1 -0
  407. package/src/lib/interfaces/responses/directoryResponses.d.ts +26 -0
  408. package/src/lib/interfaces/responses/directoryResponses.d.ts.map +1 -0
  409. package/src/lib/interfaces/responses/directoryResponses.js +12 -0
  410. package/src/lib/interfaces/responses/directoryResponses.js.map +1 -0
  411. package/src/lib/interfaces/responses/emailResponses.d.ts +40 -0
  412. package/src/lib/interfaces/responses/emailResponses.d.ts.map +1 -0
  413. package/src/lib/interfaces/responses/emailResponses.js +18 -0
  414. package/src/lib/interfaces/responses/emailResponses.js.map +1 -0
  415. package/src/lib/interfaces/responses/explodingMessageResponses.d.ts +42 -0
  416. package/src/lib/interfaces/responses/explodingMessageResponses.d.ts.map +1 -0
  417. package/src/lib/interfaces/responses/explodingMessageResponses.js +11 -0
  418. package/src/lib/interfaces/responses/explodingMessageResponses.js.map +1 -0
  419. package/src/lib/interfaces/responses/identityProofResponses.d.ts +33 -0
  420. package/src/lib/interfaces/responses/identityProofResponses.d.ts.map +1 -0
  421. package/src/lib/interfaces/responses/identityProofResponses.js +12 -0
  422. package/src/lib/interfaces/responses/identityProofResponses.js.map +1 -0
  423. package/src/lib/interfaces/responses/index.d.ts +3 -1
  424. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  425. package/src/lib/interfaces/sealResults.d.ts +7 -2
  426. package/src/lib/interfaces/sealResults.d.ts.map +1 -1
  427. package/src/lib/interfaces/services/fecService.d.ts +7 -5
  428. package/src/lib/interfaces/services/fecService.d.ts.map +1 -1
  429. package/src/lib/interfaces/services/fecService.js +2 -0
  430. package/src/lib/interfaces/services/fecService.js.map +1 -1
  431. package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts +7 -2
  432. package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts.map +1 -1
  433. package/src/lib/interfaces/storage/blockMetadata.d.ts +8 -1
  434. package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -1
  435. package/src/lib/interfaces/storage/blockMetadata.js +3 -1
  436. package/src/lib/interfaces/storage/blockMetadata.js.map +1 -1
  437. package/src/lib/interfaces/storage/cblIndex.d.ts +141 -0
  438. package/src/lib/interfaces/storage/cblIndex.d.ts.map +1 -0
  439. package/src/lib/interfaces/storage/cblIndex.js +28 -0
  440. package/src/lib/interfaces/storage/cblIndex.js.map +1 -0
  441. package/src/lib/interfaces/storage/clientSession.d.ts +22 -0
  442. package/src/lib/interfaces/storage/clientSession.d.ts.map +1 -0
  443. package/src/lib/interfaces/storage/clientSession.js +3 -0
  444. package/src/lib/interfaces/storage/clientSession.js.map +1 -0
  445. package/src/lib/interfaces/storage/collection.d.ts +80 -0
  446. package/src/lib/interfaces/storage/collection.d.ts.map +1 -0
  447. package/src/lib/interfaces/storage/collection.js +3 -0
  448. package/src/lib/interfaces/storage/collection.js.map +1 -0
  449. package/src/lib/interfaces/storage/database.d.ts +30 -0
  450. package/src/lib/interfaces/storage/database.d.ts.map +1 -0
  451. package/src/lib/interfaces/storage/database.js +3 -0
  452. package/src/lib/interfaces/storage/database.js.map +1 -0
  453. package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts +43 -0
  454. package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts.map +1 -0
  455. package/src/lib/interfaces/storage/databaseLifecycleHooks.js +3 -0
  456. package/src/lib/interfaces/storage/databaseLifecycleHooks.js.map +1 -0
  457. package/src/lib/interfaces/storage/documentTypes.d.ts +413 -0
  458. package/src/lib/interfaces/storage/documentTypes.d.ts.map +1 -0
  459. package/src/lib/interfaces/storage/documentTypes.js +8 -0
  460. package/src/lib/interfaces/storage/documentTypes.js.map +1 -0
  461. package/src/lib/interfaces/storage/encryptedPool.d.ts +64 -0
  462. package/src/lib/interfaces/storage/encryptedPool.d.ts.map +1 -0
  463. package/src/lib/interfaces/storage/encryptedPool.js +26 -0
  464. package/src/lib/interfaces/storage/encryptedPool.js.map +1 -0
  465. package/src/lib/interfaces/storage/headRegistry.d.ts +128 -0
  466. package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -0
  467. package/src/lib/interfaces/storage/headRegistry.js +3 -0
  468. package/src/lib/interfaces/storage/headRegistry.js.map +1 -0
  469. package/src/lib/interfaces/storage/index.d.ts +14 -0
  470. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  471. package/src/lib/interfaces/storage/index.js +14 -1
  472. package/src/lib/interfaces/storage/index.js.map +1 -1
  473. package/src/lib/interfaces/storage/pooledBlockStore.d.ts +163 -0
  474. package/src/lib/interfaces/storage/pooledBlockStore.d.ts.map +1 -0
  475. package/src/lib/interfaces/storage/pooledBlockStore.js +77 -0
  476. package/src/lib/interfaces/storage/pooledBlockStore.js.map +1 -0
  477. package/src/lib/interfaces/storage/readConcernBlockStore.d.ts +47 -0
  478. package/src/lib/interfaces/storage/readConcernBlockStore.d.ts.map +1 -0
  479. package/src/lib/interfaces/storage/readConcernBlockStore.js +29 -0
  480. package/src/lib/interfaces/storage/readConcernBlockStore.js.map +1 -0
  481. package/src/lib/interfaces/symmetricEncryptionResults.d.ts +7 -5
  482. package/src/lib/interfaces/symmetricEncryptionResults.d.ts.map +1 -1
  483. package/src/lib/schemas/messaging/messageMetadataSchema.d.ts.map +1 -1
  484. package/src/lib/schemas/messaging/messageMetadataSchema.js.map +1 -1
  485. package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
  486. package/src/lib/services/blockCapacity.service.js +15 -0
  487. package/src/lib/services/blockCapacity.service.js.map +1 -1
  488. package/src/lib/services/brightpass/auditLogger.d.ts +41 -0
  489. package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
  490. package/src/lib/services/brightpass/auditLogger.js +47 -0
  491. package/src/lib/services/brightpass/auditLogger.js.map +1 -0
  492. package/src/lib/services/brightpass/breachDetector.d.ts +68 -0
  493. package/src/lib/services/brightpass/breachDetector.d.ts.map +1 -0
  494. package/src/lib/services/brightpass/breachDetector.js +102 -0
  495. package/src/lib/services/brightpass/breachDetector.js.map +1 -0
  496. package/src/lib/services/brightpass/importParser.d.ts +105 -0
  497. package/src/lib/services/brightpass/importParser.d.ts.map +1 -0
  498. package/src/lib/services/brightpass/importParser.js +380 -0
  499. package/src/lib/services/brightpass/importParser.js.map +1 -0
  500. package/src/lib/services/brightpass/index.d.ts +16 -0
  501. package/src/lib/services/brightpass/index.d.ts.map +1 -0
  502. package/src/lib/services/brightpass/index.js +19 -0
  503. package/src/lib/services/brightpass/index.js.map +1 -0
  504. package/src/lib/services/brightpass/passwordGenerator.d.ts +111 -0
  505. package/src/lib/services/brightpass/passwordGenerator.d.ts.map +1 -0
  506. package/src/lib/services/brightpass/passwordGenerator.js +162 -0
  507. package/src/lib/services/brightpass/passwordGenerator.js.map +1 -0
  508. package/src/lib/services/brightpass/totpEngine.d.ts +191 -0
  509. package/src/lib/services/brightpass/totpEngine.d.ts.map +1 -0
  510. package/src/lib/services/brightpass/totpEngine.js +198 -0
  511. package/src/lib/services/brightpass/totpEngine.js.map +1 -0
  512. package/src/lib/services/brightpass/vaultKeyDerivation.d.ts +26 -0
  513. package/src/lib/services/brightpass/vaultKeyDerivation.d.ts.map +1 -0
  514. package/src/lib/services/brightpass/vaultKeyDerivation.js +42 -0
  515. package/src/lib/services/brightpass/vaultKeyDerivation.js.map +1 -0
  516. package/src/lib/services/brightpass/vaultSerializer.d.ts +14 -0
  517. package/src/lib/services/brightpass/vaultSerializer.d.ts.map +1 -0
  518. package/src/lib/services/brightpass/vaultSerializer.js +77 -0
  519. package/src/lib/services/brightpass/vaultSerializer.js.map +1 -0
  520. package/src/lib/services/cblService.d.ts +4 -2
  521. package/src/lib/services/cblService.d.ts.map +1 -1
  522. package/src/lib/services/cblService.js +8 -4
  523. package/src/lib/services/cblService.js.map +1 -1
  524. package/src/lib/services/communication/channelService.d.ts +208 -0
  525. package/src/lib/services/communication/channelService.d.ts.map +1 -0
  526. package/src/lib/services/communication/channelService.js +575 -0
  527. package/src/lib/services/communication/channelService.js.map +1 -0
  528. package/src/lib/services/communication/conversationService.d.ts +130 -0
  529. package/src/lib/services/communication/conversationService.d.ts.map +1 -0
  530. package/src/lib/services/communication/conversationService.js +279 -0
  531. package/src/lib/services/communication/conversationService.js.map +1 -0
  532. package/src/lib/services/communication/explodingMessageService.d.ts +168 -0
  533. package/src/lib/services/communication/explodingMessageService.d.ts.map +1 -0
  534. package/src/lib/services/communication/explodingMessageService.js +287 -0
  535. package/src/lib/services/communication/explodingMessageService.js.map +1 -0
  536. package/src/lib/services/communication/groupService.d.ts +165 -0
  537. package/src/lib/services/communication/groupService.d.ts.map +1 -0
  538. package/src/lib/services/communication/groupService.js +437 -0
  539. package/src/lib/services/communication/groupService.js.map +1 -0
  540. package/src/lib/services/communication/index.d.ts +16 -0
  541. package/src/lib/services/communication/index.d.ts.map +1 -0
  542. package/src/lib/services/communication/index.js +63 -0
  543. package/src/lib/services/communication/index.js.map +1 -0
  544. package/src/lib/services/communication/messageOperationsService.d.ts +81 -0
  545. package/src/lib/services/communication/messageOperationsService.d.ts.map +1 -0
  546. package/src/lib/services/communication/messageOperationsService.js +162 -0
  547. package/src/lib/services/communication/messageOperationsService.js.map +1 -0
  548. package/src/lib/services/communication/permissionService.d.ts +47 -0
  549. package/src/lib/services/communication/permissionService.d.ts.map +1 -0
  550. package/src/lib/services/communication/permissionService.js +82 -0
  551. package/src/lib/services/communication/permissionService.js.map +1 -0
  552. package/src/lib/services/communication/searchService.d.ts +30 -0
  553. package/src/lib/services/communication/searchService.d.ts.map +1 -0
  554. package/src/lib/services/communication/searchService.js +83 -0
  555. package/src/lib/services/communication/searchService.js.map +1 -0
  556. package/src/lib/services/crypto/ethereumWalletService.d.ts +159 -0
  557. package/src/lib/services/crypto/ethereumWalletService.d.ts.map +1 -0
  558. package/src/lib/services/crypto/ethereumWalletService.js +345 -0
  559. package/src/lib/services/crypto/ethereumWalletService.js.map +1 -0
  560. package/src/lib/services/crypto/gitSigningService.d.ts +145 -0
  561. package/src/lib/services/crypto/gitSigningService.d.ts.map +1 -0
  562. package/src/lib/services/crypto/gitSigningService.js +291 -0
  563. package/src/lib/services/crypto/gitSigningService.js.map +1 -0
  564. package/src/lib/services/crypto/index.d.ts +3 -0
  565. package/src/lib/services/crypto/index.d.ts.map +1 -0
  566. package/src/lib/services/crypto/index.js +6 -0
  567. package/src/lib/services/crypto/index.js.map +1 -0
  568. package/src/lib/services/identity/deviceProvisioningService.d.ts +146 -0
  569. package/src/lib/services/identity/deviceProvisioningService.d.ts.map +1 -0
  570. package/src/lib/services/identity/deviceProvisioningService.js +219 -0
  571. package/src/lib/services/identity/deviceProvisioningService.js.map +1 -0
  572. package/src/lib/services/identity/identityProofService.d.ts +139 -0
  573. package/src/lib/services/identity/identityProofService.d.ts.map +1 -0
  574. package/src/lib/services/identity/identityProofService.js +245 -0
  575. package/src/lib/services/identity/identityProofService.js.map +1 -0
  576. package/src/lib/services/identity/index.d.ts +14 -0
  577. package/src/lib/services/identity/index.d.ts.map +1 -0
  578. package/src/lib/services/identity/index.js +17 -0
  579. package/src/lib/services/identity/index.js.map +1 -0
  580. package/src/lib/services/identity/memberIdentityProofService.d.ts +179 -0
  581. package/src/lib/services/identity/memberIdentityProofService.d.ts.map +1 -0
  582. package/src/lib/services/identity/memberIdentityProofService.js +232 -0
  583. package/src/lib/services/identity/memberIdentityProofService.js.map +1 -0
  584. package/src/lib/services/identity/memberPaperKeyService.d.ts +223 -0
  585. package/src/lib/services/identity/memberPaperKeyService.d.ts.map +1 -0
  586. package/src/lib/services/identity/memberPaperKeyService.js +279 -0
  587. package/src/lib/services/identity/memberPaperKeyService.js.map +1 -0
  588. package/src/lib/services/identity/paperKeyService.d.ts +106 -0
  589. package/src/lib/services/identity/paperKeyService.d.ts.map +1 -0
  590. package/src/lib/services/identity/paperKeyService.js +161 -0
  591. package/src/lib/services/identity/paperKeyService.js.map +1 -0
  592. package/src/lib/services/identity/publicKeyDirectoryService.d.ts +210 -0
  593. package/src/lib/services/identity/publicKeyDirectoryService.d.ts.map +1 -0
  594. package/src/lib/services/identity/publicKeyDirectoryService.js +328 -0
  595. package/src/lib/services/identity/publicKeyDirectoryService.js.map +1 -0
  596. package/src/lib/services/identity/splitPaperKeyService.d.ts +92 -0
  597. package/src/lib/services/identity/splitPaperKeyService.d.ts.map +1 -0
  598. package/src/lib/services/identity/splitPaperKeyService.js +305 -0
  599. package/src/lib/services/identity/splitPaperKeyService.js.map +1 -0
  600. package/src/lib/services/index.d.ts +4 -0
  601. package/src/lib/services/index.d.ts.map +1 -1
  602. package/src/lib/services/index.js +7 -0
  603. package/src/lib/services/index.js.map +1 -1
  604. package/src/lib/services/messaging/deliveryTimeoutService.js +2 -2
  605. package/src/lib/services/messaging/deliveryTimeoutService.js.map +1 -1
  606. package/src/lib/services/messaging/emailEncryptionService.d.ts +250 -0
  607. package/src/lib/services/messaging/emailEncryptionService.d.ts.map +1 -0
  608. package/src/lib/services/messaging/emailEncryptionService.js +420 -0
  609. package/src/lib/services/messaging/emailEncryptionService.js.map +1 -0
  610. package/src/lib/services/messaging/emailMessageService.d.ts +669 -0
  611. package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -0
  612. package/src/lib/services/messaging/emailMessageService.js +1030 -0
  613. package/src/lib/services/messaging/emailMessageService.js.map +1 -0
  614. package/src/lib/services/messaging/emailParser.d.ts +476 -0
  615. package/src/lib/services/messaging/emailParser.d.ts.map +1 -0
  616. package/src/lib/services/messaging/emailParser.js +1316 -0
  617. package/src/lib/services/messaging/emailParser.js.map +1 -0
  618. package/src/lib/services/messaging/emailSerializer.d.ts +403 -0
  619. package/src/lib/services/messaging/emailSerializer.d.ts.map +1 -0
  620. package/src/lib/services/messaging/emailSerializer.js +852 -0
  621. package/src/lib/services/messaging/emailSerializer.js.map +1 -0
  622. package/src/lib/services/messaging/emailValidator.d.ts +448 -0
  623. package/src/lib/services/messaging/emailValidator.d.ts.map +1 -0
  624. package/src/lib/services/messaging/emailValidator.js +810 -0
  625. package/src/lib/services/messaging/emailValidator.js.map +1 -0
  626. package/src/lib/services/messaging/gossipRetryService.d.ts +204 -0
  627. package/src/lib/services/messaging/gossipRetryService.d.ts.map +1 -0
  628. package/src/lib/services/messaging/gossipRetryService.js +319 -0
  629. package/src/lib/services/messaging/gossipRetryService.js.map +1 -0
  630. package/src/lib/services/messaging/inMemoryEmailMetadataStore.d.ts +60 -0
  631. package/src/lib/services/messaging/inMemoryEmailMetadataStore.d.ts.map +1 -0
  632. package/src/lib/services/messaging/inMemoryEmailMetadataStore.js +281 -0
  633. package/src/lib/services/messaging/inMemoryEmailMetadataStore.js.map +1 -0
  634. package/src/lib/services/messaging/index.d.ts +11 -5
  635. package/src/lib/services/messaging/index.d.ts.map +1 -1
  636. package/src/lib/services/messaging/index.js +19 -5
  637. package/src/lib/services/messaging/index.js.map +1 -1
  638. package/src/lib/services/messaging/messageCBLService.js +2 -2
  639. package/src/lib/services/messaging/messageCBLService.js.map +1 -1
  640. package/src/lib/services/tuple.service.d.ts +27 -2
  641. package/src/lib/services/tuple.service.d.ts.map +1 -1
  642. package/src/lib/services/tuple.service.js +62 -20
  643. package/src/lib/services/tuple.service.js.map +1 -1
  644. package/src/lib/services/vcblService.d.ts +36 -0
  645. package/src/lib/services/vcblService.d.ts.map +1 -0
  646. package/src/lib/services/vcblService.js +326 -0
  647. package/src/lib/services/vcblService.js.map +1 -0
  648. package/src/lib/stores/index.d.ts +1 -0
  649. package/src/lib/stores/index.d.ts.map +1 -1
  650. package/src/lib/stores/index.js +1 -0
  651. package/src/lib/stores/index.js.map +1 -1
  652. package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts +2 -2
  653. package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts.map +1 -1
  654. package/src/lib/stores/messaging/memoryMessageMetadataStore.js +2 -2
  655. package/src/lib/stores/messaging/memoryMessageMetadataStore.js.map +1 -1
  656. package/src/lib/stores/pooledMemoryBlockStore.d.ts +134 -0
  657. package/src/lib/stores/pooledMemoryBlockStore.d.ts.map +1 -0
  658. package/src/lib/stores/pooledMemoryBlockStore.js +583 -0
  659. package/src/lib/stores/pooledMemoryBlockStore.js.map +1 -0
  660. package/src/lib/types/checksum.d.ts +11 -0
  661. package/src/lib/types/checksum.d.ts.map +1 -1
  662. package/src/lib/types/checksum.js +11 -0
  663. package/src/lib/types/checksum.js.map +1 -1
  664. package/src/lib/utils/index.d.ts +9 -0
  665. package/src/lib/utils/index.d.ts.map +1 -1
  666. package/src/lib/utils/index.js +12 -0
  667. package/src/lib/utils/index.js.map +1 -1
  668. package/src/lib/utils/pagination.d.ts +27 -0
  669. package/src/lib/utils/pagination.d.ts.map +1 -0
  670. package/src/lib/utils/pagination.js +38 -0
  671. package/src/lib/utils/pagination.js.map +1 -0
  672. package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts +0 -18
  673. package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts.map +0 -1
  674. package/src/lib/enumerations/messaging/messageDeliveryStatus.js +0 -22
  675. package/src/lib/enumerations/messaging/messageDeliveryStatus.js.map +0 -1
  676. package/src/lib/enumerations/messaging/routingStrategy.d.ts +0 -12
  677. package/src/lib/enumerations/messaging/routingStrategy.d.ts.map +0 -1
  678. package/src/lib/enumerations/messaging/routingStrategy.js +0 -16
  679. package/src/lib/enumerations/messaging/routingStrategy.js.map +0 -1
  680. package/src/lib/interfaces/messaging/messageRouter.d.ts +0 -48
  681. package/src/lib/interfaces/messaging/messageRouter.d.ts.map +0 -1
  682. package/src/lib/interfaces/messaging/messageRouter.js.map +0 -1
  683. package/src/lib/interfaces/network/networkTransport.d.ts +0 -19
  684. package/src/lib/interfaces/network/networkTransport.d.ts.map +0 -1
  685. package/src/lib/interfaces/network/networkTransport.js.map +0 -1
  686. package/src/lib/services/messaging/broadcastMessageRouter.d.ts +0 -18
  687. package/src/lib/services/messaging/broadcastMessageRouter.d.ts.map +0 -1
  688. package/src/lib/services/messaging/broadcastMessageRouter.js +0 -32
  689. package/src/lib/services/messaging/broadcastMessageRouter.js.map +0 -1
  690. package/src/lib/services/messaging/directMessageRouter.d.ts +0 -25
  691. package/src/lib/services/messaging/directMessageRouter.d.ts.map +0 -1
  692. package/src/lib/services/messaging/directMessageRouter.js +0 -58
  693. package/src/lib/services/messaging/directMessageRouter.js.map +0 -1
  694. package/src/lib/services/messaging/messageForwardingService.d.ts +0 -40
  695. package/src/lib/services/messaging/messageForwardingService.d.ts.map +0 -1
  696. package/src/lib/services/messaging/messageForwardingService.js +0 -74
  697. package/src/lib/services/messaging/messageForwardingService.js.map +0 -1
  698. package/src/lib/services/messaging/messageRouter.d.ts +0 -24
  699. package/src/lib/services/messaging/messageRouter.d.ts.map +0 -1
  700. package/src/lib/services/messaging/messageRouter.js +0 -111
  701. package/src/lib/services/messaging/messageRouter.js.map +0 -1
  702. package/src/lib/services/messaging/webSocketTransport.d.ts +0 -34
  703. package/src/lib/services/messaging/webSocketTransport.d.ts.map +0 -1
  704. package/src/lib/services/messaging/webSocketTransport.js +0 -115
  705. package/src/lib/services/messaging/webSocketTransport.js.map +0 -1
@@ -7,7 +7,9 @@
7
7
  *
8
8
  * @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8
9
9
  */
10
- import { BloomFilter } from './blockRegistry';
10
+ import type { ICBLIndexEntry } from '../storage/cblIndex';
11
+ import { PoolId } from '../storage/pooledBlockStore';
12
+ import { BloomFilter, PoolScopedBloomFilter } from './blockRegistry';
11
13
  import { ILocationRecord } from './locationRecord';
12
14
  /**
13
15
  * Result of a block discovery operation.
@@ -38,6 +40,13 @@ export interface DiscoveryResult {
38
40
  * Total duration of the discovery operation in milliseconds
39
41
  */
40
42
  duration: number;
43
+ /**
44
+ * Pool context used for this discovery, if any.
45
+ * Set when discoverBlock was called with a poolId parameter.
46
+ *
47
+ * @see Requirements 4.1
48
+ */
49
+ poolId?: PoolId;
41
50
  }
42
51
  /**
43
52
  * Result of querying a single peer for a block.
@@ -107,6 +116,49 @@ export interface DiscoveryConfig {
107
116
  * Default discovery configuration values.
108
117
  */
109
118
  export declare const DEFAULT_DISCOVERY_CONFIG: DiscoveryConfig;
119
+ /**
120
+ * Query for searching CBL metadata across pool peers.
121
+ * All fields are optional; only specified fields are used as filters.
122
+ *
123
+ * @see Requirements 8.5
124
+ */
125
+ export interface CBLMetadataSearchQuery {
126
+ /** Filter by file name (substring match) */
127
+ fileName?: string;
128
+ /** Filter by MIME type (exact match) */
129
+ mimeType?: string;
130
+ /** Filter by tags (entries must have all specified tags) */
131
+ tags?: string[];
132
+ /** Scope the search to a specific pool */
133
+ poolId?: PoolId;
134
+ }
135
+ /**
136
+ * A single matching entry from a CBL metadata search,
137
+ * annotated with the source node that reported it.
138
+ *
139
+ * @see Requirements 8.5
140
+ */
141
+ export interface CBLMetadataSearchHit {
142
+ /** The matching CBL index entry */
143
+ entry: ICBLIndexEntry;
144
+ /** Node ID of the peer that reported this entry */
145
+ sourceNodeId: string;
146
+ }
147
+ /**
148
+ * Result of a CBL metadata search across pool peers.
149
+ *
150
+ * @see Requirements 8.5
151
+ */
152
+ export interface CBLMetadataSearchResult {
153
+ /** The query that was executed */
154
+ query: CBLMetadataSearchQuery;
155
+ /** Matching entries with source node information */
156
+ hits: CBLMetadataSearchHit[];
157
+ /** Number of peers that were queried */
158
+ queriedPeers: number;
159
+ /** Total duration of the search in milliseconds */
160
+ duration: number;
161
+ }
110
162
  /**
111
163
  * Discovery Protocol Interface
112
164
  *
@@ -125,11 +177,15 @@ export interface IDiscoveryProtocol {
125
177
  * 3. Make direct queries to peers whose Bloom filters indicate possible match
126
178
  * 4. Cache and return results sorted by latency
127
179
  *
180
+ * When poolId is provided, uses pool-scoped Bloom filters and
181
+ * includes poolId in peer queries for pool-specific discovery.
182
+ *
128
183
  * @param blockId - The block ID to discover
184
+ * @param poolId - Optional pool to scope the discovery to
129
185
  * @returns Promise resolving to discovery result with locations
130
- * @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5
186
+ * @see Requirements 4.1, 4.2, 4.3, 5.1, 5.2, 5.3, 5.4, 5.5
131
187
  */
132
- discoverBlock(blockId: string): Promise<DiscoveryResult>;
188
+ discoverBlock(blockId: string, poolId?: PoolId): Promise<DiscoveryResult>;
133
189
  /**
134
190
  * Query a specific peer for a block.
135
191
  * Makes a direct query without Bloom filter pre-check.
@@ -169,11 +225,33 @@ export interface IDiscoveryProtocol {
169
225
  * @see Requirements 4.2, 5.2
170
226
  */
171
227
  getPeerBloomFilter(peerId: string): Promise<BloomFilter>;
228
+ /**
229
+ * Get the pool-scoped Bloom filter from a peer.
230
+ * Used for pool-aware discovery to pre-check block existence
231
+ * within specific pools before making direct queries.
232
+ *
233
+ * @param peerId - The peer to get the pool-scoped Bloom filter from
234
+ * @returns Promise resolving to the peer's pool-scoped Bloom filter
235
+ * @see Requirements 4.2, 4.5
236
+ */
237
+ getPeerPoolScopedBloomFilter(peerId: string): Promise<PoolScopedBloomFilter>;
172
238
  /**
173
239
  * Get the current configuration.
174
240
  *
175
241
  * @returns The discovery configuration
176
242
  */
177
243
  getConfig(): DiscoveryConfig;
244
+ /**
245
+ * Search for CBL index entries by metadata across pool peers.
246
+ *
247
+ * Queries connected peers for CBL entries matching the given criteria
248
+ * (file name, MIME type, tags) within the specified pool. Results are
249
+ * deduplicated by magnet URL, keeping the first occurrence.
250
+ *
251
+ * @param query - Search criteria with optional fileName, mimeType, tags, poolId
252
+ * @returns Promise resolving to search results with matching entries and source nodes
253
+ * @see Requirements 8.5
254
+ */
255
+ searchCBLMetadata(query: CBLMetadataSearchQuery): Promise<CBLMetadataSearchResult>;
178
256
  }
179
257
  //# sourceMappingURL=discoveryProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,EAAE,eAAe,EAAE,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,4BAA4B,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAMtC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzD;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAErE;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD;;;;OAIG;IACH,SAAS,IAAI,eAAe,CAAC;CAC9B"}
1
+ {"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryProtocol.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAiHH;;GAEG;AACU,QAAA,wBAAwB,GAAoB;IACvD,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,EAAE;IACxB,UAAU,EAAE,KAAK;IACjB,4BAA4B,EAAE,IAAI;IAClC,oBAAoB,EAAE,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"discoveryProtocol.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA2HH;;GAEG;AACU,QAAA,wBAAwB,GAAoB;IACvD,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,EAAE;IACxB,UAAU,EAAE,KAAK;IACjB,4BAA4B,EAAE,IAAI;IAClC,oBAAoB,EAAE,CAAC;CACxB,CAAC"}
@@ -6,18 +6,82 @@
6
6
  * efficient block discovery without polling.
7
7
  *
8
8
  * @see Requirements 6.1, 6.2, 6.3, 6.4, 6.5, 6.6
9
+ * @see Requirements 1.1, 1.2, 1.3, 1.5, 1.6, 10.1 (Unified Gossip Delivery)
9
10
  */
11
+ import type { ICBLIndexEntry } from '../storage/cblIndex';
12
+ import { PoolId } from '../storage/pooledBlockStore';
13
+ /**
14
+ * Metadata for message delivery via gossip protocol.
15
+ * Attached to 'add' type BlockAnnouncements to indicate the announcement
16
+ * is part of a logical message delivery.
17
+ *
18
+ * @see Requirements 1.2
19
+ */
20
+ export interface MessageDeliveryMetadata {
21
+ /** Unique identifier for the message being delivered */
22
+ messageId: string;
23
+ /** IDs of the intended recipients */
24
+ recipientIds: string[];
25
+ /** Delivery priority level affecting fanout and TTL */
26
+ priority: 'normal' | 'high';
27
+ /** Block IDs containing the message content */
28
+ blockIds: string[];
29
+ /** The CBL block ID that serves as the manifest for this delivery */
30
+ cblBlockId: string;
31
+ /** Whether the recipient should send a delivery acknowledgment */
32
+ ackRequired: boolean;
33
+ }
34
+ /**
35
+ * Metadata for delivery acknowledgment via gossip protocol.
36
+ * Attached to 'ack' type BlockAnnouncements to confirm message receipt.
37
+ *
38
+ * @see Requirements 1.3
39
+ */
40
+ export interface DeliveryAckMetadata {
41
+ /** The message ID being acknowledged */
42
+ messageId: string;
43
+ /** The recipient ID sending the acknowledgment */
44
+ recipientId: string;
45
+ /** The delivery status being reported */
46
+ status: 'delivered' | 'read' | 'failed' | 'bounced';
47
+ /** The node ID of the original message sender */
48
+ originalSenderNode: string;
49
+ }
50
+ /**
51
+ * Metadata for HeadRegistry head pointer update announcements.
52
+ * Attached to 'head_update' type BlockAnnouncements to propagate
53
+ * head pointer changes across nodes.
54
+ *
55
+ * @see Requirements 2.1
56
+ */
57
+ export interface HeadUpdateMetadata {
58
+ /** The database name containing the collection */
59
+ dbName: string;
60
+ /** The collection whose head pointer was updated */
61
+ collectionName: string;
62
+ }
10
63
  /**
11
64
  * Block announcement message sent via gossip protocol.
12
- * Contains information about a block being added or removed from a node.
65
+ * Contains information about a block being added, removed, or acknowledged.
13
66
  *
14
67
  * @see Requirements 6.1, 6.5
68
+ * @see Requirements 1.1, 1.2, 1.3, 1.5, 1.6
15
69
  */
16
70
  export interface BlockAnnouncement {
17
71
  /**
18
- * Type of announcement: 'add' for new blocks, 'remove' for deleted blocks
72
+ * Type of announcement:
73
+ * - 'add' for new blocks (may include messageDelivery metadata)
74
+ * - 'remove' for deleted blocks
75
+ * - 'ack' for delivery acknowledgments (must include deliveryAck metadata)
76
+ * - 'pool_deleted' for pool deletion propagation (requires poolId)
77
+ * - 'cbl_index_update' for new/updated CBL index entries (requires cblIndexEntry and poolId)
78
+ * - 'cbl_index_delete' for soft-deleted CBL index entries (requires cblIndexEntry and poolId)
79
+ * - 'head_update' for HeadRegistry head pointer updates (requires headUpdate metadata)
80
+ * - 'acl_update' for approved ACL updates (requires poolId and aclBlockId)
81
+ *
82
+ * @see Requirements 1.1, 2.1, 8.1, 8.6, 13.4
19
83
  */
20
- type: 'add' | 'remove';
84
+ type: 'add' | 'remove' | 'ack' | 'pool_deleted' | 'cbl_index_update' | 'cbl_index_delete' | 'head_update' | 'acl_update';
21
85
  /**
22
86
  * The block ID being announced (hex string)
23
87
  */
@@ -37,16 +101,73 @@ export interface BlockAnnouncement {
37
101
  * @see Requirements 6.4
38
102
  */
39
103
  ttl: number;
104
+ /**
105
+ * Optional message delivery metadata. Only allowed on 'add' type announcements.
106
+ *
107
+ * @see Requirements 1.2, 1.5
108
+ */
109
+ messageDelivery?: MessageDeliveryMetadata;
110
+ /**
111
+ * Optional delivery acknowledgment metadata. Only allowed on 'ack' type announcements.
112
+ *
113
+ * @see Requirements 1.3, 1.6
114
+ */
115
+ deliveryAck?: DeliveryAckMetadata;
116
+ /**
117
+ * Optional pool ID for pool-scoped announcements.
118
+ * Required for 'pool_deleted', 'cbl_index_update', and 'cbl_index_delete' types.
119
+ * Optional for 'add' and 'remove' types.
120
+ *
121
+ * @see Requirements 1.5, 1.6, 2.1, 8.1, 8.6
122
+ */
123
+ poolId?: PoolId;
124
+ /**
125
+ * Optional CBL index entry data for CBL index synchronization.
126
+ * Required for 'cbl_index_update' and 'cbl_index_delete' types.
127
+ * Contains the entry being announced (update) or the entry being soft-deleted (delete).
128
+ *
129
+ * @see Requirements 8.1, 8.6
130
+ */
131
+ cblIndexEntry?: ICBLIndexEntry;
132
+ /**
133
+ * Optional HeadRegistry update metadata for head pointer synchronization.
134
+ * Required for 'head_update' type announcements.
135
+ * The blockId field carries the new head block ID.
136
+ *
137
+ * @see Requirements 2.1
138
+ */
139
+ headUpdate?: HeadUpdateMetadata;
140
+ /**
141
+ * Optional ACL block ID for ACL update propagation.
142
+ * Required for 'acl_update' type announcements.
143
+ * Contains the block ID of the approved ACL document in the block store.
144
+ *
145
+ * @see Requirements 13.4
146
+ */
147
+ aclBlockId?: string;
148
+ }
149
+ /**
150
+ * Configuration for priority-based gossip propagation.
151
+ * Defines fanout and TTL values for a specific priority level.
152
+ *
153
+ * @see Requirements 10.1
154
+ */
155
+ export interface PriorityGossipConfig {
156
+ /** Number of peers to forward announcements to */
157
+ fanout: number;
158
+ /** Time-to-live: number of hops for announcements */
159
+ ttl: number;
40
160
  }
41
161
  /**
42
162
  * Configuration for the gossip protocol.
43
163
  *
44
- * @see Requirements 6.3, 6.4, 6.6
164
+ * @see Requirements 6.3, 6.4, 6.6, 10.1
45
165
  */
46
166
  export interface GossipConfig {
47
167
  /**
48
168
  * Number of peers to forward announcements to (fanout).
49
169
  * Higher values increase propagation speed but also network traffic.
170
+ * This is the default fanout for block-level announcements.
50
171
  *
51
172
  * @see Requirements 6.3
52
173
  */
@@ -54,6 +175,7 @@ export interface GossipConfig {
54
175
  /**
55
176
  * Initial TTL for new announcements.
56
177
  * Controls how far announcements propagate through the network.
178
+ * This is the default TTL for block-level announcements.
57
179
  *
58
180
  * @see Requirements 6.4
59
181
  */
@@ -72,9 +194,21 @@ export interface GossipConfig {
72
194
  * @see Requirements 6.6
73
195
  */
74
196
  maxBatchSize: number;
197
+ /**
198
+ * Priority-based overrides for message delivery.
199
+ * Defines fanout and TTL values for normal and high priority messages.
200
+ *
201
+ * @see Requirements 10.1
202
+ */
203
+ messagePriority: {
204
+ normal: PriorityGossipConfig;
205
+ high: PriorityGossipConfig;
206
+ };
75
207
  }
76
208
  /**
77
209
  * Default gossip configuration values.
210
+ *
211
+ * @see Requirements 10.1
78
212
  */
79
213
  export declare const DEFAULT_GOSSIP_CONFIG: GossipConfig;
80
214
  /**
@@ -96,19 +230,71 @@ export interface IGossipService {
96
230
  * The announcement will be batched and sent to a random subset of peers.
97
231
  *
98
232
  * @param blockId - The block ID to announce
233
+ * @param poolId - Optional pool the block belongs to
99
234
  * @returns Promise that resolves when the announcement is queued
100
- * @see Requirements 6.1
235
+ * @see Requirements 6.1, 1.1, 6.3
101
236
  */
102
- announceBlock(blockId: string): Promise<void>;
237
+ announceBlock(blockId: string, poolId?: PoolId): Promise<void>;
103
238
  /**
104
239
  * Announce block removal to the network.
105
240
  * The announcement will be batched and sent to a random subset of peers.
106
241
  *
107
242
  * @param blockId - The block ID being removed
243
+ * @param poolId - Optional pool the block belonged to
108
244
  * @returns Promise that resolves when the announcement is queued
109
- * @see Requirements 6.5
245
+ * @see Requirements 6.5, 2.2
110
246
  */
111
- announceRemoval(blockId: string): Promise<void>;
247
+ announceRemoval(blockId: string, poolId?: PoolId): Promise<void>;
248
+ /**
249
+ * Announce that a pool has been deleted.
250
+ * Creates a pool_deleted announcement propagated as a tombstone.
251
+ *
252
+ * @param poolId - The pool that was deleted
253
+ * @returns Promise that resolves when the announcement is queued
254
+ * @see Requirements 2.2, 6.3
255
+ */
256
+ announcePoolDeletion(poolId: PoolId): Promise<void>;
257
+ /**
258
+ * Announce a new or updated CBL index entry to peers in the same pool.
259
+ * Creates a cbl_index_update announcement scoped to the entry's pool.
260
+ *
261
+ * @param entry - The CBL index entry being announced
262
+ * @returns Promise that resolves when the announcement is queued
263
+ * @see Requirements 8.1
264
+ */
265
+ announceCBLIndexUpdate(entry: ICBLIndexEntry): Promise<void>;
266
+ /**
267
+ * Announce a soft-deleted CBL index entry to peers in the same pool.
268
+ * Creates a cbl_index_delete announcement so peers also mark the entry as deleted.
269
+ *
270
+ * @param entry - The CBL index entry that was soft-deleted (with deletedAt set)
271
+ * @returns Promise that resolves when the announcement is queued
272
+ * @see Requirements 8.6
273
+ */
274
+ announceCBLIndexDelete(entry: ICBLIndexEntry): Promise<void>;
275
+ /**
276
+ * Announce a HeadRegistry head pointer update to peer nodes.
277
+ * Creates a head_update announcement with the database name, collection name,
278
+ * and new head block ID.
279
+ *
280
+ * @param dbName - The database name containing the collection
281
+ * @param collectionName - The collection whose head pointer was updated
282
+ * @param blockId - The new head block ID
283
+ * @returns Promise that resolves when the announcement is queued
284
+ * @see Requirements 2.1
285
+ */
286
+ announceHeadUpdate(dbName: string, collectionName: string, blockId: string): Promise<void>;
287
+ /**
288
+ * Announce an approved ACL update to peers in the same pool.
289
+ * Creates an acl_update announcement with the pool ID and the block ID
290
+ * of the signed ACL document stored in the block store.
291
+ *
292
+ * @param poolId - The pool whose ACL was updated
293
+ * @param aclBlockId - The block ID of the approved ACL document
294
+ * @returns Promise that resolves when the announcement is queued
295
+ * @see Requirements 13.4
296
+ */
297
+ announceACLUpdate(poolId: string, aclBlockId: string): Promise<void>;
112
298
  /**
113
299
  * Handle an incoming block announcement from a peer.
114
300
  * Updates local location metadata and optionally forwards the announcement.
@@ -162,5 +348,90 @@ export interface IGossipService {
162
348
  * @returns The gossip configuration
163
349
  */
164
350
  getConfig(): GossipConfig;
351
+ /**
352
+ * Announce message blocks to the network with message delivery metadata.
353
+ * Creates BlockAnnouncements with messageDelivery metadata, applies
354
+ * priority-based fanout/TTL from config, and queues for batch sending.
355
+ *
356
+ * @param blockIds - The block IDs containing the message content
357
+ * @param metadata - Message delivery metadata including recipients, priority, and CBL block ID
358
+ * @returns Promise that resolves when the announcements are queued
359
+ * @see Requirements 3.1 (message-aware gossip delivery)
360
+ */
361
+ announceMessage(blockIds: string[], metadata: MessageDeliveryMetadata): Promise<void>;
362
+ /**
363
+ * Send a delivery acknowledgment back through the gossip network.
364
+ * Creates a BlockAnnouncement of type 'ack' with deliveryAck metadata
365
+ * and queues it for propagation.
366
+ *
367
+ * @param ack - Delivery acknowledgment metadata including messageId, recipientId, status, and originalSenderNode
368
+ * @returns Promise that resolves when the ack announcement is queued
369
+ * @see Requirements 4.1 (delivery acknowledgment via gossip)
370
+ */
371
+ sendDeliveryAck(ack: DeliveryAckMetadata): Promise<void>;
372
+ /**
373
+ * Register a handler for message delivery events.
374
+ * The handler is called when a BlockAnnouncement with messageDelivery
375
+ * metadata is received and the recipientIds match local users.
376
+ *
377
+ * @param handler - Function to call when a message delivery announcement is received
378
+ * @see Requirements 3.4, 3.5 (message receipt handling)
379
+ */
380
+ onMessageDelivery(handler: (announcement: BlockAnnouncement) => void): void;
381
+ /**
382
+ * Remove a message delivery event handler.
383
+ *
384
+ * @param handler - The handler to remove
385
+ * @see Requirements 3.4, 3.5 (message receipt handling)
386
+ */
387
+ offMessageDelivery(handler: (announcement: BlockAnnouncement) => void): void;
388
+ /**
389
+ * Register a handler for delivery acknowledgment events.
390
+ * The handler is called when a BlockAnnouncement of type 'ack' with
391
+ * deliveryAck metadata is received at the original sender node.
392
+ *
393
+ * @param handler - Function to call when a delivery ack announcement is received
394
+ * @see Requirements 4.1 (delivery acknowledgment via gossip)
395
+ */
396
+ onDeliveryAck(handler: (announcement: BlockAnnouncement) => void): void;
397
+ /**
398
+ * Remove a delivery acknowledgment event handler.
399
+ *
400
+ * @param handler - The handler to remove
401
+ * @see Requirements 4.1 (delivery acknowledgment via gossip)
402
+ */
403
+ offDeliveryAck(handler: (announcement: BlockAnnouncement) => void): void;
165
404
  }
405
+ /**
406
+ * Validates a BlockAnnouncement, enforcing field-type constraints.
407
+ *
408
+ * Validation rules:
409
+ * - messageDelivery is only allowed on 'add' type announcements (Req 1.5)
410
+ * - deliveryAck is only allowed on 'ack' type announcements (Req 1.6)
411
+ * - When messageDelivery is present, all fields must be complete and valid
412
+ * - When deliveryAck is present, all fields must be complete and valid
413
+ *
414
+ * @param announcement - The BlockAnnouncement to validate
415
+ * @returns true if the announcement is valid, false otherwise
416
+ *
417
+ * @see Requirements 1.1, 1.2, 1.3, 1.5, 1.6
418
+ */
419
+ export declare function validateBlockAnnouncement(announcement: BlockAnnouncement): boolean;
420
+ /**
421
+ * Validates a GossipConfig, ensuring all fanout and TTL values are positive integers.
422
+ *
423
+ * Validation rules:
424
+ * - config.fanout must be a positive integer (Req 10.3)
425
+ * - config.defaultTtl must be a positive integer (Req 10.4)
426
+ * - config.messagePriority.normal.fanout must be a positive integer (Req 10.3)
427
+ * - config.messagePriority.normal.ttl must be a positive integer (Req 10.4)
428
+ * - config.messagePriority.high.fanout must be a positive integer (Req 10.3)
429
+ * - config.messagePriority.high.ttl must be a positive integer (Req 10.4)
430
+ *
431
+ * @param config - The GossipConfig to validate
432
+ * @returns true if all values are valid, false otherwise
433
+ *
434
+ * @see Requirements 10.3, 10.4
435
+ */
436
+ export declare function validateGossipConfig(config: GossipConfig): boolean;
166
437
  //# sourceMappingURL=gossipService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAKnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEnD;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEpD;;;;;;OAMG;IACH,uBAAuB,IAAI,iBAAiB,EAAE,CAAC;IAE/C;;;;;;OAMG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;;OAIG;IACH,SAAS,IAAI,YAAY,CAAC;CAC3B"}
1
+ {"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}