@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
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Shared document store types promoted from brightchain-db.
3
+ * These types define the MongoDB-compatible query/update/result contracts
4
+ * used by both brightchain-db and mongoose-based implementations.
5
+ */
6
+ import { IClientSession } from './clientSession';
7
+ /** A document ID – opaque string */
8
+ export type DocumentId = string;
9
+ /** The shape of a stored document – any record with an optional _id */
10
+ export type BsonDocument = Record<string, unknown> & {
11
+ _id?: DocumentId;
12
+ };
13
+ /**
14
+ * MongoDB-style filter with query operators.
15
+ *
16
+ * Supports:
17
+ * - Exact match: `{ field: value }`
18
+ * - Comparison: `{ field: { $eq, $ne, $gt, $gte, $lt, $lte } }`
19
+ * - Set: `{ field: { $in: [...], $nin: [...] } }`
20
+ * - Pattern: `{ field: { $regex: /.../ } }`
21
+ * - Existence: `{ field: { $exists: true } }`
22
+ * - Logical: `{ $and: [...], $or: [...], $not: {...}, $nor: [...] }`
23
+ * - Array: `{ field: { $elemMatch: {...} } }`
24
+ */
25
+ export type FilterQuery<T> = {
26
+ [P in keyof T]?: T[P] | FilterOperator<T[P]>;
27
+ } & LogicalOperators<T>;
28
+ export interface FilterOperator<V> {
29
+ $eq?: V;
30
+ $ne?: V;
31
+ $gt?: V;
32
+ $gte?: V;
33
+ $lt?: V;
34
+ $lte?: V;
35
+ $in?: V[];
36
+ $nin?: V[];
37
+ $regex?: RegExp | string;
38
+ $exists?: boolean;
39
+ $not?: FilterOperator<V>;
40
+ $elemMatch?: Record<string, unknown>;
41
+ $size?: number;
42
+ $type?: string;
43
+ $all?: V[];
44
+ }
45
+ export interface LogicalOperators<T> {
46
+ $and?: FilterQuery<T>[];
47
+ $or?: FilterQuery<T>[];
48
+ $nor?: FilterQuery<T>[];
49
+ $not?: FilterQuery<T>;
50
+ }
51
+ /**
52
+ * MongoDB-style update operators
53
+ */
54
+ export interface UpdateOperators<T> {
55
+ $set?: Partial<T>;
56
+ $unset?: {
57
+ [P in keyof T]?: 1 | '' | true;
58
+ };
59
+ $inc?: {
60
+ [P in keyof T]?: number;
61
+ };
62
+ $push?: {
63
+ [P in keyof T]?: unknown;
64
+ };
65
+ $pull?: {
66
+ [P in keyof T]?: unknown;
67
+ };
68
+ $addToSet?: {
69
+ [P in keyof T]?: unknown;
70
+ };
71
+ $min?: Partial<T>;
72
+ $max?: Partial<T>;
73
+ $rename?: {
74
+ [key: string]: string;
75
+ };
76
+ $currentDate?: {
77
+ [P in keyof T]?: true | {
78
+ $type: 'date' | 'timestamp';
79
+ };
80
+ };
81
+ $mul?: {
82
+ [P in keyof T]?: number;
83
+ };
84
+ $pop?: {
85
+ [P in keyof T]?: 1 | -1;
86
+ };
87
+ }
88
+ /** The update document can be either operators or a full replacement */
89
+ export type UpdateQuery<T> = UpdateOperators<T> | Partial<T>;
90
+ /**
91
+ * Sort specification: 1 = ascending, -1 = descending
92
+ */
93
+ export type SortSpec<T = BsonDocument> = {
94
+ [P in keyof T]?: 1 | -1;
95
+ } & Record<string, 1 | -1>;
96
+ /**
97
+ * Projection specification: 1 = include, 0 = exclude
98
+ */
99
+ export type ProjectionSpec<T = BsonDocument> = {
100
+ [P in keyof T]?: 1 | 0;
101
+ } & Record<string, 1 | 0>;
102
+ /**
103
+ * Index specification: 1 = ascending, -1 = descending
104
+ */
105
+ export type IndexSpec = Record<string, 1 | -1>;
106
+ /**
107
+ * Options for index creation
108
+ */
109
+ export interface IndexOptions {
110
+ unique?: boolean;
111
+ name?: string;
112
+ sparse?: boolean;
113
+ background?: boolean;
114
+ /** TTL: automatically expire documents after this many seconds */
115
+ expireAfterSeconds?: number;
116
+ }
117
+ /**
118
+ * Client session type alias for backward compatibility.
119
+ * The canonical interface is IClientSession in ./clientSession.ts.
120
+ */
121
+ export type ClientSession = IClientSession;
122
+ /**
123
+ * Options for find operations
124
+ */
125
+ export interface FindOptions<T = BsonDocument> {
126
+ projection?: ProjectionSpec<T>;
127
+ sort?: SortSpec<T>;
128
+ limit?: number;
129
+ skip?: number;
130
+ session?: IClientSession;
131
+ }
132
+ /**
133
+ * Options for write operations
134
+ */
135
+ export interface WriteOptions {
136
+ session?: IClientSession;
137
+ /** Write concern for this operation */
138
+ writeConcern?: WriteConcern;
139
+ }
140
+ /**
141
+ * Options for update operations
142
+ */
143
+ export interface UpdateOptions extends WriteOptions {
144
+ upsert?: boolean;
145
+ }
146
+ /**
147
+ * Result of an insert operation
148
+ */
149
+ export interface InsertOneResult {
150
+ acknowledged: boolean;
151
+ insertedId: DocumentId;
152
+ }
153
+ export interface InsertManyResult {
154
+ acknowledged: boolean;
155
+ insertedCount: number;
156
+ insertedIds: Record<number, DocumentId>;
157
+ }
158
+ /**
159
+ * Result of an update operation
160
+ */
161
+ export interface UpdateResult {
162
+ acknowledged: boolean;
163
+ matchedCount: number;
164
+ modifiedCount: number;
165
+ upsertedCount: number;
166
+ upsertedId?: DocumentId;
167
+ }
168
+ /**
169
+ * Result of a delete operation
170
+ */
171
+ export interface DeleteResult {
172
+ acknowledged: boolean;
173
+ deletedCount: number;
174
+ }
175
+ /**
176
+ * Result of a replace operation
177
+ */
178
+ export interface ReplaceResult {
179
+ acknowledged: boolean;
180
+ matchedCount: number;
181
+ modifiedCount: number;
182
+ upsertedCount: number;
183
+ upsertedId?: DocumentId;
184
+ }
185
+ /** Change stream event types */
186
+ export type ChangeEventType = 'insert' | 'update' | 'replace' | 'delete';
187
+ export interface ChangeEvent<T = BsonDocument> {
188
+ operationType: ChangeEventType;
189
+ documentKey: {
190
+ _id: DocumentId;
191
+ };
192
+ fullDocument?: T;
193
+ updateDescription?: {
194
+ updatedFields?: Partial<T>;
195
+ removedFields?: string[];
196
+ };
197
+ ns: {
198
+ db: string;
199
+ coll: string;
200
+ };
201
+ timestamp: Date;
202
+ }
203
+ /** Listener for change events */
204
+ export type ChangeListener<T = BsonDocument> = (event: ChangeEvent<T>) => void;
205
+ /**
206
+ * Aggregation pipeline stage types
207
+ */
208
+ export type AggregationStage = {
209
+ $match: Record<string, unknown>;
210
+ } | {
211
+ $group: Record<string, unknown>;
212
+ } | {
213
+ $sort: Record<string, 1 | -1>;
214
+ } | {
215
+ $limit: number;
216
+ } | {
217
+ $skip: number;
218
+ } | {
219
+ $project: Record<string, unknown>;
220
+ } | {
221
+ $unwind: string | {
222
+ path: string;
223
+ preserveNullAndEmptyArrays?: boolean;
224
+ };
225
+ } | {
226
+ $count: string;
227
+ } | {
228
+ $addFields: Record<string, unknown>;
229
+ } | {
230
+ $lookup: {
231
+ from: string;
232
+ localField: string;
233
+ foreignField: string;
234
+ as: string;
235
+ };
236
+ } | {
237
+ $replaceRoot: {
238
+ newRoot: string | Record<string, unknown>;
239
+ };
240
+ } | {
241
+ $out: string;
242
+ } | {
243
+ $sample: {
244
+ size: number;
245
+ };
246
+ } | {
247
+ $facet: Record<string, AggregationStage[]>;
248
+ };
249
+ /**
250
+ * Write concern – controls acknowledgment of write operations.
251
+ */
252
+ export interface WriteConcern {
253
+ /** Number of acknowledgments: 0 = fire-and-forget, 1 = primary (default), 'majority' */
254
+ w?: number | 'majority';
255
+ /** Timeout in ms for write concern acknowledgment */
256
+ wtimeoutMS?: number;
257
+ /** Whether to wait for journal commit before acknowledging */
258
+ journal?: boolean;
259
+ }
260
+ /**
261
+ * Read preference – controls which store replicas are read from.
262
+ */
263
+ export type ReadPreference = 'primary' | 'secondary' | 'nearest';
264
+ /**
265
+ * Options for creating a collection with validation and other settings.
266
+ */
267
+ export interface CollectionOptions {
268
+ /** Write concern for all operations on this collection */
269
+ writeConcern?: WriteConcern;
270
+ /** Read preference for all read operations on this collection */
271
+ readPreference?: ReadPreference;
272
+ }
273
+ export type BulkWriteOperation<T extends BsonDocument = BsonDocument> = {
274
+ insertOne: {
275
+ document: T;
276
+ };
277
+ } | {
278
+ updateOne: {
279
+ filter: FilterQuery<T>;
280
+ update: UpdateQuery<T>;
281
+ upsert?: boolean;
282
+ };
283
+ } | {
284
+ updateMany: {
285
+ filter: FilterQuery<T>;
286
+ update: UpdateQuery<T>;
287
+ };
288
+ } | {
289
+ deleteOne: {
290
+ filter: FilterQuery<T>;
291
+ };
292
+ } | {
293
+ deleteMany: {
294
+ filter: FilterQuery<T>;
295
+ };
296
+ } | {
297
+ replaceOne: {
298
+ filter: FilterQuery<T>;
299
+ replacement: T;
300
+ upsert?: boolean;
301
+ };
302
+ };
303
+ export interface BulkWriteOptions extends WriteOptions {
304
+ /** If true, stop on the first error. If false, continue and report all errors. (default: true) */
305
+ ordered?: boolean;
306
+ }
307
+ export interface BulkWriteResult {
308
+ acknowledged: boolean;
309
+ insertedCount: number;
310
+ matchedCount: number;
311
+ modifiedCount: number;
312
+ deletedCount: number;
313
+ upsertedCount: number;
314
+ insertedIds: Record<number, DocumentId>;
315
+ upsertedIds: Record<number, DocumentId>;
316
+ }
317
+ /**
318
+ * Text index options
319
+ */
320
+ export interface TextIndexOptions {
321
+ /** Fields to index for text search, with optional weights */
322
+ fields: Record<string, number>;
323
+ /** Default language for stemming (currently unused – basic tokenisation only) */
324
+ defaultLanguage?: string;
325
+ /** Name of the text index */
326
+ name?: string;
327
+ }
328
+ /**
329
+ * A server-side cursor session for paginated REST access.
330
+ */
331
+ export interface CursorSession {
332
+ /** Unique cursor ID */
333
+ id: string;
334
+ /** Collection name */
335
+ collection: string;
336
+ /** Pre-fetched document IDs (for position tracking) */
337
+ documentIds: DocumentId[];
338
+ /** Current offset position */
339
+ position: number;
340
+ /** Batch size */
341
+ batchSize: number;
342
+ /** Timestamp of last access */
343
+ lastAccessed: number;
344
+ /** Filter used to create this cursor */
345
+ filter: Record<string, unknown>;
346
+ /** Sort used */
347
+ sort?: Record<string, 1 | -1>;
348
+ /** Projection used */
349
+ projection?: Record<string, 0 | 1>;
350
+ }
351
+ /**
352
+ * Supported schema field types for collection validation.
353
+ */
354
+ export type CollectionSchemaFieldType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'null' | 'date' | 'any';
355
+ /**
356
+ * Per-field schema definition for collection validation.
357
+ */
358
+ export interface FieldSchema {
359
+ /** Expected type */
360
+ type?: CollectionSchemaFieldType | CollectionSchemaFieldType[];
361
+ /** Whether this field is required (also settable at parent level via `required` array) */
362
+ required?: boolean;
363
+ /** Minimum value (number) or minimum length (string/array) */
364
+ minimum?: number;
365
+ /** Maximum value (number) or maximum length (string/array) */
366
+ maximum?: number;
367
+ /** Minimum string/array length */
368
+ minLength?: number;
369
+ /** Maximum string/array length */
370
+ maxLength?: number;
371
+ /** Regex pattern for string values */
372
+ pattern?: string;
373
+ /** Allowed values */
374
+ enum?: unknown[];
375
+ /** Schema for nested object properties */
376
+ properties?: Record<string, FieldSchema>;
377
+ /** Required fields in nested object */
378
+ requiredFields?: string[];
379
+ /** Schema for array items */
380
+ items?: FieldSchema;
381
+ /** Default value if field is missing */
382
+ default?: unknown;
383
+ /** Whether to allow extra properties (for objects) */
384
+ additionalProperties?: boolean;
385
+ /** Custom validation function */
386
+ validate?: (value: unknown) => boolean | string;
387
+ }
388
+ /**
389
+ * Collection-level schema for document validation.
390
+ */
391
+ export interface CollectionSchema {
392
+ /** Name of the schema (for error messages) */
393
+ name?: string;
394
+ /** Per-field definitions */
395
+ properties: Record<string, FieldSchema>;
396
+ /** Which fields are required */
397
+ required?: string[];
398
+ /** Allow fields not defined in properties (default: true) */
399
+ additionalProperties?: boolean;
400
+ /** When to validate: 'strict' = inserts and updates, 'moderate' = inserts only */
401
+ validationLevel?: 'strict' | 'moderate' | 'off';
402
+ /** What to do on failure: 'error' = throw, 'warn' = log and continue */
403
+ validationAction?: 'error' | 'warn';
404
+ }
405
+ /**
406
+ * A field-level validation error returned by schema validation.
407
+ */
408
+ export interface ValidationFieldError {
409
+ field: string;
410
+ message: string;
411
+ value?: unknown;
412
+ }
413
+ //# sourceMappingURL=documentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/documentTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Shared document store types promoted from brightchain-db.
4
+ * These types define the MongoDB-compatible query/update/result contracts
5
+ * used by both brightchain-db and mongoose-based implementations.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=documentTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentTypes.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/documentTypes.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Encrypted pool storage types and configuration.
3
+ *
4
+ * Defines encryption modes for pools, configuration for encrypted storage,
5
+ * and key version tracking for key rotation support.
6
+ *
7
+ * Uses Uint8Array (not Buffer) for browser compatibility.
8
+ * Generic type parameters support DTO flexibility (string for frontend,
9
+ * Uint8Array for backend node IDs).
10
+ */
11
+ import { PoolId } from './pooledBlockStore';
12
+ /**
13
+ * Encryption modes for pool storage.
14
+ * - None: no encryption applied
15
+ * - NodeSpecific: encrypted with the storing node's key; only that node can decrypt
16
+ * - PoolShared: encrypted with a shared pool key; any pool member can decrypt
17
+ */
18
+ export declare enum EncryptionMode {
19
+ None = "none",
20
+ NodeSpecific = "node-specific",
21
+ PoolShared = "pool-shared"
22
+ }
23
+ /**
24
+ * Options for configuring encryption on a pool at creation time.
25
+ */
26
+ export interface IEncryptedPoolOptions {
27
+ encryptionMode: EncryptionMode;
28
+ /** Fields that remain unencrypted for search (e.g., ['blockSize', 'createdAt']) */
29
+ searchableMetadataFields?: string[];
30
+ }
31
+ /**
32
+ * A single key version entry, tracking the key material and its lifecycle.
33
+ * For pool-shared mode, the symmetric key is encrypted per-member via ECIES.
34
+ *
35
+ * Generic TNodeId allows string for frontend, Uint8Array for backend.
36
+ */
37
+ export interface IKeyVersion<TNodeId = string> {
38
+ version: number;
39
+ createdAt: Date;
40
+ /** For pool-shared: the symmetric key encrypted per-member */
41
+ encryptedKeys?: Array<{
42
+ nodeId: TNodeId;
43
+ encryptedKey: Uint8Array;
44
+ }>;
45
+ /** Whether this key version is still valid for decryption */
46
+ active: boolean;
47
+ }
48
+ /**
49
+ * Pool encryption configuration stored alongside the pool.
50
+ * Tracks the encryption mode, searchable fields, and full key version history
51
+ * so older blocks can still be decrypted after key rotation.
52
+ *
53
+ * Generic TNodeId allows string for frontend, Uint8Array for backend.
54
+ */
55
+ export interface IPoolEncryptionConfig<TNodeId = string> {
56
+ poolId: PoolId;
57
+ mode: EncryptionMode;
58
+ searchableMetadataFields: string[];
59
+ /** Key version history for decrypting older blocks */
60
+ keyVersions: IKeyVersion<TNodeId>[];
61
+ /** Current active key version */
62
+ currentKeyVersion: number;
63
+ }
64
+ //# sourceMappingURL=encryptedPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryptedPool.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/encryptedPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;GAKG;AACH,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,YAAY,kBAAkB;IAC9B,UAAU,gBAAgB;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,MAAM;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,EAAE,UAAU,CAAC;KAC1B,CAAC,CAAC;IACH,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,OAAO,GAAG,MAAM;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,sDAAsD;IACtD,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,iCAAiC;IACjC,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Encrypted pool storage types and configuration.
4
+ *
5
+ * Defines encryption modes for pools, configuration for encrypted storage,
6
+ * and key version tracking for key rotation support.
7
+ *
8
+ * Uses Uint8Array (not Buffer) for browser compatibility.
9
+ * Generic type parameters support DTO flexibility (string for frontend,
10
+ * Uint8Array for backend node IDs).
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EncryptionMode = void 0;
14
+ /**
15
+ * Encryption modes for pool storage.
16
+ * - None: no encryption applied
17
+ * - NodeSpecific: encrypted with the storing node's key; only that node can decrypt
18
+ * - PoolShared: encrypted with a shared pool key; any pool member can decrypt
19
+ */
20
+ var EncryptionMode;
21
+ (function (EncryptionMode) {
22
+ EncryptionMode["None"] = "none";
23
+ EncryptionMode["NodeSpecific"] = "node-specific";
24
+ EncryptionMode["PoolShared"] = "pool-shared";
25
+ })(EncryptionMode || (exports.EncryptionMode = EncryptionMode = {}));
26
+ //# sourceMappingURL=encryptedPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryptedPool.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/encryptedPool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAIH;;;;;GAKG;AACH,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,gDAA8B,CAAA;IAC9B,4CAA0B,CAAA;AAC5B,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Represents a deferred head update for a block not yet available locally.
3
+ * When the block is fetched, the deferred update can be applied.
4
+ *
5
+ * @see Requirements 2.4
6
+ */
7
+ export interface DeferredHeadUpdate {
8
+ /** The database name */
9
+ dbName: string;
10
+ /** The collection name */
11
+ collectionName: string;
12
+ /** The block ID of the announced head */
13
+ blockId: string;
14
+ /** The timestamp of the announced head (for last-writer-wins) */
15
+ timestamp: Date;
16
+ }
17
+ /**
18
+ * Interface for the HeadRegistry, which maps (dbName, collectionName) pairs
19
+ * to the block ID of the latest metadata block for that collection.
20
+ *
21
+ * Implementations may be in-memory (for testing/backward compatibility)
22
+ * or persistent (writing through to disk for durability across restarts).
23
+ *
24
+ * Mutating methods return Promise<void> to support async disk I/O
25
+ * in persistent implementations.
26
+ *
27
+ * Includes cross-node synchronization support via merge and deferred update
28
+ * methods that implement last-writer-wins conflict resolution.
29
+ *
30
+ * @see Requirements 2.2, 2.3, 2.4
31
+ */
32
+ export interface IHeadRegistry {
33
+ /**
34
+ * Get the head block ID for a given database and collection.
35
+ * @param dbName - The database name
36
+ * @param collectionName - The collection name
37
+ * @returns The block ID of the latest metadata block, or undefined if not set
38
+ */
39
+ getHead(dbName: string, collectionName: string): string | undefined;
40
+ /**
41
+ * Set the head block ID for a given database and collection.
42
+ * Persistent implementations will write through to disk before returning.
43
+ * Also records the current time as the timestamp for last-writer-wins.
44
+ * @param dbName - The database name
45
+ * @param collectionName - The collection name
46
+ * @param blockId - The block ID of the latest metadata block
47
+ */
48
+ setHead(dbName: string, collectionName: string, blockId: string): Promise<void>;
49
+ /**
50
+ * Remove the head pointer for a given database and collection.
51
+ * Persistent implementations will remove from disk before returning.
52
+ * @param dbName - The database name
53
+ * @param collectionName - The collection name
54
+ */
55
+ removeHead(dbName: string, collectionName: string): Promise<void>;
56
+ /**
57
+ * Remove all head pointers.
58
+ * Persistent implementations will clear the persisted state before returning.
59
+ */
60
+ clear(): Promise<void>;
61
+ /**
62
+ * Load head pointers from the persistence layer into memory.
63
+ * For in-memory implementations, this is a no-op.
64
+ * For persistent implementations, this reads from disk.
65
+ */
66
+ load(): Promise<void>;
67
+ /**
68
+ * Get all head pointers as a Map.
69
+ * Keys are composite strings in the format "dbName:collectionName".
70
+ * Values are block IDs.
71
+ * @returns A Map of all current head pointers
72
+ */
73
+ getAllHeads(): Map<string, string>;
74
+ /**
75
+ * Get the timestamp associated with a head pointer.
76
+ * Used for last-writer-wins conflict resolution during cross-node sync.
77
+ * @param dbName - The database name
78
+ * @param collectionName - The collection name
79
+ * @returns The timestamp of the head pointer, or undefined if not set
80
+ *
81
+ * @see Requirements 2.2, 2.3
82
+ */
83
+ getHeadTimestamp(dbName: string, collectionName: string): Date | undefined;
84
+ /**
85
+ * Merge a remote head update using last-writer-wins conflict resolution.
86
+ * If the announced timestamp is newer than the local timestamp, the head
87
+ * pointer is updated. Otherwise the update is rejected (local wins).
88
+ *
89
+ * @param dbName - The database name
90
+ * @param collectionName - The collection name
91
+ * @param blockId - The announced block ID
92
+ * @param timestamp - The timestamp from the remote node's block metadata
93
+ * @returns true if the update was applied, false if rejected (local is newer)
94
+ *
95
+ * @see Requirements 2.2, 2.3
96
+ */
97
+ mergeHeadUpdate(dbName: string, collectionName: string, blockId: string, timestamp: Date): Promise<boolean>;
98
+ /**
99
+ * Queue a deferred head update for a block not yet available locally.
100
+ * The update will be applied when `applyDeferredUpdates(blockId)` is called
101
+ * after the block has been fetched.
102
+ *
103
+ * @param dbName - The database name
104
+ * @param collectionName - The collection name
105
+ * @param blockId - The block ID that is not yet locally available
106
+ * @param timestamp - The timestamp from the remote node's block metadata
107
+ *
108
+ * @see Requirements 2.4
109
+ */
110
+ deferHeadUpdate(dbName: string, collectionName: string, blockId: string, timestamp: Date): Promise<void>;
111
+ /**
112
+ * Apply any deferred updates for a block that has just become available locally.
113
+ * Each deferred update is applied via `mergeHeadUpdate` (last-writer-wins).
114
+ *
115
+ * @param blockId - The block ID that is now available locally
116
+ * @returns The number of deferred updates that were applied
117
+ *
118
+ * @see Requirements 2.4
119
+ */
120
+ applyDeferredUpdates(blockId: string): Promise<number>;
121
+ /**
122
+ * Get all currently deferred updates.
123
+ * Useful for diagnostics and testing.
124
+ * @returns Array of deferred head updates
125
+ */
126
+ getDeferredUpdates(): DeferredHeadUpdate[];
127
+ }
128
+ //# sourceMappingURL=headRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headRegistry.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/headRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpE;;;;;;;OAOG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE3E;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;;;OAIG;IACH,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=headRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headRegistry.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/headRegistry.ts"],"names":[],"mappings":""}