@unwanted/matrix-sdk-mini 34.12.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5910 -0
- package/LICENSE +177 -0
- package/README.md +459 -0
- package/git-revision.txt +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
- package/lib/@types/IIdentityServerProvider.d.ts +9 -0
- package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
- package/lib/@types/IIdentityServerProvider.js +1 -0
- package/lib/@types/IIdentityServerProvider.js.map +1 -0
- package/lib/@types/PushRules.d.ts +140 -0
- package/lib/@types/PushRules.d.ts.map +1 -0
- package/lib/@types/PushRules.js +94 -0
- package/lib/@types/PushRules.js.map +1 -0
- package/lib/@types/another-json.d.js +0 -0
- package/lib/@types/another-json.d.js.map +1 -0
- package/lib/@types/auth.d.ts +208 -0
- package/lib/@types/auth.d.ts.map +1 -0
- package/lib/@types/auth.js +99 -0
- package/lib/@types/auth.js.map +1 -0
- package/lib/@types/beacon.d.ts +106 -0
- package/lib/@types/beacon.d.ts.map +1 -0
- package/lib/@types/beacon.js +119 -0
- package/lib/@types/beacon.js.map +1 -0
- package/lib/@types/common.d.ts +9 -0
- package/lib/@types/common.d.ts.map +1 -0
- package/lib/@types/common.js +1 -0
- package/lib/@types/common.js.map +1 -0
- package/lib/@types/crypto.d.ts +47 -0
- package/lib/@types/crypto.d.ts.map +1 -0
- package/lib/@types/crypto.js +1 -0
- package/lib/@types/crypto.js.map +1 -0
- package/lib/@types/event.d.ts +258 -0
- package/lib/@types/event.d.ts.map +1 -0
- package/lib/@types/event.js +239 -0
- package/lib/@types/event.js.map +1 -0
- package/lib/@types/events.d.ts +92 -0
- package/lib/@types/events.d.ts.map +1 -0
- package/lib/@types/events.js +1 -0
- package/lib/@types/events.js.map +1 -0
- package/lib/@types/extensible_events.d.ts +98 -0
- package/lib/@types/extensible_events.d.ts.map +1 -0
- package/lib/@types/extensible_events.js +116 -0
- package/lib/@types/extensible_events.js.map +1 -0
- package/lib/@types/global.d.js +20 -0
- package/lib/@types/global.d.js.map +1 -0
- package/lib/@types/local_notifications.d.ts +4 -0
- package/lib/@types/local_notifications.d.ts.map +1 -0
- package/lib/@types/local_notifications.js +1 -0
- package/lib/@types/local_notifications.js.map +1 -0
- package/lib/@types/location.d.ts +60 -0
- package/lib/@types/location.d.ts.map +1 -0
- package/lib/@types/location.js +67 -0
- package/lib/@types/location.js.map +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
- package/lib/@types/media.d.ts +220 -0
- package/lib/@types/media.d.ts.map +1 -0
- package/lib/@types/media.js +1 -0
- package/lib/@types/media.js.map +1 -0
- package/lib/@types/membership.d.ts +41 -0
- package/lib/@types/membership.d.ts.map +1 -0
- package/lib/@types/membership.js +37 -0
- package/lib/@types/membership.js.map +1 -0
- package/lib/@types/oidc-client-ts.d.js +18 -0
- package/lib/@types/oidc-client-ts.d.js.map +1 -0
- package/lib/@types/partials.d.ts +39 -0
- package/lib/@types/partials.d.ts.map +1 -0
- package/lib/@types/partials.js +53 -0
- package/lib/@types/partials.js.map +1 -0
- package/lib/@types/polls.d.ts +88 -0
- package/lib/@types/polls.d.ts.map +1 -0
- package/lib/@types/polls.js +86 -0
- package/lib/@types/polls.js.map +1 -0
- package/lib/@types/read_receipts.d.ts +36 -0
- package/lib/@types/read_receipts.d.ts.map +1 -0
- package/lib/@types/read_receipts.js +27 -0
- package/lib/@types/read_receipts.js.map +1 -0
- package/lib/@types/registration.d.ts +85 -0
- package/lib/@types/registration.d.ts.map +1 -0
- package/lib/@types/registration.js +1 -0
- package/lib/@types/registration.js.map +1 -0
- package/lib/@types/requests.d.ts +241 -0
- package/lib/@types/requests.d.ts.map +1 -0
- package/lib/@types/requests.js +28 -0
- package/lib/@types/requests.js.map +1 -0
- package/lib/@types/search.d.ts +90 -0
- package/lib/@types/search.d.ts.map +1 -0
- package/lib/@types/search.js +30 -0
- package/lib/@types/search.js.map +1 -0
- package/lib/@types/signed.d.ts +9 -0
- package/lib/@types/signed.d.ts.map +1 -0
- package/lib/@types/signed.js +1 -0
- package/lib/@types/signed.js.map +1 -0
- package/lib/@types/spaces.d.ts +16 -0
- package/lib/@types/spaces.d.ts.map +1 -0
- package/lib/@types/spaces.js +1 -0
- package/lib/@types/spaces.js.map +1 -0
- package/lib/@types/state_events.d.ts +116 -0
- package/lib/@types/state_events.d.ts.map +1 -0
- package/lib/@types/state_events.js +1 -0
- package/lib/@types/state_events.js.map +1 -0
- package/lib/@types/synapse.d.ts +19 -0
- package/lib/@types/synapse.d.ts.map +1 -0
- package/lib/@types/synapse.js +1 -0
- package/lib/@types/synapse.js.map +1 -0
- package/lib/@types/sync.d.ts +8 -0
- package/lib/@types/sync.d.ts.map +1 -0
- package/lib/@types/sync.js +25 -0
- package/lib/@types/sync.js.map +1 -0
- package/lib/@types/threepids.d.ts +12 -0
- package/lib/@types/threepids.d.ts.map +1 -0
- package/lib/@types/threepids.js +24 -0
- package/lib/@types/threepids.js.map +1 -0
- package/lib/@types/topic.d.ts +48 -0
- package/lib/@types/topic.d.ts.map +1 -0
- package/lib/@types/topic.js +57 -0
- package/lib/@types/topic.js.map +1 -0
- package/lib/@types/uia.d.ts +12 -0
- package/lib/@types/uia.d.ts.map +1 -0
- package/lib/@types/uia.js +1 -0
- package/lib/@types/uia.js.map +1 -0
- package/lib/NamespacedValue.d.ts +33 -0
- package/lib/NamespacedValue.d.ts.map +1 -0
- package/lib/NamespacedValue.js +113 -0
- package/lib/NamespacedValue.js.map +1 -0
- package/lib/ReEmitter.d.ts +15 -0
- package/lib/ReEmitter.d.ts.map +1 -0
- package/lib/ReEmitter.js +87 -0
- package/lib/ReEmitter.js.map +1 -0
- package/lib/ToDeviceMessageQueue.d.ts +28 -0
- package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
- package/lib/ToDeviceMessageQueue.js +135 -0
- package/lib/ToDeviceMessageQueue.js.map +1 -0
- package/lib/autodiscovery.d.ts +136 -0
- package/lib/autodiscovery.d.ts.map +1 -0
- package/lib/autodiscovery.js +464 -0
- package/lib/autodiscovery.js.map +1 -0
- package/lib/base64.d.ts +28 -0
- package/lib/base64.d.ts.map +1 -0
- package/lib/base64.js +88 -0
- package/lib/base64.js.map +1 -0
- package/lib/browser-index.d.ts +8 -0
- package/lib/browser-index.d.ts.map +1 -0
- package/lib/browser-index.js +35 -0
- package/lib/browser-index.js.map +1 -0
- package/lib/client.d.ts +4232 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +8622 -0
- package/lib/client.js.map +1 -0
- package/lib/common-crypto/CryptoBackend.d.ts +240 -0
- package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
- package/lib/common-crypto/CryptoBackend.js +73 -0
- package/lib/common-crypto/CryptoBackend.js.map +1 -0
- package/lib/common-crypto/key-passphrase.d.ts +14 -0
- package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
- package/lib/common-crypto/key-passphrase.js +33 -0
- package/lib/common-crypto/key-passphrase.js.map +1 -0
- package/lib/content-helpers.d.ts +90 -0
- package/lib/content-helpers.d.ts.map +1 -0
- package/lib/content-helpers.js +250 -0
- package/lib/content-helpers.js.map +1 -0
- package/lib/content-repo.d.ts +24 -0
- package/lib/content-repo.d.ts.map +1 -0
- package/lib/content-repo.js +104 -0
- package/lib/content-repo.js.map +1 -0
- package/lib/crypto/CrossSigning.d.ts +184 -0
- package/lib/crypto/CrossSigning.d.ts.map +1 -0
- package/lib/crypto/CrossSigning.js +718 -0
- package/lib/crypto/CrossSigning.js.map +1 -0
- package/lib/crypto/DeviceList.d.ts +216 -0
- package/lib/crypto/DeviceList.d.ts.map +1 -0
- package/lib/crypto/DeviceList.js +892 -0
- package/lib/crypto/DeviceList.js.map +1 -0
- package/lib/crypto/EncryptionSetup.d.ts +152 -0
- package/lib/crypto/EncryptionSetup.d.ts.map +1 -0
- package/lib/crypto/EncryptionSetup.js +356 -0
- package/lib/crypto/EncryptionSetup.js.map +1 -0
- package/lib/crypto/OlmDevice.d.ts +457 -0
- package/lib/crypto/OlmDevice.d.ts.map +1 -0
- package/lib/crypto/OlmDevice.js +1241 -0
- package/lib/crypto/OlmDevice.js.map +1 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +109 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +1 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +415 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +1 -0
- package/lib/crypto/RoomList.d.ts +26 -0
- package/lib/crypto/RoomList.d.ts.map +1 -0
- package/lib/crypto/RoomList.js +71 -0
- package/lib/crypto/RoomList.js.map +1 -0
- package/lib/crypto/SecretSharing.d.ts +24 -0
- package/lib/crypto/SecretSharing.d.ts.map +1 -0
- package/lib/crypto/SecretSharing.js +194 -0
- package/lib/crypto/SecretSharing.js.map +1 -0
- package/lib/crypto/SecretStorage.d.ts +55 -0
- package/lib/crypto/SecretStorage.d.ts.map +1 -0
- package/lib/crypto/SecretStorage.js +118 -0
- package/lib/crypto/SecretStorage.js.map +1 -0
- package/lib/crypto/aes.d.ts +6 -0
- package/lib/crypto/aes.d.ts.map +1 -0
- package/lib/crypto/aes.js +24 -0
- package/lib/crypto/aes.js.map +1 -0
- package/lib/crypto/algorithms/base.d.ts +156 -0
- package/lib/crypto/algorithms/base.d.ts.map +1 -0
- package/lib/crypto/algorithms/base.js +187 -0
- package/lib/crypto/algorithms/base.js.map +1 -0
- package/lib/crypto/algorithms/index.d.ts +4 -0
- package/lib/crypto/algorithms/index.d.ts.map +1 -0
- package/lib/crypto/algorithms/index.js +20 -0
- package/lib/crypto/algorithms/index.js.map +1 -0
- package/lib/crypto/algorithms/megolm.d.ts +385 -0
- package/lib/crypto/algorithms/megolm.d.ts.map +1 -0
- package/lib/crypto/algorithms/megolm.js +1822 -0
- package/lib/crypto/algorithms/megolm.js.map +1 -0
- package/lib/crypto/algorithms/olm.d.ts +5 -0
- package/lib/crypto/algorithms/olm.d.ts.map +1 -0
- package/lib/crypto/algorithms/olm.js +299 -0
- package/lib/crypto/algorithms/olm.js.map +1 -0
- package/lib/crypto/api.d.ts +32 -0
- package/lib/crypto/api.d.ts.map +1 -0
- package/lib/crypto/api.js +22 -0
- package/lib/crypto/api.js.map +1 -0
- package/lib/crypto/backup.d.ts +227 -0
- package/lib/crypto/backup.d.ts.map +1 -0
- package/lib/crypto/backup.js +824 -0
- package/lib/crypto/backup.js.map +1 -0
- package/lib/crypto/crypto.d.ts +3 -0
- package/lib/crypto/crypto.d.ts.map +1 -0
- package/lib/crypto/crypto.js +19 -0
- package/lib/crypto/crypto.js.map +1 -0
- package/lib/crypto/dehydration.d.ts +34 -0
- package/lib/crypto/dehydration.d.ts.map +1 -0
- package/lib/crypto/dehydration.js +252 -0
- package/lib/crypto/dehydration.js.map +1 -0
- package/lib/crypto/device-converter.d.ts +9 -0
- package/lib/crypto/device-converter.d.ts.map +1 -0
- package/lib/crypto/device-converter.js +42 -0
- package/lib/crypto/device-converter.js.map +1 -0
- package/lib/crypto/deviceinfo.d.ts +99 -0
- package/lib/crypto/deviceinfo.d.ts.map +1 -0
- package/lib/crypto/deviceinfo.js +148 -0
- package/lib/crypto/deviceinfo.js.map +1 -0
- package/lib/crypto/index.d.ts +1209 -0
- package/lib/crypto/index.d.ts.map +1 -0
- package/lib/crypto/index.js +4097 -0
- package/lib/crypto/index.js.map +1 -0
- package/lib/crypto/key_passphrase.d.ts +14 -0
- package/lib/crypto/key_passphrase.d.ts.map +1 -0
- package/lib/crypto/key_passphrase.js +44 -0
- package/lib/crypto/key_passphrase.js.map +1 -0
- package/lib/crypto/keybackup.d.ts +18 -0
- package/lib/crypto/keybackup.d.ts.map +1 -0
- package/lib/crypto/keybackup.js +1 -0
- package/lib/crypto/keybackup.js.map +1 -0
- package/lib/crypto/olmlib.d.ts +129 -0
- package/lib/crypto/olmlib.d.ts.map +1 -0
- package/lib/crypto/olmlib.js +492 -0
- package/lib/crypto/olmlib.js.map +1 -0
- package/lib/crypto/recoverykey.d.ts +2 -0
- package/lib/crypto/recoverykey.d.ts.map +1 -0
- package/lib/crypto/recoverykey.js +19 -0
- package/lib/crypto/recoverykey.js.map +1 -0
- package/lib/crypto/store/base.d.ts +252 -0
- package/lib/crypto/store/base.d.ts.map +1 -0
- package/lib/crypto/store/base.js +64 -0
- package/lib/crypto/store/base.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +187 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +1145 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +432 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.js +728 -0
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts +119 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.js +531 -0
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
- package/lib/crypto/store/memory-crypto-store.d.ts +215 -0
- package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/memory-crypto-store.js +622 -0
- package/lib/crypto/store/memory-crypto-store.js.map +1 -0
- package/lib/crypto/verification/Base.d.ts +105 -0
- package/lib/crypto/verification/Base.d.ts.map +1 -0
- package/lib/crypto/verification/Base.js +372 -0
- package/lib/crypto/verification/Base.js.map +1 -0
- package/lib/crypto/verification/Error.d.ts +35 -0
- package/lib/crypto/verification/Error.d.ts.map +1 -0
- package/lib/crypto/verification/Error.js +86 -0
- package/lib/crypto/verification/Error.js.map +1 -0
- package/lib/crypto/verification/IllegalMethod.d.ts +15 -0
- package/lib/crypto/verification/IllegalMethod.d.ts.map +1 -0
- package/lib/crypto/verification/IllegalMethod.js +43 -0
- package/lib/crypto/verification/IllegalMethod.js.map +1 -0
- package/lib/crypto/verification/QRCode.d.ts +51 -0
- package/lib/crypto/verification/QRCode.d.ts.map +1 -0
- package/lib/crypto/verification/QRCode.js +277 -0
- package/lib/crypto/verification/QRCode.js.map +1 -0
- package/lib/crypto/verification/SAS.d.ts +27 -0
- package/lib/crypto/verification/SAS.d.ts.map +1 -0
- package/lib/crypto/verification/SAS.js +485 -0
- package/lib/crypto/verification/SAS.js.map +1 -0
- package/lib/crypto/verification/SASDecimal.d.ts +8 -0
- package/lib/crypto/verification/SASDecimal.d.ts.map +1 -0
- package/lib/crypto/verification/SASDecimal.js +34 -0
- package/lib/crypto/verification/SASDecimal.js.map +1 -0
- package/lib/crypto/verification/request/Channel.d.ts +18 -0
- package/lib/crypto/verification/request/Channel.d.ts.map +1 -0
- package/lib/crypto/verification/request/Channel.js +1 -0
- package/lib/crypto/verification/request/Channel.js.map +1 -0
- package/lib/crypto/verification/request/InRoomChannel.d.ts +113 -0
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +1 -0
- package/lib/crypto/verification/request/InRoomChannel.js +351 -0
- package/lib/crypto/verification/request/InRoomChannel.js.map +1 -0
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +105 -0
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +1 -0
- package/lib/crypto/verification/request/ToDeviceChannel.js +328 -0
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +1 -0
- package/lib/crypto/verification/request/VerificationRequest.d.ts +227 -0
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +1 -0
- package/lib/crypto/verification/request/VerificationRequest.js +937 -0
- package/lib/crypto/verification/request/VerificationRequest.js.map +1 -0
- package/lib/crypto-api/CryptoEvent.d.ts +69 -0
- package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEvent.js +33 -0
- package/lib/crypto-api/CryptoEvent.js.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +16 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js +22 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
- package/lib/crypto-api/index.d.ts +978 -0
- package/lib/crypto-api/index.d.ts.map +1 -0
- package/lib/crypto-api/index.js +304 -0
- package/lib/crypto-api/index.js.map +1 -0
- package/lib/crypto-api/key-passphrase.d.ts +11 -0
- package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
- package/lib/crypto-api/key-passphrase.js +51 -0
- package/lib/crypto-api/key-passphrase.js.map +1 -0
- package/lib/crypto-api/keybackup.d.ts +88 -0
- package/lib/crypto-api/keybackup.d.ts.map +1 -0
- package/lib/crypto-api/keybackup.js +1 -0
- package/lib/crypto-api/keybackup.js.map +1 -0
- package/lib/crypto-api/recovery-key.d.ts +11 -0
- package/lib/crypto-api/recovery-key.d.ts.map +1 -0
- package/lib/crypto-api/recovery-key.js +65 -0
- package/lib/crypto-api/recovery-key.js.map +1 -0
- package/lib/crypto-api/verification.d.ts +344 -0
- package/lib/crypto-api/verification.d.ts.map +1 -0
- package/lib/crypto-api/verification.js +91 -0
- package/lib/crypto-api/verification.js.map +1 -0
- package/lib/digest.d.ts +10 -0
- package/lib/digest.d.ts.map +1 -0
- package/lib/digest.js +40 -0
- package/lib/digest.js.map +1 -0
- package/lib/embedded.d.ts +143 -0
- package/lib/embedded.d.ts.map +1 -0
- package/lib/embedded.js +567 -0
- package/lib/embedded.js.map +1 -0
- package/lib/errors.d.ts +24 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +51 -0
- package/lib/errors.js.map +1 -0
- package/lib/event-mapper.d.ts +10 -0
- package/lib/event-mapper.d.ts.map +1 -0
- package/lib/event-mapper.js +81 -0
- package/lib/event-mapper.js.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.js +25 -0
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts +45 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.js +134 -0
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.js +88 -0
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.js +185 -0
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
- package/lib/extensible_events_v1/utilities.d.ts +14 -0
- package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
- package/lib/extensible_events_v1/utilities.js +34 -0
- package/lib/extensible_events_v1/utilities.js.map +1 -0
- package/lib/feature.d.ts +20 -0
- package/lib/feature.d.ts.map +1 -0
- package/lib/feature.js +85 -0
- package/lib/feature.js.map +1 -0
- package/lib/filter-component.d.ts +64 -0
- package/lib/filter-component.d.ts.map +1 -0
- package/lib/filter-component.js +167 -0
- package/lib/filter-component.js.map +1 -0
- package/lib/filter.d.ts +97 -0
- package/lib/filter.d.ts.map +1 -0
- package/lib/filter.js +207 -0
- package/lib/filter.js.map +1 -0
- package/lib/http-api/errors.d.ts +80 -0
- package/lib/http-api/errors.d.ts.map +1 -0
- package/lib/http-api/errors.js +185 -0
- package/lib/http-api/errors.js.map +1 -0
- package/lib/http-api/fetch.d.ts +114 -0
- package/lib/http-api/fetch.d.ts.map +1 -0
- package/lib/http-api/fetch.js +346 -0
- package/lib/http-api/fetch.js.map +1 -0
- package/lib/http-api/index.d.ts +33 -0
- package/lib/http-api/index.d.ts.map +1 -0
- package/lib/http-api/index.js +180 -0
- package/lib/http-api/index.js.map +1 -0
- package/lib/http-api/interface.d.ts +142 -0
- package/lib/http-api/interface.d.ts.map +1 -0
- package/lib/http-api/interface.js +35 -0
- package/lib/http-api/interface.js.map +1 -0
- package/lib/http-api/method.d.ts +10 -0
- package/lib/http-api/method.d.ts.map +1 -0
- package/lib/http-api/method.js +27 -0
- package/lib/http-api/method.js.map +1 -0
- package/lib/http-api/prefix.d.ts +31 -0
- package/lib/http-api/prefix.d.ts.map +1 -0
- package/lib/http-api/prefix.js +32 -0
- package/lib/http-api/prefix.js.map +1 -0
- package/lib/http-api/utils.d.ts +37 -0
- package/lib/http-api/utils.d.ts.map +1 -0
- package/lib/http-api/utils.js +178 -0
- package/lib/http-api/utils.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/lib/indexeddb-helpers.d.ts +10 -0
- package/lib/indexeddb-helpers.d.ts.map +1 -0
- package/lib/indexeddb-helpers.js +51 -0
- package/lib/indexeddb-helpers.js.map +1 -0
- package/lib/indexeddb-worker.d.ts +7 -0
- package/lib/indexeddb-worker.d.ts.map +1 -0
- package/lib/indexeddb-worker.js +25 -0
- package/lib/indexeddb-worker.js.map +1 -0
- package/lib/interactive-auth.d.ts +337 -0
- package/lib/interactive-auth.d.ts.map +1 -0
- package/lib/interactive-auth.js +557 -0
- package/lib/interactive-auth.js.map +1 -0
- package/lib/logger.d.ts +81 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +139 -0
- package/lib/logger.js.map +1 -0
- package/lib/matrix.d.ts +118 -0
- package/lib/matrix.d.ts.map +1 -0
- package/lib/matrix.js +146 -0
- package/lib/matrix.js.map +1 -0
- package/lib/matrixrtc/CallMembership.d.ts +66 -0
- package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
- package/lib/matrixrtc/CallMembership.js +197 -0
- package/lib/matrixrtc/CallMembership.js.map +1 -0
- package/lib/matrixrtc/LivekitFocus.d.ts +16 -0
- package/lib/matrixrtc/LivekitFocus.d.ts.map +1 -0
- package/lib/matrixrtc/LivekitFocus.js +20 -0
- package/lib/matrixrtc/LivekitFocus.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts +295 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.js +1043 -0
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +40 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js +146 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
- package/lib/matrixrtc/focus.d.ts +10 -0
- package/lib/matrixrtc/focus.d.ts.map +1 -0
- package/lib/matrixrtc/focus.js +1 -0
- package/lib/matrixrtc/focus.js.map +1 -0
- package/lib/matrixrtc/index.d.ts +7 -0
- package/lib/matrixrtc/index.d.ts.map +1 -0
- package/lib/matrixrtc/index.js +21 -0
- package/lib/matrixrtc/index.js.map +1 -0
- package/lib/matrixrtc/types.d.ts +19 -0
- package/lib/matrixrtc/types.d.ts.map +1 -0
- package/lib/matrixrtc/types.js +1 -0
- package/lib/matrixrtc/types.js.map +1 -0
- package/lib/models/MSC3089Branch.d.ts +98 -0
- package/lib/models/MSC3089Branch.d.ts.map +1 -0
- package/lib/models/MSC3089Branch.js +240 -0
- package/lib/models/MSC3089Branch.js.map +1 -0
- package/lib/models/MSC3089TreeSpace.d.ts +165 -0
- package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
- package/lib/models/MSC3089TreeSpace.js +520 -0
- package/lib/models/MSC3089TreeSpace.js.map +1 -0
- package/lib/models/ToDeviceMessage.d.ts +17 -0
- package/lib/models/ToDeviceMessage.d.ts.map +1 -0
- package/lib/models/ToDeviceMessage.js +1 -0
- package/lib/models/ToDeviceMessage.js.map +1 -0
- package/lib/models/beacon.d.ts +53 -0
- package/lib/models/beacon.d.ts.map +1 -0
- package/lib/models/beacon.js +174 -0
- package/lib/models/beacon.js.map +1 -0
- package/lib/models/compare-event-ordering.d.ts +24 -0
- package/lib/models/compare-event-ordering.d.ts.map +1 -0
- package/lib/models/compare-event-ordering.js +120 -0
- package/lib/models/compare-event-ordering.js.map +1 -0
- package/lib/models/device.d.ts +45 -0
- package/lib/models/device.d.ts.map +1 -0
- package/lib/models/device.js +77 -0
- package/lib/models/device.js.map +1 -0
- package/lib/models/event-context.d.ts +62 -0
- package/lib/models/event-context.d.ts.map +1 -0
- package/lib/models/event-context.js +113 -0
- package/lib/models/event-context.js.map +1 -0
- package/lib/models/event-status.d.ts +19 -0
- package/lib/models/event-status.d.ts.map +1 -0
- package/lib/models/event-status.js +30 -0
- package/lib/models/event-status.js.map +1 -0
- package/lib/models/event-timeline-set.d.ts +312 -0
- package/lib/models/event-timeline-set.d.ts.map +1 -0
- package/lib/models/event-timeline-set.js +813 -0
- package/lib/models/event-timeline-set.js.map +1 -0
- package/lib/models/event-timeline.d.ts +219 -0
- package/lib/models/event-timeline.d.ts.map +1 -0
- package/lib/models/event-timeline.js +455 -0
- package/lib/models/event-timeline.js.map +1 -0
- package/lib/models/event.d.ts +811 -0
- package/lib/models/event.d.ts.map +1 -0
- package/lib/models/event.js +1520 -0
- package/lib/models/event.js.map +1 -0
- package/lib/models/invites-ignorer.d.ts +136 -0
- package/lib/models/invites-ignorer.d.ts.map +1 -0
- package/lib/models/invites-ignorer.js +382 -0
- package/lib/models/invites-ignorer.js.map +1 -0
- package/lib/models/poll.d.ts +67 -0
- package/lib/models/poll.d.ts.map +1 -0
- package/lib/models/poll.js +241 -0
- package/lib/models/poll.js.map +1 -0
- package/lib/models/profile-keys.d.ts +8 -0
- package/lib/models/profile-keys.d.ts.map +1 -0
- package/lib/models/profile-keys.js +8 -0
- package/lib/models/profile-keys.js.map +1 -0
- package/lib/models/read-receipt.d.ts +115 -0
- package/lib/models/read-receipt.d.ts.map +1 -0
- package/lib/models/read-receipt.js +366 -0
- package/lib/models/read-receipt.js.map +1 -0
- package/lib/models/related-relations.d.ts +11 -0
- package/lib/models/related-relations.d.ts.map +1 -0
- package/lib/models/related-relations.js +33 -0
- package/lib/models/related-relations.js.map +1 -0
- package/lib/models/relations-container.d.ts +44 -0
- package/lib/models/relations-container.d.ts.map +1 -0
- package/lib/models/relations-container.js +132 -0
- package/lib/models/relations-container.js.map +1 -0
- package/lib/models/relations.d.ts +114 -0
- package/lib/models/relations.d.ts.map +1 -0
- package/lib/models/relations.js +354 -0
- package/lib/models/relations.js.map +1 -0
- package/lib/models/room-member.d.ts +204 -0
- package/lib/models/room-member.d.ts.map +1 -0
- package/lib/models/room-member.js +360 -0
- package/lib/models/room-member.js.map +1 -0
- package/lib/models/room-receipts.d.ts +39 -0
- package/lib/models/room-receipts.d.ts.map +1 -0
- package/lib/models/room-receipts.js +392 -0
- package/lib/models/room-receipts.js.map +1 -0
- package/lib/models/room-state.d.ts +468 -0
- package/lib/models/room-state.d.ts.map +1 -0
- package/lib/models/room-state.js +984 -0
- package/lib/models/room-state.js.map +1 -0
- package/lib/models/room-summary.d.ts +29 -0
- package/lib/models/room-summary.d.ts.map +1 -0
- package/lib/models/room-summary.js +28 -0
- package/lib/models/room-summary.js.map +1 -0
- package/lib/models/room.d.ts +1203 -0
- package/lib/models/room.d.ts.map +1 -0
- package/lib/models/room.js +3336 -0
- package/lib/models/room.js.map +1 -0
- package/lib/models/search-result.d.ts +20 -0
- package/lib/models/search-result.d.ts.map +1 -0
- package/lib/models/search-result.js +52 -0
- package/lib/models/search-result.js.map +1 -0
- package/lib/models/thread.d.ts +246 -0
- package/lib/models/thread.d.ts.map +1 -0
- package/lib/models/thread.js +861 -0
- package/lib/models/thread.js.map +1 -0
- package/lib/models/typed-event-emitter.d.ts +157 -0
- package/lib/models/typed-event-emitter.d.ts.map +1 -0
- package/lib/models/typed-event-emitter.js +227 -0
- package/lib/models/typed-event-emitter.js.map +1 -0
- package/lib/models/user.d.ts +195 -0
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +218 -0
- package/lib/models/user.js.map +1 -0
- package/lib/oidc/authorize.d.ts +90 -0
- package/lib/oidc/authorize.d.ts.map +1 -0
- package/lib/oidc/authorize.js +278 -0
- package/lib/oidc/authorize.js.map +1 -0
- package/lib/oidc/discovery.d.ts +14 -0
- package/lib/oidc/discovery.d.ts.map +1 -0
- package/lib/oidc/discovery.js +66 -0
- package/lib/oidc/discovery.js.map +1 -0
- package/lib/oidc/error.d.ts +18 -0
- package/lib/oidc/error.d.ts.map +1 -0
- package/lib/oidc/error.js +35 -0
- package/lib/oidc/error.js.map +1 -0
- package/lib/oidc/index.d.ts +17 -0
- package/lib/oidc/index.d.ts.map +1 -0
- package/lib/oidc/index.js +29 -0
- package/lib/oidc/index.js.map +1 -0
- package/lib/oidc/register.d.ts +43 -0
- package/lib/oidc/register.d.ts.map +1 -0
- package/lib/oidc/register.js +96 -0
- package/lib/oidc/register.js.map +1 -0
- package/lib/oidc/tokenRefresher.d.ts +69 -0
- package/lib/oidc/tokenRefresher.d.ts.map +1 -0
- package/lib/oidc/tokenRefresher.js +148 -0
- package/lib/oidc/tokenRefresher.js.map +1 -0
- package/lib/oidc/validate.d.ts +90 -0
- package/lib/oidc/validate.d.ts.map +1 -0
- package/lib/oidc/validate.js +194 -0
- package/lib/oidc/validate.js.map +1 -0
- package/lib/pushprocessor.d.ts +128 -0
- package/lib/pushprocessor.d.ts.map +1 -0
- package/lib/pushprocessor.js +685 -0
- package/lib/pushprocessor.js.map +1 -0
- package/lib/randomstring.d.ts +5 -0
- package/lib/randomstring.d.ts.map +1 -0
- package/lib/randomstring.js +43 -0
- package/lib/randomstring.js.map +1 -0
- package/lib/realtime-callbacks.d.ts +18 -0
- package/lib/realtime-callbacks.d.ts.map +1 -0
- package/lib/realtime-callbacks.js +177 -0
- package/lib/realtime-callbacks.js.map +1 -0
- package/lib/receipt-accumulator.d.ts +51 -0
- package/lib/receipt-accumulator.d.ts.map +1 -0
- package/lib/receipt-accumulator.js +164 -0
- package/lib/receipt-accumulator.js.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js +392 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
- package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
- package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousChannel.js +1 -0
- package/lib/rendezvous/RendezvousChannel.js.map +1 -0
- package/lib/rendezvous/RendezvousCode.d.ts +9 -0
- package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousCode.js +1 -0
- package/lib/rendezvous/RendezvousCode.js.map +1 -0
- package/lib/rendezvous/RendezvousError.d.ts +6 -0
- package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousError.js +23 -0
- package/lib/rendezvous/RendezvousError.js.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.js +38 -0
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
- package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
- package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousIntent.js +22 -0
- package/lib/rendezvous/RendezvousIntent.js.map +1 -0
- package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
- package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousTransport.js +1 -0
- package/lib/rendezvous/RendezvousTransport.js.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
- package/lib/rendezvous/channels/index.d.ts +2 -0
- package/lib/rendezvous/channels/index.d.ts.map +1 -0
- package/lib/rendezvous/channels/index.js +18 -0
- package/lib/rendezvous/channels/index.js.map +1 -0
- package/lib/rendezvous/index.d.ts +10 -0
- package/lib/rendezvous/index.d.ts.map +1 -0
- package/lib/rendezvous/index.js +23 -0
- package/lib/rendezvous/index.js.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +253 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
- package/lib/rendezvous/transports/index.d.ts +2 -0
- package/lib/rendezvous/transports/index.d.ts.map +1 -0
- package/lib/rendezvous/transports/index.js +18 -0
- package/lib/rendezvous/transports/index.js.map +1 -0
- package/lib/room-hierarchy.d.ts +35 -0
- package/lib/room-hierarchy.d.ts.map +1 -0
- package/lib/room-hierarchy.js +136 -0
- package/lib/room-hierarchy.js.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +33 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.js +157 -0
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +98 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js +285 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.js +82 -0
- package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +43 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js +195 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js +148 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +467 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts +98 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.js +299 -0
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
- package/lib/rust-crypto/backup.d.ts +254 -0
- package/lib/rust-crypto/backup.d.ts.map +1 -0
- package/lib/rust-crypto/backup.js +837 -0
- package/lib/rust-crypto/backup.js.map +1 -0
- package/lib/rust-crypto/constants.d.ts +3 -0
- package/lib/rust-crypto/constants.d.ts.map +1 -0
- package/lib/rust-crypto/constants.js +19 -0
- package/lib/rust-crypto/constants.js.map +1 -0
- package/lib/rust-crypto/device-converter.d.ts +28 -0
- package/lib/rust-crypto/device-converter.d.ts.map +1 -0
- package/lib/rust-crypto/device-converter.js +123 -0
- package/lib/rust-crypto/device-converter.js.map +1 -0
- package/lib/rust-crypto/index.d.ts +61 -0
- package/lib/rust-crypto/index.d.ts.map +1 -0
- package/lib/rust-crypto/index.js +152 -0
- package/lib/rust-crypto/index.js.map +1 -0
- package/lib/rust-crypto/libolm_migration.d.ts +81 -0
- package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
- package/lib/rust-crypto/libolm_migration.js +459 -0
- package/lib/rust-crypto/libolm_migration.js.map +1 -0
- package/lib/rust-crypto/rust-crypto.d.ts +556 -0
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
- package/lib/rust-crypto/rust-crypto.js +2016 -0
- package/lib/rust-crypto/rust-crypto.js.map +1 -0
- package/lib/rust-crypto/secret-storage.d.ts +22 -0
- package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
- package/lib/rust-crypto/secret-storage.js +63 -0
- package/lib/rust-crypto/secret-storage.js.map +1 -0
- package/lib/rust-crypto/verification.d.ts +319 -0
- package/lib/rust-crypto/verification.d.ts.map +1 -0
- package/lib/rust-crypto/verification.js +816 -0
- package/lib/rust-crypto/verification.js.map +1 -0
- package/lib/scheduler.d.ts +132 -0
- package/lib/scheduler.d.ts.map +1 -0
- package/lib/scheduler.js +259 -0
- package/lib/scheduler.js.map +1 -0
- package/lib/secret-storage.d.ts +370 -0
- package/lib/secret-storage.d.ts.map +1 -0
- package/lib/secret-storage.js +466 -0
- package/lib/secret-storage.js.map +1 -0
- package/lib/serverCapabilities.d.ts +72 -0
- package/lib/serverCapabilities.d.ts.map +1 -0
- package/lib/serverCapabilities.js +105 -0
- package/lib/serverCapabilities.js.map +1 -0
- package/lib/service-types.d.ts +5 -0
- package/lib/service-types.d.ts.map +1 -0
- package/lib/service-types.js +22 -0
- package/lib/service-types.js.map +1 -0
- package/lib/sliding-sync-sdk.d.ts +107 -0
- package/lib/sliding-sync-sdk.d.ts.map +1 -0
- package/lib/sliding-sync-sdk.js +903 -0
- package/lib/sliding-sync-sdk.js.map +1 -0
- package/lib/sliding-sync.d.ts +343 -0
- package/lib/sliding-sync.d.ts.map +1 -0
- package/lib/sliding-sync.js +817 -0
- package/lib/sliding-sync.js.map +1 -0
- package/lib/store/index.d.ts +201 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/store/index.js +1 -0
- package/lib/store/index.js.map +1 -0
- package/lib/store/indexeddb-backend.d.ts +24 -0
- package/lib/store/indexeddb-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-backend.js +1 -0
- package/lib/store/indexeddb-backend.js.map +1 -0
- package/lib/store/indexeddb-local-backend.d.ts +129 -0
- package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-local-backend.js +597 -0
- package/lib/store/indexeddb-local-backend.js.map +1 -0
- package/lib/store/indexeddb-remote-backend.d.ts +79 -0
- package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-remote-backend.js +210 -0
- package/lib/store/indexeddb-remote-backend.js.map +1 -0
- package/lib/store/indexeddb-store-worker.d.ts +35 -0
- package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
- package/lib/store/indexeddb-store-worker.js +146 -0
- package/lib/store/indexeddb-store-worker.js.map +1 -0
- package/lib/store/indexeddb.d.ts +142 -0
- package/lib/store/indexeddb.d.ts.map +1 -0
- package/lib/store/indexeddb.js +347 -0
- package/lib/store/indexeddb.js.map +1 -0
- package/lib/store/local-storage-events-emitter.d.ts +30 -0
- package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
- package/lib/store/local-storage-events-emitter.js +37 -0
- package/lib/store/local-storage-events-emitter.js.map +1 -0
- package/lib/store/memory.d.ts +209 -0
- package/lib/store/memory.d.ts.map +1 -0
- package/lib/store/memory.js +432 -0
- package/lib/store/memory.js.map +1 -0
- package/lib/store/stub.d.ts +161 -0
- package/lib/store/stub.d.ts.map +1 -0
- package/lib/store/stub.js +268 -0
- package/lib/store/stub.js.map +1 -0
- package/lib/sync-accumulator.d.ts +172 -0
- package/lib/sync-accumulator.d.ts.map +1 -0
- package/lib/sync-accumulator.js +532 -0
- package/lib/sync-accumulator.js.map +1 -0
- package/lib/sync.d.ts +260 -0
- package/lib/sync.d.ts.map +1 -0
- package/lib/sync.js +1686 -0
- package/lib/sync.js.map +1 -0
- package/lib/testing.d.ts +81 -0
- package/lib/testing.d.ts.map +1 -0
- package/lib/testing.js +162 -0
- package/lib/testing.js.map +1 -0
- package/lib/thread-utils.d.ts +10 -0
- package/lib/thread-utils.d.ts.map +1 -0
- package/lib/thread-utils.js +31 -0
- package/lib/thread-utils.js.map +1 -0
- package/lib/timeline-window.d.ts +168 -0
- package/lib/timeline-window.d.ts.map +1 -0
- package/lib/timeline-window.js +494 -0
- package/lib/timeline-window.js.map +1 -0
- package/lib/types.d.ts +33 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +33 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.js +50 -0
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.js +68 -0
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/internal/deriveKeys.d.ts +10 -0
- package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
- package/lib/utils/internal/deriveKeys.js +60 -0
- package/lib/utils/internal/deriveKeys.js.map +1 -0
- package/lib/utils.d.ts +267 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +749 -0
- package/lib/utils.js.map +1 -0
- package/lib/version-support.d.ts +19 -0
- package/lib/version-support.d.ts.map +1 -0
- package/lib/version-support.js +37 -0
- package/lib/version-support.js.map +1 -0
- package/lib/webrtc/audioContext.d.ts +15 -0
- package/lib/webrtc/audioContext.d.ts.map +1 -0
- package/lib/webrtc/audioContext.js +46 -0
- package/lib/webrtc/audioContext.js.map +1 -0
- package/lib/webrtc/call.d.ts +560 -0
- package/lib/webrtc/call.d.ts.map +1 -0
- package/lib/webrtc/call.js +2541 -0
- package/lib/webrtc/call.js.map +1 -0
- package/lib/webrtc/callEventHandler.d.ts +37 -0
- package/lib/webrtc/callEventHandler.d.ts.map +1 -0
- package/lib/webrtc/callEventHandler.js +344 -0
- package/lib/webrtc/callEventHandler.js.map +1 -0
- package/lib/webrtc/callEventTypes.d.ts +73 -0
- package/lib/webrtc/callEventTypes.d.ts.map +1 -0
- package/lib/webrtc/callEventTypes.js +13 -0
- package/lib/webrtc/callEventTypes.js.map +1 -0
- package/lib/webrtc/callFeed.d.ts +128 -0
- package/lib/webrtc/callFeed.d.ts.map +1 -0
- package/lib/webrtc/callFeed.js +289 -0
- package/lib/webrtc/callFeed.js.map +1 -0
- package/lib/webrtc/groupCall.d.ts +323 -0
- package/lib/webrtc/groupCall.d.ts.map +1 -0
- package/lib/webrtc/groupCall.js +1337 -0
- package/lib/webrtc/groupCall.js.map +1 -0
- package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
- package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
- package/lib/webrtc/groupCallEventHandler.js +178 -0
- package/lib/webrtc/groupCallEventHandler.js.map +1 -0
- package/lib/webrtc/mediaHandler.d.ts +89 -0
- package/lib/webrtc/mediaHandler.d.ts.map +1 -0
- package/lib/webrtc/mediaHandler.js +437 -0
- package/lib/webrtc/mediaHandler.js.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js +82 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
- package/lib/webrtc/stats/connectionStats.d.ts +28 -0
- package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStats.js +26 -0
- package/lib/webrtc/stats/connectionStats.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
- package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
- package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
- package/lib/webrtc/stats/groupCallStats.js +78 -0
- package/lib/webrtc/stats/groupCallStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js +62 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
- package/lib/webrtc/stats/statsReport.d.ts +99 -0
- package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReport.js +32 -0
- package/lib/webrtc/stats/statsReport.js.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.js +33 -0
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/transportStats.d.ts +11 -0
- package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStats.js +1 -0
- package/lib/webrtc/stats/transportStats.js.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
- package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
- package/lib/webrtc/stats/valueFormatter.js +25 -0
- package/lib/webrtc/stats/valueFormatter.js.map +1 -0
- package/package.json +134 -0
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
- package/src/@types/IIdentityServerProvider.ts +24 -0
- package/src/@types/PushRules.ts +209 -0
- package/src/@types/another-json.d.ts +19 -0
- package/src/@types/auth.ts +252 -0
- package/src/@types/beacon.ts +140 -0
- package/src/@types/common.ts +22 -0
- package/src/@types/crypto.ts +73 -0
- package/src/@types/event.ts +370 -0
- package/src/@types/events.ts +119 -0
- package/src/@types/extensible_events.ts +150 -0
- package/src/@types/global.d.ts +70 -0
- package/src/@types/local_notifications.ts +19 -0
- package/src/@types/location.ts +92 -0
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +44 -0
- package/src/@types/media.ts +245 -0
- package/src/@types/membership.ts +57 -0
- package/src/@types/oidc-client-ts.d.ts +24 -0
- package/src/@types/partials.ts +67 -0
- package/src/@types/polls.ts +119 -0
- package/src/@types/read_receipts.ts +61 -0
- package/src/@types/registration.ts +102 -0
- package/src/@types/requests.ts +314 -0
- package/src/@types/search.ts +119 -0
- package/src/@types/signed.ts +25 -0
- package/src/@types/spaces.ts +37 -0
- package/src/@types/state_events.ts +147 -0
- package/src/@types/synapse.ts +40 -0
- package/src/@types/sync.ts +27 -0
- package/src/@types/threepids.ts +29 -0
- package/src/@types/topic.ts +63 -0
- package/src/@types/uia.ts +29 -0
- package/src/NamespacedValue.ts +123 -0
- package/src/ReEmitter.ts +93 -0
- package/src/ToDeviceMessageQueue.ts +153 -0
- package/src/autodiscovery.ts +505 -0
- package/src/base64.ts +88 -0
- package/src/browser-index.ts +44 -0
- package/src/client.ts +10474 -0
- package/src/common-crypto/CryptoBackend.ts +302 -0
- package/src/common-crypto/README.md +4 -0
- package/src/common-crypto/key-passphrase.ts +43 -0
- package/src/content-helpers.ts +288 -0
- package/src/content-repo.ts +117 -0
- package/src/crypto/CrossSigning.ts +773 -0
- package/src/crypto/DeviceList.ts +989 -0
- package/src/crypto/EncryptionSetup.ts +351 -0
- package/src/crypto/OlmDevice.ts +1500 -0
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +485 -0
- package/src/crypto/RoomList.ts +70 -0
- package/src/crypto/SecretSharing.ts +240 -0
- package/src/crypto/SecretStorage.ts +136 -0
- package/src/crypto/aes.ts +23 -0
- package/src/crypto/algorithms/base.ts +236 -0
- package/src/crypto/algorithms/index.ts +20 -0
- package/src/crypto/algorithms/megolm.ts +2216 -0
- package/src/crypto/algorithms/olm.ts +381 -0
- package/src/crypto/api.ts +70 -0
- package/src/crypto/backup.ts +922 -0
- package/src/crypto/crypto.ts +18 -0
- package/src/crypto/dehydration.ts +272 -0
- package/src/crypto/device-converter.ts +45 -0
- package/src/crypto/deviceinfo.ts +158 -0
- package/src/crypto/index.ts +4414 -0
- package/src/crypto/key_passphrase.ts +42 -0
- package/src/crypto/keybackup.ts +47 -0
- package/src/crypto/olmlib.ts +539 -0
- package/src/crypto/recoverykey.ts +18 -0
- package/src/crypto/store/base.ts +348 -0
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +1250 -0
- package/src/crypto/store/indexeddb-crypto-store.ts +845 -0
- package/src/crypto/store/localStorage-crypto-store.ts +579 -0
- package/src/crypto/store/memory-crypto-store.ts +680 -0
- package/src/crypto/verification/Base.ts +409 -0
- package/src/crypto/verification/Error.ts +76 -0
- package/src/crypto/verification/IllegalMethod.ts +50 -0
- package/src/crypto/verification/QRCode.ts +310 -0
- package/src/crypto/verification/SAS.ts +494 -0
- package/src/crypto/verification/SASDecimal.ts +37 -0
- package/src/crypto/verification/request/Channel.ts +34 -0
- package/src/crypto/verification/request/InRoomChannel.ts +371 -0
- package/src/crypto/verification/request/ToDeviceChannel.ts +354 -0
- package/src/crypto/verification/request/VerificationRequest.ts +976 -0
- package/src/crypto-api/CryptoEvent.ts +93 -0
- package/src/crypto-api/CryptoEventHandlerMap.ts +32 -0
- package/src/crypto-api/index.ts +1175 -0
- package/src/crypto-api/key-passphrase.ts +58 -0
- package/src/crypto-api/keybackup.ts +115 -0
- package/src/crypto-api/recovery-key.ts +69 -0
- package/src/crypto-api/verification.ts +408 -0
- package/src/digest.ts +34 -0
- package/src/embedded.ts +631 -0
- package/src/errors.ts +54 -0
- package/src/event-mapper.ts +97 -0
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
- package/src/extensible_events_v1/InvalidEventError.ts +24 -0
- package/src/extensible_events_v1/MessageEvent.ts +145 -0
- package/src/extensible_events_v1/PollEndEvent.ts +97 -0
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
- package/src/extensible_events_v1/PollStartEvent.ts +207 -0
- package/src/extensible_events_v1/utilities.ts +35 -0
- package/src/feature.ts +87 -0
- package/src/filter-component.ts +207 -0
- package/src/filter.ts +245 -0
- package/src/http-api/errors.ts +199 -0
- package/src/http-api/fetch.ts +383 -0
- package/src/http-api/index.ts +191 -0
- package/src/http-api/interface.ts +178 -0
- package/src/http-api/method.ts +25 -0
- package/src/http-api/prefix.ts +48 -0
- package/src/http-api/utils.ts +200 -0
- package/src/index.ts +25 -0
- package/src/indexeddb-helpers.ts +50 -0
- package/src/indexeddb-worker.ts +24 -0
- package/src/interactive-auth.ts +694 -0
- package/src/logger.ts +185 -0
- package/src/matrix.ts +177 -0
- package/src/matrixrtc/CallMembership.ts +247 -0
- package/src/matrixrtc/LivekitFocus.ts +39 -0
- package/src/matrixrtc/MatrixRTCSession.ts +1319 -0
- package/src/matrixrtc/MatrixRTCSessionManager.ts +166 -0
- package/src/matrixrtc/focus.ts +25 -0
- package/src/matrixrtc/index.ts +22 -0
- package/src/matrixrtc/types.ts +36 -0
- package/src/models/MSC3089Branch.ts +272 -0
- package/src/models/MSC3089TreeSpace.ts +565 -0
- package/src/models/ToDeviceMessage.ts +38 -0
- package/src/models/beacon.ts +214 -0
- package/src/models/compare-event-ordering.ts +139 -0
- package/src/models/device.ts +85 -0
- package/src/models/event-context.ts +110 -0
- package/src/models/event-status.ts +39 -0
- package/src/models/event-timeline-set.ts +979 -0
- package/src/models/event-timeline.ts +476 -0
- package/src/models/event.ts +1751 -0
- package/src/models/invites-ignorer.ts +376 -0
- package/src/models/poll.ts +285 -0
- package/src/models/profile-keys.ts +7 -0
- package/src/models/read-receipt.ts +422 -0
- package/src/models/related-relations.ts +39 -0
- package/src/models/relations-container.ts +149 -0
- package/src/models/relations.ts +368 -0
- package/src/models/room-member.ts +457 -0
- package/src/models/room-receipts.ts +439 -0
- package/src/models/room-state.ts +1130 -0
- package/src/models/room-summary.ts +47 -0
- package/src/models/room.ts +3822 -0
- package/src/models/search-result.ts +57 -0
- package/src/models/thread.ts +923 -0
- package/src/models/typed-event-emitter.ts +246 -0
- package/src/models/user.ts +302 -0
- package/src/oidc/authorize.ts +274 -0
- package/src/oidc/discovery.ts +60 -0
- package/src/oidc/error.ts +33 -0
- package/src/oidc/index.ts +34 -0
- package/src/oidc/register.ts +123 -0
- package/src/oidc/tokenRefresher.ts +149 -0
- package/src/oidc/validate.ts +282 -0
- package/src/pushprocessor.ts +837 -0
- package/src/randomstring.ts +51 -0
- package/src/realtime-callbacks.ts +191 -0
- package/src/receipt-accumulator.ts +189 -0
- package/src/rendezvous/MSC4108SignInWithQR.ts +444 -0
- package/src/rendezvous/RendezvousChannel.ts +48 -0
- package/src/rendezvous/RendezvousCode.ts +25 -0
- package/src/rendezvous/RendezvousError.ts +26 -0
- package/src/rendezvous/RendezvousFailureReason.ts +49 -0
- package/src/rendezvous/RendezvousIntent.ts +20 -0
- package/src/rendezvous/RendezvousTransport.ts +58 -0
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
- package/src/rendezvous/channels/index.ts +17 -0
- package/src/rendezvous/index.ts +25 -0
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +270 -0
- package/src/rendezvous/transports/index.ts +17 -0
- package/src/room-hierarchy.ts +152 -0
- package/src/rust-crypto/CrossSigningIdentity.ts +183 -0
- package/src/rust-crypto/DehydratedDeviceManager.ts +306 -0
- package/src/rust-crypto/KeyClaimManager.ts +86 -0
- package/src/rust-crypto/OutgoingRequestProcessor.ts +236 -0
- package/src/rust-crypto/OutgoingRequestsManager.ts +143 -0
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
- package/src/rust-crypto/RoomEncryptor.ts +352 -0
- package/src/rust-crypto/backup.ts +881 -0
- package/src/rust-crypto/constants.ts +18 -0
- package/src/rust-crypto/device-converter.ts +128 -0
- package/src/rust-crypto/index.ts +237 -0
- package/src/rust-crypto/libolm_migration.ts +530 -0
- package/src/rust-crypto/rust-crypto.ts +2205 -0
- package/src/rust-crypto/secret-storage.ts +60 -0
- package/src/rust-crypto/verification.ts +830 -0
- package/src/scheduler.ts +309 -0
- package/src/secret-storage.ts +693 -0
- package/src/serverCapabilities.ts +139 -0
- package/src/service-types.ts +20 -0
- package/src/sliding-sync-sdk.ts +1026 -0
- package/src/sliding-sync.ts +965 -0
- package/src/store/index.ts +261 -0
- package/src/store/indexeddb-backend.ts +41 -0
- package/src/store/indexeddb-local-backend.ts +610 -0
- package/src/store/indexeddb-remote-backend.ts +213 -0
- package/src/store/indexeddb-store-worker.ts +157 -0
- package/src/store/indexeddb.ts +397 -0
- package/src/store/local-storage-events-emitter.ts +46 -0
- package/src/store/memory.ts +448 -0
- package/src/store/stub.ts +280 -0
- package/src/sync-accumulator.ts +689 -0
- package/src/sync.ts +1920 -0
- package/src/testing.ts +191 -0
- package/src/thread-utils.ts +31 -0
- package/src/timeline-window.ts +536 -0
- package/src/types.ts +59 -0
- package/src/utils/decryptAESSecretStorageItem.ts +54 -0
- package/src/utils/encryptAESSecretStorageItem.ts +73 -0
- package/src/utils/internal/deriveKeys.ts +63 -0
- package/src/utils.ts +763 -0
- package/src/version-support.ts +36 -0
- package/src/webrtc/audioContext.ts +44 -0
- package/src/webrtc/call.ts +3074 -0
- package/src/webrtc/callEventHandler.ts +425 -0
- package/src/webrtc/callEventTypes.ts +93 -0
- package/src/webrtc/callFeed.ts +364 -0
- package/src/webrtc/groupCall.ts +1735 -0
- package/src/webrtc/groupCallEventHandler.ts +234 -0
- package/src/webrtc/mediaHandler.ts +484 -0
- package/src/webrtc/stats/callFeedStatsReporter.ts +94 -0
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
- package/src/webrtc/stats/connectionStats.ts +47 -0
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
- package/src/webrtc/stats/groupCallStats.ts +93 -0
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
- package/src/webrtc/stats/media/mediaTrackHandler.ts +76 -0
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
- package/src/webrtc/stats/statsReport.ts +133 -0
- package/src/webrtc/stats/statsReportEmitter.ts +49 -0
- package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
- package/src/webrtc/stats/transportStats.ts +26 -0
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
- package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,718 @@
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
|
+
/*
|
4
|
+
Copyright 2019 - 2021 The Matrix.org Foundation C.I.C.
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
*/
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Cross signing methods
|
21
|
+
*/
|
22
|
+
|
23
|
+
import { pkSign, pkVerify } from "./olmlib.js";
|
24
|
+
import { logger } from "../logger.js";
|
25
|
+
import { IndexedDBCryptoStore } from "../crypto/store/indexeddb-crypto-store.js";
|
26
|
+
import { DeviceVerificationStatus, UserVerificationStatus as UserTrustLevel } from "../crypto-api/index.js";
|
27
|
+
import { decodeBase64, encodeBase64 } from "../base64.js";
|
28
|
+
import encryptAESSecretStorageItem from "../utils/encryptAESSecretStorageItem.js";
|
29
|
+
import decryptAESSecretStorageItem from "../utils/decryptAESSecretStorageItem.js";
|
30
|
+
|
31
|
+
// backwards-compatibility re-exports
|
32
|
+
export { UserTrustLevel };
|
33
|
+
var KEY_REQUEST_TIMEOUT_MS = 1000 * 60;
|
34
|
+
function publicKeyFromKeyInfo(keyInfo) {
|
35
|
+
// `keys` is an object with { [`ed25519:${pubKey}`]: pubKey }
|
36
|
+
// We assume only a single key, and we want the bare form without type
|
37
|
+
// prefix, so we select the values.
|
38
|
+
return Object.values(keyInfo.keys)[0];
|
39
|
+
}
|
40
|
+
export class CrossSigningInfo {
|
41
|
+
/**
|
42
|
+
* Information about a user's cross-signing keys
|
43
|
+
*
|
44
|
+
* @param userId - the user that the information is about
|
45
|
+
* @param callbacks - Callbacks used to interact with the app
|
46
|
+
* Requires getCrossSigningKey and saveCrossSigningKeys
|
47
|
+
* @param cacheCallbacks - Callbacks used to interact with the cache
|
48
|
+
*/
|
49
|
+
constructor(userId) {
|
50
|
+
var callbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
51
|
+
var cacheCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
52
|
+
this.userId = userId;
|
53
|
+
this.callbacks = callbacks;
|
54
|
+
this.cacheCallbacks = cacheCallbacks;
|
55
|
+
_defineProperty(this, "keys", {});
|
56
|
+
_defineProperty(this, "firstUse", true);
|
57
|
+
// This tracks whether we've ever verified this user with any identity.
|
58
|
+
// When you verify a user, any devices online at the time that receive
|
59
|
+
// the verifying signature via the homeserver will latch this to true
|
60
|
+
// and can use it in the future to detect cases where the user has
|
61
|
+
// become unverified later for any reason.
|
62
|
+
_defineProperty(this, "crossSigningVerifiedBefore", false);
|
63
|
+
}
|
64
|
+
static fromStorage(obj, userId) {
|
65
|
+
var res = new CrossSigningInfo(userId);
|
66
|
+
for (var prop in obj) {
|
67
|
+
if (obj.hasOwnProperty(prop)) {
|
68
|
+
// @ts-ignore - ts doesn't like this and nor should we
|
69
|
+
res[prop] = obj[prop];
|
70
|
+
}
|
71
|
+
}
|
72
|
+
return res;
|
73
|
+
}
|
74
|
+
toStorage() {
|
75
|
+
return {
|
76
|
+
keys: this.keys,
|
77
|
+
firstUse: this.firstUse,
|
78
|
+
crossSigningVerifiedBefore: this.crossSigningVerifiedBefore
|
79
|
+
};
|
80
|
+
}
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Calls the app callback to ask for a private key
|
84
|
+
*
|
85
|
+
* @param type - The key type ("master", "self_signing", or "user_signing")
|
86
|
+
* @param expectedPubkey - The matching public key or undefined to use
|
87
|
+
* the stored public key for the given key type.
|
88
|
+
* @returns An array with [ public key, Olm.PkSigning ]
|
89
|
+
*/
|
90
|
+
getCrossSigningKey(type, expectedPubkey) {
|
91
|
+
var _this = this;
|
92
|
+
return _asyncToGenerator(function* () {
|
93
|
+
var shouldCache = ["master", "self_signing", "user_signing"].indexOf(type) >= 0;
|
94
|
+
if (!_this.callbacks.getCrossSigningKey) {
|
95
|
+
throw new Error("No getCrossSigningKey callback supplied");
|
96
|
+
}
|
97
|
+
if (expectedPubkey === undefined) {
|
98
|
+
expectedPubkey = _this.getId(type);
|
99
|
+
}
|
100
|
+
function validateKey(key) {
|
101
|
+
if (!key) return;
|
102
|
+
var signing = new globalThis.Olm.PkSigning();
|
103
|
+
var gotPubkey = signing.init_with_seed(key);
|
104
|
+
if (gotPubkey === expectedPubkey) {
|
105
|
+
return [gotPubkey, signing];
|
106
|
+
}
|
107
|
+
signing.free();
|
108
|
+
}
|
109
|
+
var privkey = null;
|
110
|
+
if (_this.cacheCallbacks.getCrossSigningKeyCache && shouldCache) {
|
111
|
+
privkey = yield _this.cacheCallbacks.getCrossSigningKeyCache(type, expectedPubkey);
|
112
|
+
}
|
113
|
+
var cacheresult = validateKey(privkey);
|
114
|
+
if (cacheresult) {
|
115
|
+
return cacheresult;
|
116
|
+
}
|
117
|
+
privkey = yield _this.callbacks.getCrossSigningKey(type, expectedPubkey);
|
118
|
+
var result = validateKey(privkey);
|
119
|
+
if (result) {
|
120
|
+
if (_this.cacheCallbacks.storeCrossSigningKeyCache && shouldCache) {
|
121
|
+
yield _this.cacheCallbacks.storeCrossSigningKeyCache(type, privkey);
|
122
|
+
}
|
123
|
+
return result;
|
124
|
+
}
|
125
|
+
|
126
|
+
/* No keysource even returned a key */
|
127
|
+
if (!privkey) {
|
128
|
+
throw new Error("getCrossSigningKey callback for " + type + " returned falsey");
|
129
|
+
}
|
130
|
+
|
131
|
+
/* We got some keys from the keysource, but none of them were valid */
|
132
|
+
throw new Error("Key type " + type + " from getCrossSigningKey callback did not match");
|
133
|
+
})();
|
134
|
+
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Check whether the private keys exist in secret storage.
|
138
|
+
* XXX: This could be static, be we often seem to have an instance when we
|
139
|
+
* want to know this anyway...
|
140
|
+
*
|
141
|
+
* @param secretStorage - The secret store using account data
|
142
|
+
* @returns map of key name to key info the secret is encrypted
|
143
|
+
* with, or null if it is not present or not encrypted with a trusted
|
144
|
+
* key
|
145
|
+
*/
|
146
|
+
isStoredInSecretStorage(secretStorage) {
|
147
|
+
return _asyncToGenerator(function* () {
|
148
|
+
// check what SSSS keys have encrypted the master key (if any)
|
149
|
+
var stored = (yield secretStorage.isStored("m.cross_signing.master")) || {};
|
150
|
+
// then check which of those SSSS keys have also encrypted the SSK and USK
|
151
|
+
function intersect(s) {
|
152
|
+
for (var k of Object.keys(stored)) {
|
153
|
+
if (!s[k]) {
|
154
|
+
delete stored[k];
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
for (var _type of ["self_signing", "user_signing"]) {
|
159
|
+
intersect((yield secretStorage.isStored("m.cross_signing.".concat(_type))) || {});
|
160
|
+
}
|
161
|
+
return Object.keys(stored).length ? stored : null;
|
162
|
+
})();
|
163
|
+
}
|
164
|
+
|
165
|
+
/**
|
166
|
+
* Store private keys in secret storage for use by other devices. This is
|
167
|
+
* typically called in conjunction with the creation of new cross-signing
|
168
|
+
* keys.
|
169
|
+
*
|
170
|
+
* @param keys - The keys to store
|
171
|
+
* @param secretStorage - The secret store using account data
|
172
|
+
*/
|
173
|
+
static storeInSecretStorage(keys, secretStorage) {
|
174
|
+
return _asyncToGenerator(function* () {
|
175
|
+
for (var [_type2, privateKey] of keys) {
|
176
|
+
var encodedKey = encodeBase64(privateKey);
|
177
|
+
yield secretStorage.store("m.cross_signing.".concat(_type2), encodedKey);
|
178
|
+
}
|
179
|
+
})();
|
180
|
+
}
|
181
|
+
|
182
|
+
/**
|
183
|
+
* Get private keys from secret storage created by some other device. This
|
184
|
+
* also passes the private keys to the app-specific callback.
|
185
|
+
*
|
186
|
+
* @param type - The type of key to get. One of "master",
|
187
|
+
* "self_signing", or "user_signing".
|
188
|
+
* @param secretStorage - The secret store using account data
|
189
|
+
* @returns The private key
|
190
|
+
*/
|
191
|
+
static getFromSecretStorage(type, secretStorage) {
|
192
|
+
return _asyncToGenerator(function* () {
|
193
|
+
var encodedKey = yield secretStorage.get("m.cross_signing.".concat(type));
|
194
|
+
if (!encodedKey) {
|
195
|
+
return null;
|
196
|
+
}
|
197
|
+
return decodeBase64(encodedKey);
|
198
|
+
})();
|
199
|
+
}
|
200
|
+
|
201
|
+
/**
|
202
|
+
* Check whether the private keys exist in the local key cache.
|
203
|
+
*
|
204
|
+
* @param type - The type of key to get. One of "master",
|
205
|
+
* "self_signing", or "user_signing". Optional, will check all by default.
|
206
|
+
* @returns True if all keys are stored in the local cache.
|
207
|
+
*/
|
208
|
+
isStoredInKeyCache(type) {
|
209
|
+
var _this2 = this;
|
210
|
+
return _asyncToGenerator(function* () {
|
211
|
+
var cacheCallbacks = _this2.cacheCallbacks;
|
212
|
+
if (!cacheCallbacks) return false;
|
213
|
+
var types = type ? [type] : ["master", "self_signing", "user_signing"];
|
214
|
+
for (var t of types) {
|
215
|
+
var _cacheCallbacks$getCr;
|
216
|
+
if (!(yield (_cacheCallbacks$getCr = cacheCallbacks.getCrossSigningKeyCache) === null || _cacheCallbacks$getCr === void 0 ? void 0 : _cacheCallbacks$getCr.call(cacheCallbacks, t))) {
|
217
|
+
return false;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
return true;
|
221
|
+
})();
|
222
|
+
}
|
223
|
+
|
224
|
+
/**
|
225
|
+
* Get cross-signing private keys from the local cache.
|
226
|
+
*
|
227
|
+
* @returns A map from key type (string) to private key (Uint8Array)
|
228
|
+
*/
|
229
|
+
getCrossSigningKeysFromCache() {
|
230
|
+
var _this3 = this;
|
231
|
+
return _asyncToGenerator(function* () {
|
232
|
+
var keys = new Map();
|
233
|
+
var cacheCallbacks = _this3.cacheCallbacks;
|
234
|
+
if (!cacheCallbacks) return keys;
|
235
|
+
for (var _type3 of ["master", "self_signing", "user_signing"]) {
|
236
|
+
var _cacheCallbacks$getCr2;
|
237
|
+
var privKey = yield (_cacheCallbacks$getCr2 = cacheCallbacks.getCrossSigningKeyCache) === null || _cacheCallbacks$getCr2 === void 0 ? void 0 : _cacheCallbacks$getCr2.call(cacheCallbacks, _type3);
|
238
|
+
if (!privKey) {
|
239
|
+
continue;
|
240
|
+
}
|
241
|
+
keys.set(_type3, privKey);
|
242
|
+
}
|
243
|
+
return keys;
|
244
|
+
})();
|
245
|
+
}
|
246
|
+
|
247
|
+
/**
|
248
|
+
* Get the ID used to identify the user. This can also be used to test for
|
249
|
+
* the existence of a given key type.
|
250
|
+
*
|
251
|
+
* @param type - The type of key to get the ID of. One of "master",
|
252
|
+
* "self_signing", or "user_signing". Defaults to "master".
|
253
|
+
*
|
254
|
+
* @returns the ID
|
255
|
+
*/
|
256
|
+
getId() {
|
257
|
+
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "master";
|
258
|
+
if (!this.keys[type]) return null;
|
259
|
+
var keyInfo = this.keys[type];
|
260
|
+
return publicKeyFromKeyInfo(keyInfo);
|
261
|
+
}
|
262
|
+
|
263
|
+
/**
|
264
|
+
* Create new cross-signing keys for the given key types. The public keys
|
265
|
+
* will be held in this class, while the private keys are passed off to the
|
266
|
+
* `saveCrossSigningKeys` application callback.
|
267
|
+
*
|
268
|
+
* @param level - The key types to reset
|
269
|
+
*/
|
270
|
+
resetKeys(level) {
|
271
|
+
var _this4 = this;
|
272
|
+
return _asyncToGenerator(function* () {
|
273
|
+
if (!_this4.callbacks.saveCrossSigningKeys) {
|
274
|
+
throw new Error("No saveCrossSigningKeys callback supplied");
|
275
|
+
}
|
276
|
+
|
277
|
+
// If we're resetting the master key, we reset all keys
|
278
|
+
if (level === undefined || level & CrossSigningLevel.MASTER || !_this4.keys.master) {
|
279
|
+
level = CrossSigningLevel.MASTER | CrossSigningLevel.USER_SIGNING | CrossSigningLevel.SELF_SIGNING;
|
280
|
+
} else if (level === 0) {
|
281
|
+
return;
|
282
|
+
}
|
283
|
+
var privateKeys = {};
|
284
|
+
var keys = {};
|
285
|
+
var masterSigning;
|
286
|
+
var masterPub;
|
287
|
+
try {
|
288
|
+
if (level & CrossSigningLevel.MASTER) {
|
289
|
+
masterSigning = new globalThis.Olm.PkSigning();
|
290
|
+
privateKeys.master = masterSigning.generate_seed();
|
291
|
+
masterPub = masterSigning.init_with_seed(privateKeys.master);
|
292
|
+
keys.master = {
|
293
|
+
user_id: _this4.userId,
|
294
|
+
usage: ["master"],
|
295
|
+
keys: {
|
296
|
+
["ed25519:" + masterPub]: masterPub
|
297
|
+
}
|
298
|
+
};
|
299
|
+
} else {
|
300
|
+
[masterPub, masterSigning] = yield _this4.getCrossSigningKey("master");
|
301
|
+
}
|
302
|
+
if (level & CrossSigningLevel.SELF_SIGNING) {
|
303
|
+
var sskSigning = new globalThis.Olm.PkSigning();
|
304
|
+
try {
|
305
|
+
privateKeys.self_signing = sskSigning.generate_seed();
|
306
|
+
var sskPub = sskSigning.init_with_seed(privateKeys.self_signing);
|
307
|
+
keys.self_signing = {
|
308
|
+
user_id: _this4.userId,
|
309
|
+
usage: ["self_signing"],
|
310
|
+
keys: {
|
311
|
+
["ed25519:" + sskPub]: sskPub
|
312
|
+
}
|
313
|
+
};
|
314
|
+
pkSign(keys.self_signing, masterSigning, _this4.userId, masterPub);
|
315
|
+
} finally {
|
316
|
+
sskSigning.free();
|
317
|
+
}
|
318
|
+
}
|
319
|
+
if (level & CrossSigningLevel.USER_SIGNING) {
|
320
|
+
var uskSigning = new globalThis.Olm.PkSigning();
|
321
|
+
try {
|
322
|
+
privateKeys.user_signing = uskSigning.generate_seed();
|
323
|
+
var uskPub = uskSigning.init_with_seed(privateKeys.user_signing);
|
324
|
+
keys.user_signing = {
|
325
|
+
user_id: _this4.userId,
|
326
|
+
usage: ["user_signing"],
|
327
|
+
keys: {
|
328
|
+
["ed25519:" + uskPub]: uskPub
|
329
|
+
}
|
330
|
+
};
|
331
|
+
pkSign(keys.user_signing, masterSigning, _this4.userId, masterPub);
|
332
|
+
} finally {
|
333
|
+
uskSigning.free();
|
334
|
+
}
|
335
|
+
}
|
336
|
+
Object.assign(_this4.keys, keys);
|
337
|
+
_this4.callbacks.saveCrossSigningKeys(privateKeys);
|
338
|
+
} finally {
|
339
|
+
if (masterSigning) {
|
340
|
+
masterSigning.free();
|
341
|
+
}
|
342
|
+
}
|
343
|
+
})();
|
344
|
+
}
|
345
|
+
|
346
|
+
/**
|
347
|
+
* unsets the keys, used when another session has reset the keys, to disable cross-signing
|
348
|
+
*/
|
349
|
+
clearKeys() {
|
350
|
+
this.keys = {};
|
351
|
+
}
|
352
|
+
setKeys(keys) {
|
353
|
+
var signingKeys = {};
|
354
|
+
if (keys.master) {
|
355
|
+
if (keys.master.user_id !== this.userId) {
|
356
|
+
var error = "Mismatched user ID " + keys.master.user_id + " in master key from " + this.userId;
|
357
|
+
logger.error(error);
|
358
|
+
throw new Error(error);
|
359
|
+
}
|
360
|
+
if (!this.keys.master) {
|
361
|
+
// this is the first key we've seen, so first-use is true
|
362
|
+
this.firstUse = true;
|
363
|
+
} else if (publicKeyFromKeyInfo(keys.master) !== this.getId()) {
|
364
|
+
// this is a different key, so first-use is false
|
365
|
+
this.firstUse = false;
|
366
|
+
} // otherwise, same key, so no change
|
367
|
+
signingKeys.master = keys.master;
|
368
|
+
} else if (this.keys.master) {
|
369
|
+
signingKeys.master = this.keys.master;
|
370
|
+
} else {
|
371
|
+
throw new Error("Tried to set cross-signing keys without a master key");
|
372
|
+
}
|
373
|
+
var masterKey = publicKeyFromKeyInfo(signingKeys.master);
|
374
|
+
|
375
|
+
// verify signatures
|
376
|
+
if (keys.user_signing) {
|
377
|
+
if (keys.user_signing.user_id !== this.userId) {
|
378
|
+
var _error = "Mismatched user ID " + keys.master.user_id + " in user_signing key from " + this.userId;
|
379
|
+
logger.error(_error);
|
380
|
+
throw new Error(_error);
|
381
|
+
}
|
382
|
+
try {
|
383
|
+
pkVerify(keys.user_signing, masterKey, this.userId);
|
384
|
+
} catch (e) {
|
385
|
+
logger.error("invalid signature on user-signing key");
|
386
|
+
// FIXME: what do we want to do here?
|
387
|
+
throw e;
|
388
|
+
}
|
389
|
+
}
|
390
|
+
if (keys.self_signing) {
|
391
|
+
if (keys.self_signing.user_id !== this.userId) {
|
392
|
+
var _error2 = "Mismatched user ID " + keys.master.user_id + " in self_signing key from " + this.userId;
|
393
|
+
logger.error(_error2);
|
394
|
+
throw new Error(_error2);
|
395
|
+
}
|
396
|
+
try {
|
397
|
+
pkVerify(keys.self_signing, masterKey, this.userId);
|
398
|
+
} catch (e) {
|
399
|
+
logger.error("invalid signature on self-signing key");
|
400
|
+
// FIXME: what do we want to do here?
|
401
|
+
throw e;
|
402
|
+
}
|
403
|
+
}
|
404
|
+
|
405
|
+
// if everything checks out, then save the keys
|
406
|
+
if (keys.master) {
|
407
|
+
this.keys.master = keys.master;
|
408
|
+
// if the master key is set, then the old self-signing and user-signing keys are obsolete
|
409
|
+
delete this.keys["self_signing"];
|
410
|
+
delete this.keys["user_signing"];
|
411
|
+
}
|
412
|
+
if (keys.self_signing) {
|
413
|
+
this.keys.self_signing = keys.self_signing;
|
414
|
+
}
|
415
|
+
if (keys.user_signing) {
|
416
|
+
this.keys.user_signing = keys.user_signing;
|
417
|
+
}
|
418
|
+
}
|
419
|
+
updateCrossSigningVerifiedBefore(isCrossSigningVerified) {
|
420
|
+
// It is critical that this value latches forward from false to true but
|
421
|
+
// never back to false to avoid a downgrade attack.
|
422
|
+
if (!this.crossSigningVerifiedBefore && isCrossSigningVerified) {
|
423
|
+
this.crossSigningVerifiedBefore = true;
|
424
|
+
}
|
425
|
+
}
|
426
|
+
signObject(data, type) {
|
427
|
+
var _this5 = this;
|
428
|
+
return _asyncToGenerator(function* () {
|
429
|
+
if (!_this5.keys[type]) {
|
430
|
+
throw new Error("Attempted to sign with " + type + " key but no such key present");
|
431
|
+
}
|
432
|
+
var [pubkey, signing] = yield _this5.getCrossSigningKey(type);
|
433
|
+
try {
|
434
|
+
pkSign(data, signing, _this5.userId, pubkey);
|
435
|
+
return data;
|
436
|
+
} finally {
|
437
|
+
signing.free();
|
438
|
+
}
|
439
|
+
})();
|
440
|
+
}
|
441
|
+
signUser(key) {
|
442
|
+
var _this6 = this;
|
443
|
+
return _asyncToGenerator(function* () {
|
444
|
+
if (!_this6.keys.user_signing) {
|
445
|
+
logger.info("No user signing key: not signing user");
|
446
|
+
return;
|
447
|
+
}
|
448
|
+
return _this6.signObject(key.keys.master, "user_signing");
|
449
|
+
})();
|
450
|
+
}
|
451
|
+
signDevice(userId, device) {
|
452
|
+
var _this7 = this;
|
453
|
+
return _asyncToGenerator(function* () {
|
454
|
+
if (userId !== _this7.userId) {
|
455
|
+
throw new Error("Trying to sign ".concat(userId, "'s device; can only sign our own device"));
|
456
|
+
}
|
457
|
+
if (!_this7.keys.self_signing) {
|
458
|
+
logger.info("No self signing key: not signing device");
|
459
|
+
return;
|
460
|
+
}
|
461
|
+
return _this7.signObject({
|
462
|
+
algorithms: device.algorithms,
|
463
|
+
keys: device.keys,
|
464
|
+
device_id: device.deviceId,
|
465
|
+
user_id: userId
|
466
|
+
}, "self_signing");
|
467
|
+
})();
|
468
|
+
}
|
469
|
+
|
470
|
+
/**
|
471
|
+
* Check whether a given user is trusted.
|
472
|
+
*
|
473
|
+
* @param userCrossSigning - Cross signing info for user
|
474
|
+
*
|
475
|
+
* @returns
|
476
|
+
*/
|
477
|
+
checkUserTrust(userCrossSigning) {
|
478
|
+
// if we're checking our own key, then it's trusted if the master key
|
479
|
+
// and self-signing key match
|
480
|
+
if (this.userId === userCrossSigning.userId && this.getId() && this.getId() === userCrossSigning.getId() && this.getId("self_signing") && this.getId("self_signing") === userCrossSigning.getId("self_signing")) {
|
481
|
+
return new UserTrustLevel(true, true, this.firstUse);
|
482
|
+
}
|
483
|
+
if (!this.keys.user_signing) {
|
484
|
+
// If there's no user signing key, they can't possibly be verified.
|
485
|
+
// They may be TOFU trusted though.
|
486
|
+
return new UserTrustLevel(false, false, userCrossSigning.firstUse);
|
487
|
+
}
|
488
|
+
var userTrusted;
|
489
|
+
var userMaster = userCrossSigning.keys.master;
|
490
|
+
var uskId = this.getId("user_signing");
|
491
|
+
try {
|
492
|
+
pkVerify(userMaster, uskId, this.userId);
|
493
|
+
userTrusted = true;
|
494
|
+
} catch (_unused) {
|
495
|
+
userTrusted = false;
|
496
|
+
}
|
497
|
+
return new UserTrustLevel(userTrusted, userCrossSigning.crossSigningVerifiedBefore, userCrossSigning.firstUse);
|
498
|
+
}
|
499
|
+
|
500
|
+
/**
|
501
|
+
* Check whether a given device is trusted.
|
502
|
+
*
|
503
|
+
* @param userCrossSigning - Cross signing info for user
|
504
|
+
* @param device - The device to check
|
505
|
+
* @param localTrust - Whether the device is trusted locally
|
506
|
+
* @param trustCrossSignedDevices - Whether we trust cross signed devices
|
507
|
+
*
|
508
|
+
* @returns
|
509
|
+
*/
|
510
|
+
checkDeviceTrust(userCrossSigning, device, localTrust, trustCrossSignedDevices) {
|
511
|
+
var userTrust = this.checkUserTrust(userCrossSigning);
|
512
|
+
var userSSK = userCrossSigning.keys.self_signing;
|
513
|
+
if (!userSSK) {
|
514
|
+
// if the user has no self-signing key then we cannot make any
|
515
|
+
// trust assertions about this device from cross-signing
|
516
|
+
return new DeviceTrustLevel(false, false, localTrust, trustCrossSignedDevices);
|
517
|
+
}
|
518
|
+
var deviceObj = deviceToObject(device, userCrossSigning.userId);
|
519
|
+
try {
|
520
|
+
// if we can verify the user's SSK from their master key...
|
521
|
+
pkVerify(userSSK, userCrossSigning.getId(), userCrossSigning.userId);
|
522
|
+
// ...and this device's key from their SSK...
|
523
|
+
pkVerify(deviceObj, publicKeyFromKeyInfo(userSSK), userCrossSigning.userId);
|
524
|
+
// ...then we trust this device as much as far as we trust the user
|
525
|
+
return DeviceTrustLevel.fromUserTrustLevel(userTrust, localTrust, trustCrossSignedDevices);
|
526
|
+
} catch (_unused2) {
|
527
|
+
return new DeviceTrustLevel(false, false, localTrust, trustCrossSignedDevices);
|
528
|
+
}
|
529
|
+
}
|
530
|
+
|
531
|
+
/**
|
532
|
+
* @returns Cache callbacks
|
533
|
+
*/
|
534
|
+
getCacheCallbacks() {
|
535
|
+
return this.cacheCallbacks;
|
536
|
+
}
|
537
|
+
}
|
538
|
+
function deviceToObject(device, userId) {
|
539
|
+
return {
|
540
|
+
algorithms: device.algorithms,
|
541
|
+
keys: device.keys,
|
542
|
+
device_id: device.deviceId,
|
543
|
+
user_id: userId,
|
544
|
+
signatures: device.signatures
|
545
|
+
};
|
546
|
+
}
|
547
|
+
export var CrossSigningLevel = /*#__PURE__*/function (CrossSigningLevel) {
|
548
|
+
CrossSigningLevel[CrossSigningLevel["MASTER"] = 4] = "MASTER";
|
549
|
+
CrossSigningLevel[CrossSigningLevel["USER_SIGNING"] = 2] = "USER_SIGNING";
|
550
|
+
CrossSigningLevel[CrossSigningLevel["SELF_SIGNING"] = 1] = "SELF_SIGNING";
|
551
|
+
return CrossSigningLevel;
|
552
|
+
}({});
|
553
|
+
|
554
|
+
/**
|
555
|
+
* Represents the ways in which we trust a device.
|
556
|
+
*
|
557
|
+
* @deprecated Use {@link DeviceVerificationStatus}.
|
558
|
+
*/
|
559
|
+
export class DeviceTrustLevel extends DeviceVerificationStatus {
|
560
|
+
constructor(crossSigningVerified, tofu, localVerified, trustCrossSignedDevices) {
|
561
|
+
var signedByOwner = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
562
|
+
super({
|
563
|
+
crossSigningVerified,
|
564
|
+
tofu,
|
565
|
+
localVerified,
|
566
|
+
trustCrossSignedDevices,
|
567
|
+
signedByOwner
|
568
|
+
});
|
569
|
+
}
|
570
|
+
static fromUserTrustLevel(userTrustLevel, localVerified, trustCrossSignedDevices) {
|
571
|
+
return new DeviceTrustLevel(userTrustLevel.isCrossSigningVerified(), userTrustLevel.isTofu(), localVerified, trustCrossSignedDevices, true);
|
572
|
+
}
|
573
|
+
|
574
|
+
/**
|
575
|
+
* @returns true if this device is verified via cross signing
|
576
|
+
*/
|
577
|
+
isCrossSigningVerified() {
|
578
|
+
return this.crossSigningVerified;
|
579
|
+
}
|
580
|
+
|
581
|
+
/**
|
582
|
+
* @returns true if this device is verified locally
|
583
|
+
*/
|
584
|
+
isLocallyVerified() {
|
585
|
+
return this.localVerified;
|
586
|
+
}
|
587
|
+
|
588
|
+
/**
|
589
|
+
* @returns true if this device is trusted from a user's key
|
590
|
+
* that is trusted on first use
|
591
|
+
*/
|
592
|
+
isTofu() {
|
593
|
+
return this.tofu;
|
594
|
+
}
|
595
|
+
}
|
596
|
+
export function createCryptoStoreCacheCallbacks(store, olmDevice) {
|
597
|
+
return {
|
598
|
+
getCrossSigningKeyCache: function () {
|
599
|
+
var _getCrossSigningKeyCache = _asyncToGenerator(function* (type, _expectedPublicKey) {
|
600
|
+
var key = yield new Promise(resolve => {
|
601
|
+
store.doTxn("readonly", [IndexedDBCryptoStore.STORE_ACCOUNT], txn => {
|
602
|
+
store.getSecretStorePrivateKey(txn, resolve, type);
|
603
|
+
});
|
604
|
+
});
|
605
|
+
if (key && key.ciphertext) {
|
606
|
+
var pickleKey = Buffer.from(olmDevice.pickleKey);
|
607
|
+
var decrypted = yield decryptAESSecretStorageItem(key, pickleKey, type);
|
608
|
+
return decodeBase64(decrypted);
|
609
|
+
} else {
|
610
|
+
return key;
|
611
|
+
}
|
612
|
+
});
|
613
|
+
function getCrossSigningKeyCache(_x, _x2) {
|
614
|
+
return _getCrossSigningKeyCache.apply(this, arguments);
|
615
|
+
}
|
616
|
+
return getCrossSigningKeyCache;
|
617
|
+
}(),
|
618
|
+
storeCrossSigningKeyCache: function () {
|
619
|
+
var _storeCrossSigningKeyCache = _asyncToGenerator(function* (type, key) {
|
620
|
+
if (!(key instanceof Uint8Array)) {
|
621
|
+
throw new Error("storeCrossSigningKeyCache expects Uint8Array, got ".concat(key));
|
622
|
+
}
|
623
|
+
var pickleKey = Buffer.from(olmDevice.pickleKey);
|
624
|
+
var encryptedKey = yield encryptAESSecretStorageItem(encodeBase64(key), pickleKey, type);
|
625
|
+
return store.doTxn("readwrite", [IndexedDBCryptoStore.STORE_ACCOUNT], txn => {
|
626
|
+
store.storeSecretStorePrivateKey(txn, type, encryptedKey);
|
627
|
+
});
|
628
|
+
});
|
629
|
+
function storeCrossSigningKeyCache(_x3, _x4) {
|
630
|
+
return _storeCrossSigningKeyCache.apply(this, arguments);
|
631
|
+
}
|
632
|
+
return storeCrossSigningKeyCache;
|
633
|
+
}()
|
634
|
+
};
|
635
|
+
}
|
636
|
+
/**
|
637
|
+
* Request cross-signing keys from another device during verification.
|
638
|
+
*
|
639
|
+
* @param baseApis - base Matrix API interface
|
640
|
+
* @param userId - The user ID being verified
|
641
|
+
* @param deviceId - The device ID being verified
|
642
|
+
*/
|
643
|
+
export function requestKeysDuringVerification(_x5, _x6, _x7) {
|
644
|
+
return _requestKeysDuringVerification.apply(this, arguments);
|
645
|
+
}
|
646
|
+
function _requestKeysDuringVerification() {
|
647
|
+
_requestKeysDuringVerification = _asyncToGenerator(function* (baseApis, userId, deviceId) {
|
648
|
+
// If this is a self-verification, ask the other party for keys
|
649
|
+
if (baseApis.getUserId() !== userId) {
|
650
|
+
return;
|
651
|
+
}
|
652
|
+
logger.log("Cross-signing: Self-verification done; requesting keys");
|
653
|
+
// This happens asynchronously, and we're not concerned about waiting for
|
654
|
+
// it. We return here in order to test.
|
655
|
+
return new Promise((resolve, reject) => {
|
656
|
+
var client = baseApis;
|
657
|
+
var original = client.crypto.crossSigningInfo;
|
658
|
+
|
659
|
+
// We already have all of the infrastructure we need to validate and
|
660
|
+
// cache cross-signing keys, so instead of replicating that, here we set
|
661
|
+
// up callbacks that request them from the other device and call
|
662
|
+
// CrossSigningInfo.getCrossSigningKey() to validate/cache
|
663
|
+
var crossSigning = new CrossSigningInfo(original.userId, {
|
664
|
+
getCrossSigningKey: function () {
|
665
|
+
var _getCrossSigningKey = _asyncToGenerator(function* (type) {
|
666
|
+
logger.debug("Cross-signing: requesting secret", type, deviceId);
|
667
|
+
var {
|
668
|
+
promise
|
669
|
+
} = client.requestSecret("m.cross_signing.".concat(type), [deviceId]);
|
670
|
+
var result = yield promise;
|
671
|
+
var decoded = decodeBase64(result);
|
672
|
+
return Uint8Array.from(decoded);
|
673
|
+
});
|
674
|
+
function getCrossSigningKey(_x8) {
|
675
|
+
return _getCrossSigningKey.apply(this, arguments);
|
676
|
+
}
|
677
|
+
return getCrossSigningKey;
|
678
|
+
}()
|
679
|
+
}, original.getCacheCallbacks());
|
680
|
+
crossSigning.keys = original.keys;
|
681
|
+
|
682
|
+
// XXX: get all keys out if we get one key out
|
683
|
+
// https://github.com/vector-im/element-web/issues/12604
|
684
|
+
// then change here to reject on the timeout
|
685
|
+
// Requests can be ignored, so don't wait around forever
|
686
|
+
var timeout = new Promise(resolve => {
|
687
|
+
setTimeout(resolve, KEY_REQUEST_TIMEOUT_MS, new Error("Timeout"));
|
688
|
+
});
|
689
|
+
|
690
|
+
// also request and cache the key backup key
|
691
|
+
var backupKeyPromise = _asyncToGenerator(function* () {
|
692
|
+
var cachedKey = yield client.crypto.getSessionBackupPrivateKey();
|
693
|
+
if (!cachedKey) {
|
694
|
+
logger.info("No cached backup key found. Requesting...");
|
695
|
+
var secretReq = client.requestSecret("m.megolm_backup.v1", [deviceId]);
|
696
|
+
var base64Key = yield secretReq.promise;
|
697
|
+
logger.info("Got key backup key, decoding...");
|
698
|
+
var decodedKey = decodeBase64(base64Key);
|
699
|
+
logger.info("Decoded backup key, storing...");
|
700
|
+
yield client.crypto.storeSessionBackupPrivateKey(Uint8Array.from(decodedKey));
|
701
|
+
logger.info("Backup key stored. Starting backup restore...");
|
702
|
+
var backupInfo = yield client.getKeyBackupVersion();
|
703
|
+
// no need to await for this - just let it go in the bg
|
704
|
+
client.restoreKeyBackupWithCache(undefined, undefined, backupInfo).then(() => {
|
705
|
+
logger.info("Backup restored.");
|
706
|
+
});
|
707
|
+
}
|
708
|
+
})();
|
709
|
+
|
710
|
+
// We call getCrossSigningKey() for its side-effects
|
711
|
+
Promise.race([Promise.all([crossSigning.getCrossSigningKey("master"), crossSigning.getCrossSigningKey("self_signing"), crossSigning.getCrossSigningKey("user_signing"), backupKeyPromise]), timeout]).then(resolve, reject);
|
712
|
+
}).catch(e => {
|
713
|
+
logger.warn("Cross-signing: failure while requesting keys:", e);
|
714
|
+
});
|
715
|
+
});
|
716
|
+
return _requestKeysDuringVerification.apply(this, arguments);
|
717
|
+
}
|
718
|
+
//# sourceMappingURL=CrossSigning.js.map
|