@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.
- package/package.json +2 -2
- package/src/lib/db/aggregation.d.ts +20 -0
- package/src/lib/db/aggregation.d.ts.map +1 -0
- package/src/lib/db/aggregation.js +407 -0
- package/src/lib/db/aggregation.js.map +1 -0
- package/src/lib/db/collection.d.ts +315 -0
- package/src/lib/db/collection.d.ts.map +1 -0
- package/src/lib/db/collection.js +1054 -0
- package/src/lib/db/collection.js.map +1 -0
- package/src/lib/db/cursor.d.ts +51 -0
- package/src/lib/db/cursor.d.ts.map +1 -0
- package/src/lib/db/cursor.js +100 -0
- package/src/lib/db/cursor.js.map +1 -0
- package/src/lib/db/errors.d.ts +83 -0
- package/src/lib/db/errors.d.ts.map +1 -0
- package/src/lib/db/errors.js +103 -0
- package/src/lib/db/errors.js.map +1 -0
- package/src/lib/db/inMemoryDatabase.d.ts +135 -0
- package/src/lib/db/inMemoryDatabase.d.ts.map +1 -0
- package/src/lib/db/inMemoryDatabase.js +258 -0
- package/src/lib/db/inMemoryDatabase.js.map +1 -0
- package/src/lib/db/inMemoryHeadRegistry.d.ts +33 -0
- package/src/lib/db/inMemoryHeadRegistry.d.ts.map +1 -0
- package/src/lib/db/inMemoryHeadRegistry.js +83 -0
- package/src/lib/db/inMemoryHeadRegistry.js.map +1 -0
- package/src/lib/db/index.d.ts +14 -0
- package/src/lib/db/index.d.ts.map +1 -0
- package/src/lib/db/index.js +18 -0
- package/src/lib/db/index.js.map +1 -0
- package/src/lib/db/indexing.d.ts +133 -0
- package/src/lib/db/indexing.d.ts.map +1 -0
- package/src/lib/db/indexing.js +287 -0
- package/src/lib/db/indexing.js.map +1 -0
- package/src/lib/db/queryEngine.d.ts +50 -0
- package/src/lib/db/queryEngine.d.ts.map +1 -0
- package/src/lib/db/queryEngine.js +461 -0
- package/src/lib/db/queryEngine.js.map +1 -0
- package/src/lib/db/schemaValidation.d.ts +41 -0
- package/src/lib/db/schemaValidation.d.ts.map +1 -0
- package/src/lib/db/schemaValidation.js +322 -0
- package/src/lib/db/schemaValidation.js.map +1 -0
- package/src/lib/db/transaction.d.ts +88 -0
- package/src/lib/db/transaction.d.ts.map +1 -0
- package/src/lib/db/transaction.js +112 -0
- package/src/lib/db/transaction.js.map +1 -0
- package/src/lib/db/types.d.ts +11 -0
- package/src/lib/db/types.d.ts.map +1 -0
- package/src/lib/db/types.js +11 -0
- package/src/lib/db/types.js.map +1 -0
- package/src/lib/db/updateEngine.d.ts +20 -0
- package/src/lib/db/updateEngine.d.ts.map +1 -0
- package/src/lib/db/updateEngine.js +193 -0
- package/src/lib/db/updateEngine.js.map +1 -0
- package/src/lib/db/uuidGenerator.d.ts +13 -0
- package/src/lib/db/uuidGenerator.d.ts.map +1 -0
- package/src/lib/db/uuidGenerator.js +34 -0
- package/src/lib/db/uuidGenerator.js.map +1 -0
- package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -1
- package/src/lib/documents/member/memberProfileHydration.js +6 -0
- package/src/lib/documents/member/memberProfileHydration.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +39 -0
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +47 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/identityValidationErrorType.d.ts +11 -0
- package/src/lib/enumerations/identityValidationErrorType.d.ts.map +1 -0
- package/src/lib/enumerations/identityValidationErrorType.js +15 -0
- package/src/lib/enumerations/identityValidationErrorType.js.map +1 -0
- package/src/lib/enumerations/index.d.ts +4 -0
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +5 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/memberStatusType.d.ts +2 -1
- package/src/lib/enumerations/memberStatusType.d.ts.map +1 -1
- package/src/lib/enumerations/memberStatusType.js +1 -0
- package/src/lib/enumerations/memberStatusType.js.map +1 -1
- package/src/lib/enumerations/proposalActionType.d.ts +22 -0
- package/src/lib/enumerations/proposalActionType.d.ts.map +1 -0
- package/src/lib/enumerations/proposalActionType.js +26 -0
- package/src/lib/enumerations/proposalActionType.js.map +1 -0
- package/src/lib/enumerations/proposalStatus.d.ts +14 -0
- package/src/lib/enumerations/proposalStatus.d.ts.map +1 -0
- package/src/lib/enumerations/proposalStatus.js +18 -0
- package/src/lib/enumerations/proposalStatus.js.map +1 -0
- package/src/lib/enumerations/quorumErrorType.d.ts +30 -1
- package/src/lib/enumerations/quorumErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/quorumErrorType.js +37 -0
- package/src/lib/enumerations/quorumErrorType.js.map +1 -1
- package/src/lib/enumerations/quorumOperationalMode.d.ts +16 -0
- package/src/lib/enumerations/quorumOperationalMode.d.ts.map +1 -0
- package/src/lib/enumerations/quorumOperationalMode.js +20 -0
- package/src/lib/enumerations/quorumOperationalMode.js.map +1 -0
- package/src/lib/enumerations/sealingErrorType.d.ts +3 -1
- package/src/lib/enumerations/sealingErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/sealingErrorType.js +2 -0
- package/src/lib/enumerations/sealingErrorType.js.map +1 -1
- package/src/lib/errors/identityValidationError.d.ts +8 -0
- package/src/lib/errors/identityValidationError.d.ts.map +1 -0
- package/src/lib/errors/identityValidationError.js +26 -0
- package/src/lib/errors/identityValidationError.js.map +1 -0
- package/src/lib/errors/index.d.ts +4 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +7 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/memberIndexSchemaValidationError.d.ts +6 -0
- package/src/lib/errors/memberIndexSchemaValidationError.d.ts.map +1 -0
- package/src/lib/errors/memberIndexSchemaValidationError.js +15 -0
- package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -0
- package/src/lib/errors/quorumError.d.ts.map +1 -1
- package/src/lib/errors/quorumError.js +37 -0
- package/src/lib/errors/quorumError.js.map +1 -1
- package/src/lib/errors/sealingError.d.ts.map +1 -1
- package/src/lib/errors/sealingError.js +2 -0
- package/src/lib/errors/sealingError.js.map +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +45 -0
- package/src/lib/i18n/strings/englishUs.js.map +1 -1
- package/src/lib/i18n/strings/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/french.js +37 -0
- package/src/lib/i18n/strings/french.js.map +1 -1
- package/src/lib/i18n/strings/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/german.js +37 -0
- package/src/lib/i18n/strings/german.js.map +1 -1
- package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/japanese.js +37 -0
- package/src/lib/i18n/strings/japanese.js.map +1 -1
- package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/mandarin.js +37 -0
- package/src/lib/i18n/strings/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/spanish.js +37 -0
- package/src/lib/i18n/strings/spanish.js.map +1 -1
- package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/ukrainian.js +37 -0
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/index.d.ts +12 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +55 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/interfaces/aliasRecord.d.ts +34 -0
- package/src/lib/interfaces/aliasRecord.d.ts.map +1 -0
- package/src/lib/interfaces/aliasRecord.js +11 -0
- package/src/lib/interfaces/aliasRecord.js.map +1 -0
- package/src/lib/interfaces/api/index.d.ts +2 -0
- package/src/lib/interfaces/api/index.d.ts.map +1 -0
- package/src/lib/interfaces/api/index.js +5 -0
- package/src/lib/interfaces/api/index.js.map +1 -0
- package/src/lib/interfaces/api/quorumApi.d.ts +97 -0
- package/src/lib/interfaces/api/quorumApi.d.ts.map +1 -0
- package/src/lib/interfaces/api/quorumApi.js +12 -0
- package/src/lib/interfaces/api/quorumApi.js.map +1 -0
- package/src/lib/interfaces/auditLogEntry.d.ts +34 -0
- package/src/lib/interfaces/auditLogEntry.d.ts.map +1 -0
- package/src/lib/interfaces/auditLogEntry.js +10 -0
- package/src/lib/interfaces/auditLogEntry.js.map +1 -0
- package/src/lib/interfaces/availability/gossipService.d.ts +116 -2
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js +62 -0
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/chainedAuditLogEntry.d.ts +27 -0
- package/src/lib/interfaces/chainedAuditLogEntry.d.ts.map +1 -0
- package/src/lib/interfaces/chainedAuditLogEntry.js +12 -0
- package/src/lib/interfaces/chainedAuditLogEntry.js.map +1 -0
- package/src/lib/interfaces/contentWithIdentity.d.ts +39 -0
- package/src/lib/interfaces/contentWithIdentity.d.ts.map +1 -0
- package/src/lib/interfaces/contentWithIdentity.js +24 -0
- package/src/lib/interfaces/contentWithIdentity.js.map +1 -0
- package/src/lib/interfaces/energyAccount.d.ts +3 -1
- package/src/lib/interfaces/energyAccount.d.ts.map +1 -1
- package/src/lib/interfaces/identityRecoveryRecord.d.ts +41 -0
- package/src/lib/interfaces/identityRecoveryRecord.d.ts.map +1 -0
- package/src/lib/interfaces/identityRecoveryRecord.js +11 -0
- package/src/lib/interfaces/identityRecoveryRecord.js.map +1 -0
- package/src/lib/interfaces/index.d.ts +17 -0
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +4 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/initResult.d.ts +6 -6
- package/src/lib/interfaces/initResult.d.ts.map +1 -1
- package/src/lib/interfaces/member/brightChainBaseInitResult.d.ts +4 -1
- package/src/lib/interfaces/member/brightChainBaseInitResult.d.ts.map +1 -1
- package/src/lib/interfaces/member/brightChainInitResult.d.ts +1 -1
- package/src/lib/interfaces/member/brightChainInitResult.d.ts.map +1 -1
- package/src/lib/interfaces/member/memberData.d.ts +3 -0
- package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
- package/src/lib/interfaces/member/profileStorage.d.ts +5 -0
- package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -1
- package/src/lib/interfaces/member-init-config.d.ts +20 -0
- package/src/lib/interfaces/member-init-config.d.ts.map +1 -0
- package/src/lib/interfaces/member-init-config.js +3 -0
- package/src/lib/interfaces/member-init-config.js.map +1 -0
- package/src/lib/interfaces/operationalState.d.ts +20 -0
- package/src/lib/interfaces/operationalState.d.ts.map +1 -0
- package/src/lib/interfaces/operationalState.js +10 -0
- package/src/lib/interfaces/operationalState.js.map +1 -0
- package/src/lib/interfaces/proposal.d.ts +59 -0
- package/src/lib/interfaces/proposal.d.ts.map +1 -0
- package/src/lib/interfaces/proposal.js +10 -0
- package/src/lib/interfaces/proposal.js.map +1 -0
- package/src/lib/interfaces/quorumDocumentMetadata.d.ts +20 -0
- package/src/lib/interfaces/quorumDocumentMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/quorumDocumentMetadata.js +10 -0
- package/src/lib/interfaces/quorumDocumentMetadata.js.map +1 -0
- package/src/lib/interfaces/quorumEpoch.d.ts +33 -0
- package/src/lib/interfaces/quorumEpoch.d.ts.map +1 -0
- package/src/lib/interfaces/quorumEpoch.js +11 -0
- package/src/lib/interfaces/quorumEpoch.js.map +1 -0
- package/src/lib/interfaces/quorumMetrics.d.ts +49 -0
- package/src/lib/interfaces/quorumMetrics.d.ts.map +1 -0
- package/src/lib/interfaces/quorumMetrics.js +10 -0
- package/src/lib/interfaces/quorumMetrics.js.map +1 -0
- package/src/lib/interfaces/redistributionJournalEntry.d.ts +25 -0
- package/src/lib/interfaces/redistributionJournalEntry.d.ts.map +1 -0
- package/src/lib/interfaces/redistributionJournalEntry.js +11 -0
- package/src/lib/interfaces/redistributionJournalEntry.js.map +1 -0
- package/src/lib/interfaces/responses/backupCodesResponseData.d.ts +3 -5
- package/src/lib/interfaces/responses/backupCodesResponseData.d.ts.map +1 -1
- package/src/lib/interfaces/responses/challengeResponseData.d.ts +5 -0
- package/src/lib/interfaces/responses/challengeResponseData.d.ts.map +1 -1
- package/src/lib/interfaces/responses/codeCountResponseData.d.ts +3 -5
- package/src/lib/interfaces/responses/codeCountResponseData.d.ts.map +1 -1
- package/src/lib/interfaces/responses/index.d.ts +4 -2
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/responses/passwordChangeResponse.d.ts +2 -0
- package/src/lib/interfaces/responses/passwordChangeResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/passwordChangeResponse.js +3 -0
- package/src/lib/interfaces/responses/passwordChangeResponse.js.map +1 -0
- package/src/lib/interfaces/responses/recoveryResponse.d.ts +2 -0
- package/src/lib/interfaces/responses/recoveryResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/recoveryResponse.js +3 -0
- package/src/lib/interfaces/responses/recoveryResponse.js.map +1 -0
- package/src/lib/interfaces/responses/registrationResponseData.d.ts +2 -2
- package/src/lib/interfaces/responses/registrationResponseData.d.ts.map +1 -1
- package/src/lib/interfaces/services/contentIngestion.d.ts +61 -0
- package/src/lib/interfaces/services/contentIngestion.d.ts.map +1 -0
- package/src/lib/interfaces/services/contentIngestion.js +12 -0
- package/src/lib/interfaces/services/contentIngestion.js.map +1 -0
- package/src/lib/interfaces/services/expirationScheduler.d.ts +55 -0
- package/src/lib/interfaces/services/expirationScheduler.d.ts.map +1 -0
- package/src/lib/interfaces/services/expirationScheduler.js +11 -0
- package/src/lib/interfaces/services/expirationScheduler.js.map +1 -0
- package/src/lib/interfaces/services/identitySealingPipeline.d.ts +56 -0
- package/src/lib/interfaces/services/identitySealingPipeline.d.ts.map +1 -0
- package/src/lib/interfaces/services/identitySealingPipeline.js +12 -0
- package/src/lib/interfaces/services/identitySealingPipeline.js.map +1 -0
- package/src/lib/interfaces/services/identityValidator.d.ts +44 -0
- package/src/lib/interfaces/services/identityValidator.d.ts.map +1 -0
- package/src/lib/interfaces/services/identityValidator.js +11 -0
- package/src/lib/interfaces/services/identityValidator.js.map +1 -0
- package/src/lib/interfaces/services/index.d.ts +9 -0
- package/src/lib/interfaces/services/index.d.ts.map +1 -1
- package/src/lib/interfaces/services/membershipProof.d.ts +40 -0
- package/src/lib/interfaces/services/membershipProof.d.ts.map +1 -0
- package/src/lib/interfaces/services/membershipProof.js +11 -0
- package/src/lib/interfaces/services/membershipProof.js.map +1 -0
- package/src/lib/interfaces/services/operatorPrompt.d.ts +68 -0
- package/src/lib/interfaces/services/operatorPrompt.d.ts.map +1 -0
- package/src/lib/interfaces/services/operatorPrompt.js +11 -0
- package/src/lib/interfaces/services/operatorPrompt.js.map +1 -0
- package/src/lib/interfaces/services/quorumDatabase.d.ts +207 -0
- package/src/lib/interfaces/services/quorumDatabase.d.ts.map +1 -0
- package/src/lib/interfaces/services/quorumDatabase.js +13 -0
- package/src/lib/interfaces/services/quorumDatabase.js.map +1 -0
- package/src/lib/interfaces/services/quorumService.d.ts +3 -0
- package/src/lib/interfaces/services/quorumService.d.ts.map +1 -1
- package/src/lib/interfaces/services/quorumStateMachine.d.ts +128 -0
- package/src/lib/interfaces/services/quorumStateMachine.d.ts.map +1 -0
- package/src/lib/interfaces/services/quorumStateMachine.js +12 -0
- package/src/lib/interfaces/services/quorumStateMachine.js.map +1 -0
- package/src/lib/interfaces/services/redistributionConfig.d.ts +20 -0
- package/src/lib/interfaces/services/redistributionConfig.d.ts.map +1 -0
- package/src/lib/interfaces/services/redistributionConfig.js +10 -0
- package/src/lib/interfaces/services/redistributionConfig.js.map +1 -0
- package/src/lib/interfaces/statuteConfig.d.ts +22 -0
- package/src/lib/interfaces/statuteConfig.d.ts.map +1 -0
- package/src/lib/interfaces/statuteConfig.js +18 -0
- package/src/lib/interfaces/statuteConfig.js.map +1 -0
- package/src/lib/interfaces/storage/documentStore.d.ts +46 -24
- package/src/lib/interfaces/storage/documentStore.d.ts.map +1 -1
- package/src/lib/interfaces/storage/documentStore.js +6 -2
- package/src/lib/interfaces/storage/documentStore.js.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +5 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/memberIndexSchema.d.ts +11 -0
- package/src/lib/interfaces/storage/memberIndexSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/memberIndexSchema.js +26 -0
- package/src/lib/interfaces/storage/memberIndexSchema.js.map +1 -0
- package/src/lib/interfaces/storage/mnemonicSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/mnemonicSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/mnemonicSchema.js +22 -0
- package/src/lib/interfaces/storage/mnemonicSchema.js.map +1 -0
- package/src/lib/interfaces/storage/roleSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/roleSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/roleSchema.js +45 -0
- package/src/lib/interfaces/storage/roleSchema.js.map +1 -0
- package/src/lib/interfaces/storage/userRoleSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/userRoleSchema.js +35 -0
- package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -0
- package/src/lib/interfaces/storage/userSchema.d.ts +12 -0
- package/src/lib/interfaces/storage/userSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/userSchema.js +62 -0
- package/src/lib/interfaces/storage/userSchema.js.map +1 -0
- package/src/lib/interfaces/userManagement.d.ts +49 -0
- package/src/lib/interfaces/userManagement.d.ts.map +1 -0
- package/src/lib/interfaces/userManagement.js +9 -0
- package/src/lib/interfaces/userManagement.js.map +1 -0
- package/src/lib/interfaces/vote.d.ts +45 -0
- package/src/lib/interfaces/vote.d.ts.map +1 -0
- package/src/lib/interfaces/vote.js +10 -0
- package/src/lib/interfaces/vote.js.map +1 -0
- package/src/lib/quorumDataRecord.d.ts +7 -1
- package/src/lib/quorumDataRecord.d.ts.map +1 -1
- package/src/lib/quorumDataRecord.js +12 -4
- package/src/lib/quorumDataRecord.js.map +1 -1
- package/src/lib/quorumDataRecordDto.d.ts +6 -0
- package/src/lib/quorumDataRecordDto.d.ts.map +1 -1
- package/src/lib/services/aliasRegistry.d.ts +77 -0
- package/src/lib/services/aliasRegistry.d.ts.map +1 -0
- package/src/lib/services/aliasRegistry.js +138 -0
- package/src/lib/services/aliasRegistry.js.map +1 -0
- package/src/lib/services/auditLogService.d.ts +100 -0
- package/src/lib/services/auditLogService.d.ts.map +1 -0
- package/src/lib/services/auditLogService.js +223 -0
- package/src/lib/services/auditLogService.js.map +1 -0
- package/src/lib/services/blockService.d.ts +2 -1
- package/src/lib/services/blockService.d.ts.map +1 -1
- package/src/lib/services/blockService.js +7 -2
- package/src/lib/services/blockService.js.map +1 -1
- package/src/lib/services/identitySealingPipeline.d.ts +120 -0
- package/src/lib/services/identitySealingPipeline.d.ts.map +1 -0
- package/src/lib/services/identitySealingPipeline.js +288 -0
- package/src/lib/services/identitySealingPipeline.js.map +1 -0
- package/src/lib/services/identityValidator.d.ts +75 -0
- package/src/lib/services/identityValidator.d.ts.map +1 -0
- package/src/lib/services/identityValidator.js +202 -0
- package/src/lib/services/identityValidator.js.map +1 -0
- package/src/lib/services/index.d.ts +6 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +6 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/member/memberCblService.d.ts.map +1 -1
- package/src/lib/services/member/memberCblService.js +12 -1
- package/src/lib/services/member/memberCblService.js.map +1 -1
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +2 -0
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/membershipProofService.d.ts +90 -0
- package/src/lib/services/membershipProofService.d.ts.map +1 -0
- package/src/lib/services/membershipProofService.js +361 -0
- package/src/lib/services/membershipProofService.js.map +1 -0
- package/src/lib/services/quorumStateMachine.d.ts +336 -0
- package/src/lib/services/quorumStateMachine.d.ts.map +1 -0
- package/src/lib/services/quorumStateMachine.js +1396 -0
- package/src/lib/services/quorumStateMachine.js.map +1 -0
- package/src/lib/services/sealing.service.d.ts +80 -0
- package/src/lib/services/sealing.service.d.ts.map +1 -1
- package/src/lib/services/sealing.service.js +192 -0
- package/src/lib/services/sealing.service.js.map +1 -1
- package/src/lib/stores/energyAccountStore.d.ts +13 -11
- package/src/lib/stores/energyAccountStore.d.ts.map +1 -1
- package/src/lib/stores/energyAccountStore.js +18 -20
- package/src/lib/stores/energyAccountStore.js.map +1 -1
- /package/{BLOCK_COVERAGE_AUDIT.md → brightchain-lib/BLOCK_COVERAGE_AUDIT.md} +0 -0
- /package/{BROWSER_COMPAT.md → brightchain-lib/BROWSER_COMPAT.md} +0 -0
- /package/{DEPRECATIONS.md → brightchain-lib/DEPRECATIONS.md} +0 -0
- /package/{DEPRECATIONS_REMOVED.md → brightchain-lib/DEPRECATIONS_REMOVED.md} +0 -0
- /package/{MIGRATION.md → brightchain-lib/MIGRATION.md} +0 -0
- /package/{NAMING_AUDIT.md → brightchain-lib/NAMING_AUDIT.md} +0 -0
- /package/{NAMING_CONVENTIONS.md → brightchain-lib/NAMING_CONVENTIONS.md} +0 -0
- /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"}
|