@unwanted/matrix-sdk-mini 34.12.0-1
Sign up to get free protection for your applications and to get access to all the features.
- 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,197 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
/*
|
3
|
+
Copyright 2023 The Matrix.org Foundation C.I.C.
|
4
|
+
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
you may not use this file except in compliance with the License.
|
7
|
+
You may obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
See the License for the specific language governing permissions and
|
15
|
+
limitations under the License.
|
16
|
+
*/
|
17
|
+
|
18
|
+
import { deepCompare } from "../utils.js";
|
19
|
+
import { isLivekitFocusActive } from "./LivekitFocus.js";
|
20
|
+
|
21
|
+
// Represents an entry in the memberships section of an m.call.member event as it is on the wire
|
22
|
+
|
23
|
+
// There are two different data interfaces. One for the Legacy types and one compliant with MSC4143
|
24
|
+
|
25
|
+
// MSC4143 (MatrixRTC) session membership data
|
26
|
+
|
27
|
+
export var isSessionMembershipData = data => "focus_active" in data;
|
28
|
+
var checkSessionsMembershipData = (data, errors) => {
|
29
|
+
var _data$focus_active;
|
30
|
+
var prefix = "Malformed session membership event: ";
|
31
|
+
if (typeof data.device_id !== "string") errors.push(prefix + "device_id must be string");
|
32
|
+
if (typeof data.call_id !== "string") errors.push(prefix + "call_id must be string");
|
33
|
+
if (typeof data.application !== "string") errors.push(prefix + "application must be a string");
|
34
|
+
if (typeof ((_data$focus_active = data.focus_active) === null || _data$focus_active === void 0 ? void 0 : _data$focus_active.type) !== "string") errors.push(prefix + "focus_active.type must be a string");
|
35
|
+
if (!Array.isArray(data.foci_preferred)) errors.push(prefix + "foci_preferred must be an array");
|
36
|
+
// optional parameters
|
37
|
+
if (data.created_ts && typeof data.created_ts !== "number") errors.push(prefix + "created_ts must be number");
|
38
|
+
|
39
|
+
// application specific data (we first need to check if they exist)
|
40
|
+
if (data.scope && typeof data.scope !== "string") errors.push(prefix + "scope must be string");
|
41
|
+
return errors.length === 0;
|
42
|
+
};
|
43
|
+
|
44
|
+
// Legacy session membership data
|
45
|
+
|
46
|
+
export var isLegacyCallMembershipData = data => "membershipID" in data;
|
47
|
+
var checkCallMembershipDataLegacy = (data, errors) => {
|
48
|
+
var prefix = "Malformed legacy rtc membership event: ";
|
49
|
+
if (!("expires" in data || "expires_ts" in data)) {
|
50
|
+
errors.push(prefix + "expires_ts or expires must be present");
|
51
|
+
}
|
52
|
+
if ("expires" in data) {
|
53
|
+
if (typeof data.expires !== "number") {
|
54
|
+
errors.push(prefix + "expires must be numeric");
|
55
|
+
}
|
56
|
+
}
|
57
|
+
if ("expires_ts" in data) {
|
58
|
+
if (typeof data.expires_ts !== "number") {
|
59
|
+
errors.push(prefix + "expires_ts must be numeric");
|
60
|
+
}
|
61
|
+
}
|
62
|
+
if (typeof data.device_id !== "string") errors.push(prefix + "device_id must be string");
|
63
|
+
if (typeof data.call_id !== "string") errors.push(prefix + "call_id must be string");
|
64
|
+
if (typeof data.application !== "string") errors.push(prefix + "application must be a string");
|
65
|
+
if (typeof data.membershipID !== "string") errors.push(prefix + "membershipID must be a string");
|
66
|
+
// optional elements
|
67
|
+
if (data.created_ts && typeof data.created_ts !== "number") errors.push(prefix + "created_ts must be number");
|
68
|
+
// application specific data (we first need to check if they exist)
|
69
|
+
if (data.scope && typeof data.scope !== "string") errors.push(prefix + "scope must be string");
|
70
|
+
return errors.length === 0;
|
71
|
+
};
|
72
|
+
export class CallMembership {
|
73
|
+
static equal(a, b) {
|
74
|
+
return deepCompare(a.membershipData, b.membershipData);
|
75
|
+
}
|
76
|
+
constructor(parentEvent, data) {
|
77
|
+
this.parentEvent = parentEvent;
|
78
|
+
_defineProperty(this, "membershipData", void 0);
|
79
|
+
var sessionErrors = [];
|
80
|
+
var legacyErrors = [];
|
81
|
+
if (!checkSessionsMembershipData(data, sessionErrors) && !checkCallMembershipDataLegacy(data, legacyErrors)) {
|
82
|
+
throw Error("unknown CallMembership data. Does not match legacy call.member (".concat(legacyErrors.join(" & "), ") events nor MSC4143 (").concat(sessionErrors.join(" & "), ")"));
|
83
|
+
} else {
|
84
|
+
this.membershipData = data;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
get sender() {
|
88
|
+
return this.parentEvent.getSender();
|
89
|
+
}
|
90
|
+
get eventId() {
|
91
|
+
return this.parentEvent.getId();
|
92
|
+
}
|
93
|
+
get callId() {
|
94
|
+
return this.membershipData.call_id;
|
95
|
+
}
|
96
|
+
get deviceId() {
|
97
|
+
return this.membershipData.device_id;
|
98
|
+
}
|
99
|
+
get application() {
|
100
|
+
return this.membershipData.application;
|
101
|
+
}
|
102
|
+
get scope() {
|
103
|
+
return this.membershipData.scope;
|
104
|
+
}
|
105
|
+
get membershipID() {
|
106
|
+
if (isLegacyCallMembershipData(this.membershipData)) return this.membershipData.membershipID;
|
107
|
+
// the createdTs behaves equivalent to the membershipID.
|
108
|
+
// we only need the field for the legacy member envents where we needed to update them
|
109
|
+
// synapse ignores sending state events if they have the same content.
|
110
|
+
else return this.createdTs().toString();
|
111
|
+
}
|
112
|
+
createdTs() {
|
113
|
+
var _this$membershipData$;
|
114
|
+
return (_this$membershipData$ = this.membershipData.created_ts) !== null && _this$membershipData$ !== void 0 ? _this$membershipData$ : this.parentEvent.getTs();
|
115
|
+
}
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Gets the absolute expiry time of the membership if applicable to this membership type.
|
119
|
+
* @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable
|
120
|
+
*/
|
121
|
+
getAbsoluteExpiry() {
|
122
|
+
// if the membership is not a legacy membership, we assume it is MSC4143
|
123
|
+
if (!isLegacyCallMembershipData(this.membershipData)) return undefined;
|
124
|
+
if ("expires" in this.membershipData) {
|
125
|
+
// we know createdTs exists since we already do the isLegacyCallMembershipData check
|
126
|
+
return this.createdTs() + this.membershipData.expires;
|
127
|
+
} else {
|
128
|
+
// We know it exists because we checked for this in the constructor.
|
129
|
+
return this.membershipData.expires_ts;
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
/**
|
134
|
+
* Gets the expiry time of the event, converted into the device's local time.
|
135
|
+
* @deprecated This function has been observed returning bad data and is no longer used by MatrixRTC.
|
136
|
+
* @returns The local expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable
|
137
|
+
*/
|
138
|
+
getLocalExpiry() {
|
139
|
+
// if the membership is not a legacy membership, we assume it is MSC4143
|
140
|
+
if (!isLegacyCallMembershipData(this.membershipData)) return undefined;
|
141
|
+
if ("expires" in this.membershipData) {
|
142
|
+
// we know createdTs exists since we already do the isLegacyCallMembershipData check
|
143
|
+
var relativeCreationTime = this.parentEvent.getTs() - this.createdTs();
|
144
|
+
var localCreationTs = this.parentEvent.localTimestamp - relativeCreationTime;
|
145
|
+
return localCreationTs + this.membershipData.expires;
|
146
|
+
} else {
|
147
|
+
// With expires_ts we cannot convert to local time.
|
148
|
+
// TODO: Check the server timestamp and compute a diff to local time.
|
149
|
+
return this.membershipData.expires_ts;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
|
153
|
+
/**
|
154
|
+
* @returns The number of milliseconds until the membership expires or undefined if applicable
|
155
|
+
*/
|
156
|
+
getMsUntilExpiry() {
|
157
|
+
if (isLegacyCallMembershipData(this.membershipData)) {
|
158
|
+
// Assume that local clock is sufficiently in sync with other clocks in the distributed system.
|
159
|
+
// We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.
|
160
|
+
// The current implementation allows for the local clock to be -infinity to +MatrixRTCSession.MEMBERSHIP_EXPIRY_TIME/2
|
161
|
+
return this.getAbsoluteExpiry() - Date.now();
|
162
|
+
}
|
163
|
+
|
164
|
+
// Assumed to be MSC4143
|
165
|
+
return undefined;
|
166
|
+
}
|
167
|
+
|
168
|
+
/**
|
169
|
+
* @returns true if the membership has expired, otherwise false
|
170
|
+
*/
|
171
|
+
isExpired() {
|
172
|
+
if (isLegacyCallMembershipData(this.membershipData)) return this.getMsUntilExpiry() <= 0;
|
173
|
+
|
174
|
+
// MSC4143 events expire by being updated. So if the event exists, its not expired.
|
175
|
+
return false;
|
176
|
+
}
|
177
|
+
getPreferredFoci() {
|
178
|
+
var _this$membershipData$2;
|
179
|
+
// To support both, the new and the old MatrixRTC memberships have two cases based
|
180
|
+
// on the availablitiy of `foci_preferred`
|
181
|
+
if (isLegacyCallMembershipData(this.membershipData)) return (_this$membershipData$2 = this.membershipData.foci_active) !== null && _this$membershipData$2 !== void 0 ? _this$membershipData$2 : [];
|
182
|
+
|
183
|
+
// MSC4143 style membership
|
184
|
+
return this.membershipData.foci_preferred;
|
185
|
+
}
|
186
|
+
getFocusSelection() {
|
187
|
+
if (isLegacyCallMembershipData(this.membershipData)) {
|
188
|
+
return "oldest_membership";
|
189
|
+
} else {
|
190
|
+
var focusActive = this.membershipData.focus_active;
|
191
|
+
if (isLivekitFocusActive(focusActive)) {
|
192
|
+
return focusActive.focus_selection;
|
193
|
+
}
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}
|
197
|
+
//# sourceMappingURL=CallMembership.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CallMembership.js","names":["deepCompare","isLivekitFocusActive","isSessionMembershipData","data","checkSessionsMembershipData","errors","_data$focus_active","prefix","device_id","push","call_id","application","focus_active","type","Array","isArray","foci_preferred","created_ts","scope","length","isLegacyCallMembershipData","checkCallMembershipDataLegacy","expires","expires_ts","membershipID","CallMembership","equal","a","b","membershipData","constructor","parentEvent","_defineProperty","sessionErrors","legacyErrors","Error","concat","join","sender","getSender","eventId","getId","callId","deviceId","createdTs","toString","_this$membershipData$","getTs","getAbsoluteExpiry","undefined","getLocalExpiry","relativeCreationTime","localCreationTs","localTimestamp","getMsUntilExpiry","Date","now","isExpired","getPreferredFoci","_this$membershipData$2","foci_active","getFocusSelection","focusActive","focus_selection"],"sources":["../../src/matrixrtc/CallMembership.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { EitherAnd } from \"matrix-events-sdk/lib/types\";\n\nimport { MatrixEvent } from \"../matrix.ts\";\nimport { deepCompare } from \"../utils.ts\";\nimport { Focus } from \"./focus.ts\";\nimport { isLivekitFocusActive } from \"./LivekitFocus.ts\";\n\ntype CallScope = \"m.room\" | \"m.user\";\n// Represents an entry in the memberships section of an m.call.member event as it is on the wire\n\n// There are two different data interfaces. One for the Legacy types and one compliant with MSC4143\n\n// MSC4143 (MatrixRTC) session membership data\n\nexport type SessionMembershipData = {\n application: string;\n call_id: string;\n device_id: string;\n\n focus_active: Focus;\n foci_preferred: Focus[];\n created_ts?: number;\n\n // Application specific data\n scope?: CallScope;\n};\n\nexport const isSessionMembershipData = (data: CallMembershipData): data is SessionMembershipData =>\n \"focus_active\" in data;\n\nconst checkSessionsMembershipData = (data: any, errors: string[]): data is SessionMembershipData => {\n const prefix = \"Malformed session membership event: \";\n if (typeof data.device_id !== \"string\") errors.push(prefix + \"device_id must be string\");\n if (typeof data.call_id !== \"string\") errors.push(prefix + \"call_id must be string\");\n if (typeof data.application !== \"string\") errors.push(prefix + \"application must be a string\");\n if (typeof data.focus_active?.type !== \"string\") errors.push(prefix + \"focus_active.type must be a string\");\n if (!Array.isArray(data.foci_preferred)) errors.push(prefix + \"foci_preferred must be an array\");\n // optional parameters\n if (data.created_ts && typeof data.created_ts !== \"number\") errors.push(prefix + \"created_ts must be number\");\n\n // application specific data (we first need to check if they exist)\n if (data.scope && typeof data.scope !== \"string\") errors.push(prefix + \"scope must be string\");\n return errors.length === 0;\n};\n\n// Legacy session membership data\n\nexport type CallMembershipDataLegacy = {\n application: string;\n call_id: string;\n scope: CallScope;\n device_id: string;\n membershipID: string;\n created_ts?: number;\n foci_active?: Focus[];\n} & EitherAnd<{ expires: number }, { expires_ts: number }>;\n\nexport const isLegacyCallMembershipData = (data: CallMembershipData): data is CallMembershipDataLegacy =>\n \"membershipID\" in data;\n\nconst checkCallMembershipDataLegacy = (data: any, errors: string[]): data is CallMembershipDataLegacy => {\n const prefix = \"Malformed legacy rtc membership event: \";\n if (!(\"expires\" in data || \"expires_ts\" in data)) {\n errors.push(prefix + \"expires_ts or expires must be present\");\n }\n if (\"expires\" in data) {\n if (typeof data.expires !== \"number\") {\n errors.push(prefix + \"expires must be numeric\");\n }\n }\n if (\"expires_ts\" in data) {\n if (typeof data.expires_ts !== \"number\") {\n errors.push(prefix + \"expires_ts must be numeric\");\n }\n }\n\n if (typeof data.device_id !== \"string\") errors.push(prefix + \"device_id must be string\");\n if (typeof data.call_id !== \"string\") errors.push(prefix + \"call_id must be string\");\n if (typeof data.application !== \"string\") errors.push(prefix + \"application must be a string\");\n if (typeof data.membershipID !== \"string\") errors.push(prefix + \"membershipID must be a string\");\n // optional elements\n if (data.created_ts && typeof data.created_ts !== \"number\") errors.push(prefix + \"created_ts must be number\");\n // application specific data (we first need to check if they exist)\n if (data.scope && typeof data.scope !== \"string\") errors.push(prefix + \"scope must be string\");\n return errors.length === 0;\n};\n\nexport type CallMembershipData = CallMembershipDataLegacy | SessionMembershipData;\n\nexport class CallMembership {\n public static equal(a: CallMembership, b: CallMembership): boolean {\n return deepCompare(a.membershipData, b.membershipData);\n }\n private membershipData: CallMembershipData;\n\n public constructor(\n private parentEvent: MatrixEvent,\n data: any,\n ) {\n const sessionErrors: string[] = [];\n const legacyErrors: string[] = [];\n if (!checkSessionsMembershipData(data, sessionErrors) && !checkCallMembershipDataLegacy(data, legacyErrors)) {\n throw Error(\n `unknown CallMembership data. Does not match legacy call.member (${legacyErrors.join(\" & \")}) events nor MSC4143 (${sessionErrors.join(\" & \")})`,\n );\n } else {\n this.membershipData = data;\n }\n }\n\n public get sender(): string | undefined {\n return this.parentEvent.getSender();\n }\n\n public get eventId(): string | undefined {\n return this.parentEvent.getId();\n }\n\n public get callId(): string {\n return this.membershipData.call_id;\n }\n\n public get deviceId(): string {\n return this.membershipData.device_id;\n }\n\n public get application(): string | undefined {\n return this.membershipData.application;\n }\n\n public get scope(): CallScope | undefined {\n return this.membershipData.scope;\n }\n\n public get membershipID(): string {\n if (isLegacyCallMembershipData(this.membershipData)) return this.membershipData.membershipID;\n // the createdTs behaves equivalent to the membershipID.\n // we only need the field for the legacy member envents where we needed to update them\n // synapse ignores sending state events if they have the same content.\n else return this.createdTs().toString();\n }\n\n public createdTs(): number {\n return this.membershipData.created_ts ?? this.parentEvent.getTs();\n }\n\n /**\n * Gets the absolute expiry time of the membership if applicable to this membership type.\n * @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable\n */\n public getAbsoluteExpiry(): number | undefined {\n // if the membership is not a legacy membership, we assume it is MSC4143\n if (!isLegacyCallMembershipData(this.membershipData)) return undefined;\n\n if (\"expires\" in this.membershipData) {\n // we know createdTs exists since we already do the isLegacyCallMembershipData check\n return this.createdTs() + this.membershipData.expires;\n } else {\n // We know it exists because we checked for this in the constructor.\n return this.membershipData.expires_ts;\n }\n }\n\n /**\n * Gets the expiry time of the event, converted into the device's local time.\n * @deprecated This function has been observed returning bad data and is no longer used by MatrixRTC.\n * @returns The local expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable\n */\n public getLocalExpiry(): number | undefined {\n // if the membership is not a legacy membership, we assume it is MSC4143\n if (!isLegacyCallMembershipData(this.membershipData)) return undefined;\n\n if (\"expires\" in this.membershipData) {\n // we know createdTs exists since we already do the isLegacyCallMembershipData check\n const relativeCreationTime = this.parentEvent.getTs() - this.createdTs();\n\n const localCreationTs = this.parentEvent.localTimestamp - relativeCreationTime;\n\n return localCreationTs + this.membershipData.expires;\n } else {\n // With expires_ts we cannot convert to local time.\n // TODO: Check the server timestamp and compute a diff to local time.\n return this.membershipData.expires_ts;\n }\n }\n\n /**\n * @returns The number of milliseconds until the membership expires or undefined if applicable\n */\n public getMsUntilExpiry(): number | undefined {\n if (isLegacyCallMembershipData(this.membershipData)) {\n // Assume that local clock is sufficiently in sync with other clocks in the distributed system.\n // We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.\n // The current implementation allows for the local clock to be -infinity to +MatrixRTCSession.MEMBERSHIP_EXPIRY_TIME/2\n return this.getAbsoluteExpiry()! - Date.now();\n }\n\n // Assumed to be MSC4143\n return undefined;\n }\n\n /**\n * @returns true if the membership has expired, otherwise false\n */\n public isExpired(): boolean {\n if (isLegacyCallMembershipData(this.membershipData)) return this.getMsUntilExpiry()! <= 0;\n\n // MSC4143 events expire by being updated. So if the event exists, its not expired.\n return false;\n }\n\n public getPreferredFoci(): Focus[] {\n // To support both, the new and the old MatrixRTC memberships have two cases based\n // on the availablitiy of `foci_preferred`\n if (isLegacyCallMembershipData(this.membershipData)) return this.membershipData.foci_active ?? [];\n\n // MSC4143 style membership\n return this.membershipData.foci_preferred;\n }\n\n public getFocusSelection(): string | undefined {\n if (isLegacyCallMembershipData(this.membershipData)) {\n return \"oldest_membership\";\n } else {\n const focusActive = this.membershipData.focus_active;\n if (isLivekitFocusActive(focusActive)) {\n return focusActive.focus_selection;\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Focus } from "./focus.ts";
|
2
|
+
export interface LivekitFocusConfig extends Focus {
|
3
|
+
type: "livekit";
|
4
|
+
livekit_service_url: string;
|
5
|
+
}
|
6
|
+
export declare const isLivekitFocusConfig: (object: any) => object is LivekitFocusConfig;
|
7
|
+
export interface LivekitFocus extends LivekitFocusConfig {
|
8
|
+
livekit_alias: string;
|
9
|
+
}
|
10
|
+
export declare const isLivekitFocus: (object: any) => object is LivekitFocus;
|
11
|
+
export interface LivekitFocusActive extends Focus {
|
12
|
+
type: "livekit";
|
13
|
+
focus_selection: "oldest_membership";
|
14
|
+
}
|
15
|
+
export declare const isLivekitFocusActive: (object: any) => object is LivekitFocusActive;
|
16
|
+
//# sourceMappingURL=LivekitFocus.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LivekitFocus.d.ts","sourceRoot":"","sources":["../../src/matrixrtc/LivekitFocus.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,KAAG,MAAM,IAAI,kBACG,CAAC;AAEjE,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACpD,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,WAAY,GAAG,KAAG,MAAM,IAAI,YACM,CAAC;AAE9D,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,mBAAmB,CAAC;CACxC;AACD,eAAO,MAAM,oBAAoB,WAAY,GAAG,KAAG,MAAM,IAAI,kBACD,CAAC"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2023 New Vector Ltd
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
export var isLivekitFocusConfig = object => object.type === "livekit" && "livekit_service_url" in object;
|
18
|
+
export var isLivekitFocus = object => isLivekitFocusConfig(object) && "livekit_alias" in object;
|
19
|
+
export var isLivekitFocusActive = object => object.type === "livekit" && "focus_selection" in object;
|
20
|
+
//# sourceMappingURL=LivekitFocus.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LivekitFocus.js","names":["isLivekitFocusConfig","object","type","isLivekitFocus","isLivekitFocusActive"],"sources":["../../src/matrixrtc/LivekitFocus.ts"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { Focus } from \"./focus.ts\";\n\nexport interface LivekitFocusConfig extends Focus {\n type: \"livekit\";\n livekit_service_url: string;\n}\n\nexport const isLivekitFocusConfig = (object: any): object is LivekitFocusConfig =>\n object.type === \"livekit\" && \"livekit_service_url\" in object;\n\nexport interface LivekitFocus extends LivekitFocusConfig {\n livekit_alias: string;\n}\n\nexport const isLivekitFocus = (object: any): object is LivekitFocus =>\n isLivekitFocusConfig(object) && \"livekit_alias\" in object;\n\nexport interface LivekitFocusActive extends Focus {\n type: \"livekit\";\n focus_selection: \"oldest_membership\";\n}\nexport const isLivekitFocusActive = (object: any): object is LivekitFocusActive =>\n object.type === \"livekit\" && \"focus_selection\" in object;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,IAAMA,oBAAoB,GAAIC,MAAW,IAC5CA,MAAM,CAACC,IAAI,KAAK,SAAS,IAAI,qBAAqB,IAAID,MAAM;AAMhE,OAAO,IAAME,cAAc,GAAIF,MAAW,IACtCD,oBAAoB,CAACC,MAAM,CAAC,IAAI,eAAe,IAAIA,MAAM;AAM7D,OAAO,IAAMG,oBAAoB,GAAIH,MAAW,IAC5CA,MAAM,CAACC,IAAI,KAAK,SAAS,IAAI,iBAAiB,IAAID,MAAM","ignoreList":[]}
|
@@ -0,0 +1,295 @@
|
|
1
|
+
import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
|
2
|
+
import { Room } from "../models/room.ts";
|
3
|
+
import { MatrixClient } from "../client.ts";
|
4
|
+
import { CallMembership } from "./CallMembership.ts";
|
5
|
+
import { Focus } from "./focus.ts";
|
6
|
+
import { MatrixEvent } from "../models/event.ts";
|
7
|
+
export declare enum MatrixRTCSessionEvent {
|
8
|
+
MembershipsChanged = "memberships_changed",
|
9
|
+
JoinStateChanged = "join_state_changed",
|
10
|
+
EncryptionKeyChanged = "encryption_key_changed"
|
11
|
+
}
|
12
|
+
export type MatrixRTCSessionEventHandlerMap = {
|
13
|
+
[MatrixRTCSessionEvent.MembershipsChanged]: (oldMemberships: CallMembership[], newMemberships: CallMembership[]) => void;
|
14
|
+
[MatrixRTCSessionEvent.JoinStateChanged]: (isJoined: boolean) => void;
|
15
|
+
[MatrixRTCSessionEvent.EncryptionKeyChanged]: (key: Uint8Array, encryptionKeyIndex: number, participantId: string) => void;
|
16
|
+
};
|
17
|
+
export interface JoinSessionConfig {
|
18
|
+
/**
|
19
|
+
* If true, generate and share a media key for this participant,
|
20
|
+
* and emit MatrixRTCSessionEvent.EncryptionKeyChanged when
|
21
|
+
* media keys for other participants become available.
|
22
|
+
*/
|
23
|
+
manageMediaKeys?: boolean;
|
24
|
+
/** Lets you configure how the events for the session are formatted.
|
25
|
+
* - legacy: use one event with a membership array.
|
26
|
+
* - MSC4143: use one event per membership (with only one membership per event)
|
27
|
+
* More details can be found in MSC4143 and by checking the types:
|
28
|
+
* `CallMembershipDataLegacy` and `SessionMembershipData`
|
29
|
+
*/
|
30
|
+
useLegacyMemberEvents?: boolean;
|
31
|
+
/**
|
32
|
+
* The timeout (in milliseconds) after we joined the call, that our membership should expire
|
33
|
+
* unless we have explicitly updated it.
|
34
|
+
*/
|
35
|
+
membershipExpiryTimeout?: number;
|
36
|
+
/**
|
37
|
+
* The period (in milliseconds) with which we check that our membership event still exists on the
|
38
|
+
* server. If it is not found we create it again.
|
39
|
+
*/
|
40
|
+
memberEventCheckPeriod?: number;
|
41
|
+
/**
|
42
|
+
* The minimum delay (in milliseconds) after which we will retry sending the membership event if it
|
43
|
+
* failed to send.
|
44
|
+
*/
|
45
|
+
callMemberEventRetryDelayMinimum?: number;
|
46
|
+
/**
|
47
|
+
* The jitter (in milliseconds) which is added to callMemberEventRetryDelayMinimum before retrying
|
48
|
+
* sending the membership event. e.g. if this is set to 1000, then a random delay of between 0 and 1000
|
49
|
+
* milliseconds will be added.
|
50
|
+
*/
|
51
|
+
callMemberEventRetryJitter?: number;
|
52
|
+
/**
|
53
|
+
* The minimum time (in milliseconds) between each attempt to send encryption key(s).
|
54
|
+
* e.g. if this is set to 1000, then we will send at most one key event every second.
|
55
|
+
*/
|
56
|
+
updateEncryptionKeyThrottle?: number;
|
57
|
+
/**
|
58
|
+
* The delay (in milliseconds) after a member leaves before we create and publish a new key, because people
|
59
|
+
* tend to leave calls at the same time.
|
60
|
+
*/
|
61
|
+
makeKeyDelay?: number;
|
62
|
+
/**
|
63
|
+
* The delay (in milliseconds) between creating and sending a new key and starting to encrypt with it. This
|
64
|
+
* gives other a chance to receive the new key to minimise the chance they don't get media they can't decrypt.
|
65
|
+
* The total time between a member leaving and the call switching to new keys is therefore:
|
66
|
+
* makeKeyDelay + useKeyDelay
|
67
|
+
*/
|
68
|
+
useKeyDelay?: number;
|
69
|
+
/**
|
70
|
+
* The timeout (in milliseconds) after which the server will consider the membership to have expired if it
|
71
|
+
* has not received a keep-alive from the client.
|
72
|
+
*/
|
73
|
+
membershipServerSideExpiryTimeout?: number;
|
74
|
+
/**
|
75
|
+
* The period (in milliseconds) that the client will send membership keep-alives to the server.
|
76
|
+
*/
|
77
|
+
membershipKeepAlivePeriod?: number;
|
78
|
+
}
|
79
|
+
/**
|
80
|
+
* A MatrixRTCSession manages the membership & properties of a MatrixRTC session.
|
81
|
+
* This class doesn't deal with media at all, just membership & properties of a session.
|
82
|
+
*/
|
83
|
+
export declare class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, MatrixRTCSessionEventHandlerMap> {
|
84
|
+
private readonly client;
|
85
|
+
readonly room: Room;
|
86
|
+
memberships: CallMembership[];
|
87
|
+
private _callId;
|
88
|
+
private relativeExpiry;
|
89
|
+
private joinConfig?;
|
90
|
+
private get membershipExpiryTimeout();
|
91
|
+
private get memberEventCheckPeriod();
|
92
|
+
private get callMemberEventRetryDelayMinimum();
|
93
|
+
private get updateEncryptionKeyThrottle();
|
94
|
+
private get makeKeyDelay();
|
95
|
+
private get useKeyDelay();
|
96
|
+
/**
|
97
|
+
* If the server disallows the configured {@link membershipServerSideExpiryTimeout},
|
98
|
+
* this stores a delay that the server does allow.
|
99
|
+
*/
|
100
|
+
private membershipServerSideExpiryTimeoutOverride?;
|
101
|
+
private get membershipServerSideExpiryTimeout();
|
102
|
+
private get membershipKeepAlivePeriod();
|
103
|
+
private get callMemberEventRetryJitter();
|
104
|
+
private membershipId;
|
105
|
+
private memberEventTimeout?;
|
106
|
+
private expiryTimeout?;
|
107
|
+
private keysEventUpdateTimeout?;
|
108
|
+
private makeNewKeyTimeout?;
|
109
|
+
private setNewKeyTimeouts;
|
110
|
+
private ownFocusActive?;
|
111
|
+
private ownFociPreferred?;
|
112
|
+
private updateCallMembershipRunning;
|
113
|
+
private needCallMembershipUpdate;
|
114
|
+
private manageMediaKeys;
|
115
|
+
private useLegacyMemberEvents;
|
116
|
+
private encryptionKeys;
|
117
|
+
private lastEncryptionKeyUpdateRequest?;
|
118
|
+
private disconnectDelayId;
|
119
|
+
private lastMembershipFingerprints;
|
120
|
+
private currentEncryptionKeyIndex;
|
121
|
+
/**
|
122
|
+
* The statistics for this session.
|
123
|
+
*/
|
124
|
+
statistics: {
|
125
|
+
counters: {
|
126
|
+
/**
|
127
|
+
* The number of times we have sent a room event containing encryption keys.
|
128
|
+
*/
|
129
|
+
roomEventEncryptionKeysSent: number;
|
130
|
+
/**
|
131
|
+
* The number of times we have received a room event containing encryption keys.
|
132
|
+
*/
|
133
|
+
roomEventEncryptionKeysReceived: number;
|
134
|
+
};
|
135
|
+
totals: {
|
136
|
+
/**
|
137
|
+
* The total age (in milliseconds) of all room events containing encryption keys that we have received.
|
138
|
+
* We track the total age so that we can later calculate the average age of all keys received.
|
139
|
+
*/
|
140
|
+
roomEventEncryptionKeysReceivedTotalAge: number;
|
141
|
+
};
|
142
|
+
};
|
143
|
+
/**
|
144
|
+
* The callId (sessionId) of the call.
|
145
|
+
*
|
146
|
+
* It can be undefined since the callId is only known once the first membership joins.
|
147
|
+
* The callId is the property that, per definition, groups memberships into one call.
|
148
|
+
*/
|
149
|
+
get callId(): string | undefined;
|
150
|
+
/**
|
151
|
+
* Returns all the call memberships for a room, oldest first
|
152
|
+
*/
|
153
|
+
static callMembershipsForRoom(room: Room): CallMembership[];
|
154
|
+
/**
|
155
|
+
* Return the MatrixRTC session for the room, whether there are currently active members or not
|
156
|
+
*/
|
157
|
+
static roomSessionForRoom(client: MatrixClient, room: Room): MatrixRTCSession;
|
158
|
+
private constructor();
|
159
|
+
isJoined(): boolean;
|
160
|
+
/**
|
161
|
+
* Performs cleanup & removes timers for client shutdown
|
162
|
+
*/
|
163
|
+
stop(): Promise<void>;
|
164
|
+
/**
|
165
|
+
* Announces this user and device as joined to the MatrixRTC session,
|
166
|
+
* and continues to update the membership event to keep it valid until
|
167
|
+
* leaveRoomSession() is called
|
168
|
+
* This will not subscribe to updates: remember to call subscribe() separately if
|
169
|
+
* desired.
|
170
|
+
* This method will return immediately and the session will be joined in the background.
|
171
|
+
*
|
172
|
+
* @param fociActive - The object representing the active focus. (This depends on the focus type.)
|
173
|
+
* @param fociPreferred - The list of preferred foci this member proposes to use/knows/has access to.
|
174
|
+
* For the livekit case this is a list of foci generated from the homeserver well-known, the current rtc session,
|
175
|
+
* or optionally other room members homeserver well known.
|
176
|
+
* @param joinConfig - Additional configuration for the joined session.
|
177
|
+
*/
|
178
|
+
joinRoomSession(fociPreferred: Focus[], fociActive?: Focus, joinConfig?: JoinSessionConfig): void;
|
179
|
+
/**
|
180
|
+
* Announces this user and device as having left the MatrixRTC session
|
181
|
+
* and stops scheduled updates.
|
182
|
+
* This will not unsubscribe from updates: remember to call unsubscribe() separately if
|
183
|
+
* desired.
|
184
|
+
* The membership update required to leave the session will retry if it fails.
|
185
|
+
* Without network connection the promise will never resolve.
|
186
|
+
* A timeout can be provided so that there is a guarantee for the promise to resolve.
|
187
|
+
* @returns Whether the membership update was attempted and did not time out.
|
188
|
+
*/
|
189
|
+
leaveRoomSession(timeout?: number | undefined): Promise<boolean>;
|
190
|
+
getActiveFocus(): Focus | undefined;
|
191
|
+
/**
|
192
|
+
* Re-emit an EncryptionKeyChanged event for each tracked encryption key. This can be used to export
|
193
|
+
* the keys.
|
194
|
+
*/
|
195
|
+
reemitEncryptionKeys(): void;
|
196
|
+
/**
|
197
|
+
* Get the known encryption keys for a given participant device.
|
198
|
+
*
|
199
|
+
* @param userId the user ID of the participant
|
200
|
+
* @param deviceId the device ID of the participant
|
201
|
+
* @returns The encryption keys for the given participant, or undefined if they are not known.
|
202
|
+
*
|
203
|
+
* @deprecated This will be made private in a future release.
|
204
|
+
*/
|
205
|
+
getKeysForParticipant(userId: string, deviceId: string): Array<Uint8Array> | undefined;
|
206
|
+
private getKeysForParticipantInternal;
|
207
|
+
/**
|
208
|
+
* A map of keys used to encrypt and decrypt (we are using a symmetric
|
209
|
+
* cipher) given participant's media. This also includes our own key
|
210
|
+
*
|
211
|
+
* @deprecated This will be made private in a future release.
|
212
|
+
*/
|
213
|
+
getEncryptionKeys(): IterableIterator<[string, Array<Uint8Array>]>;
|
214
|
+
private getNewEncryptionKeyIndex;
|
215
|
+
/**
|
216
|
+
* Sets an encryption key at a specified index for a participant.
|
217
|
+
* The encryption keys for the local participant are also stored here under the
|
218
|
+
* user and device ID of the local participant.
|
219
|
+
* If the key is older than the existing key at the index, it will be ignored.
|
220
|
+
* @param userId - The user ID of the participant
|
221
|
+
* @param deviceId - Device ID of the participant
|
222
|
+
* @param encryptionKeyIndex - The index of the key to set
|
223
|
+
* @param encryptionKeyString - The string representation of the key to set in base64
|
224
|
+
* @param timestamp - The timestamp of the key. We assume that these are monotonic for each participant device.
|
225
|
+
* @param delayBeforeUse - If true, delay before emitting a key changed event. Useful when setting
|
226
|
+
* encryption keys for the local participant to allow time for the key to
|
227
|
+
* be distributed.
|
228
|
+
*/
|
229
|
+
private setEncryptionKey;
|
230
|
+
/**
|
231
|
+
* Generate a new sender key and add it at the next available index
|
232
|
+
* @param delayBeforeUse - If true, wait for a short period before setting the key for the
|
233
|
+
* media encryptor to use. If false, set the key immediately.
|
234
|
+
* @returns The index of the new key
|
235
|
+
*/
|
236
|
+
private makeNewSenderKey;
|
237
|
+
/**
|
238
|
+
* Requests that we resend our current keys to the room. May send a keys event immediately
|
239
|
+
* or queue for alter if one has already been sent recently.
|
240
|
+
*/
|
241
|
+
private requestSendCurrentKey;
|
242
|
+
/**
|
243
|
+
* Re-sends the encryption keys room event
|
244
|
+
*/
|
245
|
+
private sendEncryptionKeysEvent;
|
246
|
+
/**
|
247
|
+
* Sets a timer for the soonest membership expiry
|
248
|
+
*/
|
249
|
+
private setExpiryTimer;
|
250
|
+
getOldestMembership(): CallMembership | undefined;
|
251
|
+
getFocusInUse(): Focus | undefined;
|
252
|
+
/**
|
253
|
+
* Process `m.call.encryption_keys` events to track the encryption keys for call participants.
|
254
|
+
* This should be called each time the relevant event is received from a room timeline.
|
255
|
+
* If the event is malformed then it will be logged and ignored.
|
256
|
+
*
|
257
|
+
* @param event the event to process
|
258
|
+
*/
|
259
|
+
onCallEncryption: (event: MatrixEvent) => void;
|
260
|
+
private isMyMembership;
|
261
|
+
/**
|
262
|
+
* Examines the latest call memberships and handles any encryption key sending or rotation that is needed.
|
263
|
+
*
|
264
|
+
* This function should be called when the room members or call memberships might have changed.
|
265
|
+
*/
|
266
|
+
onMembershipUpdate: () => void;
|
267
|
+
private storeLastMembershipFingerprints;
|
268
|
+
/**
|
269
|
+
* Constructs our own membership
|
270
|
+
* @param prevMembership - The previous value of our call membership, if any
|
271
|
+
*/
|
272
|
+
private makeMyMembershipLegacy;
|
273
|
+
/**
|
274
|
+
* Constructs our own membership
|
275
|
+
*/
|
276
|
+
private makeMyMembership;
|
277
|
+
/**
|
278
|
+
* Returns true if our membership event needs to be updated
|
279
|
+
*/
|
280
|
+
private membershipEventNeedsUpdate;
|
281
|
+
private makeNewMembership;
|
282
|
+
/**
|
283
|
+
* Makes a new membership list given the old list along with this user's previous membership event
|
284
|
+
* (if any) and this device's previous membership (if any)
|
285
|
+
*/
|
286
|
+
private makeNewLegacyMemberships;
|
287
|
+
private triggerCallMembershipEventUpdate;
|
288
|
+
private updateCallMembershipEvent;
|
289
|
+
private scheduleDelayDisconnection;
|
290
|
+
private readonly delayDisconnection;
|
291
|
+
private stateEventsContainOngoingLegacySession;
|
292
|
+
private makeMembershipStateKey;
|
293
|
+
private onRotateKeyTimeout;
|
294
|
+
}
|
295
|
+
//# sourceMappingURL=MatrixRTCSession.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MatrixRTCSession.d.ts","sourceRoot":"","sources":["../../src/matrixrtc/MatrixRTCSession.ts"],"names":[],"mappings":"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"}
|