@brightchain/brightchain-api-lib 0.23.25 → 0.24.1

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 (438) hide show
  1. package/package.json +5 -5
  2. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts.map +1 -1
  3. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js +11 -0
  4. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js.map +1 -1
  5. package/src/lib/__tests__/fixtures/mocked-model.js +63 -60
  6. package/src/lib/__tests__/fixtures/mocked-model.js.map +1 -1
  7. package/src/lib/application.d.ts +1 -1
  8. package/src/lib/application.d.ts.map +1 -1
  9. package/src/lib/application.js +103 -34
  10. package/src/lib/application.js.map +1 -1
  11. package/src/lib/auth/aclEnforcedAvailability.js +4 -0
  12. package/src/lib/auth/aclEnforcedAvailability.js.map +1 -1
  13. package/src/lib/auth/aclEnforcedBlockStore.js +7 -0
  14. package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -1
  15. package/src/lib/auth/ecdsaNodeAuthenticator.js +1 -0
  16. package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -1
  17. package/src/lib/auth/poolAclBootstrap.js +2 -0
  18. package/src/lib/auth/poolAclBootstrap.js.map +1 -1
  19. package/src/lib/auth/poolAclStore.js +2 -1
  20. package/src/lib/auth/poolAclStore.js.map +1 -1
  21. package/src/lib/auth/poolAclUpdater.js +4 -0
  22. package/src/lib/auth/poolAclUpdater.js.map +1 -1
  23. package/src/lib/availability/availabilityMetrics.js +43 -45
  24. package/src/lib/availability/availabilityMetrics.js.map +1 -1
  25. package/src/lib/availability/availabilityService.js +26 -20
  26. package/src/lib/availability/availabilityService.js.map +1 -1
  27. package/src/lib/availability/blockRegistry.js +46 -25
  28. package/src/lib/availability/blockRegistry.js.map +1 -1
  29. package/src/lib/availability/discoveryProtocol.js +10 -8
  30. package/src/lib/availability/discoveryProtocol.js.map +1 -1
  31. package/src/lib/availability/gossipService.js +56 -45
  32. package/src/lib/availability/gossipService.js.map +1 -1
  33. package/src/lib/availability/heartbeatMonitor.js +22 -20
  34. package/src/lib/availability/heartbeatMonitor.js.map +1 -1
  35. package/src/lib/availability/poolDiscoveryService.js +7 -1
  36. package/src/lib/availability/poolDiscoveryService.js.map +1 -1
  37. package/src/lib/availability/quorumGossipHandler.js +13 -6
  38. package/src/lib/availability/quorumGossipHandler.js.map +1 -1
  39. package/src/lib/availability/reconciliationService.js +18 -12
  40. package/src/lib/availability/reconciliationService.js.map +1 -1
  41. package/src/lib/blockFetch/blockFetcher.js +14 -8
  42. package/src/lib/blockFetch/blockFetcher.js.map +1 -1
  43. package/src/lib/blockFetch/fetchQueue.js +9 -7
  44. package/src/lib/blockFetch/fetchQueue.js.map +1 -1
  45. package/src/lib/blockFetch/httpBlockFetchTransport.js +2 -0
  46. package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -1
  47. package/src/lib/browserKeyring.js +5 -2
  48. package/src/lib/browserKeyring.js.map +1 -1
  49. package/src/lib/controllers/api/blocks.d.ts.map +1 -1
  50. package/src/lib/controllers/api/blocks.js +9 -3
  51. package/src/lib/controllers/api/blocks.js.map +1 -1
  52. package/src/lib/controllers/api/brighthub/connectionController.d.ts +80 -0
  53. package/src/lib/controllers/api/brighthub/connectionController.d.ts.map +1 -0
  54. package/src/lib/controllers/api/brighthub/connectionController.js +890 -0
  55. package/src/lib/controllers/api/brighthub/connectionController.js.map +1 -0
  56. package/src/lib/controllers/api/brighthub/index.d.ts +9 -0
  57. package/src/lib/controllers/api/brighthub/index.d.ts.map +1 -0
  58. package/src/lib/controllers/api/brighthub/index.js +12 -0
  59. package/src/lib/controllers/api/brighthub/index.js.map +1 -0
  60. package/src/lib/controllers/api/brighthub/messagingController.d.ts +84 -0
  61. package/src/lib/controllers/api/brighthub/messagingController.d.ts.map +1 -0
  62. package/src/lib/controllers/api/brighthub/messagingController.js +1077 -0
  63. package/src/lib/controllers/api/brighthub/messagingController.js.map +1 -0
  64. package/src/lib/controllers/api/brighthub/notificationController.d.ts +89 -0
  65. package/src/lib/controllers/api/brighthub/notificationController.d.ts.map +1 -0
  66. package/src/lib/controllers/api/brighthub/notificationController.js +444 -0
  67. package/src/lib/controllers/api/brighthub/notificationController.js.map +1 -0
  68. package/src/lib/controllers/api/brighthub/postController.d.ts +75 -0
  69. package/src/lib/controllers/api/brighthub/postController.d.ts.map +1 -0
  70. package/src/lib/controllers/api/brighthub/postController.js +388 -0
  71. package/src/lib/controllers/api/brighthub/postController.js.map +1 -0
  72. package/src/lib/controllers/api/brighthub/timelineController.d.ts +74 -0
  73. package/src/lib/controllers/api/brighthub/timelineController.d.ts.map +1 -0
  74. package/src/lib/controllers/api/brighthub/timelineController.js +418 -0
  75. package/src/lib/controllers/api/brighthub/timelineController.js.map +1 -0
  76. package/src/lib/controllers/api/brightpass.d.ts.map +1 -1
  77. package/src/lib/controllers/api/brightpass.js +46 -4
  78. package/src/lib/controllers/api/brightpass.js.map +1 -1
  79. package/src/lib/controllers/api/cbl.js +1 -0
  80. package/src/lib/controllers/api/cbl.js.map +1 -1
  81. package/src/lib/controllers/api/channels.js +2 -2
  82. package/src/lib/controllers/api/channels.js.map +1 -1
  83. package/src/lib/controllers/api/conversations.js +1 -1
  84. package/src/lib/controllers/api/conversations.js.map +1 -1
  85. package/src/lib/controllers/api/docs.js +2 -1
  86. package/src/lib/controllers/api/docs.js.map +1 -1
  87. package/src/lib/controllers/api/emails.d.ts.map +1 -1
  88. package/src/lib/controllers/api/emails.js +16 -2
  89. package/src/lib/controllers/api/emails.js.map +1 -1
  90. package/src/lib/controllers/api/explodingMessages.js +2 -4
  91. package/src/lib/controllers/api/explodingMessages.js.map +1 -1
  92. package/src/lib/controllers/api/groups.js +2 -2
  93. package/src/lib/controllers/api/groups.js.map +1 -1
  94. package/src/lib/controllers/api/health.d.ts +9 -2
  95. package/src/lib/controllers/api/health.d.ts.map +1 -1
  96. package/src/lib/controllers/api/health.js +48 -6
  97. package/src/lib/controllers/api/health.js.map +1 -1
  98. package/src/lib/controllers/api/index.d.ts +1 -0
  99. package/src/lib/controllers/api/index.d.ts.map +1 -1
  100. package/src/lib/controllers/api/index.js +1 -0
  101. package/src/lib/controllers/api/index.js.map +1 -1
  102. package/src/lib/controllers/api/introspection.js +2 -0
  103. package/src/lib/controllers/api/introspection.js.map +1 -1
  104. package/src/lib/controllers/api/messages.js +1 -1
  105. package/src/lib/controllers/api/messages.js.map +1 -1
  106. package/src/lib/controllers/api/nodes.js +6 -6
  107. package/src/lib/controllers/api/nodes.js.map +1 -1
  108. package/src/lib/controllers/api/quorum.d.ts +1 -1
  109. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  110. package/src/lib/controllers/api/quorum.js +3 -2
  111. package/src/lib/controllers/api/quorum.js.map +1 -1
  112. package/src/lib/controllers/api/scbl.js +3 -0
  113. package/src/lib/controllers/api/scbl.js.map +1 -1
  114. package/src/lib/controllers/api/sessions.d.ts +18 -2
  115. package/src/lib/controllers/api/sessions.d.ts.map +1 -1
  116. package/src/lib/controllers/api/sessions.js +60 -3
  117. package/src/lib/controllers/api/sessions.js.map +1 -1
  118. package/src/lib/controllers/api/sync.js +4 -4
  119. package/src/lib/controllers/api/sync.js.map +1 -1
  120. package/src/lib/controllers/api/user.d.ts +2 -0
  121. package/src/lib/controllers/api/user.d.ts.map +1 -1
  122. package/src/lib/controllers/api/user.js +95 -3
  123. package/src/lib/controllers/api/user.js.map +1 -1
  124. package/src/lib/controllers/identity/deviceController.js +2 -2
  125. package/src/lib/controllers/identity/deviceController.js.map +1 -1
  126. package/src/lib/controllers/identity/directoryController.js +1 -1
  127. package/src/lib/controllers/identity/directoryController.js.map +1 -1
  128. package/src/lib/controllers/identity/identityProofController.js +4 -6
  129. package/src/lib/controllers/identity/identityProofController.js.map +1 -1
  130. package/src/lib/databaseInit.d.ts +3 -3
  131. package/src/lib/databaseInit.js +5 -5
  132. package/src/lib/databaseInit.js.map +1 -1
  133. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  134. package/src/lib/datastore/block-document-store.js +18 -6
  135. package/src/lib/datastore/block-document-store.js.map +1 -1
  136. package/src/lib/datastore/document-store.d.ts.map +1 -1
  137. package/src/lib/datastore/memory-document-store.js +5 -2
  138. package/src/lib/datastore/memory-document-store.js.map +1 -1
  139. package/src/lib/encryption/encryptedMetadataService.js +2 -0
  140. package/src/lib/encryption/encryptedMetadataService.js.map +1 -1
  141. package/src/lib/encryption/encryptionAwareReplication.js +3 -0
  142. package/src/lib/encryption/encryptionAwareReplication.js.map +1 -1
  143. package/src/lib/encryption/errors.d.ts.map +1 -1
  144. package/src/lib/encryption/errors.js +8 -0
  145. package/src/lib/encryption/errors.js.map +1 -1
  146. package/src/lib/encryption/poolKeyManager.js +2 -0
  147. package/src/lib/encryption/poolKeyManager.js.map +1 -1
  148. package/src/lib/environment.js +10 -0
  149. package/src/lib/environment.js.map +1 -1
  150. package/src/lib/errors/express-validation.js +1 -0
  151. package/src/lib/errors/express-validation.js.map +1 -1
  152. package/src/lib/errors/invalid-backup-code-version.js +1 -0
  153. package/src/lib/errors/invalid-backup-code-version.js.map +1 -1
  154. package/src/lib/errors/memberIndexSchemaValidationError.js +1 -0
  155. package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -1
  156. package/src/lib/errors/missing-validated-data.js +2 -0
  157. package/src/lib/errors/missing-validated-data.js.map +1 -1
  158. package/src/lib/errors/token-not-found.js +1 -0
  159. package/src/lib/errors/token-not-found.js.map +1 -1
  160. package/src/lib/errors/typed-error-local.js +3 -0
  161. package/src/lib/errors/typed-error-local.js.map +1 -1
  162. package/src/lib/interfaces/brightpass/index.d.ts +1 -1
  163. package/src/lib/interfaces/brightpass/index.d.ts.map +1 -1
  164. package/src/lib/interfaces/environment.d.ts +1 -1
  165. package/src/lib/interfaces/environment.d.ts.map +1 -1
  166. package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -1
  167. package/src/lib/interfaces/member/operational.d.ts.map +1 -1
  168. package/src/lib/interfaces/member-init-config.d.ts +1 -1
  169. package/src/lib/interfaces/member-init-config.d.ts.map +1 -1
  170. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts.map +1 -1
  171. package/src/lib/interfaces/responses/api-challenge-response.d.ts.map +1 -1
  172. package/src/lib/interfaces/responses/api-code-count-response.d.ts.map +1 -1
  173. package/src/lib/interfaces/responses/api-detailed-health-response.d.ts.map +1 -1
  174. package/src/lib/interfaces/responses/api-discover-block-response.d.ts.map +1 -1
  175. package/src/lib/interfaces/responses/api-express-validation-error.d.ts.map +1 -1
  176. package/src/lib/interfaces/responses/api-get-block-response.d.ts.map +1 -1
  177. package/src/lib/interfaces/responses/api-get-node-response.d.ts.map +1 -1
  178. package/src/lib/interfaces/responses/api-health-response.d.ts.map +1 -1
  179. package/src/lib/interfaces/responses/api-list-nodes-response.d.ts.map +1 -1
  180. package/src/lib/interfaces/responses/api-login-response.d.ts.map +1 -1
  181. package/src/lib/interfaces/responses/api-members-response.d.ts.map +1 -1
  182. package/src/lib/interfaces/responses/api-mnemonic-response.d.ts.map +1 -1
  183. package/src/lib/interfaces/responses/api-reconcile-response.d.ts.map +1 -1
  184. package/src/lib/interfaces/responses/api-register-node-response.d.ts.map +1 -1
  185. package/src/lib/interfaces/responses/api-registration-response.d.ts.map +1 -1
  186. package/src/lib/interfaces/responses/api-replicate-block-response.d.ts.map +1 -1
  187. package/src/lib/interfaces/responses/api-request-user-response.d.ts.map +1 -1
  188. package/src/lib/interfaces/responses/api-store-block-response.d.ts.map +1 -1
  189. package/src/lib/interfaces/responses/api-store-cbl-response.d.ts.map +1 -1
  190. package/src/lib/interfaces/responses/api-sync-request-response.d.ts.map +1 -1
  191. package/src/lib/interfaces/responses/brighthub/api-connection-response.d.ts +21 -0
  192. package/src/lib/interfaces/responses/brighthub/api-connection-response.d.ts.map +1 -0
  193. package/src/lib/interfaces/responses/brighthub/api-connection-response.js +3 -0
  194. package/src/lib/interfaces/responses/brighthub/api-connection-response.js.map +1 -0
  195. package/src/lib/interfaces/responses/brighthub/api-messaging-response.d.ts +39 -0
  196. package/src/lib/interfaces/responses/brighthub/api-messaging-response.d.ts.map +1 -0
  197. package/src/lib/interfaces/responses/brighthub/api-messaging-response.js +3 -0
  198. package/src/lib/interfaces/responses/brighthub/api-messaging-response.js.map +1 -0
  199. package/src/lib/interfaces/responses/brighthub/api-notification-response.d.ts +30 -0
  200. package/src/lib/interfaces/responses/brighthub/api-notification-response.d.ts.map +1 -0
  201. package/src/lib/interfaces/responses/brighthub/api-notification-response.js +3 -0
  202. package/src/lib/interfaces/responses/brighthub/api-notification-response.js.map +1 -0
  203. package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts +21 -0
  204. package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts.map +1 -0
  205. package/src/lib/interfaces/responses/brighthub/api-post-response.js +3 -0
  206. package/src/lib/interfaces/responses/brighthub/api-post-response.js.map +1 -0
  207. package/src/lib/interfaces/responses/brighthub/api-timeline-response.d.ts +14 -0
  208. package/src/lib/interfaces/responses/brighthub/api-timeline-response.d.ts.map +1 -0
  209. package/src/lib/interfaces/responses/brighthub/api-timeline-response.js +3 -0
  210. package/src/lib/interfaces/responses/brighthub/api-timeline-response.js.map +1 -0
  211. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.d.ts +10 -0
  212. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.d.ts.map +1 -0
  213. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.js +3 -0
  214. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.js.map +1 -0
  215. package/src/lib/interfaces/responses/brighthub/index.d.ts +13 -0
  216. package/src/lib/interfaces/responses/brighthub/index.d.ts.map +1 -0
  217. package/src/lib/interfaces/responses/brighthub/index.js +9 -0
  218. package/src/lib/interfaces/responses/brighthub/index.js.map +1 -0
  219. package/src/lib/interfaces/responses/index.d.ts +1 -0
  220. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  221. package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +1 -1
  222. package/src/lib/interfaces/storage/storedDocumentTypes.js +1 -1
  223. package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -1
  224. package/src/lib/interfaces/storage/userRoleSchema.js +1 -3
  225. package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -1
  226. package/src/lib/middlewares.js +31 -31
  227. package/src/lib/middlewares.js.map +1 -1
  228. package/src/lib/nodeKeyring.js +2 -0
  229. package/src/lib/nodeKeyring.js.map +1 -1
  230. package/src/lib/plugins/brightchain-database-plugin.d.ts +14 -14
  231. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  232. package/src/lib/plugins/brightchain-database-plugin.js +36 -34
  233. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  234. package/src/lib/routers/api.d.ts +62 -1
  235. package/src/lib/routers/api.d.ts.map +1 -1
  236. package/src/lib/routers/api.js +123 -2
  237. package/src/lib/routers/api.js.map +1 -1
  238. package/src/lib/routers/app.d.ts.map +1 -1
  239. package/src/lib/routers/app.js +10 -1
  240. package/src/lib/routers/app.js.map +1 -1
  241. package/src/lib/routers/base.js +2 -0
  242. package/src/lib/routers/base.js.map +1 -1
  243. package/src/lib/secureEnclaveKeyring.js +4 -2
  244. package/src/lib/secureEnclaveKeyring.js.map +1 -1
  245. package/src/lib/services/auth.d.ts.map +1 -1
  246. package/src/lib/services/auth.js +11 -2
  247. package/src/lib/services/auth.js.map +1 -1
  248. package/src/lib/services/base.js +1 -0
  249. package/src/lib/services/base.js.map +1 -1
  250. package/src/lib/services/blockServiceFactory.js +2 -0
  251. package/src/lib/services/blockServiceFactory.js.map +1 -1
  252. package/src/lib/services/blockStore.js +3 -2
  253. package/src/lib/services/blockStore.js.map +1 -1
  254. package/src/lib/services/blocks.js +1 -0
  255. package/src/lib/services/blocks.js.map +1 -1
  256. package/src/lib/services/brightChainBackupCodeService.d.ts +114 -0
  257. package/src/lib/services/brightChainBackupCodeService.d.ts.map +1 -0
  258. package/src/lib/services/brightChainBackupCodeService.js +303 -0
  259. package/src/lib/services/brightChainBackupCodeService.js.map +1 -0
  260. package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
  261. package/src/lib/services/brightchain-authentication-provider.js +40 -9
  262. package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
  263. package/src/lib/services/brightchain-member-init.service.d.ts +17 -17
  264. package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
  265. package/src/lib/services/brightchain-member-init.service.js +12 -9
  266. package/src/lib/services/brightchain-member-init.service.js.map +1 -1
  267. package/src/lib/services/brighthub/connectionService.d.ts +286 -0
  268. package/src/lib/services/brighthub/connectionService.d.ts.map +1 -0
  269. package/src/lib/services/brighthub/connectionService.js +1887 -0
  270. package/src/lib/services/brighthub/connectionService.js.map +1 -0
  271. package/src/lib/services/brighthub/discoveryService.d.ts +110 -0
  272. package/src/lib/services/brighthub/discoveryService.d.ts.map +1 -0
  273. package/src/lib/services/brighthub/discoveryService.js +528 -0
  274. package/src/lib/services/brighthub/discoveryService.js.map +1 -0
  275. package/src/lib/services/brighthub/feedService.d.ts +141 -0
  276. package/src/lib/services/brighthub/feedService.d.ts.map +1 -0
  277. package/src/lib/services/brighthub/feedService.js +418 -0
  278. package/src/lib/services/brighthub/feedService.js.map +1 -0
  279. package/src/lib/services/brighthub/index.d.ts +11 -0
  280. package/src/lib/services/brighthub/index.d.ts.map +1 -0
  281. package/src/lib/services/brighthub/index.js +14 -0
  282. package/src/lib/services/brighthub/index.js.map +1 -0
  283. package/src/lib/services/brighthub/messagingService.d.ts +109 -0
  284. package/src/lib/services/brighthub/messagingService.d.ts.map +1 -0
  285. package/src/lib/services/brighthub/messagingService.js +947 -0
  286. package/src/lib/services/brighthub/messagingService.js.map +1 -0
  287. package/src/lib/services/brighthub/messagingService.test-helpers.d.ts +75 -0
  288. package/src/lib/services/brighthub/messagingService.test-helpers.d.ts.map +1 -0
  289. package/src/lib/services/brighthub/messagingService.test-helpers.js +237 -0
  290. package/src/lib/services/brighthub/messagingService.test-helpers.js.map +1 -0
  291. package/src/lib/services/brighthub/notificationService.d.ts +172 -0
  292. package/src/lib/services/brighthub/notificationService.d.ts.map +1 -0
  293. package/src/lib/services/brighthub/notificationService.js +768 -0
  294. package/src/lib/services/brighthub/notificationService.js.map +1 -0
  295. package/src/lib/services/brighthub/notificationService.test-helpers.d.ts +75 -0
  296. package/src/lib/services/brighthub/notificationService.test-helpers.d.ts.map +1 -0
  297. package/src/lib/services/brighthub/notificationService.test-helpers.js +230 -0
  298. package/src/lib/services/brighthub/notificationService.test-helpers.js.map +1 -0
  299. package/src/lib/services/brighthub/postService.d.ts +129 -0
  300. package/src/lib/services/brighthub/postService.d.ts.map +1 -0
  301. package/src/lib/services/brighthub/postService.js +470 -0
  302. package/src/lib/services/brighthub/postService.js.map +1 -0
  303. package/src/lib/services/brighthub/postService.test-helpers.d.ts +40 -0
  304. package/src/lib/services/brighthub/postService.test-helpers.d.ts.map +1 -0
  305. package/src/lib/services/brighthub/postService.test-helpers.js +84 -0
  306. package/src/lib/services/brighthub/postService.test-helpers.js.map +1 -0
  307. package/src/lib/services/brighthub/textFormatter.d.ts +64 -0
  308. package/src/lib/services/brighthub/textFormatter.d.ts.map +1 -0
  309. package/src/lib/services/brighthub/textFormatter.js +256 -0
  310. package/src/lib/services/brighthub/textFormatter.js.map +1 -0
  311. package/src/lib/services/brighthub/threadService.d.ts +79 -0
  312. package/src/lib/services/brighthub/threadService.d.ts.map +1 -0
  313. package/src/lib/services/brighthub/threadService.js +246 -0
  314. package/src/lib/services/brighthub/threadService.js.map +1 -0
  315. package/src/lib/services/brighthub/userProfileService.d.ts +203 -0
  316. package/src/lib/services/brighthub/userProfileService.d.ts.map +1 -0
  317. package/src/lib/services/brighthub/userProfileService.js +868 -0
  318. package/src/lib/services/brighthub/userProfileService.js.map +1 -0
  319. package/src/lib/services/brighthub/userProfileService.test-helpers.d.ts +86 -0
  320. package/src/lib/services/brighthub/userProfileService.test-helpers.d.ts.map +1 -0
  321. package/src/lib/services/brighthub/userProfileService.test-helpers.js +169 -0
  322. package/src/lib/services/brighthub/userProfileService.test-helpers.js.map +1 -0
  323. package/src/lib/services/brighthub/webSocketServer.d.ts +68 -0
  324. package/src/lib/services/brighthub/webSocketServer.d.ts.map +1 -0
  325. package/src/lib/services/brighthub/webSocketServer.js +194 -0
  326. package/src/lib/services/brighthub/webSocketServer.js.map +1 -0
  327. package/src/lib/services/brightpass/auditLogger.js +10 -5
  328. package/src/lib/services/brightpass/auditLogger.js.map +1 -1
  329. package/src/lib/services/brightpass/vaultEncryption.js +8 -8
  330. package/src/lib/services/brightpass/vaultEncryption.js.map +1 -1
  331. package/src/lib/services/brightpass.js +16 -8
  332. package/src/lib/services/brightpass.js.map +1 -1
  333. package/src/lib/services/cliOperatorPrompt.js +5 -2
  334. package/src/lib/services/cliOperatorPrompt.js.map +1 -1
  335. package/src/lib/services/clientWebSocketServer.d.ts +69 -4
  336. package/src/lib/services/clientWebSocketServer.d.ts.map +1 -1
  337. package/src/lib/services/clientWebSocketServer.js +188 -10
  338. package/src/lib/services/clientWebSocketServer.js.map +1 -1
  339. package/src/lib/services/contentAwareBlocksService.js +2 -0
  340. package/src/lib/services/contentAwareBlocksService.js.map +1 -1
  341. package/src/lib/services/contentIngestionService.d.ts.map +1 -1
  342. package/src/lib/services/contentIngestionService.js +2 -0
  343. package/src/lib/services/contentIngestionService.js.map +1 -1
  344. package/src/lib/services/diskQuorumService.js +3 -0
  345. package/src/lib/services/diskQuorumService.js.map +1 -1
  346. package/src/lib/services/email.js +5 -0
  347. package/src/lib/services/email.js.map +1 -1
  348. package/src/lib/services/eventNotificationSystem.d.ts +51 -10
  349. package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
  350. package/src/lib/services/eventNotificationSystem.js +76 -23
  351. package/src/lib/services/eventNotificationSystem.js.map +1 -1
  352. package/src/lib/services/expirationScheduler.js +6 -3
  353. package/src/lib/services/expirationScheduler.js.map +1 -1
  354. package/src/lib/services/fakeEmailService.js +3 -4
  355. package/src/lib/services/fakeEmailService.js.map +1 -1
  356. package/src/lib/services/fec.js +1 -3
  357. package/src/lib/services/fec.js.map +1 -1
  358. package/src/lib/services/fecServiceFactory.js +2 -2
  359. package/src/lib/services/fecServiceFactory.js.map +1 -1
  360. package/src/lib/services/fecUsageExample.js +1 -3
  361. package/src/lib/services/fecUsageExample.js.map +1 -1
  362. package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -1
  363. package/src/lib/services/identityExpirationScheduler.js +7 -2
  364. package/src/lib/services/identityExpirationScheduler.js.map +1 -1
  365. package/src/lib/services/index.d.ts +3 -2
  366. package/src/lib/services/index.d.ts.map +1 -1
  367. package/src/lib/services/index.js +3 -2
  368. package/src/lib/services/index.js.map +1 -1
  369. package/src/lib/services/messageEventsWebSocketHandler.js +1 -0
  370. package/src/lib/services/messageEventsWebSocketHandler.js.map +1 -1
  371. package/src/lib/services/messagePassingService.js +5 -0
  372. package/src/lib/services/messagePassingService.js.map +1 -1
  373. package/src/lib/services/nativeRsFecService.js +3 -5
  374. package/src/lib/services/nativeRsFecService.js.map +1 -1
  375. package/src/lib/services/presenceService.js +5 -4
  376. package/src/lib/services/presenceService.js.map +1 -1
  377. package/src/lib/services/quorum.js +3 -2
  378. package/src/lib/services/quorum.js.map +1 -1
  379. package/src/lib/services/quorumDatabaseAdapter.d.ts +5 -5
  380. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
  381. package/src/lib/services/quorumDatabaseAdapter.js +5 -3
  382. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
  383. package/src/lib/services/rbac-input-builder.js +5 -0
  384. package/src/lib/services/rbac-input-builder.js.map +1 -1
  385. package/src/lib/services/secureKeyStorage.js +3 -0
  386. package/src/lib/services/secureKeyStorage.js.map +1 -1
  387. package/src/lib/services/sessionAdapter.d.ts +4 -4
  388. package/src/lib/services/sessionAdapter.d.ts.map +1 -1
  389. package/src/lib/services/sessionAdapter.js +3 -2
  390. package/src/lib/services/sessionAdapter.js.map +1 -1
  391. package/src/lib/services/webSocketMessageServer.js +7 -4
  392. package/src/lib/services/webSocketMessageServer.js.map +1 -1
  393. package/src/lib/services/webSocketPeerProvider.js +2 -1
  394. package/src/lib/services/webSocketPeerProvider.js.map +1 -1
  395. package/src/lib/services/websocketHandler.js +9 -1
  396. package/src/lib/services/websocketHandler.js.map +1 -1
  397. package/src/lib/shared-types.d.ts +1 -2
  398. package/src/lib/shared-types.d.ts.map +1 -1
  399. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.d.ts +63 -0
  400. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.d.ts.map +1 -0
  401. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.js +160 -0
  402. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.js.map +1 -0
  403. package/src/lib/stores/availabilityAwareBlockStore.js +34 -5
  404. package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
  405. package/src/lib/stores/cloudBlockStoreBase.d.ts +121 -0
  406. package/src/lib/stores/cloudBlockStoreBase.d.ts.map +1 -0
  407. package/src/lib/stores/cloudBlockStoreBase.js +1165 -0
  408. package/src/lib/stores/cloudBlockStoreBase.js.map +1 -0
  409. package/src/lib/stores/diskBlockAsyncStore.js +9 -5
  410. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  411. package/src/lib/stores/diskBlockMetadataStore.js +2 -0
  412. package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
  413. package/src/lib/stores/diskBlockStore.js +10 -8
  414. package/src/lib/stores/diskBlockStore.js.map +1 -1
  415. package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
  416. package/src/lib/stores/diskCBLStore.js +8 -0
  417. package/src/lib/stores/diskCBLStore.js.map +1 -1
  418. package/src/lib/stores/index.d.ts +1 -0
  419. package/src/lib/stores/index.d.ts.map +1 -1
  420. package/src/lib/stores/index.js +1 -0
  421. package/src/lib/stores/index.js.map +1 -1
  422. package/src/lib/systemKeyring.d.ts.map +1 -1
  423. package/src/lib/systemKeyring.js +5 -4
  424. package/src/lib/systemKeyring.js.map +1 -1
  425. package/src/lib/transforms/checksumTransform.js +1 -0
  426. package/src/lib/transforms/checksumTransform.js.map +1 -1
  427. package/src/lib/transforms/memoryWritableStream.js +1 -0
  428. package/src/lib/transforms/memoryWritableStream.js.map +1 -1
  429. package/src/lib/transforms/xorMultipleTransform.js +3 -0
  430. package/src/lib/transforms/xorMultipleTransform.js.map +1 -1
  431. package/src/lib/utils/rehydration.d.ts +1 -1
  432. package/src/lib/utils/rehydration.js +1 -1
  433. package/src/lib/utils/serialization.d.ts +1 -1
  434. package/src/lib/utils/serialization.js +1 -1
  435. package/src/lib/services/backupCodeService.d.ts +0 -35
  436. package/src/lib/services/backupCodeService.d.ts.map +0 -1
  437. package/src/lib/services/backupCodeService.js +0 -109
  438. package/src/lib/services/backupCodeService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/shared-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAI5F,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC;AAKhC,OAAO,KAAK,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAChC;AAED;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"shared-types.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/shared-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,YAAY,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,iCAAiC,CAAC;AAIzC,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC;AAKhC,OAAO,KAAK,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAChC;AAED;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * MockCloudBlockStore - In-memory test helper for CloudBlockStoreBase.
3
+ *
4
+ * Extends CloudBlockStoreBase with a Map<string, Uint8Array> backing store,
5
+ * implementing all 6 abstract primitives. Supports error injection for
6
+ * transient, non-transient, and authentication error testing, plus
7
+ * operation counting for retry verification.
8
+ */
9
+ import { ICloudBlockStoreConfig } from '@brightchain/brightchain-lib';
10
+ import { CloudBlockStoreBase } from '../../cloudBlockStoreBase';
11
+ /** Simulates a transient cloud error (network timeout, throttling, 5xx). */
12
+ export declare class TransientTestError extends Error {
13
+ constructor(message?: string);
14
+ }
15
+ /** Simulates a non-transient cloud error (400, 404, validation). */
16
+ export declare class NonTransientTestError extends Error {
17
+ constructor(message?: string);
18
+ }
19
+ /** Simulates an authentication/authorization error (401/403). */
20
+ export declare class AuthenticationTestError extends Error {
21
+ constructor(message?: string);
22
+ }
23
+ export interface OperationRecord {
24
+ operation: string;
25
+ key: string;
26
+ timestamp: number;
27
+ }
28
+ export declare class MockCloudBlockStore extends CloudBlockStoreBase {
29
+ /** In-memory backing store — exposed for test assertions. */
30
+ readonly objects: Map<string, Uint8Array<ArrayBufferLike>>;
31
+ private transientErrorsRemaining;
32
+ private nonTransientErrorPending;
33
+ private authErrorPending;
34
+ readonly operationLog: OperationRecord[];
35
+ uploadCount: number;
36
+ downloadCount: number;
37
+ deleteCount: number;
38
+ existsCount: number;
39
+ listCount: number;
40
+ constructor(config: ICloudBlockStoreConfig, indexTtlMs?: number, listPageSize?: number);
41
+ /**
42
+ * Make the next `count` operations fail with a TransientTestError.
43
+ * Each primitive call consumes one from the counter.
44
+ */
45
+ injectTransientError(count: number): void;
46
+ /** Make the next operation fail with a NonTransientTestError. */
47
+ injectNonTransientError(): void;
48
+ /** Make the next operation fail with an AuthenticationTestError. */
49
+ injectAuthError(): void;
50
+ /** Throw any pending injected error, consuming it from the queue. */
51
+ private maybeThrowInjectedError;
52
+ /** Record an operation in the log. */
53
+ private recordOp;
54
+ /** Clear all stored objects, error injection state, and operation counters. */
55
+ reset(): void;
56
+ protected uploadObject(key: string, data: Uint8Array): Promise<void>;
57
+ protected downloadObject(key: string): Promise<Uint8Array>;
58
+ protected deleteObject(key: string): Promise<void>;
59
+ protected objectExists(key: string): Promise<boolean>;
60
+ protected listObjects(prefix: string, _maxResults?: number): Promise<string[]>;
61
+ protected isTransientError(error: unknown): boolean;
62
+ }
63
+ //# sourceMappingURL=mockCloudBlockStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockCloudBlockStore.d.ts","sourceRoot":"","sources":["../../../../../../../brightchain-api-lib/src/lib/stores/__tests__/helpers/mockCloudBlockStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMhE,4EAA4E;AAC5E,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,SAAyB;CAI7C;AAED,oEAAoE;AACpE,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,SAA6B;CAIjD;AAED,iEAAiE;AACjE,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,SAA8B;CAIlD;AAMD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,6DAA6D;IAC7D,SAAgB,OAAO,2CAAiC;IAGxD,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,SAAgB,YAAY,EAAE,eAAe,EAAE,CAAM;IAC9C,WAAW,SAAK;IAChB,aAAa,SAAK;IAClB,WAAW,SAAK;IAChB,WAAW,SAAK;IAChB,SAAS,SAAK;gBAGnB,MAAM,EAAE,sBAAsB,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM;IASvB;;;OAGG;IACI,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD,iEAAiE;IAC1D,uBAAuB,IAAI,IAAI;IAItC,oEAAoE;IAC7D,eAAe,IAAI,IAAI;IAI9B,qEAAqE;IACrE,OAAO,CAAC,uBAAuB;IAe/B,sCAAsC;IACtC,OAAO,CAAC,QAAQ;IAQhB,+EAA+E;IACxE,KAAK,IAAI,IAAI;cAmBJ,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;cAO1D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;cAahD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAO3C,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAOpB,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAGpD"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockCloudBlockStore = exports.AuthenticationTestError = exports.NonTransientTestError = exports.TransientTestError = void 0;
4
+ /**
5
+ * MockCloudBlockStore - In-memory test helper for CloudBlockStoreBase.
6
+ *
7
+ * Extends CloudBlockStoreBase with a Map<string, Uint8Array> backing store,
8
+ * implementing all 6 abstract primitives. Supports error injection for
9
+ * transient, non-transient, and authentication error testing, plus
10
+ * operation counting for retry verification.
11
+ */
12
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
13
+ const cloudBlockStoreBase_1 = require("../../cloudBlockStoreBase");
14
+ // =========================================================================
15
+ // Test error classes
16
+ // =========================================================================
17
+ /** Simulates a transient cloud error (network timeout, throttling, 5xx). */
18
+ class TransientTestError extends Error {
19
+ constructor(message = 'Transient test error') {
20
+ super(message);
21
+ this.name = 'TransientTestError';
22
+ }
23
+ }
24
+ exports.TransientTestError = TransientTestError;
25
+ /** Simulates a non-transient cloud error (400, 404, validation). */
26
+ class NonTransientTestError extends Error {
27
+ constructor(message = 'Non-transient test error') {
28
+ super(message);
29
+ this.name = 'NonTransientTestError';
30
+ }
31
+ }
32
+ exports.NonTransientTestError = NonTransientTestError;
33
+ /** Simulates an authentication/authorization error (401/403). */
34
+ class AuthenticationTestError extends Error {
35
+ constructor(message = 'Authentication test error') {
36
+ super(message);
37
+ this.name = 'AuthenticationTestError';
38
+ }
39
+ }
40
+ exports.AuthenticationTestError = AuthenticationTestError;
41
+ // =========================================================================
42
+ // MockCloudBlockStore
43
+ // =========================================================================
44
+ class MockCloudBlockStore extends cloudBlockStoreBase_1.CloudBlockStoreBase {
45
+ /** In-memory backing store — exposed for test assertions. */
46
+ objects = new Map();
47
+ // --- Error injection state ---
48
+ transientErrorsRemaining = 0;
49
+ nonTransientErrorPending = false;
50
+ authErrorPending = false;
51
+ // --- Operation tracking ---
52
+ operationLog = [];
53
+ uploadCount = 0;
54
+ downloadCount = 0;
55
+ deleteCount = 0;
56
+ existsCount = 0;
57
+ listCount = 0;
58
+ constructor(config, indexTtlMs, listPageSize) {
59
+ super(config, indexTtlMs, listPageSize);
60
+ }
61
+ // =========================================================================
62
+ // Error injection API
63
+ // =========================================================================
64
+ /**
65
+ * Make the next `count` operations fail with a TransientTestError.
66
+ * Each primitive call consumes one from the counter.
67
+ */
68
+ injectTransientError(count) {
69
+ this.transientErrorsRemaining = count;
70
+ }
71
+ /** Make the next operation fail with a NonTransientTestError. */
72
+ injectNonTransientError() {
73
+ this.nonTransientErrorPending = true;
74
+ }
75
+ /** Make the next operation fail with an AuthenticationTestError. */
76
+ injectAuthError() {
77
+ this.authErrorPending = true;
78
+ }
79
+ /** Throw any pending injected error, consuming it from the queue. */
80
+ maybeThrowInjectedError() {
81
+ if (this.authErrorPending) {
82
+ this.authErrorPending = false;
83
+ throw new AuthenticationTestError();
84
+ }
85
+ if (this.nonTransientErrorPending) {
86
+ this.nonTransientErrorPending = false;
87
+ throw new NonTransientTestError();
88
+ }
89
+ if (this.transientErrorsRemaining > 0) {
90
+ this.transientErrorsRemaining--;
91
+ throw new TransientTestError();
92
+ }
93
+ }
94
+ /** Record an operation in the log. */
95
+ recordOp(operation, key) {
96
+ this.operationLog.push({ operation, key, timestamp: Date.now() });
97
+ }
98
+ // =========================================================================
99
+ // Reset helpers
100
+ // =========================================================================
101
+ /** Clear all stored objects, error injection state, and operation counters. */
102
+ reset() {
103
+ this.objects.clear();
104
+ this.transientErrorsRemaining = 0;
105
+ this.nonTransientErrorPending = false;
106
+ this.authErrorPending = false;
107
+ this.operationLog.length = 0;
108
+ this.uploadCount = 0;
109
+ this.downloadCount = 0;
110
+ this.deleteCount = 0;
111
+ this.existsCount = 0;
112
+ this.listCount = 0;
113
+ this.localIndex.clear();
114
+ this.indexStale = true;
115
+ }
116
+ // =========================================================================
117
+ // Abstract primitive implementations
118
+ // =========================================================================
119
+ async uploadObject(key, data) {
120
+ this.recordOp('upload', key);
121
+ this.uploadCount++;
122
+ this.maybeThrowInjectedError();
123
+ this.objects.set(key, new Uint8Array(data));
124
+ }
125
+ async downloadObject(key) {
126
+ this.recordOp('download', key);
127
+ this.downloadCount++;
128
+ this.maybeThrowInjectedError();
129
+ const data = this.objects.get(key);
130
+ if (!data) {
131
+ throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound, undefined, {
132
+ key,
133
+ });
134
+ }
135
+ return new Uint8Array(data);
136
+ }
137
+ async deleteObject(key) {
138
+ this.recordOp('delete', key);
139
+ this.deleteCount++;
140
+ this.maybeThrowInjectedError();
141
+ this.objects.delete(key);
142
+ }
143
+ async objectExists(key) {
144
+ this.recordOp('exists', key);
145
+ this.existsCount++;
146
+ this.maybeThrowInjectedError();
147
+ return this.objects.has(key);
148
+ }
149
+ async listObjects(prefix, _maxResults) {
150
+ this.recordOp('list', prefix);
151
+ this.listCount++;
152
+ this.maybeThrowInjectedError();
153
+ return [...this.objects.keys()].filter((k) => k.startsWith(prefix));
154
+ }
155
+ isTransientError(error) {
156
+ return error instanceof TransientTestError;
157
+ }
158
+ }
159
+ exports.MockCloudBlockStore = MockCloudBlockStore;
160
+ //# sourceMappingURL=mockCloudBlockStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockCloudBlockStore.js","sourceRoot":"","sources":["../../../../../../../brightchain-api-lib/src/lib/stores/__tests__/helpers/mockCloudBlockStore.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,40 @@ exports.DEFAULT_AVAILABILITY_AWARE_BLOCK_STORE_CONFIG = {
53
53
  * @see Requirements 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6
54
54
  */
55
55
  class AvailabilityAwareBlockStore {
56
+ /**
57
+ * The wrapped block store.
58
+ */
59
+ innerStore;
60
+ /**
61
+ * Block registry for local block tracking.
62
+ */
63
+ registry;
64
+ /**
65
+ * Availability service for state management.
66
+ */
67
+ availabilityService;
68
+ /**
69
+ * Gossip service for announcements.
70
+ */
71
+ gossipService;
72
+ /**
73
+ * Reconciliation service for pending sync queue.
74
+ */
75
+ reconciliationService;
76
+ /**
77
+ * Configuration.
78
+ */
79
+ config;
80
+ /**
81
+ * Optional block fetcher for remote block retrieval.
82
+ * When provided, enables Available and Consistent read concerns.
83
+ */
84
+ blockFetcher;
85
+ /**
86
+ * Tombstones for deleted pools. Blocks cannot be stored in a pool
87
+ * with an active tombstone until it expires.
88
+ */
89
+ tombstones = new Map();
56
90
  /**
57
91
  * Create a new AvailabilityAwareBlockStore.
58
92
  *
@@ -65,11 +99,6 @@ class AvailabilityAwareBlockStore {
65
99
  * @param blockFetcher - Optional block fetcher for remote block retrieval
66
100
  */
67
101
  constructor(innerStore, registry, availabilityService, gossipService, reconciliationService, config, blockFetcher) {
68
- /**
69
- * Tombstones for deleted pools. Blocks cannot be stored in a pool
70
- * with an active tombstone until it expires.
71
- */
72
- this.tombstones = new Map();
73
102
  this.innerStore = innerStore;
74
103
  this.registry = registry;
75
104
  this.availabilityService = availabilityService;
@@ -1 +1 @@
1
- {"version":3,"file":"availabilityAwareBlockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/availabilityAwareBlockStore.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,kEAiCsC;AAEtC,kEAAkE;AAClE,gEAA0E;AAAjE,6HAAA,0BAA0B,OAAA;AAEnC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAgED;;GAEG;AACU,QAAA,6CAA6C,GACxD;IACE,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,6BAAW,CAAC,KAAK;IACrC,kBAAkB,EAAE,SAAS;IAC7B,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,0CAAwB;CAC1C,CAAC;AAEJ;;;;;;;;;;;;;;GAcG;AACH,MAAa,2BAA2B;IA2CtC;;;;;;;;;;OAUG;IACH,YACE,UAAuB,EACvB,QAAwB,EACxB,mBAAyC,EACzC,aAA6B,EAC7B,qBAA6C,EAC7C,MAAyC,EACzC,YAA4B;QAxB9B;;;WAGG;QACc,eAAU,GAAwC,IAAI,GAAG,EAAE,CAAC;QAsB3E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,qDAA6C;YAChD,GAAG,MAAM;SACV,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,gCAAgC;IAEhC;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,GAAsB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,OAAO,CACX,GAAa,EACb,WAAyB;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAE9D,4EAA4E;QAC5E,wFAAwF;QACxF,mEAAmE;QACnE,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,mCAAiB,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,OAAO,wBAAwB,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEjD,gDAAgD;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QAED,6DAA6D;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE3E,mCAAmC;QACnC,IAAI,OAAO,KAAK,6BAAW,CAAC,KAAK,EAAE,CAAC;YAClC,sDAAsD;YACtD,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,8BAA8B,KAAK,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,8DAA8D,KAAK,GAAG,CACvF,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,IAAI,KAAK,KAAK,mCAAiB,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,sBAAsB,KAAK,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,KAAK,6BAAW,CAAC,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,wBAAwB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAChC,GAAa,EACb,OAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAa,CAAC,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,mCAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QACrE,CAAC;QAED,6DAA6D;QAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,OAAO,EACP,mCAAiB,CAAC,MAAM,CACzB,CAAC;QAEF,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,6DAA6D;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB,CAC/B,GAAa,EACb,OAAgB;QAEhB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAa,CAAC,SAAS,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;QAElD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5D,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE,CAC3C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,CAC9D;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,0DAA0D;YAC1D,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,mCAAiB,CACzB,OAAO,EACP,mCAAiB,CAAC,MAAM,EACxB,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CACnC,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,0FAA0F;YAC1F,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,mCAAiB,CACzB,OAAO,EACP,mCAAiB,CAAC,MAAM,EACxB,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CACnC,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,OAAO,EACP,mCAAiB,CAAC,MAAM,CACzB,CAAC;QAEF,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,wCAAwC;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,KAAmB,EACnB,OAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEhD,uDAAuD;QACvD,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,MAAM,GAAuB,gBAAgB,EAAE,MAAM,CAAC;QAE5D,+CAA+C;QAC/C,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,4CAA0B,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,6BAA6B;QAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9C,qEAAqE;QACrE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,cAAc,GAAuB,MAAM,IAAI,cAAc,EAAE,MAAM,CAAC;QAE5E,yFAAyF;QACzF,IAAI,cAAc,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,4CAA0B,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEhD,qCAAqC;QACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,OAAO,EACP,mCAAiB,CAAC,KAAK,CACxB,CAAC;QAEF,6CAA6C;QAC7C,MAAM,cAAc,GAAoB;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,eAAe,EAAE,IAAI;YACrB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvE,oDAAoD;QACpD,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAoB;gBAChC,IAAI,EAAE,OAAO;gBACb,OAAO;gBACP,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,mDAAmD;YACnD,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,GAAa;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEnC,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAuB,QAAQ,EAAE,MAAM,CAAC;QAEpD,gCAAgC;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEtC,kBAAkB;QAClB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3C,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,WAAW,CACxB,CAAC;QAEF,oDAAoD;QACpD,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAoB;gBAChC,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,2DAA2D;YAC3D,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAsB,QAA2B;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CACP,GAAsB,EACtB,IAAgB,EAChB,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE3C,0BAA0B;QAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE9C,kBAAkB;QAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEhC,qCAAqC;QACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,OAAO,EACP,mCAAiB,CAAC,KAAK,CACxB,CAAC;QAEF,2BAA2B;QAC3B,MAAM,cAAc,GAAoB;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvE,wBAAwB;QACxB,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAoB;gBAChC,IAAI,EAAE,OAAO;gBACb,OAAO;gBACP,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC;aAC3B,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,GAAsB;QACjC,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1E,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,8BAA8B;IAE9B;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,GAAsB;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,GAAsB,EACtB,OAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,oCAAoC;IAEpC;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,GAAsB,EACtB,WAAmB;QAEnB,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,GAAsB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,GAAsB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAsB;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,iCAAiC;IAEjC;;;;;;;;;OASG;IACH,KAAK,CAAC,2BAA2B;QAC/B,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE5D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACtB,oDAAoD;gBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,yDAAyD;YACzD,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CACnD,SAAS,EACT,QAAQ,CAAC,MAAM,CAChB,CAAC;YAEF,wEAAwE;YACxE,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,wBAAwB;QAC5B,MAAM,wBAAwB,GAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACnD,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,KAAK,MAAM,QAAQ,IAAI,wBAAwB,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE5D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACtB,oDAAoD;gBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,yDAAyD;YACzD,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CACnD,SAAS,EACT,QAAQ,CAAC,MAAM,CAChB,CAAC;YAEF,oDAAoD;YACpD,IAAI,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB,CACrB,GAAsB,EACtB,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEnC,wBAAwB;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAErD,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAuB,QAAQ,EAAE,MAAM,CAAC;QAEpD,6CAA6C;QAC7C,MAAM,cAAc,GAAoB;YACtC,MAAM;YACN,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,eAAe,EAAE,KAAK;YACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;OAOG;IACK,uBAAuB,CAC7B,SAA4B,EAC5B,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,GAAsB,EACtB,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEnC,wBAAwB;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAErD,kBAAkB;QAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,qCAAqC;IAErC;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,GAAsB,EACtB,gBAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAE1E,4DAA4D;QAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,MAAM,CAAC,iBAAiB,EACxB,mCAAiB,CAAC,KAAK,CACxB,CAAC;QAEF,MAAM,cAAc,GAAoB;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3C,MAAM,CAAC,iBAAiB,EACxB,cAAc,CACf,CAAC;QAEF,oCAAoC;QACpC,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;IAExB;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,YAAoB;QAEpB,mBAAmB;QACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;YAC1B,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,CACjB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,CACxD;YACD,YAAY;SACb,CAAC,CAAC;QAEH,iDAAiD;QACjD,IAAI,IAAA,oCAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,8CAA8C;QAC9C,oEAAoE;QACpE,2EAA2E;QAC3E,2DAA2D;IAC7D,CAAC;IAED,yBAAyB;IAEzB;;;;;;OAMG;IACK,YAAY,CAAC,MAAc;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,IAAI,IAAI,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,GAAsB;QACrC,OAAO,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAuB,CAAC;IAC7E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,OAAgB;QACjD,IAAI,CAAC;YACH,qDAAqD;YACrD,MAAM,cAAc,GAAoB;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE;gBACpB,eAAe,EAAE,IAAI;aACtB,CAAC;YACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,iCAAiC;IAEjC;;;;OAIG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,mCAAmC;IAEnC;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAmB,EACnB,OAA6B;QAE7B,0BAA0B;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CACxD,OAAO,EACP,OAAO,CACR,CAAC;QAEF,mDAAmD;QACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExC,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,MAAM,CAAC,QAAQ,EACf,mCAAiB,CAAC,KAAK,CACxB,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACjD,MAAM,CAAC,QAAQ,EACf,mCAAiB,CAAC,KAAK,CACxB,CAAC;QAEF,2CAA2C;QAC3C,MAAM,cAAc,GAAoB;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3C,MAAM,CAAC,QAAQ,EACf,cAAc,CACf,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3C,MAAM,CAAC,QAAQ,EACf,cAAc,CACf,CAAC;QAEF,oCAAoC;QACpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,wCAAwC;YACxC,MAAM,SAAS,GAAoB;gBACjC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM,CAAC,QAAQ;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,MAAM,SAAS,GAAoB;gBACjC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM,CAAC,QAAQ;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,6CAA6C;YAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CACf,QAA2B,EAC3B,QAA2B,EAC3B,eAA0B,EAC1B,eAA0B;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErC,mEAAmE;QACnE,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAEzE,IAAI,MAAM,KAAK,mCAAiB,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,IAAI,wBAAwB,CAC3D,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,KAAK,mCAAiB,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,IAAI,wBAAwB,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC/C,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,eAAe,CAChB,CAAC;QAEF,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,oBAAoB,CAClB,QAA2B,EAC3B,QAA2B,EAC3B,SAAiB,EACjB,eAA0B,EAC1B,eAA0B,EAC1B,WAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACzC,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,eAAe,EACf,eAAe,EACf,WAAW,CACZ,CAAC;IACJ,CAAC;CACF;AAthCD,kEAshCC"}
1
+ {"version":3,"file":"availabilityAwareBlockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/availabilityAwareBlockStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * CloudBlockStoreBase - Abstract base class for cloud-backed block stores.
3
+ *
4
+ * Implements IBlockStore and IPooledBlockStore, encapsulating all shared cloud
5
+ * store logic (metadata serialization, FEC orchestration, CBL whitening, pool
6
+ * key management, retry logic). Subclasses implement only the cloud-specific
7
+ * I/O primitives (uploadObject, downloadObject, deleteObject, objectExists,
8
+ * listObjects, isTransientError).
9
+ *
10
+ * @see DiskBlockAsyncStore for the disk-based reference implementation
11
+ * @see AzureBlobBlockStore for the Azure Blob Storage subclass
12
+ * @see S3BlockStore for the Amazon S3 subclass
13
+ */
14
+ import { BaseBlock, BlockHandle, BlockSize, BlockStoreOptions, BrightenResult, CBLMagnetComponents, CBLStorageResult, CBLWhiteningOptions, Checksum, IBlockMetadata, IBlockStore, ICloudBlockStoreConfig, IFecService, IPooledBlockStore, ListOptions, PoolDeletionValidationResult, PoolId, PoolStats, RawDataBlock, RecoveryResult } from '@brightchain/brightchain-lib';
15
+ export declare abstract class CloudBlockStoreBase implements IBlockStore, IPooledBlockStore {
16
+ protected readonly config: ICloudBlockStoreConfig;
17
+ protected readonly _blockSize: BlockSize;
18
+ protected fecService: IFecService | null;
19
+ protected localIndex: Set<string>;
20
+ protected indexStale: boolean;
21
+ protected indexLastRefreshed: number;
22
+ protected indexTtlMs: number;
23
+ protected listPageSize: number;
24
+ constructor(config: ICloudBlockStoreConfig, indexTtlMs?: number, listPageSize?: number);
25
+ protected abstract uploadObject(key: string, data: Uint8Array): Promise<void>;
26
+ protected abstract downloadObject(key: string): Promise<Uint8Array>;
27
+ protected abstract deleteObject(key: string): Promise<void>;
28
+ protected abstract objectExists(key: string): Promise<boolean>;
29
+ protected abstract listObjects(prefix: string, maxResults?: number): Promise<string[]>;
30
+ protected abstract isTransientError(error: unknown): boolean;
31
+ get blockSize(): BlockSize;
32
+ setFecService(fecService: IFecService | null): void;
33
+ getFecService(): IFecService | null;
34
+ /**
35
+ * Build the object key for block data.
36
+ * Pattern: {keyPrefix}{poolId}/{checksumHex}
37
+ */
38
+ protected buildObjectKey(checksumHex: string, poolId?: PoolId): string;
39
+ /**
40
+ * Build the object key for a metadata sidecar.
41
+ * Pattern: {keyPrefix}{poolId}/{checksumHex}.meta
42
+ */
43
+ protected buildMetaKey(checksumHex: string, poolId?: PoolId): string;
44
+ /**
45
+ * Build the object key for a parity block.
46
+ * Pattern: {keyPrefix}{poolId}/parity/{checksumHex}/{parityIndex}
47
+ */
48
+ protected buildParityKey(checksumHex: string, parityIndex: number, poolId?: PoolId): string;
49
+ /**
50
+ * Build the prefix for listing parity blocks of a given data block.
51
+ */
52
+ protected buildParityPrefix(checksumHex: string, poolId?: PoolId): string;
53
+ /**
54
+ * Build the prefix for listing all blocks in a pool.
55
+ */
56
+ protected buildPoolPrefix(poolId?: PoolId): string;
57
+ protected keyToHex(key: Checksum | string): string;
58
+ protected hexToChecksum(hex: string): Checksum;
59
+ /**
60
+ * Retry an operation with exponential backoff for transient errors.
61
+ * Base delay 1s, factor 2x, max 3 retries by default.
62
+ */
63
+ protected withRetry<T>(operation: string, blockChecksum: string, fn: () => Promise<T>, maxRetries?: number): Promise<T>;
64
+ protected serializeMetadata(metadata: IBlockMetadata): Uint8Array;
65
+ protected deserializeMetadata(data: Uint8Array): IBlockMetadata;
66
+ /**
67
+ * Check if the local index needs refreshing based on TTL.
68
+ */
69
+ protected isIndexStale(): boolean;
70
+ /**
71
+ * Refresh the local checksum index by listing objects from the cloud store.
72
+ */
73
+ protected refreshIndex(poolId?: PoolId): Promise<void>;
74
+ has(key: Checksum | string): Promise<boolean>;
75
+ getData(key: Checksum): Promise<RawDataBlock>;
76
+ setData(block: RawDataBlock, options?: BlockStoreOptions): Promise<void>;
77
+ deleteData(key: Checksum): Promise<void>;
78
+ getRandomBlocks(count: number): Promise<Checksum[]>;
79
+ get<T extends BaseBlock>(_key: Checksum | string): BlockHandle<T>;
80
+ put(key: Checksum | string, data: Uint8Array, options?: BlockStoreOptions): Promise<void>;
81
+ delete(key: Checksum | string): Promise<void>;
82
+ getMetadata(key: Checksum | string): Promise<IBlockMetadata | null>;
83
+ updateMetadata(key: Checksum | string, updates: Partial<IBlockMetadata>): Promise<void>;
84
+ generateParityBlocks(key: Checksum | string, parityCount: number): Promise<Checksum[]>;
85
+ getParityBlocks(key: Checksum | string): Promise<Checksum[]>;
86
+ recoverBlock(key: Checksum | string): Promise<RecoveryResult>;
87
+ verifyBlockIntegrity(key: Checksum | string): Promise<boolean>;
88
+ /**
89
+ * Load parity data from cloud for a block.
90
+ */
91
+ private loadParityData;
92
+ getBlocksPendingReplication(): Promise<Checksum[]>;
93
+ getUnderReplicatedBlocks(): Promise<Checksum[]>;
94
+ recordReplication(key: Checksum | string, nodeId: string): Promise<void>;
95
+ recordReplicaLoss(key: Checksum | string, nodeId: string): Promise<void>;
96
+ brightenBlock(key: Checksum | string, randomBlockCount: number): Promise<BrightenResult>;
97
+ storeCBLWithWhitening(cblData: Uint8Array, options?: CBLWhiteningOptions): Promise<CBLStorageResult>;
98
+ /**
99
+ * Select an existing block as a randomizer, or generate a new one.
100
+ */
101
+ protected selectOrGenerateRandomizer(size: number): Promise<Uint8Array>;
102
+ retrieveCBL(blockId1: Checksum | string, blockId2: Checksum | string, block1ParityIds?: string[], block2ParityIds?: string[]): Promise<Uint8Array>;
103
+ parseCBLMagnetUrl(magnetUrl: string): CBLMagnetComponents;
104
+ generateCBLMagnetUrl(blockId1: Checksum | string, blockId2: Checksum | string, blockSize: number, block1ParityIds?: string[], block2ParityIds?: string[], isEncrypted?: boolean): string;
105
+ hasInPool(pool: PoolId, hash: string): Promise<boolean>;
106
+ getFromPool(pool: PoolId, hash: string): Promise<Uint8Array>;
107
+ putInPool(pool: PoolId, data: Uint8Array, options?: BlockStoreOptions): Promise<string>;
108
+ deleteFromPool(pool: PoolId, hash: string): Promise<void>;
109
+ listPools(): Promise<PoolId[]>;
110
+ listBlocksInPool(pool: PoolId, options?: ListOptions): AsyncIterable<string>;
111
+ getPoolStats(pool: PoolId): Promise<PoolStats>;
112
+ deletePool(pool: PoolId): Promise<void>;
113
+ private performPoolDeletion;
114
+ getRandomBlocksFromPool(pool: PoolId, count: number): Promise<Checksum[]>;
115
+ bootstrapPool(pool: PoolId, blockSize: BlockSize, count: number): Promise<void>;
116
+ validatePoolDeletion(pool: PoolId): Promise<PoolDeletionValidationResult>;
117
+ forceDeletePool(pool: PoolId): Promise<void>;
118
+ storeCBLWithWhiteningInPool(pool: PoolId, cblData: Uint8Array, options?: CBLWhiteningOptions): Promise<CBLStorageResult>;
119
+ retrieveCBLFromPool(pool: PoolId, blockId1: Checksum | string, blockId2: Checksum | string, _block1ParityIds?: string[], _block2ParityIds?: string[]): Promise<Uint8Array>;
120
+ }
121
+ //# sourceMappingURL=cloudBlockStoreBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudBlockStoreBase.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/cloudBlockStoreBase.ts"],"names":[],"mappings":"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"}