@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
@@ -17,6 +17,16 @@ const primeTupleGeneratorStream_1 = require("../primeTupleGeneratorStream");
17
17
  const validator_1 = require("../utils/validator");
18
18
  const globalServiceProvider_1 = require("./globalServiceProvider");
19
19
  const xor_1 = require("./xor");
20
+ /**
21
+ * Type guard to check if a value has a poolId property (string).
22
+ * Used to safely access poolId on block metadata without unsafe casts.
23
+ */
24
+ function hasPoolId(value) {
25
+ return (typeof value === 'object' &&
26
+ value !== null &&
27
+ 'poolId' in value &&
28
+ typeof value['poolId'] === 'string');
29
+ }
20
30
  /**
21
31
  * TupleService provides utility functions for working with block tuples.
22
32
  * In the Owner Free Filesystem (OFF), tuples are used to:
@@ -35,6 +45,22 @@ class TupleService {
35
45
  this.checksumService = checksumService;
36
46
  this.cblService = cblService;
37
47
  }
48
+ wrapWithPoolValidation(source, poolId, blockType) {
49
+ return () => {
50
+ const block = source();
51
+ if (block) {
52
+ const metadata = block.metadata;
53
+ if (hasPoolId(metadata) && metadata.poolId !== poolId) {
54
+ throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.PoolBoundaryViolation, undefined, {
55
+ BLOCK_TYPE: blockType,
56
+ ACTUAL_POOL: metadata.poolId,
57
+ EXPECTED_POOL: poolId,
58
+ });
59
+ }
60
+ }
61
+ return block;
62
+ };
63
+ }
38
64
  /**
39
65
  * Convert data to Uint8Array regardless of whether it's a Readable or Uint8Array
40
66
  */
@@ -226,7 +252,7 @@ class TupleService {
226
252
  * @returns A tuple containing the CBL
227
253
  * @throws {TupleError} If validation fails or processing fails
228
254
  */
229
- async dataStreamToPlaintextTuplesAndCBL(creator, blockSize, source, sourceLength, whitenedBlockSource, randomBlockSource, persistTuple) {
255
+ async dataStreamToPlaintextTuplesAndCBL(creator, blockSize, source, sourceLength, whitenedBlockSource, randomBlockSource, persistTuple, poolOptions) {
230
256
  const now = new Date();
231
257
  // Validate required parameters
232
258
  validator_1.Validator.validateRequired(creator, 'creator', 'dataStreamToPlaintextTuplesAndCBL');
@@ -239,9 +265,16 @@ class TupleService {
239
265
  throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.InvalidSourceLength);
240
266
  }
241
267
  try {
268
+ // Wrap source callbacks with pool validation when poolId is specified
269
+ const effectiveWhitenedSource = poolOptions?.poolId
270
+ ? this.wrapWithPoolValidation(whitenedBlockSource, poolOptions.poolId, 'WhitenedBlock')
271
+ : whitenedBlockSource;
272
+ const effectiveRandomSource = poolOptions?.poolId
273
+ ? this.wrapWithPoolValidation(randomBlockSource, poolOptions.poolId, 'RandomBlock')
274
+ : randomBlockSource;
242
275
  // Set up processing pipeline
243
276
  const blockPaddingTransform = new blockPaddingTransform_1.default(blockSize);
244
- const tupleGeneratorStream = new primeTupleGeneratorStream_1.PrimeTupleGeneratorStream(blockSize, creator, whitenedBlockSource, randomBlockSource);
277
+ const tupleGeneratorStream = new primeTupleGeneratorStream_1.PrimeTupleGeneratorStream(blockSize, creator, effectiveWhitenedSource, effectiveRandomSource);
245
278
  source.pipe(blockPaddingTransform).pipe(tupleGeneratorStream);
246
279
  // Process tuples
247
280
  let blockIDs = new Uint8Array(0);
@@ -249,7 +282,12 @@ class TupleService {
249
282
  await new Promise((resolve, reject) => {
250
283
  tupleGeneratorStream.on('data', async (tuple) => {
251
284
  try {
252
- await persistTuple(tuple);
285
+ // When pool-scoped, tag the tuple with the poolId so persistTuple
286
+ // callbacks can store blocks in the correct pool
287
+ const effectiveTuple = poolOptions?.poolId
288
+ ? new memoryTuple_1.InMemoryBlockTuple(tuple.blocks, poolOptions.poolId)
289
+ : tuple;
290
+ await persistTuple(effectiveTuple);
253
291
  const newBlockIDs = new Uint8Array(blockIDs.length + tuple.blockIdsBuffer.length);
254
292
  newBlockIDs.set(blockIDs);
255
293
  newBlockIDs.set(tuple.blockIdsBuffer, blockIDs.length);
@@ -275,7 +313,7 @@ class TupleService {
275
313
  // Create tuple for CBL
276
314
  const randomBlocks = [];
277
315
  for (let i = 0; i < constants_1.TUPLE.RANDOM_BLOCKS_PER_TUPLE; i++) {
278
- const block = randomBlockSource();
316
+ const block = effectiveRandomSource();
279
317
  if (!block) {
280
318
  throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.RandomBlockGenerationFailed);
281
319
  }
@@ -283,18 +321,14 @@ class TupleService {
283
321
  }
284
322
  const whiteners = [];
285
323
  for (let i = constants_1.TUPLE.RANDOM_BLOCKS_PER_TUPLE; i < constants_1.TUPLE.SIZE - 1; i++) {
286
- const block = whitenedBlockSource() ?? randomBlockSource();
324
+ const block = effectiveWhitenedSource() ?? effectiveRandomSource();
287
325
  if (!block) {
288
326
  throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.WhiteningBlockGenerationFailed);
289
327
  }
290
328
  whiteners.push(block);
291
329
  }
292
330
  const primeBlock = await this.xorSourceToPrimeWhitened(ownedBlock, whiteners, randomBlocks);
293
- const tuple = new memoryTuple_1.InMemoryBlockTuple([
294
- primeBlock,
295
- ...whiteners,
296
- ...randomBlocks,
297
- ]);
331
+ const tuple = new memoryTuple_1.InMemoryBlockTuple([primeBlock, ...whiteners, ...randomBlocks], poolOptions?.poolId);
298
332
  await persistTuple(tuple);
299
333
  return tuple;
300
334
  }
@@ -319,7 +353,7 @@ class TupleService {
319
353
  * @returns A tuple containing the encrypted CBL
320
354
  * @throws {TupleError} If validation fails or processing fails
321
355
  */
322
- async dataStreamToEncryptedTuplesAndCBL(creator, blockSize, source, sourceLength, whitenedBlockSource, randomBlockSource, persistTuple) {
356
+ async dataStreamToEncryptedTuplesAndCBL(creator, blockSize, source, sourceLength, whitenedBlockSource, randomBlockSource, persistTuple, poolOptions) {
323
357
  const dateCreated = new Date();
324
358
  // Validate required parameters
325
359
  validator_1.Validator.validateRequired(creator, 'creator', 'dataStreamToEncryptedTuplesAndCBL');
@@ -332,15 +366,27 @@ class TupleService {
332
366
  throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.InvalidSourceLength);
333
367
  }
334
368
  try {
369
+ // Wrap source callbacks with pool validation when poolId is specified
370
+ const effectiveWhitenedSource = poolOptions?.poolId
371
+ ? this.wrapWithPoolValidation(whitenedBlockSource, poolOptions.poolId, 'WhitenedBlock')
372
+ : whitenedBlockSource;
373
+ const effectiveRandomSource = poolOptions?.poolId
374
+ ? this.wrapWithPoolValidation(randomBlockSource, poolOptions.poolId, 'RandomBlock')
375
+ : randomBlockSource;
335
376
  // Set up encryption pipeline
336
- const tupleGeneratorStream = new primeTupleGeneratorStream_1.PrimeTupleGeneratorStream(blockSize, creator, whitenedBlockSource, randomBlockSource);
377
+ const tupleGeneratorStream = new primeTupleGeneratorStream_1.PrimeTupleGeneratorStream(blockSize, creator, effectiveWhitenedSource, effectiveRandomSource);
337
378
  source.pipe(tupleGeneratorStream);
338
379
  // Process tuples
339
380
  let blockIDs = new Uint8Array(0);
340
381
  await new Promise((resolve, reject) => {
341
382
  tupleGeneratorStream.on('data', async (tuple) => {
342
383
  try {
343
- await persistTuple(tuple);
384
+ // When pool-scoped, tag the tuple with the poolId so persistTuple
385
+ // callbacks can store blocks in the correct pool
386
+ const effectiveTuple = poolOptions?.poolId
387
+ ? new memoryTuple_1.InMemoryBlockTuple(tuple.blocks, poolOptions.poolId)
388
+ : tuple;
389
+ await persistTuple(effectiveTuple);
344
390
  const newBlockIDs = new Uint8Array(blockIDs.length + tuple.blockIdsBuffer.length);
345
391
  newBlockIDs.set(blockIDs);
346
392
  newBlockIDs.set(tuple.blockIdsBuffer, blockIDs.length);
@@ -365,7 +411,7 @@ class TupleService {
365
411
  // Create tuple for encrypted CBL
366
412
  const randomBlocks = [];
367
413
  for (let i = 0; i < constants_1.TUPLE.RANDOM_BLOCKS_PER_TUPLE; i++) {
368
- const block = randomBlockSource();
414
+ const block = effectiveRandomSource();
369
415
  if (!block) {
370
416
  throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.RandomBlockGenerationFailed);
371
417
  }
@@ -373,18 +419,14 @@ class TupleService {
373
419
  }
374
420
  const whiteners = [];
375
421
  for (let i = constants_1.TUPLE.RANDOM_BLOCKS_PER_TUPLE; i < constants_1.TUPLE.SIZE - 1; i++) {
376
- const block = whitenedBlockSource() ?? randomBlockSource();
422
+ const block = effectiveWhitenedSource() ?? effectiveRandomSource();
377
423
  if (!block) {
378
424
  throw new tupleError_1.TupleError(tupleErrorType_1.TupleErrorType.WhiteningBlockGenerationFailed);
379
425
  }
380
426
  whiteners.push(block);
381
427
  }
382
428
  const primeBlock = await this.xorSourceToPrimeWhitened(encryptedCbl, whiteners, randomBlocks);
383
- const tuple = new memoryTuple_1.InMemoryBlockTuple([
384
- primeBlock,
385
- ...whiteners,
386
- ...randomBlocks,
387
- ]);
429
+ const tuple = new memoryTuple_1.InMemoryBlockTuple([primeBlock, ...whiteners, ...randomBlocks], poolOptions?.poolId);
388
430
  await persistTuple(tuple);
389
431
  return tuple;
390
432
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/tuple.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tuple.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/tuple.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { Member, PlatformID, SignatureUint8Array } from '@digitaldefiance/ecies-lib';
2
+ import { BlockEncryptionType } from '../enumerations/blockEncryptionType';
3
+ import { BlockSize } from '../enumerations/blockSize';
4
+ import { IBlockCapacityCalculator } from '../interfaces/blockCapacity';
5
+ import { EntryPropertyRecord } from '../interfaces/brightpass';
6
+ import { CBLService } from './cblService';
7
+ import { ChecksumService } from './checksum.service';
8
+ export interface VaultHeaderData {
9
+ vaultName: string;
10
+ ownerMemberId: Uint8Array;
11
+ createdAt: Date;
12
+ modifiedAt: Date;
13
+ sharedMemberIds: Uint8Array[];
14
+ }
15
+ export declare class VCBLService<TID extends PlatformID = Uint8Array> {
16
+ private readonly cblService;
17
+ private readonly checksumService;
18
+ constructor(cblService: CBLService<TID>, checksumService: ChecksumService);
19
+ serializePropertyRecord(record: EntryPropertyRecord): Uint8Array;
20
+ deserializePropertyRecord(data: Uint8Array, offset: number): {
21
+ record: EntryPropertyRecord;
22
+ bytesRead: number;
23
+ };
24
+ serializePropertyRecords(records: EntryPropertyRecord[]): Uint8Array;
25
+ parsePropertyRecords(data: Uint8Array, count: number): EntryPropertyRecord[];
26
+ parseVaultHeader(data: Uint8Array): VaultHeaderData;
27
+ makeVcblHeader(creator: Member<TID>, vaultName: string, sharedMemberIds: TID[], propertyRecords: EntryPropertyRecord[], addressList: Uint8Array, blockSize: BlockSize, encryptionType: BlockEncryptionType): {
28
+ headerData: Uint8Array;
29
+ signature: SignatureUint8Array;
30
+ };
31
+ estimateVaultHeaderSize(vaultName: string, sharedMemberCount: number): number;
32
+ estimatePropertyRecordsSize(records: EntryPropertyRecord[] | number, averageRecordSize?: number): number;
33
+ calculateVcblCapacity(blockSize: BlockSize, encryptionType: BlockEncryptionType, vaultName: string, sharedMemberCount: number, propertyRecordCount: number, blockCapacityCalculator?: IBlockCapacityCalculator): number;
34
+ recommendBlockSize(vaultName: string, sharedMemberCount: number, desiredEntryCount: number, encryptionType: BlockEncryptionType, _averagePropertyRecordSize?: number): BlockSize | null;
35
+ }
36
+ //# sourceMappingURL=vcblService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcblService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/vcblService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,UAAU,EACV,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,eAAe,EAAE,UAAU,EAAE,CAAC;CAC/B;AAED,qBAAa,WAAW,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAExD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,eAAe,EAAE,eAAe;IAGnD,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU;IAyDhE,yBAAyB,CACvB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GACb;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IA4GrD,wBAAwB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,UAAU;IAYpE,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAoB5E,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe;IAsEnD,cAAc,CACZ,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,GAAG,EAAE,EACtB,eAAe,EAAE,mBAAmB,EAAE,EACtC,WAAW,EAAE,UAAU,EACvB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,mBAAmB,GAClC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAE;IA8G7D,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,MAAM;IAcT,2BAA2B,CACzB,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,EACvC,iBAAiB,GAAE,MAAY,GAC9B,MAAM;IAsBT,qBAAqB,CACnB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,mBAAmB,EACnC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAC3B,uBAAuB,CAAC,EAAE,wBAAwB,GACjD,MAAM;IA0BT,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,mBAAmB,EACnC,0BAA0B,GAAE,MAAY,GACvC,SAAS,GAAG,IAAI;CAmBpB"}
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VCBLService = void 0;
4
+ const constants_1 = require("../constants");
5
+ const blockSize_1 = require("../enumerations/blockSize");
6
+ const cblErrorType_1 = require("../enumerations/cblErrorType");
7
+ const cblError_1 = require("../errors/cblError");
8
+ const validator_1 = require("../utils/validator");
9
+ class VCBLService {
10
+ constructor(cblService, checksumService) {
11
+ this.cblService = cblService;
12
+ this.checksumService = checksumService;
13
+ }
14
+ serializePropertyRecord(record) {
15
+ const encoder = new TextEncoder();
16
+ const titleBytes = encoder.encode(record.title);
17
+ const tagsBytes = encoder.encode(record.tags.join(','));
18
+ const siteUrlBytes = encoder.encode(record.siteUrl);
19
+ const size = 1 + // entryType
20
+ 2 +
21
+ titleBytes.length + // title length + title
22
+ 2 +
23
+ tagsBytes.length + // tags length + tags
24
+ 1 + // favorite
25
+ 8 + // createdAt
26
+ 8 + // updatedAt
27
+ 2 +
28
+ siteUrlBytes.length; // siteUrl length + siteUrl
29
+ const buffer = new Uint8Array(size);
30
+ const view = new DataView(buffer.buffer);
31
+ let offset = 0;
32
+ // entryType (1 byte)
33
+ const typeMap = { login: 0, secure_note: 1, credit_card: 2, identity: 3 };
34
+ buffer[offset++] = typeMap[record.entryType];
35
+ // title (2 bytes length + data)
36
+ view.setUint16(offset, titleBytes.length, false);
37
+ offset += 2;
38
+ buffer.set(titleBytes, offset);
39
+ offset += titleBytes.length;
40
+ // tags (2 bytes length + data)
41
+ view.setUint16(offset, tagsBytes.length, false);
42
+ offset += 2;
43
+ buffer.set(tagsBytes, offset);
44
+ offset += tagsBytes.length;
45
+ // favorite (1 byte)
46
+ buffer[offset++] = record.favorite ? 1 : 0;
47
+ // createdAt (8 bytes)
48
+ view.setBigUint64(offset, BigInt(record.createdAt.getTime()), false);
49
+ offset += 8;
50
+ // updatedAt (8 bytes)
51
+ view.setBigUint64(offset, BigInt(record.updatedAt.getTime()), false);
52
+ offset += 8;
53
+ // siteUrl (2 bytes length + data)
54
+ view.setUint16(offset, siteUrlBytes.length, false);
55
+ offset += 2;
56
+ buffer.set(siteUrlBytes, offset);
57
+ return buffer;
58
+ }
59
+ deserializePropertyRecord(data, offset) {
60
+ if (offset >= data.length) {
61
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Offset exceeds data length');
62
+ }
63
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
64
+ const decoder = new TextDecoder();
65
+ let currentOffset = offset;
66
+ // entryType
67
+ const typeMap = [
68
+ 'login',
69
+ 'secure_note',
70
+ 'credit_card',
71
+ 'identity',
72
+ ];
73
+ const typeValue = data[currentOffset++];
74
+ if (typeValue > 3) {
75
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, `Invalid entry type: ${typeValue}`);
76
+ }
77
+ const entryType = typeMap[typeValue];
78
+ // title
79
+ const titleLength = view.getUint16(currentOffset, false);
80
+ currentOffset += 2;
81
+ if (currentOffset + titleLength > data.length) {
82
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Title length exceeds data bounds');
83
+ }
84
+ const title = decoder.decode(data.subarray(currentOffset, currentOffset + titleLength));
85
+ currentOffset += titleLength;
86
+ // tags
87
+ const tagsLength = view.getUint16(currentOffset, false);
88
+ currentOffset += 2;
89
+ if (currentOffset + tagsLength > data.length) {
90
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Tags length exceeds data bounds');
91
+ }
92
+ const tagsStr = decoder.decode(data.subarray(currentOffset, currentOffset + tagsLength));
93
+ const tags = tagsStr ? tagsStr.split(',') : [];
94
+ currentOffset += tagsLength;
95
+ // favorite
96
+ const favorite = data[currentOffset++] === 1;
97
+ // createdAt
98
+ if (currentOffset + 8 > data.length) {
99
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'CreatedAt exceeds data bounds');
100
+ }
101
+ const createdAt = new Date(Number(view.getBigUint64(currentOffset, false)));
102
+ currentOffset += 8;
103
+ // updatedAt
104
+ if (currentOffset + 8 > data.length) {
105
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'UpdatedAt exceeds data bounds');
106
+ }
107
+ const updatedAt = new Date(Number(view.getBigUint64(currentOffset, false)));
108
+ currentOffset += 8;
109
+ // siteUrl
110
+ const siteUrlLength = view.getUint16(currentOffset, false);
111
+ currentOffset += 2;
112
+ if (currentOffset + siteUrlLength > data.length) {
113
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'SiteUrl length exceeds data bounds');
114
+ }
115
+ const siteUrl = decoder.decode(data.subarray(currentOffset, currentOffset + siteUrlLength));
116
+ currentOffset += siteUrlLength;
117
+ return {
118
+ record: {
119
+ entryType,
120
+ title,
121
+ tags,
122
+ favorite,
123
+ createdAt,
124
+ updatedAt,
125
+ siteUrl,
126
+ },
127
+ bytesRead: currentOffset - offset,
128
+ };
129
+ }
130
+ serializePropertyRecords(records) {
131
+ const serialized = records.map((r) => this.serializePropertyRecord(r));
132
+ const totalSize = serialized.reduce((sum, buf) => sum + buf.length, 0);
133
+ const result = new Uint8Array(totalSize);
134
+ let offset = 0;
135
+ for (const buf of serialized) {
136
+ result.set(buf, offset);
137
+ offset += buf.length;
138
+ }
139
+ return result;
140
+ }
141
+ parsePropertyRecords(data, count) {
142
+ if (count < 0) {
143
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Property record count cannot be negative');
144
+ }
145
+ const records = [];
146
+ let offset = 0;
147
+ for (let i = 0; i < count; i++) {
148
+ const { record, bytesRead } = this.deserializePropertyRecord(data, offset);
149
+ records.push(record);
150
+ offset += bytesRead;
151
+ }
152
+ return records;
153
+ }
154
+ parseVaultHeader(data) {
155
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
156
+ const decoder = new TextDecoder();
157
+ let offset = 0;
158
+ // vaultName (2 bytes length + data)
159
+ const vaultNameLength = view.getUint16(offset, false);
160
+ offset += 2;
161
+ if (offset + vaultNameLength > data.length) {
162
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Vault name length exceeds data bounds');
163
+ }
164
+ const vaultName = decoder.decode(data.subarray(offset, offset + vaultNameLength));
165
+ offset += vaultNameLength;
166
+ // ownerMemberId (length from cblService + data)
167
+ const ownerIdLength = this.cblService.creatorLength;
168
+ if (offset + ownerIdLength > data.length) {
169
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Owner member ID exceeds data bounds');
170
+ }
171
+ const ownerMemberId = data.subarray(offset, offset + ownerIdLength);
172
+ offset += ownerIdLength;
173
+ // createdAt (8 bytes)
174
+ if (offset + 8 > data.length) {
175
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'CreatedAt exceeds data bounds');
176
+ }
177
+ const createdAt = new Date(Number(view.getBigUint64(offset, false)));
178
+ offset += 8;
179
+ // modifiedAt (8 bytes)
180
+ if (offset + 8 > data.length) {
181
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'ModifiedAt exceeds data bounds');
182
+ }
183
+ const modifiedAt = new Date(Number(view.getBigUint64(offset, false)));
184
+ offset += 8;
185
+ // sharedMemberCount (2 bytes)
186
+ const sharedMemberCount = view.getUint16(offset, false);
187
+ offset += 2;
188
+ // sharedMemberIds (array of member IDs)
189
+ const sharedMemberIds = [];
190
+ for (let i = 0; i < sharedMemberCount; i++) {
191
+ if (offset + ownerIdLength > data.length) {
192
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Shared member ID exceeds data bounds');
193
+ }
194
+ sharedMemberIds.push(data.subarray(offset, offset + ownerIdLength));
195
+ offset += ownerIdLength;
196
+ }
197
+ return { vaultName, ownerMemberId, createdAt, modifiedAt, sharedMemberIds };
198
+ }
199
+ makeVcblHeader(creator, vaultName, sharedMemberIds, propertyRecords, addressList, blockSize, encryptionType) {
200
+ validator_1.Validator.validateRequired(creator, 'creator', 'makeVcblHeader');
201
+ validator_1.Validator.validateRequired(vaultName, 'vaultName', 'makeVcblHeader');
202
+ validator_1.Validator.validateBlockSize(blockSize, 'makeVcblHeader');
203
+ validator_1.Validator.validateEncryptionType(encryptionType, 'makeVcblHeader');
204
+ if (vaultName.length === 0 || vaultName.length > 255) {
205
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Vault name must be 1-255 characters');
206
+ }
207
+ // Validate that property records count matches address count
208
+ const expectedAddressCount = addressList.length / constants_1.default['CHECKSUM'].SHA3_BUFFER_LENGTH;
209
+ if (propertyRecords.length !== expectedAddressCount) {
210
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, `Property record count (${propertyRecords.length}) must match address count (${expectedAddressCount})`);
211
+ }
212
+ // Build vault header
213
+ const encoder = new TextEncoder();
214
+ const vaultNameBytes = encoder.encode(vaultName);
215
+ const ownerIdBytes = creator.idBytes;
216
+ const now = Date.now();
217
+ const vaultHeaderSize = 2 +
218
+ vaultNameBytes.length + // vault name
219
+ ownerIdBytes.length + // owner ID
220
+ 8 + // createdAt
221
+ 8 + // modifiedAt
222
+ 2 + // shared member count
223
+ sharedMemberIds.length * ownerIdBytes.length; // shared member IDs
224
+ const vaultHeader = new Uint8Array(vaultHeaderSize);
225
+ const view = new DataView(vaultHeader.buffer);
226
+ let offset = 0;
227
+ // vault name
228
+ view.setUint16(offset, vaultNameBytes.length, false);
229
+ offset += 2;
230
+ vaultHeader.set(vaultNameBytes, offset);
231
+ offset += vaultNameBytes.length;
232
+ // owner ID
233
+ vaultHeader.set(ownerIdBytes, offset);
234
+ offset += ownerIdBytes.length;
235
+ // createdAt
236
+ view.setBigUint64(offset, BigInt(now), false);
237
+ offset += 8;
238
+ // modifiedAt
239
+ view.setBigUint64(offset, BigInt(now), false);
240
+ offset += 8;
241
+ // shared member count
242
+ view.setUint16(offset, sharedMemberIds.length, false);
243
+ offset += 2;
244
+ // shared member IDs
245
+ for (const memberId of sharedMemberIds) {
246
+ const memberIdBytes = this.cblService.idProvider.toBytes(memberId);
247
+ vaultHeader.set(memberIdBytes, offset);
248
+ offset += memberIdBytes.length;
249
+ }
250
+ // Serialize property records
251
+ const propertyRecordsData = this.serializePropertyRecords(propertyRecords);
252
+ // Use CBLService to create extended CBL header
253
+ // Pass lax=true to allow vault names with special characters (/, etc.)
254
+ const { headerData, signature } = this.cblService.makeCblHeader(creator, new Date(now), addressList.length / constants_1.default['CHECKSUM'].SHA3_BUFFER_LENGTH, 0, // fileDataLength - not used for VCBL
255
+ addressList, blockSize, encryptionType, { fileName: vaultName, mimeType: 'application/x-brightchain-vcbl' }, constants_1.TUPLE.SIZE, true);
256
+ // VCBL structure: CBL header + address list + vault header + property records
257
+ // This ensures signature validation works (signature is over header + addressList)
258
+ const totalSize = headerData.length +
259
+ addressList.length +
260
+ vaultHeader.length +
261
+ propertyRecordsData.length;
262
+ const result = new Uint8Array(totalSize);
263
+ let resultOffset = 0;
264
+ result.set(headerData, resultOffset);
265
+ resultOffset += headerData.length;
266
+ result.set(addressList, resultOffset);
267
+ resultOffset += addressList.length;
268
+ result.set(vaultHeader, resultOffset);
269
+ resultOffset += vaultHeader.length;
270
+ result.set(propertyRecordsData, resultOffset);
271
+ return { headerData: result, signature };
272
+ }
273
+ estimateVaultHeaderSize(vaultName, sharedMemberCount) {
274
+ const encoder = new TextEncoder();
275
+ const vaultNameBytes = encoder.encode(vaultName);
276
+ return (2 +
277
+ vaultNameBytes.length + // vault name
278
+ this.cblService.creatorLength + // owner ID
279
+ 8 + // createdAt
280
+ 8 + // modifiedAt
281
+ 2 + // shared member count
282
+ sharedMemberCount * this.cblService.creatorLength // shared member IDs
283
+ );
284
+ }
285
+ estimatePropertyRecordsSize(records, averageRecordSize = 100) {
286
+ if (typeof records === 'number') {
287
+ return records * averageRecordSize;
288
+ }
289
+ return records.reduce((sum, record) => {
290
+ const encoder = new TextEncoder();
291
+ return (sum +
292
+ 1 +
293
+ 2 +
294
+ encoder.encode(record.title).length +
295
+ 2 +
296
+ encoder.encode(record.tags.join(',')).length +
297
+ 1 +
298
+ 8 +
299
+ 8 +
300
+ 2 +
301
+ encoder.encode(record.siteUrl).length);
302
+ }, 0);
303
+ }
304
+ calculateVcblCapacity(blockSize, encryptionType, vaultName, sharedMemberCount, propertyRecordCount, blockCapacityCalculator) {
305
+ const vaultHeaderSize = this.estimateVaultHeaderSize(vaultName, sharedMemberCount);
306
+ const propertyRecordsSize = this.estimatePropertyRecordsSize(propertyRecordCount);
307
+ const result = this.cblService.calculateCBLAddressCapacity(blockSize, encryptionType, { fileName: 'vault', mimeType: 'application/x-brightchain-vcbl' }, blockCapacityCalculator);
308
+ // Subtract vault-specific overhead from available capacity
309
+ const vcblOverhead = vaultHeaderSize + propertyRecordsSize;
310
+ const availableForAddresses = Math.max(0, result -
311
+ Math.ceil(vcblOverhead / constants_1.default['CHECKSUM'].SHA3_BUFFER_LENGTH));
312
+ return availableForAddresses;
313
+ }
314
+ recommendBlockSize(vaultName, sharedMemberCount, desiredEntryCount, encryptionType, _averagePropertyRecordSize = 100) {
315
+ const sizes = [blockSize_1.BlockSize.Small, blockSize_1.BlockSize.Medium, blockSize_1.BlockSize.Large];
316
+ for (const size of sizes) {
317
+ const capacity = this.calculateVcblCapacity(size, encryptionType, vaultName, sharedMemberCount, desiredEntryCount);
318
+ if (capacity >= desiredEntryCount) {
319
+ return size;
320
+ }
321
+ }
322
+ return null;
323
+ }
324
+ }
325
+ exports.VCBLService = VCBLService;
326
+ //# sourceMappingURL=vcblService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcblService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/vcblService.ts"],"names":[],"mappings":"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"}