@brightchain/brightchain-lib 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/brightchain-lib/BROWSER_COMPAT.md +54 -0
- package/package.json +15 -4
- package/src/browser.d.ts +1 -1
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +3 -3
- package/src/browser.js.map +1 -1
- package/src/lib/blocks/cblBase.d.ts +16 -1
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +33 -4
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.d.ts +6 -1
- package/src/lib/blocks/encryptedBlockFactory.d.ts.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.js +14 -5
- package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
- package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
- package/src/lib/blocks/extendedCbl.js +2 -1
- package/src/lib/blocks/extendedCbl.js.map +1 -1
- package/src/lib/blocks/handle.d.ts +5 -0
- package/src/lib/blocks/handle.d.ts.map +1 -1
- package/src/lib/blocks/handle.js.map +1 -1
- package/src/lib/blocks/handleTuple.d.ts +9 -1
- package/src/lib/blocks/handleTuple.d.ts.map +1 -1
- package/src/lib/blocks/handleTuple.js +23 -1
- package/src/lib/blocks/handleTuple.js.map +1 -1
- package/src/lib/blocks/index.d.ts +1 -0
- package/src/lib/blocks/index.d.ts.map +1 -1
- package/src/lib/blocks/index.js +1 -0
- package/src/lib/blocks/index.js.map +1 -1
- package/src/lib/blocks/memoryTuple.d.ts +9 -2
- package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
- package/src/lib/blocks/memoryTuple.js +12 -3
- package/src/lib/blocks/memoryTuple.js.map +1 -1
- package/src/lib/blocks/vcbl.d.ts +27 -0
- package/src/lib/blocks/vcbl.d.ts.map +1 -0
- package/src/lib/blocks/vcbl.js +107 -0
- package/src/lib/blocks/vcbl.js.map +1 -0
- package/src/lib/constants.d.ts +5 -1
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +4 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/crypto/index.d.ts +12 -0
- package/src/lib/crypto/index.d.ts.map +1 -0
- package/src/lib/crypto/index.js +23 -0
- package/src/lib/crypto/index.js.map +1 -0
- package/src/lib/crypto/platformCrypto.d.ts +132 -0
- package/src/lib/crypto/platformCrypto.d.ts.map +1 -0
- package/src/lib/crypto/platformCrypto.js +181 -0
- package/src/lib/crypto/platformCrypto.js.map +1 -0
- package/src/lib/enumeration-translations/blockType.d.ts.map +1 -1
- package/src/lib/enumeration-translations/blockType.js +16 -0
- package/src/lib/enumeration-translations/blockType.js.map +1 -1
- package/src/lib/enumerations/blockType.d.ts +12 -0
- package/src/lib/enumerations/blockType.d.ts.map +1 -1
- package/src/lib/enumerations/blockType.js +14 -0
- package/src/lib/enumerations/blockType.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +5 -1
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +5 -1
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/cblErrorType.d.ts +2 -1
- package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/cblErrorType.js +1 -0
- package/src/lib/enumerations/cblErrorType.js.map +1 -1
- package/src/lib/enumerations/communication.d.ts +57 -0
- package/src/lib/enumerations/communication.d.ts.map +1 -0
- package/src/lib/enumerations/communication.js +89 -0
- package/src/lib/enumerations/communication.js.map +1 -0
- package/src/lib/enumerations/deviceType.d.ts +15 -0
- package/src/lib/enumerations/deviceType.d.ts.map +1 -0
- package/src/lib/enumerations/deviceType.js +19 -0
- package/src/lib/enumerations/deviceType.js.map +1 -0
- package/src/lib/enumerations/handleTupleErrorType.d.ts +2 -1
- package/src/lib/enumerations/handleTupleErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/handleTupleErrorType.js +1 -0
- package/src/lib/enumerations/handleTupleErrorType.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +6 -0
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +11 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/messaging/deliveryStatus.d.ts +50 -0
- package/src/lib/enumerations/messaging/deliveryStatus.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/deliveryStatus.js +68 -0
- package/src/lib/enumerations/messaging/deliveryStatus.js.map +1 -0
- package/src/lib/enumerations/messaging/emailErrorType.d.ts +36 -0
- package/src/lib/enumerations/messaging/emailErrorType.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/emailErrorType.js +46 -0
- package/src/lib/enumerations/messaging/emailErrorType.js.map +1 -0
- package/src/lib/enumerations/messaging/index.d.ts +2 -1
- package/src/lib/enumerations/messaging/index.d.ts.map +1 -1
- package/src/lib/enumerations/messaging/index.js +2 -1
- package/src/lib/enumerations/messaging/index.js.map +1 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +4 -2
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js +3 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -1
- package/src/lib/enumerations/paperKeyPurpose.d.ts +15 -0
- package/src/lib/enumerations/paperKeyPurpose.d.ts.map +1 -0
- package/src/lib/enumerations/paperKeyPurpose.js +19 -0
- package/src/lib/enumerations/paperKeyPurpose.js.map +1 -0
- package/src/lib/enumerations/proofPlatform.d.ts +24 -0
- package/src/lib/enumerations/proofPlatform.d.ts.map +1 -0
- package/src/lib/enumerations/proofPlatform.js +28 -0
- package/src/lib/enumerations/proofPlatform.js.map +1 -0
- package/src/lib/enumerations/readConcern.d.ts +22 -0
- package/src/lib/enumerations/readConcern.d.ts.map +1 -0
- package/src/lib/enumerations/readConcern.js +26 -0
- package/src/lib/enumerations/readConcern.js.map +1 -0
- package/src/lib/enumerations/tupleErrorType.d.ts +2 -1
- package/src/lib/enumerations/tupleErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/tupleErrorType.js +1 -0
- package/src/lib/enumerations/tupleErrorType.js.map +1 -1
- package/src/lib/enumerations/verificationStatus.d.ts +17 -0
- package/src/lib/enumerations/verificationStatus.d.ts.map +1 -0
- package/src/lib/enumerations/verificationStatus.js +21 -0
- package/src/lib/enumerations/verificationStatus.js.map +1 -0
- package/src/lib/errors/blockFetchError.d.ts +51 -0
- package/src/lib/errors/blockFetchError.d.ts.map +1 -0
- package/src/lib/errors/blockFetchError.js +63 -0
- package/src/lib/errors/blockFetchError.js.map +1 -0
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js +1 -0
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/handleTupleError.d.ts +10 -1
- package/src/lib/errors/handleTupleError.d.ts.map +1 -1
- package/src/lib/errors/handleTupleError.js +10 -1
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/index.d.ts +16 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +22 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/messaging/emailError.d.ts +55 -0
- package/src/lib/errors/messaging/emailError.d.ts.map +1 -0
- package/src/lib/errors/messaging/emailError.js +64 -0
- package/src/lib/errors/messaging/emailError.js.map +1 -0
- package/src/lib/errors/messaging/index.d.ts +1 -0
- package/src/lib/errors/messaging/index.d.ts.map +1 -1
- package/src/lib/errors/messaging/index.js +1 -0
- package/src/lib/errors/messaging/index.js.map +1 -1
- package/src/lib/errors/poolDeletionError.d.ts +10 -0
- package/src/lib/errors/poolDeletionError.d.ts.map +1 -0
- package/src/lib/errors/poolDeletionError.js +16 -0
- package/src/lib/errors/poolDeletionError.js.map +1 -0
- package/src/lib/errors/poolDeletionTombstoneError.d.ts +12 -0
- package/src/lib/errors/poolDeletionTombstoneError.d.ts.map +1 -0
- package/src/lib/errors/poolDeletionTombstoneError.js +18 -0
- package/src/lib/errors/poolDeletionTombstoneError.js.map +1 -0
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js +1 -0
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/i18n/i18n-setup.d.ts +7 -2
- package/src/lib/i18n/i18n-setup.d.ts.map +1 -1
- package/src/lib/i18n/i18n-setup.js +84 -24
- package/src/lib/i18n/i18n-setup.js.map +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +4 -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 +4 -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 +4 -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 +4 -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 +4 -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 +4 -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 +4 -0
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/index.d.ts +4 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +4 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/interfaces/auth/index.d.ts +4 -0
- package/src/lib/interfaces/auth/index.d.ts.map +1 -0
- package/src/lib/interfaces/auth/index.js +8 -0
- package/src/lib/interfaces/auth/index.js.map +1 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.d.ts +19 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.d.ts.map +1 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.js +3 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.js.map +1 -0
- package/src/lib/interfaces/auth/poolAcl.d.ts +65 -0
- package/src/lib/interfaces/auth/poolAcl.d.ts.map +1 -0
- package/src/lib/interfaces/auth/poolAcl.js +52 -0
- package/src/lib/interfaces/auth/poolAcl.js.map +1 -0
- package/src/lib/interfaces/availability/availabilityService.d.ts +5 -3
- package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/availabilityService.js.map +1 -1
- package/src/lib/interfaces/availability/blockRegistry.d.ts +52 -3
- package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/interfaces/availability/blockRegistry.js +1 -1
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts +81 -3
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/interfaces/availability/gossipService.d.ts +279 -8
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js +232 -0
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/availability/index.d.ts +1 -0
- package/src/lib/interfaces/availability/index.d.ts.map +1 -1
- package/src/lib/interfaces/availability/index.js +1 -0
- package/src/lib/interfaces/availability/index.js.map +1 -1
- package/src/lib/interfaces/availability/locationRecord.d.ts +6 -0
- package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -1
- package/src/lib/interfaces/availability/locationRecord.js +12 -0
- package/src/lib/interfaces/availability/locationRecord.js.map +1 -1
- package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts +40 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts.map +1 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.js +19 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.js.map +1 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts +52 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/reconciliationService.js.map +1 -1
- package/src/lib/interfaces/blockCapacity.d.ts +9 -0
- package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
- package/src/lib/interfaces/blockEncryption.d.ts +4 -2
- package/src/lib/interfaces/blockEncryption.d.ts.map +1 -1
- package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts +26 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.js +12 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.js.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.d.ts +71 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.js +22 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.js.map +1 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts +43 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.js +13 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.js.map +1 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.d.ts +70 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.js +18 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.js.map +1 -0
- package/src/lib/interfaces/blockFetch/index.d.ts +10 -0
- package/src/lib/interfaces/blockFetch/index.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/index.js +13 -0
- package/src/lib/interfaces/blockFetch/index.js.map +1 -0
- package/src/lib/interfaces/blocks/index.d.ts +1 -0
- package/src/lib/interfaces/blocks/index.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/vcbl.d.ts +16 -0
- package/src/lib/interfaces/blocks/vcbl.d.ts.map +1 -0
- package/src/lib/interfaces/{messaging/messageRouter.js → blocks/vcbl.js} +1 -1
- package/src/lib/interfaces/blocks/vcbl.js.map +1 -0
- package/src/lib/interfaces/brightpass/auditLog.d.ts +25 -0
- package/src/lib/interfaces/brightpass/auditLog.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/auditLog.js +21 -0
- package/src/lib/interfaces/brightpass/auditLog.js.map +1 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.d.ts +11 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.d.ts.map +1 -0
- package/src/lib/interfaces/{network/networkTransport.js → brightpass/emergencyAccess.js} +1 -1
- package/src/lib/interfaces/brightpass/emergencyAccess.js.map +1 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts +11 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.js +3 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.js.map +1 -0
- package/src/lib/interfaces/brightpass/importTypes.d.ts +10 -0
- package/src/lib/interfaces/brightpass/importTypes.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/importTypes.js +3 -0
- package/src/lib/interfaces/brightpass/importTypes.js.map +1 -0
- package/src/lib/interfaces/brightpass/index.d.ts +7 -0
- package/src/lib/interfaces/brightpass/index.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/index.js +10 -0
- package/src/lib/interfaces/brightpass/index.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts +48 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.js +3 -0
- package/src/lib/interfaces/brightpass/vaultEntry.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +34 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.js +3 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.js.map +1 -0
- package/src/lib/interfaces/clusterKeys.d.ts +4 -2
- package/src/lib/interfaces/clusterKeys.d.ts.map +1 -1
- package/src/lib/interfaces/communication.d.ts +173 -0
- package/src/lib/interfaces/communication.d.ts.map +1 -0
- package/src/lib/interfaces/communication.js +17 -0
- package/src/lib/interfaces/communication.js.map +1 -0
- package/src/lib/interfaces/communicationEvents.d.ts +168 -0
- package/src/lib/interfaces/communicationEvents.d.ts.map +1 -0
- package/src/lib/interfaces/communicationEvents.js +12 -0
- package/src/lib/interfaces/communicationEvents.js.map +1 -0
- package/src/lib/interfaces/crypto/ethereumWallet.d.ts +72 -0
- package/src/lib/interfaces/crypto/ethereumWallet.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/ethereumWallet.js +12 -0
- package/src/lib/interfaces/crypto/ethereumWallet.js.map +1 -0
- package/src/lib/interfaces/crypto/gitSignature.d.ts +95 -0
- package/src/lib/interfaces/crypto/gitSignature.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/gitSignature.js +12 -0
- package/src/lib/interfaces/crypto/gitSignature.js.map +1 -0
- package/src/lib/interfaces/crypto/index.d.ts +3 -0
- package/src/lib/interfaces/crypto/index.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/index.js +3 -0
- package/src/lib/interfaces/crypto/index.js.map +1 -0
- package/src/lib/interfaces/dataKeyComponents.d.ts +7 -2
- package/src/lib/interfaces/dataKeyComponents.d.ts.map +1 -1
- package/src/lib/interfaces/encryptedBlockCreator.d.ts +4 -2
- package/src/lib/interfaces/encryptedBlockCreator.d.ts.map +1 -1
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts +65 -0
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts.map +1 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js +60 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js.map +1 -0
- package/src/lib/interfaces/events/index.d.ts +2 -0
- package/src/lib/interfaces/events/index.d.ts.map +1 -0
- package/src/lib/interfaces/events/index.js +5 -0
- package/src/lib/interfaces/events/index.js.map +1 -0
- package/src/lib/interfaces/failableResult.d.ts +15 -0
- package/src/lib/interfaces/failableResult.d.ts.map +1 -0
- package/src/lib/interfaces/failableResult.js +3 -0
- package/src/lib/interfaces/failableResult.js.map +1 -0
- package/src/lib/interfaces/identity/device.d.ts +59 -0
- package/src/lib/interfaces/identity/device.d.ts.map +1 -0
- package/src/lib/interfaces/identity/device.js +17 -0
- package/src/lib/interfaces/identity/device.js.map +1 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.d.ts +71 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.d.ts.map +1 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.js +16 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.js.map +1 -0
- package/src/lib/interfaces/identity/identityProof.d.ts +90 -0
- package/src/lib/interfaces/identity/identityProof.d.ts.map +1 -0
- package/src/lib/interfaces/identity/identityProof.js +18 -0
- package/src/lib/interfaces/identity/identityProof.js.map +1 -0
- package/src/lib/interfaces/identity/index.d.ts +7 -0
- package/src/lib/interfaces/identity/index.d.ts.map +1 -0
- package/src/lib/interfaces/identity/index.js +3 -0
- package/src/lib/interfaces/identity/index.js.map +1 -0
- package/src/lib/interfaces/identity/paperKey.d.ts +97 -0
- package/src/lib/interfaces/identity/paperKey.d.ts.map +1 -0
- package/src/lib/interfaces/identity/paperKey.js +17 -0
- package/src/lib/interfaces/identity/paperKey.js.map +1 -0
- package/src/lib/interfaces/identity/publicProfile.d.ts +74 -0
- package/src/lib/interfaces/identity/publicProfile.d.ts.map +1 -0
- package/src/lib/interfaces/identity/publicProfile.js +18 -0
- package/src/lib/interfaces/identity/publicProfile.js.map +1 -0
- package/src/lib/interfaces/identity/splitPaperKey.d.ts +73 -0
- package/src/lib/interfaces/identity/splitPaperKey.d.ts.map +1 -0
- package/src/lib/interfaces/identity/splitPaperKey.js +20 -0
- package/src/lib/interfaces/identity/splitPaperKey.js.map +1 -0
- package/src/lib/interfaces/index.d.ts +11 -2
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +12 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/messaging/attachmentMetadata.d.ts +47 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.js +3 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.js.map +1 -0
- package/src/lib/interfaces/messaging/emailAddress.d.ts +210 -0
- package/src/lib/interfaces/messaging/emailAddress.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/emailAddress.js +213 -0
- package/src/lib/interfaces/messaging/emailAddress.js.map +1 -0
- package/src/lib/interfaces/messaging/emailDelivery.d.ts +80 -0
- package/src/lib/interfaces/messaging/emailDelivery.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/emailDelivery.js +50 -0
- package/src/lib/interfaces/messaging/emailDelivery.js.map +1 -0
- package/src/lib/interfaces/messaging/emailMetadata.d.ts +269 -0
- package/src/lib/interfaces/messaging/emailMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/emailMetadata.js +16 -0
- package/src/lib/interfaces/messaging/emailMetadata.js.map +1 -0
- package/src/lib/interfaces/messaging/index.d.ts +5 -1
- package/src/lib/interfaces/messaging/index.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/index.js +5 -1
- package/src/lib/interfaces/messaging/index.js.map +1 -1
- package/src/lib/interfaces/messaging/messageMetadata.d.ts +2 -2
- package/src/lib/interfaces/messaging/messageMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/messageMetadataStore.d.ts +2 -2
- package/src/lib/interfaces/messaging/messageMetadataStore.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/mimePart.d.ts +214 -0
- package/src/lib/interfaces/messaging/mimePart.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/mimePart.js +71 -0
- package/src/lib/interfaces/messaging/mimePart.js.map +1 -0
- package/src/lib/interfaces/network/index.d.ts +0 -1
- package/src/lib/interfaces/network/index.d.ts.map +1 -1
- package/src/lib/interfaces/network/node.d.ts +4 -2
- package/src/lib/interfaces/network/node.d.ts.map +1 -1
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts +4 -2
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts.map +1 -1
- package/src/lib/interfaces/privateVotingDerivation.d.ts +7 -2
- package/src/lib/interfaces/privateVotingDerivation.d.ts.map +1 -1
- package/src/lib/interfaces/requests/communicationRequests.d.ts +154 -0
- package/src/lib/interfaces/requests/communicationRequests.d.ts.map +1 -0
- package/src/lib/interfaces/requests/communicationRequests.js +10 -0
- package/src/lib/interfaces/requests/communicationRequests.js.map +1 -0
- package/src/lib/interfaces/requests/index.d.ts +2 -0
- package/src/lib/interfaces/requests/index.d.ts.map +1 -0
- package/src/lib/interfaces/requests/index.js +3 -0
- package/src/lib/interfaces/requests/index.js.map +1 -0
- package/src/lib/interfaces/responses/blockDataResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/blockDataResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/blockDataResponse.js +3 -0
- package/src/lib/interfaces/responses/blockDataResponse.js.map +1 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts +82 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/communicationResponses.js +17 -0
- package/src/lib/interfaces/responses/communicationResponses.js.map +1 -0
- package/src/lib/interfaces/responses/cryptoResponses.d.ts +30 -0
- package/src/lib/interfaces/responses/cryptoResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/cryptoResponses.js +12 -0
- package/src/lib/interfaces/responses/cryptoResponses.js.map +1 -0
- package/src/lib/interfaces/responses/deviceResponses.d.ts +26 -0
- package/src/lib/interfaces/responses/deviceResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/deviceResponses.js +15 -0
- package/src/lib/interfaces/responses/deviceResponses.js.map +1 -0
- package/src/lib/interfaces/responses/directoryResponses.d.ts +26 -0
- package/src/lib/interfaces/responses/directoryResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/directoryResponses.js +12 -0
- package/src/lib/interfaces/responses/directoryResponses.js.map +1 -0
- package/src/lib/interfaces/responses/emailResponses.d.ts +40 -0
- package/src/lib/interfaces/responses/emailResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/emailResponses.js +18 -0
- package/src/lib/interfaces/responses/emailResponses.js.map +1 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.d.ts +42 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.js +11 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.js.map +1 -0
- package/src/lib/interfaces/responses/identityProofResponses.d.ts +33 -0
- package/src/lib/interfaces/responses/identityProofResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/identityProofResponses.js +12 -0
- package/src/lib/interfaces/responses/identityProofResponses.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +3 -1
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/sealResults.d.ts +7 -2
- package/src/lib/interfaces/sealResults.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.d.ts +7 -5
- package/src/lib/interfaces/services/fecService.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.js +2 -0
- package/src/lib/interfaces/services/fecService.js.map +1 -1
- package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts +7 -2
- package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts.map +1 -1
- package/src/lib/interfaces/storage/blockMetadata.d.ts +8 -1
- package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/storage/blockMetadata.js +3 -1
- package/src/lib/interfaces/storage/blockMetadata.js.map +1 -1
- package/src/lib/interfaces/storage/cblIndex.d.ts +141 -0
- package/src/lib/interfaces/storage/cblIndex.d.ts.map +1 -0
- package/src/lib/interfaces/storage/cblIndex.js +28 -0
- package/src/lib/interfaces/storage/cblIndex.js.map +1 -0
- package/src/lib/interfaces/storage/clientSession.d.ts +22 -0
- package/src/lib/interfaces/storage/clientSession.d.ts.map +1 -0
- package/src/lib/interfaces/storage/clientSession.js +3 -0
- package/src/lib/interfaces/storage/clientSession.js.map +1 -0
- package/src/lib/interfaces/storage/collection.d.ts +80 -0
- package/src/lib/interfaces/storage/collection.d.ts.map +1 -0
- package/src/lib/interfaces/storage/collection.js +3 -0
- package/src/lib/interfaces/storage/collection.js.map +1 -0
- package/src/lib/interfaces/storage/database.d.ts +30 -0
- package/src/lib/interfaces/storage/database.d.ts.map +1 -0
- package/src/lib/interfaces/storage/database.js +3 -0
- package/src/lib/interfaces/storage/database.js.map +1 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts +43 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts.map +1 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.js +3 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.js.map +1 -0
- package/src/lib/interfaces/storage/documentTypes.d.ts +413 -0
- package/src/lib/interfaces/storage/documentTypes.d.ts.map +1 -0
- package/src/lib/interfaces/storage/documentTypes.js +8 -0
- package/src/lib/interfaces/storage/documentTypes.js.map +1 -0
- package/src/lib/interfaces/storage/encryptedPool.d.ts +64 -0
- package/src/lib/interfaces/storage/encryptedPool.d.ts.map +1 -0
- package/src/lib/interfaces/storage/encryptedPool.js +26 -0
- package/src/lib/interfaces/storage/encryptedPool.js.map +1 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts +128 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -0
- package/src/lib/interfaces/storage/headRegistry.js +3 -0
- package/src/lib/interfaces/storage/headRegistry.js.map +1 -0
- package/src/lib/interfaces/storage/index.d.ts +14 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js +14 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/pooledBlockStore.d.ts +163 -0
- package/src/lib/interfaces/storage/pooledBlockStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/pooledBlockStore.js +77 -0
- package/src/lib/interfaces/storage/pooledBlockStore.js.map +1 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.d.ts +47 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.js +29 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.js.map +1 -0
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts +7 -5
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts.map +1 -1
- package/src/lib/schemas/messaging/messageMetadataSchema.d.ts.map +1 -1
- package/src/lib/schemas/messaging/messageMetadataSchema.js.map +1 -1
- package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.js +15 -0
- package/src/lib/services/blockCapacity.service.js.map +1 -1
- package/src/lib/services/brightpass/auditLogger.d.ts +41 -0
- package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +47 -0
- package/src/lib/services/brightpass/auditLogger.js.map +1 -0
- package/src/lib/services/brightpass/breachDetector.d.ts +68 -0
- package/src/lib/services/brightpass/breachDetector.d.ts.map +1 -0
- package/src/lib/services/brightpass/breachDetector.js +102 -0
- package/src/lib/services/brightpass/breachDetector.js.map +1 -0
- package/src/lib/services/brightpass/importParser.d.ts +105 -0
- package/src/lib/services/brightpass/importParser.d.ts.map +1 -0
- package/src/lib/services/brightpass/importParser.js +380 -0
- package/src/lib/services/brightpass/importParser.js.map +1 -0
- package/src/lib/services/brightpass/index.d.ts +16 -0
- package/src/lib/services/brightpass/index.d.ts.map +1 -0
- package/src/lib/services/brightpass/index.js +19 -0
- package/src/lib/services/brightpass/index.js.map +1 -0
- package/src/lib/services/brightpass/passwordGenerator.d.ts +111 -0
- package/src/lib/services/brightpass/passwordGenerator.d.ts.map +1 -0
- package/src/lib/services/brightpass/passwordGenerator.js +162 -0
- package/src/lib/services/brightpass/passwordGenerator.js.map +1 -0
- package/src/lib/services/brightpass/totpEngine.d.ts +191 -0
- package/src/lib/services/brightpass/totpEngine.d.ts.map +1 -0
- package/src/lib/services/brightpass/totpEngine.js +198 -0
- package/src/lib/services/brightpass/totpEngine.js.map +1 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.d.ts +26 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.js +42 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.js.map +1 -0
- package/src/lib/services/brightpass/vaultSerializer.d.ts +14 -0
- package/src/lib/services/brightpass/vaultSerializer.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultSerializer.js +77 -0
- package/src/lib/services/brightpass/vaultSerializer.js.map +1 -0
- package/src/lib/services/cblService.d.ts +4 -2
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +8 -4
- package/src/lib/services/cblService.js.map +1 -1
- package/src/lib/services/communication/channelService.d.ts +208 -0
- package/src/lib/services/communication/channelService.d.ts.map +1 -0
- package/src/lib/services/communication/channelService.js +575 -0
- package/src/lib/services/communication/channelService.js.map +1 -0
- package/src/lib/services/communication/conversationService.d.ts +130 -0
- package/src/lib/services/communication/conversationService.d.ts.map +1 -0
- package/src/lib/services/communication/conversationService.js +279 -0
- package/src/lib/services/communication/conversationService.js.map +1 -0
- package/src/lib/services/communication/explodingMessageService.d.ts +168 -0
- package/src/lib/services/communication/explodingMessageService.d.ts.map +1 -0
- package/src/lib/services/communication/explodingMessageService.js +287 -0
- package/src/lib/services/communication/explodingMessageService.js.map +1 -0
- package/src/lib/services/communication/groupService.d.ts +165 -0
- package/src/lib/services/communication/groupService.d.ts.map +1 -0
- package/src/lib/services/communication/groupService.js +437 -0
- package/src/lib/services/communication/groupService.js.map +1 -0
- package/src/lib/services/communication/index.d.ts +16 -0
- package/src/lib/services/communication/index.d.ts.map +1 -0
- package/src/lib/services/communication/index.js +63 -0
- package/src/lib/services/communication/index.js.map +1 -0
- package/src/lib/services/communication/messageOperationsService.d.ts +81 -0
- package/src/lib/services/communication/messageOperationsService.d.ts.map +1 -0
- package/src/lib/services/communication/messageOperationsService.js +162 -0
- package/src/lib/services/communication/messageOperationsService.js.map +1 -0
- package/src/lib/services/communication/permissionService.d.ts +47 -0
- package/src/lib/services/communication/permissionService.d.ts.map +1 -0
- package/src/lib/services/communication/permissionService.js +82 -0
- package/src/lib/services/communication/permissionService.js.map +1 -0
- package/src/lib/services/communication/searchService.d.ts +30 -0
- package/src/lib/services/communication/searchService.d.ts.map +1 -0
- package/src/lib/services/communication/searchService.js +83 -0
- package/src/lib/services/communication/searchService.js.map +1 -0
- package/src/lib/services/crypto/ethereumWalletService.d.ts +159 -0
- package/src/lib/services/crypto/ethereumWalletService.d.ts.map +1 -0
- package/src/lib/services/crypto/ethereumWalletService.js +345 -0
- package/src/lib/services/crypto/ethereumWalletService.js.map +1 -0
- package/src/lib/services/crypto/gitSigningService.d.ts +145 -0
- package/src/lib/services/crypto/gitSigningService.d.ts.map +1 -0
- package/src/lib/services/crypto/gitSigningService.js +291 -0
- package/src/lib/services/crypto/gitSigningService.js.map +1 -0
- package/src/lib/services/crypto/index.d.ts +3 -0
- package/src/lib/services/crypto/index.d.ts.map +1 -0
- package/src/lib/services/crypto/index.js +6 -0
- package/src/lib/services/crypto/index.js.map +1 -0
- package/src/lib/services/identity/deviceProvisioningService.d.ts +146 -0
- package/src/lib/services/identity/deviceProvisioningService.d.ts.map +1 -0
- package/src/lib/services/identity/deviceProvisioningService.js +219 -0
- package/src/lib/services/identity/deviceProvisioningService.js.map +1 -0
- package/src/lib/services/identity/identityProofService.d.ts +139 -0
- package/src/lib/services/identity/identityProofService.d.ts.map +1 -0
- package/src/lib/services/identity/identityProofService.js +245 -0
- package/src/lib/services/identity/identityProofService.js.map +1 -0
- package/src/lib/services/identity/index.d.ts +14 -0
- package/src/lib/services/identity/index.d.ts.map +1 -0
- package/src/lib/services/identity/index.js +17 -0
- package/src/lib/services/identity/index.js.map +1 -0
- package/src/lib/services/identity/memberIdentityProofService.d.ts +179 -0
- package/src/lib/services/identity/memberIdentityProofService.d.ts.map +1 -0
- package/src/lib/services/identity/memberIdentityProofService.js +232 -0
- package/src/lib/services/identity/memberIdentityProofService.js.map +1 -0
- package/src/lib/services/identity/memberPaperKeyService.d.ts +223 -0
- package/src/lib/services/identity/memberPaperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/memberPaperKeyService.js +279 -0
- package/src/lib/services/identity/memberPaperKeyService.js.map +1 -0
- package/src/lib/services/identity/paperKeyService.d.ts +106 -0
- package/src/lib/services/identity/paperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/paperKeyService.js +161 -0
- package/src/lib/services/identity/paperKeyService.js.map +1 -0
- package/src/lib/services/identity/publicKeyDirectoryService.d.ts +210 -0
- package/src/lib/services/identity/publicKeyDirectoryService.d.ts.map +1 -0
- package/src/lib/services/identity/publicKeyDirectoryService.js +328 -0
- package/src/lib/services/identity/publicKeyDirectoryService.js.map +1 -0
- package/src/lib/services/identity/splitPaperKeyService.d.ts +92 -0
- package/src/lib/services/identity/splitPaperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/splitPaperKeyService.js +305 -0
- package/src/lib/services/identity/splitPaperKeyService.js.map +1 -0
- package/src/lib/services/index.d.ts +4 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +7 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/messaging/deliveryTimeoutService.js +2 -2
- package/src/lib/services/messaging/deliveryTimeoutService.js.map +1 -1
- package/src/lib/services/messaging/emailEncryptionService.d.ts +250 -0
- package/src/lib/services/messaging/emailEncryptionService.d.ts.map +1 -0
- package/src/lib/services/messaging/emailEncryptionService.js +420 -0
- package/src/lib/services/messaging/emailEncryptionService.js.map +1 -0
- package/src/lib/services/messaging/emailMessageService.d.ts +669 -0
- package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -0
- package/src/lib/services/messaging/emailMessageService.js +1030 -0
- package/src/lib/services/messaging/emailMessageService.js.map +1 -0
- package/src/lib/services/messaging/emailParser.d.ts +476 -0
- package/src/lib/services/messaging/emailParser.d.ts.map +1 -0
- package/src/lib/services/messaging/emailParser.js +1316 -0
- package/src/lib/services/messaging/emailParser.js.map +1 -0
- package/src/lib/services/messaging/emailSerializer.d.ts +403 -0
- package/src/lib/services/messaging/emailSerializer.d.ts.map +1 -0
- package/src/lib/services/messaging/emailSerializer.js +852 -0
- package/src/lib/services/messaging/emailSerializer.js.map +1 -0
- package/src/lib/services/messaging/emailValidator.d.ts +448 -0
- package/src/lib/services/messaging/emailValidator.d.ts.map +1 -0
- package/src/lib/services/messaging/emailValidator.js +810 -0
- package/src/lib/services/messaging/emailValidator.js.map +1 -0
- package/src/lib/services/messaging/gossipRetryService.d.ts +204 -0
- package/src/lib/services/messaging/gossipRetryService.d.ts.map +1 -0
- package/src/lib/services/messaging/gossipRetryService.js +319 -0
- package/src/lib/services/messaging/gossipRetryService.js.map +1 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.d.ts +60 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.d.ts.map +1 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.js +281 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.js.map +1 -0
- package/src/lib/services/messaging/index.d.ts +11 -5
- package/src/lib/services/messaging/index.d.ts.map +1 -1
- package/src/lib/services/messaging/index.js +19 -5
- package/src/lib/services/messaging/index.js.map +1 -1
- package/src/lib/services/messaging/messageCBLService.js +2 -2
- package/src/lib/services/messaging/messageCBLService.js.map +1 -1
- package/src/lib/services/tuple.service.d.ts +27 -2
- package/src/lib/services/tuple.service.d.ts.map +1 -1
- package/src/lib/services/tuple.service.js +62 -20
- package/src/lib/services/tuple.service.js.map +1 -1
- package/src/lib/services/vcblService.d.ts +36 -0
- package/src/lib/services/vcblService.d.ts.map +1 -0
- package/src/lib/services/vcblService.js +326 -0
- package/src/lib/services/vcblService.js.map +1 -0
- package/src/lib/stores/index.d.ts +1 -0
- package/src/lib/stores/index.d.ts.map +1 -1
- package/src/lib/stores/index.js +1 -0
- package/src/lib/stores/index.js.map +1 -1
- package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts +2 -2
- package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts.map +1 -1
- package/src/lib/stores/messaging/memoryMessageMetadataStore.js +2 -2
- package/src/lib/stores/messaging/memoryMessageMetadataStore.js.map +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.d.ts +134 -0
- package/src/lib/stores/pooledMemoryBlockStore.d.ts.map +1 -0
- package/src/lib/stores/pooledMemoryBlockStore.js +583 -0
- package/src/lib/stores/pooledMemoryBlockStore.js.map +1 -0
- package/src/lib/types/checksum.d.ts +11 -0
- package/src/lib/types/checksum.d.ts.map +1 -1
- package/src/lib/types/checksum.js +11 -0
- package/src/lib/types/checksum.js.map +1 -1
- package/src/lib/utils/index.d.ts +9 -0
- package/src/lib/utils/index.d.ts.map +1 -1
- package/src/lib/utils/index.js +12 -0
- package/src/lib/utils/index.js.map +1 -1
- package/src/lib/utils/pagination.d.ts +27 -0
- package/src/lib/utils/pagination.d.ts.map +1 -0
- package/src/lib/utils/pagination.js +38 -0
- package/src/lib/utils/pagination.js.map +1 -0
- package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts +0 -18
- package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts.map +0 -1
- package/src/lib/enumerations/messaging/messageDeliveryStatus.js +0 -22
- package/src/lib/enumerations/messaging/messageDeliveryStatus.js.map +0 -1
- package/src/lib/enumerations/messaging/routingStrategy.d.ts +0 -12
- package/src/lib/enumerations/messaging/routingStrategy.d.ts.map +0 -1
- package/src/lib/enumerations/messaging/routingStrategy.js +0 -16
- package/src/lib/enumerations/messaging/routingStrategy.js.map +0 -1
- package/src/lib/interfaces/messaging/messageRouter.d.ts +0 -48
- package/src/lib/interfaces/messaging/messageRouter.d.ts.map +0 -1
- package/src/lib/interfaces/messaging/messageRouter.js.map +0 -1
- package/src/lib/interfaces/network/networkTransport.d.ts +0 -19
- package/src/lib/interfaces/network/networkTransport.d.ts.map +0 -1
- package/src/lib/interfaces/network/networkTransport.js.map +0 -1
- package/src/lib/services/messaging/broadcastMessageRouter.d.ts +0 -18
- package/src/lib/services/messaging/broadcastMessageRouter.d.ts.map +0 -1
- package/src/lib/services/messaging/broadcastMessageRouter.js +0 -32
- package/src/lib/services/messaging/broadcastMessageRouter.js.map +0 -1
- package/src/lib/services/messaging/directMessageRouter.d.ts +0 -25
- package/src/lib/services/messaging/directMessageRouter.d.ts.map +0 -1
- package/src/lib/services/messaging/directMessageRouter.js +0 -58
- package/src/lib/services/messaging/directMessageRouter.js.map +0 -1
- package/src/lib/services/messaging/messageForwardingService.d.ts +0 -40
- package/src/lib/services/messaging/messageForwardingService.d.ts.map +0 -1
- package/src/lib/services/messaging/messageForwardingService.js +0 -74
- package/src/lib/services/messaging/messageForwardingService.js.map +0 -1
- package/src/lib/services/messaging/messageRouter.d.ts +0 -24
- package/src/lib/services/messaging/messageRouter.d.ts.map +0 -1
- package/src/lib/services/messaging/messageRouter.js +0 -111
- package/src/lib/services/messaging/messageRouter.js.map +0 -1
- package/src/lib/services/messaging/webSocketTransport.d.ts +0 -34
- package/src/lib/services/messaging/webSocketTransport.d.ts.map +0 -1
- package/src/lib/services/messaging/webSocketTransport.js +0 -115
- package/src/lib/services/messaging/webSocketTransport.js.map +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MessageOperationsService — shared message operation logic for Groups and Channels.
|
|
4
|
+
*
|
|
5
|
+
* Encapsulates edit, delete, pin/unpin, and reaction operations with
|
|
6
|
+
* permission checks. Both GroupService and ChannelService delegate to
|
|
7
|
+
* this service to avoid duplicating message operation logic.
|
|
8
|
+
*
|
|
9
|
+
* Requirements: 9.1, 9.2, 9.3, 9.4, 9.6
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MessageOperationsService = exports.MessageReactionNotFoundError = exports.MessagePermissionError = exports.MessageAuthorError = exports.MessageNotFoundError = void 0;
|
|
13
|
+
const uuid_1 = require("uuid");
|
|
14
|
+
const communication_1 = require("../../enumerations/communication");
|
|
15
|
+
// ─── Error classes ──────────────────────────────────────────────────────────
|
|
16
|
+
class MessageNotFoundError extends Error {
|
|
17
|
+
constructor(messageId) {
|
|
18
|
+
super(`Message ${messageId} not found`);
|
|
19
|
+
this.name = 'MessageNotFoundError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MessageNotFoundError = MessageNotFoundError;
|
|
23
|
+
class MessageAuthorError extends Error {
|
|
24
|
+
constructor() {
|
|
25
|
+
super('You can only edit messages you authored');
|
|
26
|
+
this.name = 'MessageAuthorError';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.MessageAuthorError = MessageAuthorError;
|
|
30
|
+
class MessagePermissionError extends Error {
|
|
31
|
+
constructor(permission) {
|
|
32
|
+
super(`Missing permission: ${permission}`);
|
|
33
|
+
this.name = 'MessagePermissionError';
|
|
34
|
+
this.missingPermission = permission;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.MessagePermissionError = MessagePermissionError;
|
|
38
|
+
class MessageReactionNotFoundError extends Error {
|
|
39
|
+
constructor(reactionId) {
|
|
40
|
+
super(`Reaction ${reactionId} not found`);
|
|
41
|
+
this.name = 'MessageReactionNotFoundError';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.MessageReactionNotFoundError = MessageReactionNotFoundError;
|
|
45
|
+
/**
|
|
46
|
+
* Shared message operations for edit, delete, pin, and reaction logic.
|
|
47
|
+
* Callers are responsible for membership/existence checks on the context
|
|
48
|
+
* (group or channel) before invoking these methods.
|
|
49
|
+
*/
|
|
50
|
+
class MessageOperationsService {
|
|
51
|
+
constructor(permissionService) {
|
|
52
|
+
this.permissionService = permissionService;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Edit a message authored by the requesting member.
|
|
56
|
+
* Preserves previous content in editHistory.
|
|
57
|
+
*
|
|
58
|
+
* Requirement 9.1: update content, preserve edit history, set editedAt.
|
|
59
|
+
*/
|
|
60
|
+
editMessage(messages, messageId, memberId, newContent, messageNotFoundFactory, authorErrorFactory) {
|
|
61
|
+
const message = messages.find((m) => m.id === messageId);
|
|
62
|
+
if (!message)
|
|
63
|
+
throw messageNotFoundFactory(messageId);
|
|
64
|
+
if (message.senderId !== memberId) {
|
|
65
|
+
throw authorErrorFactory();
|
|
66
|
+
}
|
|
67
|
+
message.editHistory.push({
|
|
68
|
+
content: message.encryptedContent,
|
|
69
|
+
editedAt: new Date(),
|
|
70
|
+
});
|
|
71
|
+
message.encryptedContent = newContent;
|
|
72
|
+
message.editedAt = new Date();
|
|
73
|
+
return message;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Delete a message. Authors can delete their own; moderators/admins
|
|
77
|
+
* need DELETE_ANY_MESSAGE permission.
|
|
78
|
+
*
|
|
79
|
+
* Requirements 9.2, 9.3: mark as deleted, set deletedBy.
|
|
80
|
+
*/
|
|
81
|
+
deleteMessage(messages, contextId, messageId, memberId, messageNotFoundFactory, permissionErrorFactory) {
|
|
82
|
+
const message = messages.find((m) => m.id === messageId);
|
|
83
|
+
if (!message)
|
|
84
|
+
throw messageNotFoundFactory(messageId);
|
|
85
|
+
const isAuthor = message.senderId === memberId;
|
|
86
|
+
if (!isAuthor) {
|
|
87
|
+
if (!this.permissionService.hasPermission(memberId, contextId, communication_1.Permission.DELETE_ANY_MESSAGE)) {
|
|
88
|
+
throw permissionErrorFactory(communication_1.Permission.DELETE_ANY_MESSAGE);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
message.deleted = true;
|
|
92
|
+
message.deletedBy = memberId;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Pin a message. Requires PIN_MESSAGES permission.
|
|
96
|
+
* Adds the message ID to the context's pinnedMessageIds list.
|
|
97
|
+
*
|
|
98
|
+
* Requirement 9.3: add to pinned messages list.
|
|
99
|
+
*/
|
|
100
|
+
pinMessage(messages, contextId, messageId, memberId, context, messageNotFoundFactory, permissionErrorFactory) {
|
|
101
|
+
if (!this.permissionService.hasPermission(memberId, contextId, communication_1.Permission.PIN_MESSAGES)) {
|
|
102
|
+
throw permissionErrorFactory(communication_1.Permission.PIN_MESSAGES);
|
|
103
|
+
}
|
|
104
|
+
const message = messages.find((m) => m.id === messageId);
|
|
105
|
+
if (!message)
|
|
106
|
+
throw messageNotFoundFactory(messageId);
|
|
107
|
+
message.pinned = true;
|
|
108
|
+
if (!context.pinnedMessageIds.includes(messageId)) {
|
|
109
|
+
context.pinnedMessageIds.push(messageId);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Unpin a message. Requires PIN_MESSAGES permission.
|
|
114
|
+
* Removes the message ID from the context's pinnedMessageIds list.
|
|
115
|
+
*
|
|
116
|
+
* Requirement 9.3: remove from pinned messages list.
|
|
117
|
+
*/
|
|
118
|
+
unpinMessage(messages, contextId, messageId, memberId, context, messageNotFoundFactory, permissionErrorFactory) {
|
|
119
|
+
if (!this.permissionService.hasPermission(memberId, contextId, communication_1.Permission.PIN_MESSAGES)) {
|
|
120
|
+
throw permissionErrorFactory(communication_1.Permission.PIN_MESSAGES);
|
|
121
|
+
}
|
|
122
|
+
const message = messages.find((m) => m.id === messageId);
|
|
123
|
+
if (!message)
|
|
124
|
+
throw messageNotFoundFactory(messageId);
|
|
125
|
+
message.pinned = false;
|
|
126
|
+
context.pinnedMessageIds = context.pinnedMessageIds.filter((id) => id !== messageId);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Add a reaction to a message.
|
|
130
|
+
*
|
|
131
|
+
* Requirement 9.4: add reaction with emoji and member tracking.
|
|
132
|
+
*/
|
|
133
|
+
addReaction(messages, messageId, memberId, emoji, messageNotFoundFactory) {
|
|
134
|
+
const message = messages.find((m) => m.id === messageId);
|
|
135
|
+
if (!message)
|
|
136
|
+
throw messageNotFoundFactory(messageId);
|
|
137
|
+
const reactionId = (0, uuid_1.v4)();
|
|
138
|
+
message.reactions.push({
|
|
139
|
+
id: reactionId,
|
|
140
|
+
emoji,
|
|
141
|
+
memberId,
|
|
142
|
+
createdAt: new Date(),
|
|
143
|
+
});
|
|
144
|
+
return reactionId;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Remove a reaction from a message.
|
|
148
|
+
*
|
|
149
|
+
* Requirement 9.4: remove reaction from message.
|
|
150
|
+
*/
|
|
151
|
+
removeReaction(messages, messageId, reactionId, messageNotFoundFactory, reactionNotFoundFactory) {
|
|
152
|
+
const message = messages.find((m) => m.id === messageId);
|
|
153
|
+
if (!message)
|
|
154
|
+
throw messageNotFoundFactory(messageId);
|
|
155
|
+
const reactionIndex = message.reactions.findIndex((r) => r.id === reactionId);
|
|
156
|
+
if (reactionIndex === -1)
|
|
157
|
+
throw reactionNotFoundFactory(reactionId);
|
|
158
|
+
message.reactions.splice(reactionIndex, 1);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.MessageOperationsService = MessageOperationsService;
|
|
162
|
+
//# sourceMappingURL=messageOperationsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageOperationsService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/messageOperationsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PermissionService — centralized permission checking for Groups and Channels.
|
|
3
|
+
*
|
|
4
|
+
* Tracks member roles and mute status per context (group or channel ID).
|
|
5
|
+
* Uses the DEFAULT_ROLE_PERMISSIONS map from brightchain-lib to resolve
|
|
6
|
+
* whether a given role grants a specific permission.
|
|
7
|
+
*
|
|
8
|
+
* Requirements: 7.1, 7.2, 7.3, 7.4
|
|
9
|
+
*/
|
|
10
|
+
import { DefaultRole, Permission } from '../../enumerations/communication';
|
|
11
|
+
export declare class PermissionService {
|
|
12
|
+
/** memberId:contextId → DefaultRole */
|
|
13
|
+
private readonly roles;
|
|
14
|
+
/** memberId:contextId → mute expiry timestamp (ms since epoch) */
|
|
15
|
+
private readonly mutes;
|
|
16
|
+
/**
|
|
17
|
+
* Check whether a member has a specific permission in a context.
|
|
18
|
+
* Returns false if the member has no role in the context or is missing the permission.
|
|
19
|
+
*
|
|
20
|
+
* Requirement 7.1: check member permissions against role-based permission sets.
|
|
21
|
+
*/
|
|
22
|
+
hasPermission(memberId: string, contextId: string, permission: Permission): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Assign (or update) a role for a member in a context.
|
|
25
|
+
*
|
|
26
|
+
* Requirement 7.2: assign and retrieve member roles per context.
|
|
27
|
+
*/
|
|
28
|
+
assignRole(memberId: string, contextId: string, role: DefaultRole): void;
|
|
29
|
+
/**
|
|
30
|
+
* Get the role assigned to a member in a context, or null if none.
|
|
31
|
+
*/
|
|
32
|
+
getMemberRole(memberId: string, contextId: string): DefaultRole | null;
|
|
33
|
+
/**
|
|
34
|
+
* Check whether a member is currently muted in a context.
|
|
35
|
+
* A mute is active when the stored expiry timestamp is in the future.
|
|
36
|
+
*
|
|
37
|
+
* Requirement 7.3, 7.4: track mute status with expiration, auto-clear on check.
|
|
38
|
+
*/
|
|
39
|
+
isMuted(memberId: string, contextId: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Mute a member in a context for the given duration (milliseconds).
|
|
42
|
+
*
|
|
43
|
+
* Requirement 7.3: track member mute status with expiration.
|
|
44
|
+
*/
|
|
45
|
+
muteMember(memberId: string, contextId: string, durationMs: number): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=permissionService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissionService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/permissionService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,WAAW,EACX,UAAU,EACX,MAAM,kCAAkC,CAAC;AAS1C,qBAAa,iBAAiB;IAC5B,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IAExD,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;;;;OAKG;IACH,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,OAAO;IAQV;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAIxE;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAItE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAarD;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAG1E"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PermissionService — centralized permission checking for Groups and Channels.
|
|
4
|
+
*
|
|
5
|
+
* Tracks member roles and mute status per context (group or channel ID).
|
|
6
|
+
* Uses the DEFAULT_ROLE_PERMISSIONS map from brightchain-lib to resolve
|
|
7
|
+
* whether a given role grants a specific permission.
|
|
8
|
+
*
|
|
9
|
+
* Requirements: 7.1, 7.2, 7.3, 7.4
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PermissionService = void 0;
|
|
13
|
+
const communication_1 = require("../../enumerations/communication");
|
|
14
|
+
/**
|
|
15
|
+
* Composite key for role and mute lookups: "memberId:contextId"
|
|
16
|
+
*/
|
|
17
|
+
function key(memberId, contextId) {
|
|
18
|
+
return `${memberId}:${contextId}`;
|
|
19
|
+
}
|
|
20
|
+
class PermissionService {
|
|
21
|
+
constructor() {
|
|
22
|
+
/** memberId:contextId → DefaultRole */
|
|
23
|
+
this.roles = new Map();
|
|
24
|
+
/** memberId:contextId → mute expiry timestamp (ms since epoch) */
|
|
25
|
+
this.mutes = new Map();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check whether a member has a specific permission in a context.
|
|
29
|
+
* Returns false if the member has no role in the context or is missing the permission.
|
|
30
|
+
*
|
|
31
|
+
* Requirement 7.1: check member permissions against role-based permission sets.
|
|
32
|
+
*/
|
|
33
|
+
hasPermission(memberId, contextId, permission) {
|
|
34
|
+
const role = this.getMemberRole(memberId, contextId);
|
|
35
|
+
if (role === null) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return communication_1.DEFAULT_ROLE_PERMISSIONS[role].includes(permission);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Assign (or update) a role for a member in a context.
|
|
42
|
+
*
|
|
43
|
+
* Requirement 7.2: assign and retrieve member roles per context.
|
|
44
|
+
*/
|
|
45
|
+
assignRole(memberId, contextId, role) {
|
|
46
|
+
this.roles.set(key(memberId, contextId), role);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get the role assigned to a member in a context, or null if none.
|
|
50
|
+
*/
|
|
51
|
+
getMemberRole(memberId, contextId) {
|
|
52
|
+
return this.roles.get(key(memberId, contextId)) ?? null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check whether a member is currently muted in a context.
|
|
56
|
+
* A mute is active when the stored expiry timestamp is in the future.
|
|
57
|
+
*
|
|
58
|
+
* Requirement 7.3, 7.4: track mute status with expiration, auto-clear on check.
|
|
59
|
+
*/
|
|
60
|
+
isMuted(memberId, contextId) {
|
|
61
|
+
const expiry = this.mutes.get(key(memberId, contextId));
|
|
62
|
+
if (expiry === undefined) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (Date.now() >= expiry) {
|
|
66
|
+
// Mute has expired — clean up
|
|
67
|
+
this.mutes.delete(key(memberId, contextId));
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Mute a member in a context for the given duration (milliseconds).
|
|
74
|
+
*
|
|
75
|
+
* Requirement 7.3: track member mute status with expiration.
|
|
76
|
+
*/
|
|
77
|
+
muteMember(memberId, contextId, durationMs) {
|
|
78
|
+
this.mutes.set(key(memberId, contextId), Date.now() + durationMs);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.PermissionService = PermissionService;
|
|
82
|
+
//# sourceMappingURL=permissionService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissionService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/permissionService.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,oEAI0C;AAE1C;;GAEG;AACH,SAAS,GAAG,CAAC,QAAgB,EAAE,SAAiB;IAC9C,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;AACpC,CAAC;AAED,MAAa,iBAAiB;IAA9B;QACE,uCAAuC;QACtB,UAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;QAExD,kEAAkE;QACjD,UAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IA+DrD,CAAC;IA7DC;;;;;OAKG;IACH,aAAa,CACX,QAAgB,EAChB,SAAiB,EACjB,UAAsB;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,wCAAwB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAgB,EAAE,SAAiB,EAAE,IAAiB;QAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB,EAAE,SAAiB;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAgB,EAAE,SAAiB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;YACzB,8BAA8B;YAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAkB;QAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC;IACpE,CAAC;CACF;AApED,8CAoEC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SearchService — cross-context keyword search across conversations, groups, and channels.
|
|
3
|
+
*
|
|
4
|
+
* Aggregates search results from all contexts a member has access to,
|
|
5
|
+
* returning paginated results with context metadata (sender, timestamp,
|
|
6
|
+
* context name/type).
|
|
7
|
+
*
|
|
8
|
+
* Requirements: 10.4
|
|
9
|
+
*/
|
|
10
|
+
import { IPaginatedResult, ISearchResultItem } from '../../interfaces/communication';
|
|
11
|
+
import { ChannelService } from './channelService';
|
|
12
|
+
import { ConversationService } from './conversationService';
|
|
13
|
+
import { GroupService } from './groupService';
|
|
14
|
+
export declare class SearchService {
|
|
15
|
+
private readonly conversationService;
|
|
16
|
+
private readonly groupService;
|
|
17
|
+
private readonly channelService;
|
|
18
|
+
constructor(conversationService: ConversationService, groupService: GroupService, channelService: ChannelService);
|
|
19
|
+
/**
|
|
20
|
+
* Search messages by keyword across all contexts the member has access to.
|
|
21
|
+
*
|
|
22
|
+
* Results are sorted by `createdAt` descending (newest first) and include
|
|
23
|
+
* sender, timestamp, and context name for each match.
|
|
24
|
+
*/
|
|
25
|
+
searchAll(memberId: string, query: string, cursor?: string, limit?: number): IPaginatedResult<ISearchResultItem>;
|
|
26
|
+
private searchConversations;
|
|
27
|
+
private searchGroups;
|
|
28
|
+
private searchChannels;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=searchService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/searchService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc;IAGjD;;;;;OAKG;IACH,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,SAAK,GACT,gBAAgB,CAAC,iBAAiB,CAAC;IAgBtC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,cAAc;CAsBvB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SearchService — cross-context keyword search across conversations, groups, and channels.
|
|
4
|
+
*
|
|
5
|
+
* Aggregates search results from all contexts a member has access to,
|
|
6
|
+
* returning paginated results with context metadata (sender, timestamp,
|
|
7
|
+
* context name/type).
|
|
8
|
+
*
|
|
9
|
+
* Requirements: 10.4
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SearchService = void 0;
|
|
13
|
+
const pagination_1 = require("../../utils/pagination");
|
|
14
|
+
class SearchService {
|
|
15
|
+
constructor(conversationService, groupService, channelService) {
|
|
16
|
+
this.conversationService = conversationService;
|
|
17
|
+
this.groupService = groupService;
|
|
18
|
+
this.channelService = channelService;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Search messages by keyword across all contexts the member has access to.
|
|
22
|
+
*
|
|
23
|
+
* Results are sorted by `createdAt` descending (newest first) and include
|
|
24
|
+
* sender, timestamp, and context name for each match.
|
|
25
|
+
*/
|
|
26
|
+
searchAll(memberId, query, cursor, limit = 50) {
|
|
27
|
+
const lowerQuery = query.toLowerCase();
|
|
28
|
+
const results = [];
|
|
29
|
+
this.searchConversations(memberId, lowerQuery, results);
|
|
30
|
+
this.searchGroups(memberId, lowerQuery, results);
|
|
31
|
+
this.searchChannels(memberId, lowerQuery, results);
|
|
32
|
+
// Sort by createdAt descending (newest first)
|
|
33
|
+
results.sort((a, b) => b.message.createdAt.getTime() - a.message.createdAt.getTime());
|
|
34
|
+
return (0, pagination_1.paginateItems)(results, cursor, limit);
|
|
35
|
+
}
|
|
36
|
+
searchConversations(memberId, lowerQuery, results) {
|
|
37
|
+
const conversations = this.conversationService.listAllConversationsForMember(memberId);
|
|
38
|
+
for (const conv of conversations) {
|
|
39
|
+
const msgs = this.conversationService.getAllMessages(conv.id);
|
|
40
|
+
const otherParticipant = conv.participants[0] === memberId
|
|
41
|
+
? conv.participants[1]
|
|
42
|
+
: conv.participants[0];
|
|
43
|
+
const contextName = `DM with ${otherParticipant}`;
|
|
44
|
+
for (const msg of msgs) {
|
|
45
|
+
if (!msg.deleted &&
|
|
46
|
+
typeof msg.encryptedContent === 'string' &&
|
|
47
|
+
msg.encryptedContent.toLowerCase().includes(lowerQuery)) {
|
|
48
|
+
results.push({ id: msg.id, message: msg, contextName });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
searchGroups(memberId, lowerQuery, results) {
|
|
54
|
+
const groups = this.groupService.listGroupsForMember(memberId);
|
|
55
|
+
for (const group of groups) {
|
|
56
|
+
const msgs = this.groupService.getAllMessages(group.id);
|
|
57
|
+
const contextName = `Group: ${group.name}`;
|
|
58
|
+
for (const msg of msgs) {
|
|
59
|
+
if (!msg.deleted &&
|
|
60
|
+
typeof msg.encryptedContent === 'string' &&
|
|
61
|
+
msg.encryptedContent.toLowerCase().includes(lowerQuery)) {
|
|
62
|
+
results.push({ id: msg.id, message: msg, contextName });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
searchChannels(memberId, lowerQuery, results) {
|
|
68
|
+
const channels = this.channelService.listChannelsForMember(memberId);
|
|
69
|
+
for (const channel of channels) {
|
|
70
|
+
const msgs = this.channelService.getAllMessages(channel.id);
|
|
71
|
+
const contextName = `Channel: #${channel.name}`;
|
|
72
|
+
for (const msg of msgs) {
|
|
73
|
+
if (!msg.deleted &&
|
|
74
|
+
typeof msg.encryptedContent === 'string' &&
|
|
75
|
+
msg.encryptedContent.toLowerCase().includes(lowerQuery)) {
|
|
76
|
+
results.push({ id: msg.id, message: msg, contextName });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.SearchService = SearchService;
|
|
83
|
+
//# sourceMappingURL=searchService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/searchService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ethereum Wallet Service for the BrightChain identity system.
|
|
3
|
+
*
|
|
4
|
+
* Derives Ethereum addresses from BrightChain member identities using
|
|
5
|
+
* BIP44 hierarchical deterministic derivation. Provides message signing
|
|
6
|
+
* and signature verification for dApp authentication and transaction
|
|
7
|
+
* signing.
|
|
8
|
+
*
|
|
9
|
+
* Derivation path: m/44'/60'/0'/0/0 (BIP44 standard for Ethereum)
|
|
10
|
+
* - purpose = 44 (BIP44)
|
|
11
|
+
* - coin_type = 60 (Ethereum)
|
|
12
|
+
* - account = 0 (default account)
|
|
13
|
+
* - change = 0 (external chain — wallet addresses)
|
|
14
|
+
* - index = 0 (first address)
|
|
15
|
+
*
|
|
16
|
+
* Requirements: 6.1, 6.2, 6.3, 6.7, 6.8
|
|
17
|
+
*/
|
|
18
|
+
import { ECIESService, PlatformID } from '@digitaldefiance/ecies-lib';
|
|
19
|
+
/**
|
|
20
|
+
* Error thrown when Ethereum address derivation fails.
|
|
21
|
+
*/
|
|
22
|
+
export declare class EthereumDerivationError extends Error {
|
|
23
|
+
constructor(message: string);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Error thrown when message signing fails.
|
|
27
|
+
*/
|
|
28
|
+
export declare class EthereumSigningError extends Error {
|
|
29
|
+
constructor(message: string);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Result of Ethereum address derivation.
|
|
33
|
+
*/
|
|
34
|
+
export interface IEthereumAddressResult {
|
|
35
|
+
/** EIP-55 checksummed Ethereum address */
|
|
36
|
+
address: string;
|
|
37
|
+
/** Uncompressed SECP256k1 public key (65 bytes, hex-encoded) */
|
|
38
|
+
publicKeyHex: string;
|
|
39
|
+
/** BIP44 derivation path used */
|
|
40
|
+
derivationPath: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Result of an Ethereum message signature.
|
|
44
|
+
*/
|
|
45
|
+
export interface IEthereumSignatureResult {
|
|
46
|
+
/** The original message that was signed */
|
|
47
|
+
message: string;
|
|
48
|
+
/** The ECDSA signature (hex-encoded, 65 bytes: r + s + v) */
|
|
49
|
+
signature: string;
|
|
50
|
+
/** Recovery parameter (0 or 1) */
|
|
51
|
+
recoveryParam: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Service for deriving Ethereum wallets from BrightChain member identities
|
|
55
|
+
* and performing Ethereum-compatible message signing.
|
|
56
|
+
*
|
|
57
|
+
* All methods are static — the service is stateless and safe to call
|
|
58
|
+
* from any context (browser or Node.js).
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const eciesService = ServiceProvider.getInstance().eciesService;
|
|
63
|
+
*
|
|
64
|
+
* // Derive Ethereum address from paper key
|
|
65
|
+
* const result = EthereumWalletService.deriveAddress(paperKey);
|
|
66
|
+
* console.log(result.address); // 0x1234...abcd (EIP-55 checksummed)
|
|
67
|
+
*
|
|
68
|
+
* // Sign a message
|
|
69
|
+
* const sig = EthereumWalletService.signMessage(paperKey, 'Hello World');
|
|
70
|
+
*
|
|
71
|
+
* // Verify the signature
|
|
72
|
+
* const valid = EthereumWalletService.verifySignature(
|
|
73
|
+
* 'Hello World',
|
|
74
|
+
* sig.signature,
|
|
75
|
+
* result.address,
|
|
76
|
+
* );
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare class EthereumWalletService {
|
|
80
|
+
/**
|
|
81
|
+
* Derive an Ethereum address from a BIP39 mnemonic paper key.
|
|
82
|
+
*
|
|
83
|
+
* Uses BIP44 path m/44'/60'/0'/0/0 to derive the first Ethereum
|
|
84
|
+
* address. The address is returned in EIP-55 checksummed format.
|
|
85
|
+
*
|
|
86
|
+
* **Validates: Requirements 6.1, 6.4**
|
|
87
|
+
*
|
|
88
|
+
* @param paperKey - The 24-word BIP39 mnemonic
|
|
89
|
+
* @returns The derived Ethereum address, public key, and derivation path
|
|
90
|
+
* @throws {EthereumDerivationError} If derivation fails
|
|
91
|
+
*/
|
|
92
|
+
static deriveAddress(paperKey: string): IEthereumAddressResult;
|
|
93
|
+
/**
|
|
94
|
+
* Derive an Ethereum address from a paper key after validating it.
|
|
95
|
+
*
|
|
96
|
+
* Convenience method that validates the paper key before derivation.
|
|
97
|
+
*
|
|
98
|
+
* @param paperKey - The 24-word BIP39 mnemonic
|
|
99
|
+
* @param eciesService - The ECIES service for paper key validation
|
|
100
|
+
* @returns The derived Ethereum address result
|
|
101
|
+
* @throws {EthereumDerivationError} If the paper key is invalid or derivation fails
|
|
102
|
+
*/
|
|
103
|
+
static deriveAddressFromValidatedKey<TID extends PlatformID = Uint8Array>(paperKey: string, eciesService: ECIESService<TID>): IEthereumAddressResult;
|
|
104
|
+
/**
|
|
105
|
+
* Sign a message using the Ethereum personal_sign format (EIP-191).
|
|
106
|
+
*
|
|
107
|
+
* Prepends the standard Ethereum message prefix before signing,
|
|
108
|
+
* making the signature compatible with MetaMask's personal_sign
|
|
109
|
+
* and web3.eth.personal.sign.
|
|
110
|
+
*
|
|
111
|
+
* **Validates: Requirements 6.2, 6.3**
|
|
112
|
+
*
|
|
113
|
+
* @param paperKey - The 24-word BIP39 mnemonic (private key source)
|
|
114
|
+
* @param message - The message to sign
|
|
115
|
+
* @returns The signature result with hex-encoded signature and recovery param
|
|
116
|
+
* @throws {EthereumSigningError} If signing fails
|
|
117
|
+
*/
|
|
118
|
+
static signMessage(paperKey: string, message: string): IEthereumSignatureResult;
|
|
119
|
+
/**
|
|
120
|
+
* Verify an Ethereum personal_sign signature.
|
|
121
|
+
*
|
|
122
|
+
* Recovers the signer's address from the signature and compares it
|
|
123
|
+
* to the expected address.
|
|
124
|
+
*
|
|
125
|
+
* **Validates: Requirements 6.7, 6.8**
|
|
126
|
+
*
|
|
127
|
+
* @param message - The original message that was signed
|
|
128
|
+
* @param signature - The hex-encoded 65-byte signature (0x-prefixed)
|
|
129
|
+
* @param address - The expected signer's Ethereum address (EIP-55)
|
|
130
|
+
* @returns `true` if the signature was produced by the address owner
|
|
131
|
+
*/
|
|
132
|
+
static verifySignature(message: string, signature: string, address: string): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Recover the signer's Ethereum address from a signed message.
|
|
135
|
+
*
|
|
136
|
+
* @param message - The original message
|
|
137
|
+
* @param signature - The hex-encoded 65-byte signature (0x-prefixed)
|
|
138
|
+
* @returns The recovered EIP-55 checksummed Ethereum address
|
|
139
|
+
* @throws {EthereumSigningError} If recovery fails
|
|
140
|
+
*/
|
|
141
|
+
static recoverAddress(message: string, signature: string): string;
|
|
142
|
+
/**
|
|
143
|
+
* Hash a message using the EIP-191 personal message format.
|
|
144
|
+
*
|
|
145
|
+
* Format: keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)
|
|
146
|
+
*
|
|
147
|
+
* @param message - The message to hash
|
|
148
|
+
* @returns The 32-byte keccak256 hash
|
|
149
|
+
*/
|
|
150
|
+
static hashMessage(message: string): Uint8Array;
|
|
151
|
+
/**
|
|
152
|
+
* Validate an EIP-55 checksummed Ethereum address.
|
|
153
|
+
*
|
|
154
|
+
* @param address - The address to validate
|
|
155
|
+
* @returns `true` if the address is valid and properly checksummed
|
|
156
|
+
*/
|
|
157
|
+
static isValidAddress(address: string): boolean;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=ethereumWalletService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ethereumWalletService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/crypto/ethereumWalletService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAuBtE;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAID;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAC;CACvB;AAkGD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB;IAmC9D;;;;;;;;;OASG;IACH,MAAM,CAAC,6BAA6B,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACtE,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,GAC9B,sBAAsB;IAOzB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,wBAAwB;IAoC3B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO;IAYV;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAgCjE;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAW/C;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGhD"}
|