@brightchain/brightchain-lib 0.18.0 → 0.20.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 (372) hide show
  1. package/package.json +2 -2
  2. package/src/lib/db/aggregation.d.ts +20 -0
  3. package/src/lib/db/aggregation.d.ts.map +1 -0
  4. package/src/lib/db/aggregation.js +407 -0
  5. package/src/lib/db/aggregation.js.map +1 -0
  6. package/src/lib/db/collection.d.ts +315 -0
  7. package/src/lib/db/collection.d.ts.map +1 -0
  8. package/src/lib/db/collection.js +1054 -0
  9. package/src/lib/db/collection.js.map +1 -0
  10. package/src/lib/db/cursor.d.ts +51 -0
  11. package/src/lib/db/cursor.d.ts.map +1 -0
  12. package/src/lib/db/cursor.js +100 -0
  13. package/src/lib/db/cursor.js.map +1 -0
  14. package/src/lib/db/errors.d.ts +83 -0
  15. package/src/lib/db/errors.d.ts.map +1 -0
  16. package/src/lib/db/errors.js +103 -0
  17. package/src/lib/db/errors.js.map +1 -0
  18. package/src/lib/db/inMemoryDatabase.d.ts +135 -0
  19. package/src/lib/db/inMemoryDatabase.d.ts.map +1 -0
  20. package/src/lib/db/inMemoryDatabase.js +258 -0
  21. package/src/lib/db/inMemoryDatabase.js.map +1 -0
  22. package/src/lib/db/inMemoryHeadRegistry.d.ts +33 -0
  23. package/src/lib/db/inMemoryHeadRegistry.d.ts.map +1 -0
  24. package/src/lib/db/inMemoryHeadRegistry.js +83 -0
  25. package/src/lib/db/inMemoryHeadRegistry.js.map +1 -0
  26. package/src/lib/db/index.d.ts +14 -0
  27. package/src/lib/db/index.d.ts.map +1 -0
  28. package/src/lib/db/index.js +18 -0
  29. package/src/lib/db/index.js.map +1 -0
  30. package/src/lib/db/indexing.d.ts +133 -0
  31. package/src/lib/db/indexing.d.ts.map +1 -0
  32. package/src/lib/db/indexing.js +287 -0
  33. package/src/lib/db/indexing.js.map +1 -0
  34. package/src/lib/db/queryEngine.d.ts +50 -0
  35. package/src/lib/db/queryEngine.d.ts.map +1 -0
  36. package/src/lib/db/queryEngine.js +461 -0
  37. package/src/lib/db/queryEngine.js.map +1 -0
  38. package/src/lib/db/schemaValidation.d.ts +41 -0
  39. package/src/lib/db/schemaValidation.d.ts.map +1 -0
  40. package/src/lib/db/schemaValidation.js +322 -0
  41. package/src/lib/db/schemaValidation.js.map +1 -0
  42. package/src/lib/db/transaction.d.ts +88 -0
  43. package/src/lib/db/transaction.d.ts.map +1 -0
  44. package/src/lib/db/transaction.js +112 -0
  45. package/src/lib/db/transaction.js.map +1 -0
  46. package/src/lib/db/types.d.ts +11 -0
  47. package/src/lib/db/types.d.ts.map +1 -0
  48. package/src/lib/db/types.js +11 -0
  49. package/src/lib/db/types.js.map +1 -0
  50. package/src/lib/db/updateEngine.d.ts +20 -0
  51. package/src/lib/db/updateEngine.d.ts.map +1 -0
  52. package/src/lib/db/updateEngine.js +193 -0
  53. package/src/lib/db/updateEngine.js.map +1 -0
  54. package/src/lib/db/uuidGenerator.d.ts +13 -0
  55. package/src/lib/db/uuidGenerator.d.ts.map +1 -0
  56. package/src/lib/db/uuidGenerator.js +34 -0
  57. package/src/lib/db/uuidGenerator.js.map +1 -0
  58. package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -1
  59. package/src/lib/documents/member/memberProfileHydration.js +6 -0
  60. package/src/lib/documents/member/memberProfileHydration.js.map +1 -1
  61. package/src/lib/enumerations/brightChainStrings.d.ts +39 -0
  62. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
  63. package/src/lib/enumerations/brightChainStrings.js +47 -0
  64. package/src/lib/enumerations/brightChainStrings.js.map +1 -1
  65. package/src/lib/enumerations/identityValidationErrorType.d.ts +11 -0
  66. package/src/lib/enumerations/identityValidationErrorType.d.ts.map +1 -0
  67. package/src/lib/enumerations/identityValidationErrorType.js +15 -0
  68. package/src/lib/enumerations/identityValidationErrorType.js.map +1 -0
  69. package/src/lib/enumerations/index.d.ts +4 -0
  70. package/src/lib/enumerations/index.d.ts.map +1 -1
  71. package/src/lib/enumerations/index.js +5 -0
  72. package/src/lib/enumerations/index.js.map +1 -1
  73. package/src/lib/enumerations/memberStatusType.d.ts +2 -1
  74. package/src/lib/enumerations/memberStatusType.d.ts.map +1 -1
  75. package/src/lib/enumerations/memberStatusType.js +1 -0
  76. package/src/lib/enumerations/memberStatusType.js.map +1 -1
  77. package/src/lib/enumerations/proposalActionType.d.ts +22 -0
  78. package/src/lib/enumerations/proposalActionType.d.ts.map +1 -0
  79. package/src/lib/enumerations/proposalActionType.js +26 -0
  80. package/src/lib/enumerations/proposalActionType.js.map +1 -0
  81. package/src/lib/enumerations/proposalStatus.d.ts +14 -0
  82. package/src/lib/enumerations/proposalStatus.d.ts.map +1 -0
  83. package/src/lib/enumerations/proposalStatus.js +18 -0
  84. package/src/lib/enumerations/proposalStatus.js.map +1 -0
  85. package/src/lib/enumerations/quorumErrorType.d.ts +30 -1
  86. package/src/lib/enumerations/quorumErrorType.d.ts.map +1 -1
  87. package/src/lib/enumerations/quorumErrorType.js +37 -0
  88. package/src/lib/enumerations/quorumErrorType.js.map +1 -1
  89. package/src/lib/enumerations/quorumOperationalMode.d.ts +16 -0
  90. package/src/lib/enumerations/quorumOperationalMode.d.ts.map +1 -0
  91. package/src/lib/enumerations/quorumOperationalMode.js +20 -0
  92. package/src/lib/enumerations/quorumOperationalMode.js.map +1 -0
  93. package/src/lib/enumerations/sealingErrorType.d.ts +3 -1
  94. package/src/lib/enumerations/sealingErrorType.d.ts.map +1 -1
  95. package/src/lib/enumerations/sealingErrorType.js +2 -0
  96. package/src/lib/enumerations/sealingErrorType.js.map +1 -1
  97. package/src/lib/errors/identityValidationError.d.ts +8 -0
  98. package/src/lib/errors/identityValidationError.d.ts.map +1 -0
  99. package/src/lib/errors/identityValidationError.js +26 -0
  100. package/src/lib/errors/identityValidationError.js.map +1 -0
  101. package/src/lib/errors/index.d.ts +4 -0
  102. package/src/lib/errors/index.d.ts.map +1 -1
  103. package/src/lib/errors/index.js +7 -0
  104. package/src/lib/errors/index.js.map +1 -1
  105. package/src/lib/errors/memberIndexSchemaValidationError.d.ts +6 -0
  106. package/src/lib/errors/memberIndexSchemaValidationError.d.ts.map +1 -0
  107. package/src/lib/errors/memberIndexSchemaValidationError.js +15 -0
  108. package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -0
  109. package/src/lib/errors/quorumError.d.ts.map +1 -1
  110. package/src/lib/errors/quorumError.js +37 -0
  111. package/src/lib/errors/quorumError.js.map +1 -1
  112. package/src/lib/errors/sealingError.d.ts.map +1 -1
  113. package/src/lib/errors/sealingError.js +2 -0
  114. package/src/lib/errors/sealingError.js.map +1 -1
  115. package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
  116. package/src/lib/i18n/strings/englishUs.js +45 -0
  117. package/src/lib/i18n/strings/englishUs.js.map +1 -1
  118. package/src/lib/i18n/strings/french.d.ts.map +1 -1
  119. package/src/lib/i18n/strings/french.js +37 -0
  120. package/src/lib/i18n/strings/french.js.map +1 -1
  121. package/src/lib/i18n/strings/german.d.ts.map +1 -1
  122. package/src/lib/i18n/strings/german.js +37 -0
  123. package/src/lib/i18n/strings/german.js.map +1 -1
  124. package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
  125. package/src/lib/i18n/strings/japanese.js +37 -0
  126. package/src/lib/i18n/strings/japanese.js.map +1 -1
  127. package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
  128. package/src/lib/i18n/strings/mandarin.js +37 -0
  129. package/src/lib/i18n/strings/mandarin.js.map +1 -1
  130. package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
  131. package/src/lib/i18n/strings/spanish.js +37 -0
  132. package/src/lib/i18n/strings/spanish.js.map +1 -1
  133. package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
  134. package/src/lib/i18n/strings/ukrainian.js +37 -0
  135. package/src/lib/i18n/strings/ukrainian.js.map +1 -1
  136. package/src/lib/index.d.ts +12 -0
  137. package/src/lib/index.d.ts.map +1 -1
  138. package/src/lib/index.js +55 -1
  139. package/src/lib/index.js.map +1 -1
  140. package/src/lib/interfaces/aliasRecord.d.ts +34 -0
  141. package/src/lib/interfaces/aliasRecord.d.ts.map +1 -0
  142. package/src/lib/interfaces/aliasRecord.js +11 -0
  143. package/src/lib/interfaces/aliasRecord.js.map +1 -0
  144. package/src/lib/interfaces/api/index.d.ts +2 -0
  145. package/src/lib/interfaces/api/index.d.ts.map +1 -0
  146. package/src/lib/interfaces/api/index.js +5 -0
  147. package/src/lib/interfaces/api/index.js.map +1 -0
  148. package/src/lib/interfaces/api/quorumApi.d.ts +97 -0
  149. package/src/lib/interfaces/api/quorumApi.d.ts.map +1 -0
  150. package/src/lib/interfaces/api/quorumApi.js +12 -0
  151. package/src/lib/interfaces/api/quorumApi.js.map +1 -0
  152. package/src/lib/interfaces/auditLogEntry.d.ts +34 -0
  153. package/src/lib/interfaces/auditLogEntry.d.ts.map +1 -0
  154. package/src/lib/interfaces/auditLogEntry.js +10 -0
  155. package/src/lib/interfaces/auditLogEntry.js.map +1 -0
  156. package/src/lib/interfaces/availability/gossipService.d.ts +116 -2
  157. package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
  158. package/src/lib/interfaces/availability/gossipService.js +62 -0
  159. package/src/lib/interfaces/availability/gossipService.js.map +1 -1
  160. package/src/lib/interfaces/chainedAuditLogEntry.d.ts +27 -0
  161. package/src/lib/interfaces/chainedAuditLogEntry.d.ts.map +1 -0
  162. package/src/lib/interfaces/chainedAuditLogEntry.js +12 -0
  163. package/src/lib/interfaces/chainedAuditLogEntry.js.map +1 -0
  164. package/src/lib/interfaces/contentWithIdentity.d.ts +39 -0
  165. package/src/lib/interfaces/contentWithIdentity.d.ts.map +1 -0
  166. package/src/lib/interfaces/contentWithIdentity.js +24 -0
  167. package/src/lib/interfaces/contentWithIdentity.js.map +1 -0
  168. package/src/lib/interfaces/energyAccount.d.ts +3 -1
  169. package/src/lib/interfaces/energyAccount.d.ts.map +1 -1
  170. package/src/lib/interfaces/identityRecoveryRecord.d.ts +41 -0
  171. package/src/lib/interfaces/identityRecoveryRecord.d.ts.map +1 -0
  172. package/src/lib/interfaces/identityRecoveryRecord.js +11 -0
  173. package/src/lib/interfaces/identityRecoveryRecord.js.map +1 -0
  174. package/src/lib/interfaces/index.d.ts +17 -0
  175. package/src/lib/interfaces/index.d.ts.map +1 -1
  176. package/src/lib/interfaces/index.js +4 -0
  177. package/src/lib/interfaces/index.js.map +1 -1
  178. package/src/lib/interfaces/initResult.d.ts +6 -6
  179. package/src/lib/interfaces/initResult.d.ts.map +1 -1
  180. package/src/lib/interfaces/member/brightChainBaseInitResult.d.ts +4 -1
  181. package/src/lib/interfaces/member/brightChainBaseInitResult.d.ts.map +1 -1
  182. package/src/lib/interfaces/member/brightChainInitResult.d.ts +1 -1
  183. package/src/lib/interfaces/member/brightChainInitResult.d.ts.map +1 -1
  184. package/src/lib/interfaces/member/memberData.d.ts +3 -0
  185. package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
  186. package/src/lib/interfaces/member/profileStorage.d.ts +5 -0
  187. package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -1
  188. package/src/lib/interfaces/member-init-config.d.ts +20 -0
  189. package/src/lib/interfaces/member-init-config.d.ts.map +1 -0
  190. package/src/lib/interfaces/member-init-config.js +3 -0
  191. package/src/lib/interfaces/member-init-config.js.map +1 -0
  192. package/src/lib/interfaces/operationalState.d.ts +20 -0
  193. package/src/lib/interfaces/operationalState.d.ts.map +1 -0
  194. package/src/lib/interfaces/operationalState.js +10 -0
  195. package/src/lib/interfaces/operationalState.js.map +1 -0
  196. package/src/lib/interfaces/proposal.d.ts +59 -0
  197. package/src/lib/interfaces/proposal.d.ts.map +1 -0
  198. package/src/lib/interfaces/proposal.js +10 -0
  199. package/src/lib/interfaces/proposal.js.map +1 -0
  200. package/src/lib/interfaces/quorumDocumentMetadata.d.ts +20 -0
  201. package/src/lib/interfaces/quorumDocumentMetadata.d.ts.map +1 -0
  202. package/src/lib/interfaces/quorumDocumentMetadata.js +10 -0
  203. package/src/lib/interfaces/quorumDocumentMetadata.js.map +1 -0
  204. package/src/lib/interfaces/quorumEpoch.d.ts +33 -0
  205. package/src/lib/interfaces/quorumEpoch.d.ts.map +1 -0
  206. package/src/lib/interfaces/quorumEpoch.js +11 -0
  207. package/src/lib/interfaces/quorumEpoch.js.map +1 -0
  208. package/src/lib/interfaces/quorumMetrics.d.ts +49 -0
  209. package/src/lib/interfaces/quorumMetrics.d.ts.map +1 -0
  210. package/src/lib/interfaces/quorumMetrics.js +10 -0
  211. package/src/lib/interfaces/quorumMetrics.js.map +1 -0
  212. package/src/lib/interfaces/redistributionJournalEntry.d.ts +25 -0
  213. package/src/lib/interfaces/redistributionJournalEntry.d.ts.map +1 -0
  214. package/src/lib/interfaces/redistributionJournalEntry.js +11 -0
  215. package/src/lib/interfaces/redistributionJournalEntry.js.map +1 -0
  216. package/src/lib/interfaces/responses/backupCodesResponseData.d.ts +3 -5
  217. package/src/lib/interfaces/responses/backupCodesResponseData.d.ts.map +1 -1
  218. package/src/lib/interfaces/responses/challengeResponseData.d.ts +5 -0
  219. package/src/lib/interfaces/responses/challengeResponseData.d.ts.map +1 -1
  220. package/src/lib/interfaces/responses/codeCountResponseData.d.ts +3 -5
  221. package/src/lib/interfaces/responses/codeCountResponseData.d.ts.map +1 -1
  222. package/src/lib/interfaces/responses/index.d.ts +4 -2
  223. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  224. package/src/lib/interfaces/responses/passwordChangeResponse.d.ts +2 -0
  225. package/src/lib/interfaces/responses/passwordChangeResponse.d.ts.map +1 -0
  226. package/src/lib/interfaces/responses/passwordChangeResponse.js +3 -0
  227. package/src/lib/interfaces/responses/passwordChangeResponse.js.map +1 -0
  228. package/src/lib/interfaces/responses/recoveryResponse.d.ts +2 -0
  229. package/src/lib/interfaces/responses/recoveryResponse.d.ts.map +1 -0
  230. package/src/lib/interfaces/responses/recoveryResponse.js +3 -0
  231. package/src/lib/interfaces/responses/recoveryResponse.js.map +1 -0
  232. package/src/lib/interfaces/responses/registrationResponseData.d.ts +2 -2
  233. package/src/lib/interfaces/responses/registrationResponseData.d.ts.map +1 -1
  234. package/src/lib/interfaces/services/contentIngestion.d.ts +61 -0
  235. package/src/lib/interfaces/services/contentIngestion.d.ts.map +1 -0
  236. package/src/lib/interfaces/services/contentIngestion.js +12 -0
  237. package/src/lib/interfaces/services/contentIngestion.js.map +1 -0
  238. package/src/lib/interfaces/services/expirationScheduler.d.ts +55 -0
  239. package/src/lib/interfaces/services/expirationScheduler.d.ts.map +1 -0
  240. package/src/lib/interfaces/services/expirationScheduler.js +11 -0
  241. package/src/lib/interfaces/services/expirationScheduler.js.map +1 -0
  242. package/src/lib/interfaces/services/identitySealingPipeline.d.ts +56 -0
  243. package/src/lib/interfaces/services/identitySealingPipeline.d.ts.map +1 -0
  244. package/src/lib/interfaces/services/identitySealingPipeline.js +12 -0
  245. package/src/lib/interfaces/services/identitySealingPipeline.js.map +1 -0
  246. package/src/lib/interfaces/services/identityValidator.d.ts +44 -0
  247. package/src/lib/interfaces/services/identityValidator.d.ts.map +1 -0
  248. package/src/lib/interfaces/services/identityValidator.js +11 -0
  249. package/src/lib/interfaces/services/identityValidator.js.map +1 -0
  250. package/src/lib/interfaces/services/index.d.ts +9 -0
  251. package/src/lib/interfaces/services/index.d.ts.map +1 -1
  252. package/src/lib/interfaces/services/membershipProof.d.ts +40 -0
  253. package/src/lib/interfaces/services/membershipProof.d.ts.map +1 -0
  254. package/src/lib/interfaces/services/membershipProof.js +11 -0
  255. package/src/lib/interfaces/services/membershipProof.js.map +1 -0
  256. package/src/lib/interfaces/services/operatorPrompt.d.ts +68 -0
  257. package/src/lib/interfaces/services/operatorPrompt.d.ts.map +1 -0
  258. package/src/lib/interfaces/services/operatorPrompt.js +11 -0
  259. package/src/lib/interfaces/services/operatorPrompt.js.map +1 -0
  260. package/src/lib/interfaces/services/quorumDatabase.d.ts +207 -0
  261. package/src/lib/interfaces/services/quorumDatabase.d.ts.map +1 -0
  262. package/src/lib/interfaces/services/quorumDatabase.js +13 -0
  263. package/src/lib/interfaces/services/quorumDatabase.js.map +1 -0
  264. package/src/lib/interfaces/services/quorumService.d.ts +3 -0
  265. package/src/lib/interfaces/services/quorumService.d.ts.map +1 -1
  266. package/src/lib/interfaces/services/quorumStateMachine.d.ts +128 -0
  267. package/src/lib/interfaces/services/quorumStateMachine.d.ts.map +1 -0
  268. package/src/lib/interfaces/services/quorumStateMachine.js +12 -0
  269. package/src/lib/interfaces/services/quorumStateMachine.js.map +1 -0
  270. package/src/lib/interfaces/services/redistributionConfig.d.ts +20 -0
  271. package/src/lib/interfaces/services/redistributionConfig.d.ts.map +1 -0
  272. package/src/lib/interfaces/services/redistributionConfig.js +10 -0
  273. package/src/lib/interfaces/services/redistributionConfig.js.map +1 -0
  274. package/src/lib/interfaces/statuteConfig.d.ts +22 -0
  275. package/src/lib/interfaces/statuteConfig.d.ts.map +1 -0
  276. package/src/lib/interfaces/statuteConfig.js +18 -0
  277. package/src/lib/interfaces/statuteConfig.js.map +1 -0
  278. package/src/lib/interfaces/storage/documentStore.d.ts +46 -24
  279. package/src/lib/interfaces/storage/documentStore.d.ts.map +1 -1
  280. package/src/lib/interfaces/storage/documentStore.js +6 -2
  281. package/src/lib/interfaces/storage/documentStore.js.map +1 -1
  282. package/src/lib/interfaces/storage/index.d.ts +5 -0
  283. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  284. package/src/lib/interfaces/storage/index.js.map +1 -1
  285. package/src/lib/interfaces/storage/memberIndexSchema.d.ts +11 -0
  286. package/src/lib/interfaces/storage/memberIndexSchema.d.ts.map +1 -0
  287. package/src/lib/interfaces/storage/memberIndexSchema.js +26 -0
  288. package/src/lib/interfaces/storage/memberIndexSchema.js.map +1 -0
  289. package/src/lib/interfaces/storage/mnemonicSchema.d.ts +10 -0
  290. package/src/lib/interfaces/storage/mnemonicSchema.d.ts.map +1 -0
  291. package/src/lib/interfaces/storage/mnemonicSchema.js +22 -0
  292. package/src/lib/interfaces/storage/mnemonicSchema.js.map +1 -0
  293. package/src/lib/interfaces/storage/roleSchema.d.ts +10 -0
  294. package/src/lib/interfaces/storage/roleSchema.d.ts.map +1 -0
  295. package/src/lib/interfaces/storage/roleSchema.js +45 -0
  296. package/src/lib/interfaces/storage/roleSchema.js.map +1 -0
  297. package/src/lib/interfaces/storage/userRoleSchema.d.ts +10 -0
  298. package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -0
  299. package/src/lib/interfaces/storage/userRoleSchema.js +35 -0
  300. package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -0
  301. package/src/lib/interfaces/storage/userSchema.d.ts +12 -0
  302. package/src/lib/interfaces/storage/userSchema.d.ts.map +1 -0
  303. package/src/lib/interfaces/storage/userSchema.js +62 -0
  304. package/src/lib/interfaces/storage/userSchema.js.map +1 -0
  305. package/src/lib/interfaces/userManagement.d.ts +49 -0
  306. package/src/lib/interfaces/userManagement.d.ts.map +1 -0
  307. package/src/lib/interfaces/userManagement.js +9 -0
  308. package/src/lib/interfaces/userManagement.js.map +1 -0
  309. package/src/lib/interfaces/vote.d.ts +45 -0
  310. package/src/lib/interfaces/vote.d.ts.map +1 -0
  311. package/src/lib/interfaces/vote.js +10 -0
  312. package/src/lib/interfaces/vote.js.map +1 -0
  313. package/src/lib/quorumDataRecord.d.ts +7 -1
  314. package/src/lib/quorumDataRecord.d.ts.map +1 -1
  315. package/src/lib/quorumDataRecord.js +12 -4
  316. package/src/lib/quorumDataRecord.js.map +1 -1
  317. package/src/lib/quorumDataRecordDto.d.ts +6 -0
  318. package/src/lib/quorumDataRecordDto.d.ts.map +1 -1
  319. package/src/lib/services/aliasRegistry.d.ts +77 -0
  320. package/src/lib/services/aliasRegistry.d.ts.map +1 -0
  321. package/src/lib/services/aliasRegistry.js +138 -0
  322. package/src/lib/services/aliasRegistry.js.map +1 -0
  323. package/src/lib/services/auditLogService.d.ts +100 -0
  324. package/src/lib/services/auditLogService.d.ts.map +1 -0
  325. package/src/lib/services/auditLogService.js +223 -0
  326. package/src/lib/services/auditLogService.js.map +1 -0
  327. package/src/lib/services/blockService.d.ts +2 -1
  328. package/src/lib/services/blockService.d.ts.map +1 -1
  329. package/src/lib/services/blockService.js +7 -2
  330. package/src/lib/services/blockService.js.map +1 -1
  331. package/src/lib/services/identitySealingPipeline.d.ts +120 -0
  332. package/src/lib/services/identitySealingPipeline.d.ts.map +1 -0
  333. package/src/lib/services/identitySealingPipeline.js +288 -0
  334. package/src/lib/services/identitySealingPipeline.js.map +1 -0
  335. package/src/lib/services/identityValidator.d.ts +75 -0
  336. package/src/lib/services/identityValidator.d.ts.map +1 -0
  337. package/src/lib/services/identityValidator.js +202 -0
  338. package/src/lib/services/identityValidator.js.map +1 -0
  339. package/src/lib/services/index.d.ts +6 -0
  340. package/src/lib/services/index.d.ts.map +1 -1
  341. package/src/lib/services/index.js +6 -0
  342. package/src/lib/services/index.js.map +1 -1
  343. package/src/lib/services/member/memberCblService.d.ts.map +1 -1
  344. package/src/lib/services/member/memberCblService.js +12 -1
  345. package/src/lib/services/member/memberCblService.js.map +1 -1
  346. package/src/lib/services/memberStore.d.ts.map +1 -1
  347. package/src/lib/services/memberStore.js +2 -0
  348. package/src/lib/services/memberStore.js.map +1 -1
  349. package/src/lib/services/membershipProofService.d.ts +90 -0
  350. package/src/lib/services/membershipProofService.d.ts.map +1 -0
  351. package/src/lib/services/membershipProofService.js +361 -0
  352. package/src/lib/services/membershipProofService.js.map +1 -0
  353. package/src/lib/services/quorumStateMachine.d.ts +336 -0
  354. package/src/lib/services/quorumStateMachine.d.ts.map +1 -0
  355. package/src/lib/services/quorumStateMachine.js +1396 -0
  356. package/src/lib/services/quorumStateMachine.js.map +1 -0
  357. package/src/lib/services/sealing.service.d.ts +80 -0
  358. package/src/lib/services/sealing.service.d.ts.map +1 -1
  359. package/src/lib/services/sealing.service.js +192 -0
  360. package/src/lib/services/sealing.service.js.map +1 -1
  361. package/src/lib/stores/energyAccountStore.d.ts +13 -11
  362. package/src/lib/stores/energyAccountStore.d.ts.map +1 -1
  363. package/src/lib/stores/energyAccountStore.js +18 -20
  364. package/src/lib/stores/energyAccountStore.js.map +1 -1
  365. /package/{BLOCK_COVERAGE_AUDIT.md → brightchain-lib/BLOCK_COVERAGE_AUDIT.md} +0 -0
  366. /package/{BROWSER_COMPAT.md → brightchain-lib/BROWSER_COMPAT.md} +0 -0
  367. /package/{DEPRECATIONS.md → brightchain-lib/DEPRECATIONS.md} +0 -0
  368. /package/{DEPRECATIONS_REMOVED.md → brightchain-lib/DEPRECATIONS_REMOVED.md} +0 -0
  369. /package/{MIGRATION.md → brightchain-lib/MIGRATION.md} +0 -0
  370. /package/{NAMING_AUDIT.md → brightchain-lib/NAMING_AUDIT.md} +0 -0
  371. /package/{NAMING_CONVENTIONS.md → brightchain-lib/NAMING_CONVENTIONS.md} +0 -0
  372. /package/{README.md → brightchain-lib/README.md} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/db/collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Cursor – lazy, chainable query result that mimics MongoDB's cursor API.
3
+ */
4
+ import type { ProjectionSpec, SortSpec } from '@digitaldefiance/suite-core-lib';
5
+ import type { BsonDocument } from '../interfaces/storage/documentTypes';
6
+ export declare class Cursor<T extends BsonDocument = BsonDocument> {
7
+ private readonly _source;
8
+ private _sort;
9
+ private _skip;
10
+ private _limit;
11
+ private _projection;
12
+ private _exhausted;
13
+ constructor(_source: () => Promise<T[]>);
14
+ /** Set sort specification (chainable) */
15
+ sort(spec: SortSpec<T>): this;
16
+ /** Set number of documents to skip (chainable) */
17
+ skip(n: number): this;
18
+ /** Set maximum number of documents to return (chainable) */
19
+ limit(n: number): this;
20
+ /** Set field projection (chainable) */
21
+ project(spec: ProjectionSpec<T>): this;
22
+ /**
23
+ * Execute the query and return all matching documents as an array.
24
+ */
25
+ toArray(): Promise<T[]>;
26
+ /**
27
+ * Count matching documents (applies skip/limit if set).
28
+ */
29
+ count(): Promise<number>;
30
+ /**
31
+ * Get the first matching document.
32
+ */
33
+ next(): Promise<T | null>;
34
+ /**
35
+ * Check if there are more results.
36
+ */
37
+ hasNext(): Promise<boolean>;
38
+ /**
39
+ * Iterate over all results with a callback.
40
+ */
41
+ forEach(fn: (doc: T) => void | Promise<void>): Promise<void>;
42
+ /**
43
+ * Map results through a transform function.
44
+ */
45
+ map<U>(fn: (doc: T) => U): Promise<U[]>;
46
+ /**
47
+ * Make the cursor thenable so it can be awaited directly.
48
+ */
49
+ then<TResult1 = T[], TResult2 = never>(onfulfilled?: ((value: T[]) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
50
+ }
51
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/db/cursor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,qBAAa,MAAM,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAO3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAAS;gBAEE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC;IAExD,yCAAyC;IACzC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAK7B,kDAAkD;IAClD,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKrB,4DAA4D;IAC5D,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAKtC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAyB7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK/B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjC;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlE;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAK7C;;OAEG;IACH,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,KAAK,EACnC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACvE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAC1E,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ * Cursor – lazy, chainable query result that mimics MongoDB's cursor API.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Cursor = void 0;
7
+ const queryEngine_1 = require("./queryEngine");
8
+ class Cursor {
9
+ constructor(_source) {
10
+ this._source = _source;
11
+ this._exhausted = false;
12
+ }
13
+ /** Set sort specification (chainable) */
14
+ sort(spec) {
15
+ this._sort = spec;
16
+ return this;
17
+ }
18
+ /** Set number of documents to skip (chainable) */
19
+ skip(n) {
20
+ this._skip = n;
21
+ return this;
22
+ }
23
+ /** Set maximum number of documents to return (chainable) */
24
+ limit(n) {
25
+ this._limit = n;
26
+ return this;
27
+ }
28
+ /** Set field projection (chainable) */
29
+ project(spec) {
30
+ this._projection = spec;
31
+ return this;
32
+ }
33
+ /**
34
+ * Execute the query and return all matching documents as an array.
35
+ */
36
+ async toArray() {
37
+ if (this._exhausted)
38
+ return [];
39
+ this._exhausted = true;
40
+ let docs = await this._source();
41
+ if (this._sort) {
42
+ docs = (0, queryEngine_1.sortDocuments)(docs, this._sort);
43
+ }
44
+ if (this._skip !== undefined && this._skip > 0) {
45
+ docs = docs.slice(this._skip);
46
+ }
47
+ if (this._limit !== undefined && this._limit >= 0) {
48
+ docs = docs.slice(0, this._limit);
49
+ }
50
+ if (this._projection) {
51
+ docs = docs.map((doc) => (0, queryEngine_1.applyProjection)(doc, this._projection));
52
+ }
53
+ return docs;
54
+ }
55
+ /**
56
+ * Count matching documents (applies skip/limit if set).
57
+ */
58
+ async count() {
59
+ const docs = await this.toArray();
60
+ return docs.length;
61
+ }
62
+ /**
63
+ * Get the first matching document.
64
+ */
65
+ async next() {
66
+ const arr = await this.toArray();
67
+ return arr.length > 0 ? arr[0] : null;
68
+ }
69
+ /**
70
+ * Check if there are more results.
71
+ */
72
+ async hasNext() {
73
+ const arr = await this.toArray();
74
+ return arr.length > 0;
75
+ }
76
+ /**
77
+ * Iterate over all results with a callback.
78
+ */
79
+ async forEach(fn) {
80
+ const docs = await this.toArray();
81
+ for (const doc of docs) {
82
+ await fn(doc);
83
+ }
84
+ }
85
+ /**
86
+ * Map results through a transform function.
87
+ */
88
+ async map(fn) {
89
+ const docs = await this.toArray();
90
+ return docs.map(fn);
91
+ }
92
+ /**
93
+ * Make the cursor thenable so it can be awaited directly.
94
+ */
95
+ then(onfulfilled, onrejected) {
96
+ return this.toArray().then(onfulfilled, onrejected);
97
+ }
98
+ }
99
+ exports.Cursor = Cursor;
100
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/db/cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Typed error classes for the brightchain database engine.
3
+ *
4
+ * Provides MongoDB-compatible error names and structured properties
5
+ * so consumers can catch and classify errors programmatically.
6
+ */
7
+ import type { ValidationFieldError } from '../interfaces/storage/documentTypes';
8
+ export type { ValidationFieldError };
9
+ /**
10
+ * Base class for all brightchain-db errors.
11
+ */
12
+ export declare class BrightChainDbError extends Error {
13
+ /** Numeric error code (MongoDB-style) */
14
+ readonly code: number;
15
+ constructor(message: string, code: number);
16
+ }
17
+ /**
18
+ * Thrown when a document is not found by _id.
19
+ */
20
+ export declare class DocumentNotFoundError extends BrightChainDbError {
21
+ readonly documentId: string;
22
+ readonly collection: string;
23
+ constructor(collection: string, documentId: string);
24
+ }
25
+ /**
26
+ * Thrown when a unique index constraint is violated.
27
+ * (Re-exported from indexing.ts — use `DuplicateKeyError` from there for the canonical class.)
28
+ */
29
+ /**
30
+ * Thrown when a document fails schema validation.
31
+ */
32
+ export declare class ValidationError extends BrightChainDbError {
33
+ /** Field-level validation failures */
34
+ readonly validationErrors: ValidationFieldError[];
35
+ readonly collection: string;
36
+ constructor(collection: string, errors: ValidationFieldError[]);
37
+ }
38
+ /**
39
+ * Thrown when a transaction operation is invalid (e.g. commit without active txn).
40
+ */
41
+ export declare class TransactionError extends BrightChainDbError {
42
+ readonly sessionId?: string;
43
+ constructor(message: string, sessionId?: string);
44
+ }
45
+ /**
46
+ * Thrown when an index operation fails.
47
+ */
48
+ export declare class IndexError extends BrightChainDbError {
49
+ readonly indexName?: string;
50
+ constructor(message: string, indexName?: string);
51
+ }
52
+ /**
53
+ * Thrown when a write concern cannot be satisfied.
54
+ */
55
+ export declare class WriteConcernError extends BrightChainDbError {
56
+ readonly writeConcern: WriteConcernSpec;
57
+ constructor(message: string, writeConcern: WriteConcernSpec);
58
+ }
59
+ /** Write concern specification */
60
+ export interface WriteConcernSpec {
61
+ /** Number of acknowledgments required (1 = primary only, 'majority' = majority) */
62
+ w?: number | 'majority';
63
+ /** Timeout in ms for write concern acknowledgment */
64
+ wtimeoutMS?: number;
65
+ /** Whether to wait for journal sync */
66
+ journal?: boolean;
67
+ }
68
+ /**
69
+ * Thrown when one or more operations in a bulk write fail.
70
+ */
71
+ export declare class BulkWriteError extends BrightChainDbError {
72
+ /** The individual write errors indexed by operation position */
73
+ readonly writeErrors: BulkWriteOperationError[];
74
+ /** Count of operations that succeeded */
75
+ readonly successCount: number;
76
+ constructor(writeErrors: BulkWriteOperationError[], successCount: number);
77
+ }
78
+ export interface BulkWriteOperationError {
79
+ index: number;
80
+ code: number;
81
+ message: string;
82
+ }
83
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/db/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAIrC;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,yCAAyC;IACzC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAK1C;AAID;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;IAC3D,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CASnD;AAID;;;GAGG;AAIH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,sCAAsC;IACtC,SAAgB,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzD,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE;CAU/D;AAID;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAKhD;AAID;;GAEG;AACH,qBAAa,UAAW,SAAQ,kBAAkB;IAChD,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAKhD;AAID;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,SAAgB,YAAY,EAAE,gBAAgB,CAAC;gBAEnC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB;CAK5D;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACxB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,gEAAgE;IAChE,SAAgB,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvD,yCAAyC;IACzC,SAAgB,YAAY,EAAE,MAAM,CAAC;gBAEzB,WAAW,EAAE,uBAAuB,EAAE,EAAE,YAAY,EAAE,MAAM;CASzE;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ /**
3
+ * Typed error classes for the brightchain database engine.
4
+ *
5
+ * Provides MongoDB-compatible error names and structured properties
6
+ * so consumers can catch and classify errors programmatically.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BulkWriteError = exports.WriteConcernError = exports.IndexError = exports.TransactionError = exports.ValidationError = exports.DocumentNotFoundError = exports.BrightChainDbError = void 0;
10
+ // ── Base ──
11
+ /**
12
+ * Base class for all brightchain-db errors.
13
+ */
14
+ class BrightChainDbError extends Error {
15
+ constructor(message, code) {
16
+ super(message);
17
+ this.name = 'BrightChainDbError';
18
+ this.code = code;
19
+ }
20
+ }
21
+ exports.BrightChainDbError = BrightChainDbError;
22
+ // ── Document errors ──
23
+ /**
24
+ * Thrown when a document is not found by _id.
25
+ */
26
+ class DocumentNotFoundError extends BrightChainDbError {
27
+ constructor(collection, documentId) {
28
+ super(`Document not found: collection "${collection}", _id "${documentId}"`, 404);
29
+ this.name = 'DocumentNotFoundError';
30
+ this.collection = collection;
31
+ this.documentId = documentId;
32
+ }
33
+ }
34
+ exports.DocumentNotFoundError = DocumentNotFoundError;
35
+ // ── Duplicate key (re-export from indexing for convenience, but also provide the typed base) ──
36
+ /**
37
+ * Thrown when a unique index constraint is violated.
38
+ * (Re-exported from indexing.ts — use `DuplicateKeyError` from there for the canonical class.)
39
+ */
40
+ // ── Validation errors ──
41
+ /**
42
+ * Thrown when a document fails schema validation.
43
+ */
44
+ class ValidationError extends BrightChainDbError {
45
+ constructor(collection, errors) {
46
+ const summary = errors.map((e) => `${e.field}: ${e.message}`).join('; ');
47
+ super(`Document failed validation for collection "${collection}": ${summary}`, 121);
48
+ this.name = 'ValidationError';
49
+ this.collection = collection;
50
+ this.validationErrors = errors;
51
+ }
52
+ }
53
+ exports.ValidationError = ValidationError;
54
+ // ── Transaction errors ──
55
+ /**
56
+ * Thrown when a transaction operation is invalid (e.g. commit without active txn).
57
+ */
58
+ class TransactionError extends BrightChainDbError {
59
+ constructor(message, sessionId) {
60
+ super(message, 251); // MongoDB error code for NoSuchTransaction
61
+ this.name = 'TransactionError';
62
+ this.sessionId = sessionId;
63
+ }
64
+ }
65
+ exports.TransactionError = TransactionError;
66
+ // ── Index errors ──
67
+ /**
68
+ * Thrown when an index operation fails.
69
+ */
70
+ class IndexError extends BrightChainDbError {
71
+ constructor(message, indexName) {
72
+ super(message, 86); // MongoDB error code for IndexKeySpecsConflict
73
+ this.name = 'IndexError';
74
+ this.indexName = indexName;
75
+ }
76
+ }
77
+ exports.IndexError = IndexError;
78
+ // ── Write concern errors ──
79
+ /**
80
+ * Thrown when a write concern cannot be satisfied.
81
+ */
82
+ class WriteConcernError extends BrightChainDbError {
83
+ constructor(message, writeConcern) {
84
+ super(message, 64); // MongoDB error code for WriteConcernFailed
85
+ this.name = 'WriteConcernError';
86
+ this.writeConcern = writeConcern;
87
+ }
88
+ }
89
+ exports.WriteConcernError = WriteConcernError;
90
+ // ── Bulk write errors ──
91
+ /**
92
+ * Thrown when one or more operations in a bulk write fail.
93
+ */
94
+ class BulkWriteError extends BrightChainDbError {
95
+ constructor(writeErrors, successCount) {
96
+ super(`Bulk write operation failed: ${writeErrors.length} error(s), ${successCount} succeeded`, 65);
97
+ this.name = 'BulkWriteError';
98
+ this.writeErrors = writeErrors;
99
+ this.successCount = successCount;
100
+ }
101
+ }
102
+ exports.BulkWriteError = BulkWriteError;
103
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/db/errors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAOH,aAAa;AAEb;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAI3C,YAAY,OAAe,EAAE,IAAY;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AATD,gDASC;AAED,wBAAwB;AAExB;;GAEG;AACH,MAAa,qBAAsB,SAAQ,kBAAkB;IAI3D,YAAY,UAAkB,EAAE,UAAkB;QAChD,KAAK,CACH,mCAAmC,UAAU,WAAW,UAAU,GAAG,EACrE,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAbD,sDAaC;AAED,iGAAiG;AAEjG;;;GAGG;AAEH,0BAA0B;AAE1B;;GAEG;AACH,MAAa,eAAgB,SAAQ,kBAAkB;IAKrD,YAAY,UAAkB,EAAE,MAA8B;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,KAAK,CACH,8CAA8C,UAAU,MAAM,OAAO,EAAE,EACvE,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACjC,CAAC;CACF;AAfD,0CAeC;AAED,2BAA2B;AAE3B;;GAEG;AACH,MAAa,gBAAiB,SAAQ,kBAAkB;IAGtD,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,2CAA2C;QAChE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AARD,4CAQC;AAED,qBAAqB;AAErB;;GAEG;AACH,MAAa,UAAW,SAAQ,kBAAkB;IAGhD,YAAY,OAAe,EAAE,SAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,+CAA+C;QACnE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AARD,gCAQC;AAED,6BAA6B;AAE7B;;GAEG;AACH,MAAa,iBAAkB,SAAQ,kBAAkB;IAGvD,YAAY,OAAe,EAAE,YAA8B;QACzD,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,4CAA4C;QAChE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AARD,8CAQC;AAYD,0BAA0B;AAE1B;;GAEG;AACH,MAAa,cAAe,SAAQ,kBAAkB;IAMpD,YAAY,WAAsC,EAAE,YAAoB;QACtE,KAAK,CACH,gCAAgC,WAAW,CAAC,MAAM,cAAc,YAAY,YAAY,EACxF,EAAE,CACH,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAfD,wCAeC"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * InMemoryDatabase – a platform-agnostic IDatabase implementation.
3
+ *
4
+ * Uses MemoryBlockStore and InMemoryHeadRegistry for storage, requiring
5
+ * no Node.js APIs. This is the base class that BrightChainDb in
6
+ * brightchain-db extends to add disk persistence.
7
+ *
8
+ * Usage:
9
+ * const db = new InMemoryDatabase(blockStore, { name: 'mydb' });
10
+ * await db.connect();
11
+ * const users = db.collection('users');
12
+ * await users.insertOne({ name: 'Alice' });
13
+ */
14
+ import type { CollectionOptions, CursorSession, IClientSession, ICollection, IDatabase } from '@digitaldefiance/suite-core-lib';
15
+ import type { IBlockStore } from '../interfaces/storage/blockStore';
16
+ import type { BsonDocument, DocumentId } from '../interfaces/storage/documentTypes';
17
+ import type { IHeadRegistry } from '../interfaces/storage/headRegistry';
18
+ import { Collection } from './collection';
19
+ import type { UuidGenerator } from './uuidGenerator';
20
+ /**
21
+ * Options for creating an InMemoryDatabase instance.
22
+ */
23
+ export interface InMemoryDatabaseOptions {
24
+ /** Database name (default: 'brightchain') */
25
+ name?: string;
26
+ /** Custom head registry (default: new InMemoryHeadRegistry()) */
27
+ headRegistry?: IHeadRegistry;
28
+ /** Custom UUID generator (default: createDefaultUuidGenerator()) */
29
+ uuidGenerator?: UuidGenerator;
30
+ /** Cursor session timeout in ms (default: 300000 = 5 minutes) */
31
+ cursorTimeoutMs?: number;
32
+ }
33
+ /**
34
+ * The main in-memory database driver – analogous to MongoDB's `Db` class.
35
+ *
36
+ * Designed to be extended by `BrightChainDb` in brightchain-db which adds
37
+ * persistence-specific options (dataDir, poolId, PersistentHeadRegistry).
38
+ */
39
+ export declare class InMemoryDatabase implements IDatabase {
40
+ readonly name: string;
41
+ protected readonly store: IBlockStore;
42
+ protected readonly collections: Map<string, Collection<BsonDocument>>;
43
+ protected readonly headRegistry: IHeadRegistry;
44
+ protected readonly uuidGenerator: UuidGenerator;
45
+ /** Server-side cursor sessions for REST pagination */
46
+ protected readonly cursorSessions: Map<string, CursorSession>;
47
+ /** Default timeout for cursor sessions (5 minutes) */
48
+ protected readonly cursorTimeoutMs: number;
49
+ /** Connection state for IDatabase conformance */
50
+ protected _connected: boolean;
51
+ constructor(blockStore: IBlockStore, options?: InMemoryDatabaseOptions);
52
+ /**
53
+ * Connect to the backing store.
54
+ * Block storage does not require a network connection, so the URI is
55
+ * accepted but ignored. Calling connect on an already-connected instance
56
+ * completes without error (idempotent).
57
+ */
58
+ connect(_uri?: string): Promise<void>;
59
+ /**
60
+ * Disconnect from the backing store.
61
+ * Calling disconnect on an already-disconnected instance completes
62
+ * without error (idempotent).
63
+ */
64
+ disconnect(): Promise<void>;
65
+ /**
66
+ * Whether the store is currently connected.
67
+ */
68
+ isConnected(): boolean;
69
+ /**
70
+ * Get (or create) a collection by name.
71
+ * Collections are created lazily – no explicit create step is needed.
72
+ */
73
+ collection<T extends BsonDocument = BsonDocument>(name: string, options?: CollectionOptions): ICollection<T>;
74
+ /**
75
+ * Expose the head registry for components that need to read head block IDs
76
+ * (e.g. CBLIndex for FEC parity generation on metadata blocks).
77
+ */
78
+ getHeadRegistry(): IHeadRegistry;
79
+ /**
80
+ * List all known collection names.
81
+ */
82
+ listCollections(): string[];
83
+ /**
84
+ * Drop a collection – removes all documents and indexes.
85
+ */
86
+ dropCollection(name: string): Promise<boolean>;
87
+ /**
88
+ * Drop the entire database.
89
+ * Clears all collections. Subclasses may add pool management.
90
+ */
91
+ dropDatabase(): Promise<void>;
92
+ /**
93
+ * Start a client session for transaction support.
94
+ *
95
+ * Usage:
96
+ * const session = db.startSession();
97
+ * session.startTransaction();
98
+ * try {
99
+ * await coll.insertOne(doc, { session });
100
+ * await session.commitTransaction();
101
+ * } catch {
102
+ * await session.abortTransaction();
103
+ * } finally {
104
+ * session.endSession();
105
+ * }
106
+ */
107
+ startSession(): IClientSession;
108
+ /**
109
+ * Convenience: run a callback within a transaction.
110
+ * Automatically commits on success, aborts on error.
111
+ */
112
+ withTransaction<R>(fn: (session: IClientSession) => Promise<R>): Promise<R>;
113
+ /**
114
+ * Create a server-side cursor session for paginated access.
115
+ */
116
+ createCursorSession(params: Omit<CursorSession, 'id' | 'lastAccessed'>): CursorSession;
117
+ /**
118
+ * Get a cursor session by ID and refresh its last-accessed timestamp.
119
+ * Returns null if the cursor has expired or doesn't exist.
120
+ */
121
+ getCursorSession(cursorId: string): CursorSession | null;
122
+ /**
123
+ * Advance cursor position and return next batch of document IDs.
124
+ */
125
+ getNextBatch(cursorId: string): DocumentId[] | null;
126
+ /**
127
+ * Close and remove a cursor session.
128
+ */
129
+ closeCursorSession(cursorId: string): boolean;
130
+ /**
131
+ * Clean up expired cursor sessions.
132
+ */
133
+ protected cleanExpiredCursors(): void;
134
+ }
135
+ //# sourceMappingURL=inMemoryDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inMemoryDatabase.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/db/inMemoryDatabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,oEAAoE;IACpE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,WAAW,wCAAiC;IAC/D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAChD,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,cAAc,6BAAoC;IACrE,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAC3C,iDAAiD;IACjD,SAAS,CAAC,UAAU,UAAS;gBAEjB,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,uBAAuB;IAQtE;;;;;OAKG;IACG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACH,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAC9C,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,CAAC,CAAC,CAAC;IAmBjB;;;OAGG;IACH,eAAe,IAAI,aAAa;IAIhC;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQpD;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;;;;;;;;;;;;OAcG;IACH,YAAY,IAAI,cAAc;IAkD9B;;;OAGG;IACG,eAAe,CAAC,CAAC,EACrB,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;IAwBb;;OAEG;IACH,mBAAmB,CACjB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,cAAc,CAAC,GACjD,aAAa;IAYhB;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAWxD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,IAAI;IASnD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI7C;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAQtC"}